tag:blogger.com,1999:blog-45854373723432885112024-03-05T21:42:17.791-03:00Software BendingExtrapolando os limites dos softwares - Áudio no computador - Áudio em dispositivos móveis - Programação de áudio - Informações sobre Áudio digital.Andre Velosohttp://www.blogger.com/profile/18229171025666903636noreply@blogger.comBlogger4125tag:blogger.com,1999:blog-4585437372343288511.post-75084060357744631212009-10-02T10:33:00.007-03:002015-03-09T14:34:00.083-03:00Interconexão de Sistemas de Controle de Áudio<div style="line-height: normal; margin: 6px; min-height: 1100px; padding: 0px;">
<div style="margin-bottom: 0px; margin-top: 0px;">
<div style="line-height: normal; margin: 6px; min-height: 1100px; padding: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-weight: normal;"><b><span style="font-family: Verdana, sans-serif; font-weight: normal;">Nesse artigo iniciaremos a discussão sobre as formas de interconectar dispositivos de controle de Áudio e as novas formas de interconectar computadores para troca de mensagens de controle.</span></b></span></b></span></b><br />
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;"><b><br />
<br />
O que é MIDI</b><br />
<br />
O protocolo MIDI (<b>M</b>usical<b> I</b>nstrument<b> D</b>igital<b> I</b>nterface) foi proposto no inicio dos anos 80 e possibilita a interconexão e troca de mensagens musicais e de controle entre instrumentos musicais eletrônicos, sintetizadores, computadores, bateria eletrônicas, e outros dispositivos de áudio. MIDI não trasmite áudio - transmite apenas "mensagens de eventos" como tonalidade e intensidade de notas tocada, sinais de controle de parâmetros como volume, <i>vibrato</i> e <i>pan</i>, sinais de "clock" para sincronismo de tempo entre dispositivos. Também é utilizado para troca de dados de controle de sistemas de iluminação em shows e eventos.<br />
</span></b></span></b><br />
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;"><br />
Na sua concepção original a conexão de equipamentos por MIDI era feita via cabos com conectores DIN-5 (o mesmo conector usado nos antigos teclados de computador, antes da adoção do padrão PS/2 de pinagem).<br />
</span></b></span></b><br />
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;"><br />
</span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<div id="c.qp" style="margin-bottom: 0px; margin-top: 0px; text-align: left;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVjFx4yFhxSRbDSz2p2XhLNyEqXIStwDFyjwyvEZJBiMuTDdUFaKyQLIsWTlYqg35mu7hIEwaVgpEHAAWY_DUJaHmQ-m7Z3YC6eWrKy8klJep5jIqdGVWSmPhvjk248_uhyphenhyphenotUcTgfro0/s1600/10-feet-long-midi-cable-5-pin-din-both-ends.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="color: black; font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVjFx4yFhxSRbDSz2p2XhLNyEqXIStwDFyjwyvEZJBiMuTDdUFaKyQLIsWTlYqg35mu7hIEwaVgpEHAAWY_DUJaHmQ-m7Z3YC6eWrKy8klJep5jIqdGVWSmPhvjk248_uhyphenhyphenotUcTgfro0/s1600/10-feet-long-midi-cable-5-pin-din-both-ends.jpg" /></span></a></div>
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;"><b>Conector DIN-5</b></span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;"><br />
Vários equipamentos MIDI podem ser interconectados em em uma estrutura de conexão conhecida como "anel", na qual o INPUT de um equipamento era conectado ao OUTPUT do próximo. No caso de computadores operando sinais MIDI essa estrutura requeria a presença de uma interface MIDI no mesmo. A limitação dessa forma de conexão está no fato de que vários dispositivos MIDI podem ser controlados a partir de um dispositivo (1 MIDI out controla varios MIDI in via ligação em anel) mas vários dispositivos não podem controlar ao mesmo tempo um único dispositivo. Cada dispositivo de controle necessita de uma entrada IN exclusiva no dispositivo controlado.<br />
<br />
</span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<div id="gxm:" style="margin-bottom: 0px; margin-top: 0px; text-align: left;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYkz7EbXaZMvGea4diT0dilj3uF4qSUWNjD-1Z4faQeyaNqv0sv62TLHbstgmSNHw5IOntayfamRSsPXmWGkJ_VWvhYTARzGm8HuQ7PNsNIUulhegc_0g_LsGNQ6L5gpz_DILZQECDnLI/s1600/USB_TypeA_Plug.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="color: black; font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYkz7EbXaZMvGea4diT0dilj3uF4qSUWNjD-1Z4faQeyaNqv0sv62TLHbstgmSNHw5IOntayfamRSsPXmWGkJ_VWvhYTARzGm8HuQ7PNsNIUulhegc_0g_LsGNQ6L5gpz_DILZQECDnLI/s1600/USB_TypeA_Plug.JPG" height="191" width="200" /></span></a></div>
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;"><b>Conector USB tipo A - Foto: Andreas Frank - Creative Commons</b></span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;"><br />
Com a adoção atual das conexões USB nos equipamentos MIDI (que engloba tanto o IN quanto o OUT de sinais MIDI), simplificaram-se as conexões, pois o computador tornou-se o centro de controle principal. Mas para a interconexão de computadores via MIDI, a conexão via cabos USB não é possível. E as placas de som mais simples não possuem conectores MIDI do tipo DIN-5.</span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;"><br />
</span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<div id="cfb2" style="margin-bottom: 0px; margin-top: 0px; text-align: left;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWWcv7s4Insn46OT4PdOJ_uKBaw2kxhktsI1GJWwSfWDYPzNrxlALD5SSH62DOfP90XDVuh2GPCcNZj5egTLQWt41zllE-JYLOXmAD5aMarAcVBBySPvNZ-eHazgQAasjIdEg7kSzg4lM/s1600/70869.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="color: black; font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWWcv7s4Insn46OT4PdOJ_uKBaw2kxhktsI1GJWwSfWDYPzNrxlALD5SSH62DOfP90XDVuh2GPCcNZj5egTLQWt41zllE-JYLOXmAD5aMarAcVBBySPvNZ-eHazgQAasjIdEg7kSzg4lM/s1600/70869.jpg" height="240" width="320" /></span></a></div>
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;"><b>Conector DB15 presente em algumas placa de som,</b></span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;"><b>também utilizado para conexão MIDI</b></span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;"><br />
</span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;">Mensagens MIDI podem ser agrupadas e armazenadas em um arquivo de computador, popularmente conhecido como "Arquivo MIDI". Com extensão do tipo ".mid" esse arquivo, também conhecido como "Standard MIDI File (SMF)", se tornaram muito populares recentemente em telefones celulares, como <i>ringtones</i>. Na marioria das vezes esses arquivos contem as informações das notas tocadas, intensidade e duração, e que para serem ouvidas necessitam de um software ou hardware chamado de sintetizador. Nos celulares está presente um tipo simples de hardware sintetizador, com timbres simples de instrumentos diversos. Nos computadores é comum a presença de um sintetizador em software embutido no sistema operacional ou na placa de som, com simulação de timbres simples de instrumentos.</span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;"><br />
</span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;">Via conexão MIDI é possível conectar o PC a um sintetizador em hardware, geralmente na forma de teclados sintetizadores, que possuem bancos de sons com timbres mais realistas. Recentemente também se tornou popular a utilização de sintetizadores em software no formato de <i>plug</i><i>-</i><i>in</i> (principalmente no formato VST), que possibilitam tanto a execução de informações MIDI presentes nos arquivos SMF quanto a interpretação de sinais MIDI vindo de controladores no formato de teclados, baterias eletrônicas e similares.<br />
<br />
</span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;">Esses aplicativos que permitem a interpretação e edição de sinais MIDI são conhecidos como Sequenciadores. Os mais conhecidos são o <a href="http://www.cakewalk.com/" id="x8jt" target="_blank" title="Cakewalk Sonar">Cakewalk Sonar</a>, <a href="http://www.steinberg.net/en/products/musicproduction.html" id="aii4" target="_blank" title="Cubase">Cubase</a>, <a href="http://www.propellerheads.se/products/reason/" id="wfw1" target="_blank" title="Reason">Reason</a> e <a href="http://www.ableton.com/" id="tyy7" target="_blank" title="Ableton Live">Ableton Live</a>.</span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;"><br />
</span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;">É possível a interconexão MIDI de dois aplicativos sequenciadores rodando na mesma máquina por meio de um software que simula um HUB MIDI. O <a href="http://www.midiox.com/myoke.htm" id="j.bg" target="_blank" title="Baixe o MIDIYoke">MIDIYoke</a> cria entradas e saídas virtuais, permitindo o envio de sinais MIDI de um programa para outro.<br />
<br />
</span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;"><b>O futuro do MIDI</b></span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;"><br />
Existe também um esforço para atualizar o padrão MIDI e possibilitar a troca de mesagens via rede, possibilitando maior velocidade e flexibilidade de interconexões. O RTP-MIDI (Real Time Protocol) foi disponibilizado ao publico no final de 2006 pelo IETF (Internet Engineering Task Force, que controla as padronizações da Internet). Mas a Apple disponibilizou uma versão modificada do protocolo em seu sistema operacional OS X. Está disponivel para qualquer aplicação que rode nesse sistema e parace que será adotado em breve como padrão de MIDI sobre Rede pelo comitê gestor do protocolo (<a href="http://en.wikipedia.org/wiki/MIDI_Manufacturers_Association" title="MIDI Manufacturers Association">MIDI Manufacturers Association</a>).</span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;"><br />
</span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;">Um driver para Windows foi lançado pela empresa <a href="http://www.kiss-box.com/" id="de4h" target="_blank" title="Kiss">Kiss</a> para um de seus produtos - justamente um dispositivo de trasformacão de conexões MIDI via cabo DIN para cabos CAT-5, (os populares cabos de rede Ethernet), que funciona com o protocolo RTP-MIDI. Esse driver permite a troca de informações MIDI entre dois computadores interligados pelo aparelho KISS BOX, criando em cada um deles uma porta MIDI virtual, acessível a todos os programas que rodam MIDI.</span></b></span></b><br />
<span style="font-family: Verdana, sans-serif; line-height: 1.38; white-space: pre-wrap;"><br /></span>
<span style="font-family: Verdana, sans-serif; line-height: 1.38; white-space: pre-wrap;">A partir do inicio de 2011 a implementacao proposta pela Apple para comunicacao de MIDI via rede TCP-UDP/IP (Ethernet ou WI-FI, por exemplo) se tornou de facto a versao geral adotada por diversos outros drivers, em varios sistemas operacionais como Linux, Windows, iOS e Android. Essas drivers sao gratuitos e possibilitam a troca de informações MIDI através de uma rede TCP-UDP/IP entre diversos sistemas operacionais e entre varias maquinas simultaneamente.</span><br />
<span style="font-family: Verdana, sans-serif; line-height: 1.38; white-space: pre-wrap;"><br /></span>
<span style="font-family: Verdana, sans-serif; line-height: 1.38; white-space: pre-wrap;">A Apple apresenta no OS X um driver nativo do protocolo RTP-MIDI.</span><br />
<span style="font-family: Verdana, sans-serif; line-height: 1.38; vertical-align: baseline; white-space: pre-wrap;"><br /></span>
<span style="font-family: Verdana, sans-serif; line-height: 1.38; vertical-align: baseline; white-space: pre-wrap;">No windows temos o </span><a href="http://www.tobias-erichsen.de/rtpMIDI.html" style="font-family: Verdana, sans-serif; line-height: 1.38; text-decoration: none;"><span style="text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">rtpMIDI</span></a><span style="font-family: Verdana, sans-serif; line-height: 1.38; vertical-align: baseline; white-space: pre-wrap;">, criado por Tobias Erichsen.</span><br />
<span style="font-family: Verdana, sans-serif; vertical-align: baseline; white-space: pre-wrap;"><br /></span>
<span style="font-family: Verdana, sans-serif; vertical-align: baseline; white-space: pre-wrap;">No Linux temos o </span><span style="font-family: Verdana, sans-serif; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"><a href="http://llg.cubic.org/tools/multimidicast/" style="text-decoration: none;">multimidicast</a>.</span></div>
</div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;"><br />
</span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;"><br />
</span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;"><br />
<b>O que é OSC</b><br />
<br />
<b>O</b>pen <b>S</b>ound <b>C</b>ontrol (OSC) eh um protocolo de comunicação entre computadores, sintetizadores e outros dispositivos de mulimídia, otimizado para as tecnologias modernas de comunicação via rede. Permite que instrumentos musicais eletrônicos como sintetizadores, computadores e outros dispositivos multimídia compartilhem dados musicais e de controle em tempo real via rede. Exatamente por ser um protocolo de comunicação via rede, permite a troca de dados por uma conexão de rede comum, como a rede Ethernet (via hubs e switches), Wi-Fi ou mesmo a Internet - ou seja, qualquer meio de transmissão que implemente o protocolo TCP/IP e UDP . Opera em velocidades de banda larga (acima de 1Mbps), possibilitando um tráfego maior de dados em suas mensagens e menor atraso entre pacotes, permitindo novos tipos de interação em tempo real que não eram possíveis no protocolo MIDI (que em sua especificação original usa conexões seriais de 31kbps ou 0,03Mbps e possui um atraso, ou "lag" muito grande). Alem disso, o OSC permite uma flexibilidade maior dos tipos de dados que podem ser enviados, possibilitando novos tipos de aplicação alem dos possíveis com MIDI (que possui um cojunto mais restrito de dados).<br />
<br />
É exatamente na forma de conexão que o OSC se mostra útil, pois elimina a necessidade de dispositivos específicos para interconexão de equipamentos, como ocorre na comunicação MIDI (via conector DIN de 5 pinos ou USB - que só permite comunicação entre 2 equipamentos). Basta uma conexão que trafegue UDP/IP - como uma placa de rede Ethernet ou rede Wi-Fi, com uma velocidade maior do que 1Mbps para se criar um link OSC entre dois dispositivos. No caso de conexão via placa de rede, basta um hub ou switch para conectar vários computadores ao mesmo tempo, trocando mensagens OSC entre si. </span></b></span></b><br />
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;"><br />
</span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<div id="pmf-" style="margin-bottom: 0px; margin-top: 0px; text-align: left;">
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGPhiQtHfltzlbFs21yCD8Z39EQN0vZ4Frr-pJzzFg-OXy3JJhLHUDd7QOryjdp6uJ7txwXn8LGMansfxHlag4Ktbqn7j0l-F6rPAsUvZD0UHWcVgATW9BZieMMblIJvukxD2H29jimvQ/s1600/cat5_network_cable.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="color: black; font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGPhiQtHfltzlbFs21yCD8Z39EQN0vZ4Frr-pJzzFg-OXy3JJhLHUDd7QOryjdp6uJ7txwXn8LGMansfxHlag4Ktbqn7j0l-F6rPAsUvZD0UHWcVgATW9BZieMMblIJvukxD2H29jimvQ/s1600/cat5_network_cable.png" height="204" width="320" /></span></a></div>
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;"><b>Cabo de rede Etherner CAT-5 e conector RJ45 - o popular "cabo de rede"</b></span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;"><br />
</span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;">O protocolo OSC funciona em uma estrutura conhecida como Cliente/Servidor. Um cliente OSC envia dados para um servidor OSC, que recebe e interpreta esses dados de controle. Aplicações que recebem e enviam dados de controle possuem ambos o Cliente e o Servidor do protocolo. Sendo um protocolo orientado a rede, a identificação de um dispositivo é feita por um numero de IP (que identifica o computador na rede) e de um par de "Portas de Conexão" virtual, uma para recepção de dados (na qual os clientes se conectam) e uma para o envio. O diagrama abaixo ilustra o processo:</span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;"><br />
</span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<div id="e36n" style="margin-bottom: 0px; margin-top: 0px; text-align: left;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFSTwUUA3_J7EuGBwP3NPwSCk9fuC3W9Y-YTzKX_cY5q9KBHIaF5NYlVBGGCOl2MDC6vP387GR9oLStevNn1Bvb1mB7P4gkR4gJgOMudvay43YdqFiji0p3pH3m9_B9CRS0sRG5WaWLBs/s1600/diagrama_OSC.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="color: black; font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFSTwUUA3_J7EuGBwP3NPwSCk9fuC3W9Y-YTzKX_cY5q9KBHIaF5NYlVBGGCOl2MDC6vP387GR9oLStevNn1Bvb1mB7P4gkR4gJgOMudvay43YdqFiji0p3pH3m9_B9CRS0sRG5WaWLBs/s1600/diagrama_OSC.png" /></span></a></div>
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;"><br />
</span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;"><br />
</span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;">As mensagens do protocolo OSC são compostas por simples linhas de texto, que codificam o controle de destino a ser modificado e o novo valor para esse controle. Uma mensagem do tipo:</span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;"><br />
</span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;">/dispositivo1/controle01 0.500000</span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;"><br />
</span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;">indica que o controle01 presente no dispositivo1 conectado via OSC deve ter ser valor mudado para 0.500000. </span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;"><br />
</span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;">Por serem mensagens de texto, os comandos do protocolo OSC permitem uma grande variedade de dados de controle a ser enviado, como também um refinamento maior quanto aos valores numéricos enviados, que podem conter números inteiros ou com casas decimais.</span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;"><br />
</span></b></span></b></div>
</div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;"><b>OSC - Aplicações</b><br />
<br />
</span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;">Já existem vários softwares que utilizam o protocolo OSC, além do MIDI, para troca de informações de controle. Entre eles:<br />
<br />
- <a href="http://www.sensomusic.com/" id="of9." target="_blank" title="Usine">Usine</a><br />
- <a href="http://www.plogue.com/?page_id=56" id="we:t" target="_blank" title="Plogue Bidule">Plogue Bidule</a></span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;">- <a href="http://www.cycling74.com/" id="nl8o" target="_blank" title="Max/MSP">Max/MSP</a></span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;">- <a href="http://puredata.info/" id="bxzk" target="_blank" title="Pure Data">Pure Data</a></span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;">- <a href="http://processing.org/" id="xnjn" target="_blank" title="Processing">Processing</a></span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;">- <a href="http://chuck.cs.princeton.edu/" style="background-color: initial; background-image: none; background-repeat: initial; color: #551a8b;" title="ChucK">ChucK</a><br />
- <a href="http://www.native-instruments.com/en/products/producer/reaktor-5/" id="lb08" target="_blank" title="Reaktor">Reaktor</a></span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;">- <a href="http://en.wikipedia.org/wiki/Traktor_DJ_Studio" style="background-color: initial; background-image: none; background-repeat: initial;" title="Traktor DJ Studio"><span style="color: black;">Traktor DJ Studio</span></a></span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;"><br />
Existem também hardwares compatíveis com o protocolo OSC:<br />
- <a href="http://www.jazzmutant.com/lemur_overview.php" id="fw3a" target="_blank" title="Lemur">Lemur</a><br />
- <a href="http://monome.org/" id="geeq" target="_blank" title="Monome">Monome</a></span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;">- <a href="http://www.apple.com/iphone/" id="x6zz" target="_blank" title="iPhone">iPhone</a> e <a href="http://www.apple.com/ipodtouch/" id="xk9y" target="_blank" title="iPod touch">iPod touch</a> rodando aplicativos de controle OSC (<a href="http://hexler.net/software/touchosc" id="grma" target="_blank" title="TouchOSC">TouchOSC</a>, <a href="http://lux.vu/blog/oscemote/" id="goc0" target="_blank" title="OSCemote">OSCemote</a>, <a href="http://poly.share.dj/projects/#mrmr" id="epue" target="_blank" title="Mrmr">Mrmr</a>, <a href="http://nr37.nl/OSCRemote/" id="od0m" target="_blank" title="OSCRemote">OSCRemote</a>, <a href="http://memo.tv/iphone" id="be:u" target="_blank" title="MSA Remote">MSA Remote</a>, entre outros)</span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;"><br />
</span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;">Uma lista completa de softwares e hardwares que utilizam OSC pode ser obtida em <a href="http://opensoundcontrol.org/implementations" target="_blank" title="http://opensoundcontrol.org/implementations">http://opensoundcontrol.org/implementations</a><br />
<br />
</span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;">A adoção em larga escala do OSC, apesar da sua flexibilidade, ainda não ocorreu. Especula-se que essa adoção pode acontecer assim que um grande fabricante de hardware ou software incluir o protocolo em um de seus produtos, assim com aconteceu com o MIDI no começo dos anos 80.</span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;"><br />
</span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;">O protocolo não é mantido por nenhuma instituição e também não está padronizado (ao contrario do MIDI, que foi padronizado no inicio dos anos 80). No estado atual, cada aplicação define os nomes das mensagens trocadas, o que pode gerar uma confusão em um futuro próximo. Também não estão padronizadas as informações que correspondem ao envio de notas musicais, como as presentes no MIDI. Essa fato limita um pouco o uso do protocolo com um substituto do MIDI nas aplicações que envolvem controle de notas em sintetizadores, como ocorre em teclados. Também não foi definido um arquivo OSC semelhante ao arquivo MIDI SMF. Um esforço de padronização está em processo, sob o nome de <a href="http://stud3.tuwien.ac.at/~e0725639/OSC-SYN.txt" id="l_b7" target="_blank" title="OSC-SYN">OSC-SYN</a>.</span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;"><b><br />
</b></span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;">A 2a parte do artigo pode ser lida em: <a href="http://softwarebending.blogspot.com/2009/10/interconexao-de-sistemas-de-controle-de.html">http://softwarebending.blogspot.com/2009/10/interconexao-de-sistemas-de-controle-de.html</a> </span></b></span></b><br />
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;"><br />
</span></b></span></b><br />
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;">Referências:<br />
<br />
<a href="http://en.wikipedia.org/wiki/OpenSound_Control" id="y9iv" target="_blank" title="http://en.wikipedia.org/wiki/OpenSound_Control">http://en.wikipedia.org/wiki/OpenSound_Control</a></span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;"><a href="http://opensoundcontrol.org/" id="dy0a" target="_blank" title="http://opensoundcontrol.org/">http://opensoundcontrol.org/</a><br />
<a href="http://www.cs.berkeley.edu/~lazzaro/rtpmidi/" id="t6g5" target="_blank" title="http://www.cs.berkeley.edu/~lazzaro/rtpmidi/">http://www.cs.berkeley.edu/~lazzaro/rtpmidi/</a><br />
<a href="http://en.wikipedia.org/wiki/MIDI" id="tb:7" target="_blank" title="http://en.wikipedia.org/wiki/MIDI">http://en.wikipedia.org/wiki/MIDI</a><br />
<a href="http://en.wikipedia.org/wiki/MIDI_usage_and_applications" id="k-0." target="_blank" title="http://en.wikipedia.org/wiki/MIDI_usage_and_applications">http://en.wikipedia.org/wiki/MIDI_usage_and_applications</a><br />
</span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;"><a href="http://en.wikipedia.org/wiki/List_of_MIDI_editors_and_sequencers">http://en.wikipedia.org/wiki/List_of_MIDI_editors_and_sequencers</a><br />
</span></b></span></b></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;"><a href="http://www.linuxsampler.org/ethernetmidi/">http://www.linuxsampler.org/ethernetmidi/</a><br />
</span></b></span></b></div>
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;"><br />
</span></b></span></b></div>
<b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: normal;"><br />
</span></b></span></b></div>
<div style="font-size: 10pt;">
<span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium;"><b><span class="Apple-style-span" style="font-weight: normal;"><b><span class="Apple-style-span" style="font-size: medium; font-weight: normal;"><br /></span></b></span></b></span></div>
</div>
</div>
</div>
</div>
Andre Velosohttp://www.blogger.com/profile/18229171025666903636noreply@blogger.com1tag:blogger.com,1999:blog-4585437372343288511.post-63345520132703276242008-11-11T15:29:00.009-02:002015-03-09T14:34:27.979-03:00Interconectando Aplicativos de Áudio - JACK Audio Connection Kit<span style="font-family: Verdana, sans-serif;">JACK (JACK Audio Connection Kit) é um servidor de som que proporciona conexão de baixa latência entre aplicações "jackeadas", tanto para áudio quanto para MIDI. Licenciada sobre a GNU GPL, é portanto uma aplicação de código aberto e gratuita.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
JACK roda sobre <a href="http://en.wikipedia.org/wiki/ALSA_%28Linux%29">ALSA</a>, <a href="http://en.wikipedia.org/wiki/PortAudio">PortAudio</a>, <a href="http://en.wikipedia.org/wiki/CoreAudio">CoreAudio (MacOSX)</a>, <a href="http://en.wikipedia.org/wiki/FreeBoB">FreeBoB</a>, <a href="http://en.wikipedia.org/wiki/FFADO">FFADO</a> como servidor de som de baixo nível. Na sua versão atual roda sobre Linux, FreeBSD e MacOSX. Existe uma versão experimental, mas funcional, rodando em Windows (JACKDMP), utilizando o driver ASIO para acesso à interface de áudio.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
<b>Aplicações</b></span><br />
<span style="font-family: Verdana, sans-serif;"><br />
A interconexão entre programas de audio e MIDI é a principal função do JACK. Com ele é possível, por exemplo, conectar a saída de áudio de um software a entrada de outros ou vários simultaneamente.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
Existem vários programas (especialmente para Linux e MacOSX) que possuem suporte nativo para JACK. Mas algumas aplicações podem ser "jackeadas" por meio de configurações variadas.</span><br />
<span style="font-family: Verdana, sans-serif;"><b><br />Exemplos de Instalação</b>Demonstrarei abaixo exemplos de instalação, configuração e uso nos sistemas operacionais MacOSX e Windows (2000/XP ou superior).<b><br /><br /> MacOSX</b></span><br />
<span style="font-family: Verdana, sans-serif;"><br />
<b>Componentes do JACK no MacOSX: </b></span><br />
<span style="font-family: Verdana, sans-serif;"><br />
• O servidor JACK;</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
• O Roteador JACK "JackRouter": o drive que permite que qualquer aplicação que use o driver CoreAudio se torne um cliente JACK;</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
• Os plug-ins VST/AU;</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
• A aplicacao JACKPilot, que permite o controle do servidor JACK e a configuracao das interconexoes entre as aplicacaoes.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
<b>Instalando</b></span><br />
<span style="font-family: Verdana, sans-serif;">A instalação no MacOSX é bem simples. Depois de descompactar o pacote, clique 2 vezes no instalador. A seguinte tela aprecerá:</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
Basta seguir os passos indicados pelo instalador. Depois, abra o JackPilot:</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;"><br />
O JackPilot é a central de controle do JACK. Nele são feitas as configurações da interface de áudio utilizadas e dos roteamentos das aplicações. Clicando no botao "Start", o JACK inicia sua operação.</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">No menu "Preferences" temos acesso a configuração a seguir:</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<div class="separator" style="clear: both; text-align: center;">
</div>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">Nesse caso, estamos usando o CoreAudio como driver, e o dispositivo "UCA200 Agregate" como interface de áudio. Lembrando que os usuários de interface de áudio rodando a versão Intel do MacOSX devem configurar a interface de áudio como "agregada" na configuração de "Audio MIDI Setup", como demonstrado nas duas telas abaixo:</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;"><br />
Depois de configurado, o JACK está pronto para ser usado.</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">Ao clicar no botão "Routing", temos acesso à interface de conexão de aplicações abaixo:</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<span style="font-family: Verdana, sans-serif;">Como exemplo, vamos realizar a interligação de duas aplicações diferentes com o JACK. No exemplo, usaremos o software GuitarRig2 (modelador virtual de amplificadores de guitarra) e o host de plug-ins VST pMix.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
No GuitarRig2, basta escolher o "JackRouter" como dispositivo de saída (Output Device) do aplicativo.</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">E no pMix, escolhemos o "CoreAudio JackRouter" como Driver e o "JackRouter" como "Input Device". A configuração varia de software para software, mas é feita basicamente dessa forma.</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">Depois de configuradas as aplicações, elas aparecem na lista do JackRouter. O gestor de conexões é dividido em 3 partes: na primeira vemos as SAÍDAS dos aplicativos, na aba do meio estao as ENTRADAS dos aplicativos e na 3a aba vemos a conexao para cada uma das entradas ou saídas selecionadas. Todos os programas possuem entradas e saidas selecionáveis e essa interconexão FLEXÍVEL entre essas entradas e saidas é a característica principal do JACK.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
As portas nomeadas como "System" ficam sempre presentes no gerenciador de conexão. Elas representam as entradas e saídas físicas da interface de áudio. Para que o áudio saia pela placa de som, é preciso que sempre tenhamos um aplicatico com suas "Send Ports" conectadas ao "system-playback_1" ou "system-playback_2. Lembrando que a quantidade de dispositivos que aparecem na aba system depende da quantidade de saídas da interface de áudio utilizada.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
Para fazer uma conexão, basta selecionar com um clique único um dispositivo na lista "Send Ports" e efetuar um clique duplo na porta desesaja na lista "Receive Ports. As conexões ativas ficam marcadas em vermelho.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
Lembrando que essas configurações de interconexão pode ser salvas para uso posterior.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
Uma dica importante: no MacOSX é possível que todas os aplicativos de áudio do sistema sejam interconectados via JACK, até mesmo o iTunes. Para isso basta definir o JACK como dispositivo de áudio padrão do sistema, ao invés do CoreAudio, na configuração "Audio MIDI Setup" do menu "Utilities".</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">O Jack disponibiliza ainda o plugin VST/AU "Jack-Insert". Com esse plug-in é possivel fazer conexões interna entre programas que utilizem plug-ins VST. Por exemplo, podemos mandar a saída de um canal de áudio de um programa para outro, que realizaria um tipo de processamento, e retornar esse áudio processado para o primeiro programa.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
No exemplo abaixo, inserimos o plugin "Jack-Insert" dentro de um canal do software pMix. Veja que agora as portas "VSTsend1" e VSTreturn1" aparacem na listagem de entradas e saídas do gerenciador de conexão.</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;"><br />
<br />
<b>Windows</b></span><br />
<span style="font-family: Verdana, sans-serif;"><br />
O uso de JACK no ambiente Windows ainda é experimental e foi adcionado por meio do projeto JACKDMP, que é uma versao do JACK otimizada para uso em computadores multiprocessados (como os "Dual Core" da Intel ou os X2 da AMD, ou máquinas com dois processadores individuais, como em servidores), mas que tambem roda em maquinas uniprocessadas.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
O painel de controle Qjackctl também foi portado para Windows.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
Na versão para Windows, o JACK roda atrelado a interface ASIO disponível no sistema. Para quem não possui interface de som com driver ASIO uma dica é utilizar o ASIO4All que habilita essa interface de baixa latência para qualquer placa de som que possua drive do tipo WDM (o driver padrão de audio para interfaces de som rodando sobre Windows XP/2000 ou superior), e que foi comentada nesse <a href="http://softwarebending.blogspot.com/2008/10/asio4all-udio-de-baixa-latncia-para.html">post anterior</a>. Funciona até mesmo em placas on-board de notebooks e desktops.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
<b>Instalação</b></span><br />
<span style="font-family: Verdana, sans-serif;"><br />
A última versão dos pacotes de instalação pode ser encontrada em <a href="http://www.grame.fr/~letz/jackdmp.html">www.grame.fr/~letz/jackdmp.html</a></span><br />
<span style="font-family: Verdana, sans-serif;"><br />
Descompacte o arquivo Zip e crie uma pasta na raiz do sistema (Ex C:\jack), copiando para essa pasta o conteúdo da pasta "bin\windows" do arquivo descompactado.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
Baixe a versão para Windows do painel de controle Qjackctl em <a href="http://www.grame.fr/~letz/qjackctl_CVS.zip">www.grame.fr/~letz/qjackctl_CVS.zip</a></span><br />
<span style="font-family: Verdana, sans-serif;"><br />
Descompacte o arquivo qjackctl_CVS.zip</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
- Copie os arquivos qjackctl.exe e todos os arquivos do tipo "dll" para a mesma pasta na qual o jackdmp foi instalado (C:\jack como sugerido anteriormente).</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
- Execute o aplicativo qjackctl.exe e configure da seguinte maneira, clicando com o botão direito do mouse no icone presente na barra de tarefa do Windows e escolhendo a opcão "Setup..."</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOffePN8rwOwvH3yfBt-xRO7EhICDfR5IeAgw4wih93UZQUmJ3gp-r2jmkil2wjsqDL-6d9xhZxe1kutH13197wKaB-QIJJZtzgHnUMKyeSX1xdbipAIgFrXOQTqAig39qlunRY8brs3s/s1600/setup_win.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="color: black; font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOffePN8rwOwvH3yfBt-xRO7EhICDfR5IeAgw4wih93UZQUmJ3gp-r2jmkil2wjsqDL-6d9xhZxe1kutH13197wKaB-QIJJZtzgHnUMKyeSX1xdbipAIgFrXOQTqAig39qlunRY8brs3s/s1600/setup_win.jpg" /></span></a></div>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;"><br />
1 - Na aba "Settings", use a opção "jackdmp -S" no "Server Path". ALERTA: o parâmetro "-S" (maiúsculo) é obrigatório no Windows</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
2 - Ainda na aba "Settings" use "portaudio" no ítem "Driver"</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9_iviBopjXzbBpCmNZvtVPXBO6X3yoH83oUYEWYIhX0EW__j1zyvPMOIuXMoZUWd2nKtjxAsGqpaSuZMfJw9E8qXSmRsjUIt0QVvQ09HMLFqXmCMf5hJm7eJu30vNFJra-N6xF7kt_1A/s1600/setup_02_win.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="color: black; font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9_iviBopjXzbBpCmNZvtVPXBO6X3yoH83oUYEWYIhX0EW__j1zyvPMOIuXMoZUWd2nKtjxAsGqpaSuZMfJw9E8qXSmRsjUIt0QVvQ09HMLFqXmCMf5hJm7eJu30vNFJra-N6xF7kt_1A/s1600/setup_02_win.jpg" /></span></a></div>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;"><br />
3 - Na aba "Misc", marque a opção "Start JACK audio server at application startup", como demonstrado na figura abaixo:</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvF-xUGxRglH0ClBT1T3Yda5q8xyrtIj9o7sVXtY1Q2Ao4wONQW9Y-bVEFX0quRYD0TkfZyBSKQ_KuIpacwPmRGqWRrlE7dICrSHTl1GZW1IxOobOlXu7-Fm3njt21XI6vp9aPMUZsK8E/s1600/setup_04_win.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="color: black; font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvF-xUGxRglH0ClBT1T3Yda5q8xyrtIj9o7sVXtY1Q2Ao4wONQW9Y-bVEFX0quRYD0TkfZyBSKQ_KuIpacwPmRGqWRrlE7dICrSHTl1GZW1IxOobOlXu7-Fm3njt21XI6vp9aPMUZsK8E/s1600/setup_04_win.jpg" /></span></a></div>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;"><br />
- Com o botao direito do mouse no icone do Qjackctl, escolha a opcão "Quit" para finalizar a aplicacao e a inicie novamente.</span><br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<span style="font-family: Verdana, sans-serif;"><br />
Iniciar o servidor JACK utilizando uma outra interface de áudio instalada na máquina (como uma interface com o driver ASIO) ainda não pode ser feito diretamente pela interface qjackctl.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
A inicialização do servidor deve ser feita por meio de um terminal como demonstrado no exemplo abaixo:</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
- Acesse o menu Iniciar do Windows e localize a opção "Executar...". Uma caixa de diálogo aparecera. Digite "cmd" e depois clique em "OK" para abrir o terminal do Windows;</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
- No terminal, digitando o comando "jackdmp -d portaudio -l" as interfaces de áudio disponíveis na máquina são apresentadas. No exemplo abaixo foi localizada a interface "ASIO4ALL v2". A palavra que denomina a interface varia de máquina pra máquina, dependendo da interface de áudio utilizada. Essa interface será então utilizada pelo servidor JACK.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbn_r7OV0YRVHkeQIhgjnvQ7rexiw9Lk5A7xUeR2A_C5gjeuZawhtFes5XbxCUQfC1Z7FOHeQO-vAbRRCgCixYcerJv3oKw8tb0Jsi2NO0QHY-dm4a1Q2a0T5s-v8wg2Zn4iIAnnBdwKw/s1600/cmd_01.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><span style="color: black; font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbn_r7OV0YRVHkeQIhgjnvQ7rexiw9Lk5A7xUeR2A_C5gjeuZawhtFes5XbxCUQfC1Z7FOHeQO-vAbRRCgCixYcerJv3oKw8tb0Jsi2NO0QHY-dm4a1Q2a0T5s-v8wg2Zn4iIAnnBdwKw/s1600/cmd_01.jpg" /></span></a></div>
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<div id="qyzv" style="padding: 1em 0pt; text-align: left;">
</div>
<span style="font-family: Verdana, sans-serif;"><br />
<br />
<br />
<br />
<br />
- Selecione com o mouse o nome da interface (como no exemplo acima) e com o botão direito do mouse sobre o terminal escolha a opção "Copiar";</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
- Então inicie o servidor JACK nesse mesmo terminal, usando como parâmetro de entrada do comando o nome da interface copiada no exemplo acima. Ex:</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
jackdmp -R -S -d portaudio -d "ASIO4ALL v2"</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
- NAO FECHE A JANELA DO TERMINAL. Deixe esse terminal sempre rodando enquanto o JACK for exuecutado.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJ-Q83hA4ffJv0gp3BOpR-Cj6kvOUPdkuKEcmy5pCFdaon0_MdYjloYBU7TKgi9LOAIgXijRXCg9zln6YcRWAglVdHXtTA4XGO2odgsgDxw5KZFA-ZLpCjdnu1mIbcUbgs5WLq03kaJlQ/s1600/cmd_02.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="color: black; font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJ-Q83hA4ffJv0gp3BOpR-Cj6kvOUPdkuKEcmy5pCFdaon0_MdYjloYBU7TKgi9LOAIgXijRXCg9zln6YcRWAglVdHXtTA4XGO2odgsgDxw5KZFA-ZLpCjdnu1mIbcUbgs5WLq03kaJlQ/s1600/cmd_02.jpg" /></span></a></div>
<span style="font-family: Verdana, sans-serif;"><br />
<br />
- Inicie novamente a aplicação qjackctl.exe</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
É possível criar um arquivo de inicialização automática do servidor JACK, eliminando a necessidade de se abrir um terminal para isso. Crie um arquivo "IniciaJACKASIO.bat". Para isso basta clicar com o botão direito do mouse na pasta do JACK instalada (descrito no processo de configuração no início dessa seção) e escolha a opção "Novo" e em seguir "Documento de texto". Renomeie esse arquivo para "inicieJACK.bat". Abra o aquivo e cole o seguinte conteúdo:</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
cd C:\jack</span><br />
<span style="font-family: Verdana, sans-serif;">jackdmp -R -S -d portaudio -d "ASIO4ALL v2"</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
Lembrando de trocar o texto "ASIO4ALL v2" pelo texto da sua interface de áudio, como demonstrado anteriormente, e sempre entre aspas. Salve o arquivo e feche o editor de texto.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
Esse arquivo pode ser rodado diretamente, bastando apenas um clique duplo sobre o mesmo. Essa ação inicia o servidor JACK.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
Feche e abra novamente aplicacão qjackctl.exe, caso ela esteja rodando. Vamos passar agora para as configurações.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
<b>Configurando</b></span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIXMBJ5AxqNB3_lyG4MSOPyL-MCnfV4IRPHtfz40-FxTVJ92HEEFt6ktNAH8EsvlLa_J7PlSP770b795dqBm3PYuDZJFf6eq9BvYrnvlFHSUnnaFRZSue5C93SGWaSIbXCvQR8shRA2FI/s1600/painel_jack_win.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="color: black; font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIXMBJ5AxqNB3_lyG4MSOPyL-MCnfV4IRPHtfz40-FxTVJ92HEEFt6ktNAH8EsvlLa_J7PlSP770b795dqBm3PYuDZJFf6eq9BvYrnvlFHSUnnaFRZSue5C93SGWaSIbXCvQR8shRA2FI/s1600/painel_jack_win.jpg" /></span></a></div>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;"><br />
1 - Acessa o painel de conexões do JACK. A imagem abaixo mostra a aparência do painel assim que o JACK e o qjackctl.exe sao iniciados. Veja que não existe nenhuma conexao entre aplicativos realizada. Apenas estão visíveis as entradas e saídas da interface de áudio.</span><br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPAxEibvJF2ohR6OkTTvB6Z-fFCUlnUqu25riPFeLC6k-eVRUvO5ZONtzHeU7z7glhvyY4JNORV3cfcpMX9EUVT_LE19cDXZA799H1ISfXp11wmMr9x_v6nHbwouo2eFJd2Cep3Y6e-eQ/s1600/painel_jack_02_win.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="color: black; font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPAxEibvJF2ohR6OkTTvB6Z-fFCUlnUqu25riPFeLC6k-eVRUvO5ZONtzHeU7z7glhvyY4JNORV3cfcpMX9EUVT_LE19cDXZA799H1ISfXp11wmMr9x_v6nHbwouo2eFJd2Cep3Y6e-eQ/s1600/painel_jack_02_win.jpg" /></span></a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<span style="font-family: Verdana, sans-serif;">2 - Acessa o Patchbay, aonde configurações de conexões do JACK podem ser salvas para facilitar o uso de múltiplas situações.</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUPjPPTc_zFOjaLHmGHdXcEN7j8W6p1DCO83hanyIjmAFm2tvGVUr7yBLyFV7re7P-1r6G6QCgV2xKfWA8Faq6pKFH4x-QcAFDc-jgbLj1Rd6wtEDa9qioj9N8CcS6UPl9jgaYM1V0H10/s1600/painel_jack_03_win.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="color: black; font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUPjPPTc_zFOjaLHmGHdXcEN7j8W6p1DCO83hanyIjmAFm2tvGVUr7yBLyFV7re7P-1r6G6QCgV2xKfWA8Faq6pKFH4x-QcAFDc-jgbLj1Rd6wtEDa9qioj9N8CcS6UPl9jgaYM1V0H10/s1600/painel_jack_03_win.jpg" /></span></a></div>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">3 - Acesso ao menu de configurações do JACK</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjy3imYIkNKHKD1j4lq2yBjXuelH6bq8drPLN-xoIp7ySfCdQUWYvglvu1WqJrky9Ef26lzAmWuzK3tWuUmTCzbDpLCAERZstMuxSrR24d8lZnNDa_L8Mu_w9ul7Vf5jLqFV67SDHPLis/s1600/setup_03_win.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="color: black; font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjy3imYIkNKHKD1j4lq2yBjXuelH6bq8drPLN-xoIp7ySfCdQUWYvglvu1WqJrky9Ef26lzAmWuzK3tWuUmTCzbDpLCAERZstMuxSrR24d8lZnNDa_L8Mu_w9ul7Vf5jLqFV67SDHPLis/s1600/setup_03_win.jpg" /></span></a></div>
<span style="font-family: Verdana, sans-serif;"><br />
<br />
4 - Inicia e para o servidor JACK. Não é utilizado em caso de interfaces ASIO.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
<b>Exemplo:</b></span><br />
<span style="font-family: Verdana, sans-serif;"><br />
Nesse exemplo foi executado o arquivo "inicieJACK.bat" criado anterirmente. O terminal abaixo aparecerá. Ele demonstra que o servidor JACK está funcionando.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
Rode então o qjackctl.exe e acesse o painel de conexões do JACK.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitIUSkcFqpzGi2z6Ur06_N4f7fvBNmodduFbuWyXKlRl2uKuyd4H8EldlzcHMVXXOycMSPdQTgyrK3WE30_IGEhWW9V2nR7oWjTh-HhdFo_wi66qQGZvOC8JA5wdrVCxxuPG9RxImUiYI/s1600/Live_jack.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="color: black; font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitIUSkcFqpzGi2z6Ur06_N4f7fvBNmodduFbuWyXKlRl2uKuyd4H8EldlzcHMVXXOycMSPdQTgyrK3WE30_IGEhWW9V2nR7oWjTh-HhdFo_wi66qQGZvOC8JA5wdrVCxxuPG9RxImUiYI/s1600/Live_jack.jpg" /></span></a></div>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;"><br />
Nesse exemplo utilizei o Ableton Live como um dos aplicativos a ser interconectados via JACK. Na configuração do aplicativo deve-se escolher o "JackRouter" como interface de áudio do mesmo. Lembrando que essa configuração deve ser feita depois que o servidor JACK estiver rodando.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBtitqoUxd24dm34pV4O20rzM1PJoWwEZQ9-pt2YHf1ou76oC2_Njz-Cqjy6XM3NYmuzadYLwhH5TlSkMLUuvCOiDAhRdXOp7PGb4zYQD09Hx0sm4bdJvollLisxk01QbfImPGGZTEMk8/s1600/usine_01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="color: black; font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBtitqoUxd24dm34pV4O20rzM1PJoWwEZQ9-pt2YHf1ou76oC2_Njz-Cqjy6XM3NYmuzadYLwhH5TlSkMLUuvCOiDAhRdXOp7PGb4zYQD09Hx0sm4bdJvollLisxk01QbfImPGGZTEMk8/s1600/usine_01.jpg" /></span></a></div>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;"><br />
Utilizaremos o Usine como segunda aplicação a ser interconectada pelo JACK. Devemos configurá-lo da mesma forma que fizemos com o Ableton Live, escolhendo o JackRouter como dispositivo de áudio, como na imagem abaixo:</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikk83_Kq2o14GWegXjdaQRFbknC9bIG16N9nRUyaWqrgHpwUDAsdGy3wrQlUQqWQYt5W5wPPWHpPvVcD2nQnp-z0KnfN_E5AuHa-3y4Km7aT-xSFKv4K8M5aOtjPgtmlEsL-gtv5Oj7wE/s1600/Picture_006.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="color: black; font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikk83_Kq2o14GWegXjdaQRFbknC9bIG16N9nRUyaWqrgHpwUDAsdGy3wrQlUQqWQYt5W5wPPWHpPvVcD2nQnp-z0KnfN_E5AuHa-3y4Km7aT-xSFKv4K8M5aOtjPgtmlEsL-gtv5Oj7wE/s1600/Picture_006.jpg" /></span></a></div>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;"><br />
Depois que os dois aplicativos foram configurados para utilizarem o JackAudio como interface de áudio, ambos aparecem na lista de conexões do painel JACK.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
Nesse exemplo, demonstrado pela figura abaixo, conectei a entrada de áudio da interface à entrada de áudio do Usine. Depois conectei a saída de áudio do Usine à entrada de áudio do Ableton Live. Então conectei a saída do Live à saida da interface de áudio.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
A janela de configuração é dividida em dois lados. No lado esquerdo estão as "Portas de Saída" e na direita as "Portas de Entrada". Para realizar uma conexão, basta selecionar um dos dispositivos na lista da esquerda (com um clique único do mouse) e um dos dispotitivos na lista da direita e clicar no botão "Connect" na parte inferior da interface.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
Para desconectar, basta selecionar um dos dispositivos em qualquer dos lados e clicar no botão "Disconnect".</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
A linha do sinal de áudio ficou assim:</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
Entrada da interface -> Usine -> Ableton Live -> Saída da interface</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
Qualquer áudio gerado no Usine vai direto para a entrada do Live, aonde pode ser manipulado antes de ir para a saída da interface de áudio.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
A cadeia de sinal pode ter uma extensão bem maior do que a demonstrada aqui, bastando adcionar mais programas e interconectá-los via o painel acima.</span><br />
<b><span style="font-family: Verdana, sans-serif;"><br />Referências:</span></b><br />
<a href="http://en.wikipedia.org/wiki/JACK_Audio_Connection_Kit"><span style="color: black; font-family: Verdana, sans-serif;">http://en.wikipedia.org/wiki/JACK_Audio_Connection_Kit</span></a><br />
<a href="http://jackaudio.org/"><span style="color: black; font-family: Verdana, sans-serif;">http://jackaudio.org/</span></a><br />
<a href="http://www.grame.fr/~letz/jackdmp.html"><span style="color: black; font-family: Verdana, sans-serif;">http://www.grame.fr/~letz/jackdmp.html</span></a>Andre Velosohttp://www.blogger.com/profile/18229171025666903636noreply@blogger.com7tag:blogger.com,1999:blog-4585437372343288511.post-72632143800838572752008-10-09T15:38:00.003-03:002015-03-02T10:11:14.053-03:00Compartilhando Audio pela Rede - Wormhole2 VST<!--[if IE]> <?XML:NAMESPACE PREFIX = GDOC /> <![endif]--><span style="font-family: verdana;"> </span><span style="font-family: verdana;">Uma excelente forma de transmitir áudio entre computadores está disponível, agora de forma gratuita. O plug-in</span><b style="font-family: verdana;"> </b><span style="font-family: verdana;">Wormhole2 (disponível em AU e VST para MacOSX e VST para Windows) permite a distribuição de áudio entre computadores ligados em uma rede.<br /><br />A gama de possibilidades é enorme. Com um simples cabo de rede padrão (um cabo de rede do tipo <a href="http://en.wikipedia.org/wiki/Ethernet_crossover_cable" id="qtx_" title="CROSSOVER">CROSSOVER</a> ligado direto entre duas maquinas ou entre varias maquinas ligadas a um hub/switch), uma rede via Firewire ou uma rede sem fio (Wi-Fi) é possível transmitir áudio entre aplicações diferentes localizadas em diferentes computadores, em tempo real, como se fossem conexões de áudio analógicas feitas por cabos, pela placa de som. A flexibilidade é ainda maior, como demonstrarei no estudos de casos abaixo.</span><span style="font-family: verdana;"><br /><br />Segundo o site do fabricante (</span><a href="http://plasq.com/wormhole" id="rtl4" style="font-family: verdana;" title="http://plasq.com/wormhole">http://plasq.com/wormhole</a><span style="font-family: verdana;">) é possível:</span><br />
<ul style="font-family: verdana;">
<li>Transmitir áudio sobre TCP/IP</li>
<li>Latência super baixa em rede local</li>
<li>Um canal mono de 44.1kHz necessita de apenas 0,175MBit/sec (uma rede Ethernet possibilita ate 100Mbit/sec)</li>
<li>Funciona com qualquer tipo de rede que trafegue TCP/IP (Ethernet, Firewire, Airport, Wi-Fi)</li>
<li>Funciona com qualquer programa que aceite plug-ins VST e/ou Audio Units (MacOSX): Logic, Garageband, Cubase, Ableton Live, Digital Performer, Soundtrack, Metro, ...</li>
<li>Pode ser usada em uma única maquina para envio de áudio entre aplicativos ou para envio de áudio entre múltiplos computadores, rodando aplicativos diferentes.</li>
</ul>
<b style="font-family: verdana;"><br />Instalando o Wormhole2</b><br />
<span style="font-family: verdana;"><br />Baixe o Wormhole2 do site do fabricante no Google Code (</span><a href="http://code.google.com/p/wormhole2/downloads/list" id="rq_v" style="font-family: verdana;" title="http://code.google.com/p/wormhole2/downloads/list">http://code.google.com/p/wormhole2/downloads/list</a><span style="font-family: verdana;">), na versão de seu sistema operacional. O plug-in era pago, agora virou Open-Source e é distribuído de forma gratuita.</span><span style="font-family: verdana;"><br /><br />O manual de instruções que acompanha o plug-in é bastante ilustrativo e detalhado. Vou apresentar aqui um resumo do processo e das funcionalidades.</span><span style="font-family: verdana;"><br /><br />A instalação é simples, como a da maioria dos plug-ins VST.</span><span style="font-family: verdana;"><br /><br />No Windows</span><br />
<span style="font-family: verdana;">Descompacte o arquivo zip e copie o arquivo Wormhole2.dll para a pasta de plug-ins VST do seu sistema.</span><br />
<br />
<span style="font-family: verdana;">Macintosh </span><br />
<span style="font-family: verdana;">Descompacte o arquivo e copie Wormhole2.component para a pasta Library/Audio/Plug-Ins/Components (para a versao AU)</span><br />
<span style="font-family: verdana;">e/ou</span><br />
<span style="font-family: verdana;">Copie o arquivo Wormhole2.vst para a pasta Library/Audio/Plug-Ins/VST (para a versao VST).</span><span style="font-family: verdana;"><br /><br />Certifique-se que vc consegue se conectar às portas UDP de numero 48100 e 48200 das maquinas na qual o plug-in vai ser usado. Talvez seja preciso reconfigurar o firewall (caso o mesmo esteja rodando) das maquinas, para permitir o envio e recebimento de conexões nessas portas.</span><span style="font-family: verdana;"><br /><br />Verifique também a conexão de rede antes da configuração. Quase sempre os problemas de comunicação entre maquinas ocorrem por problemas no cabo de rede - para o caso de conexões via Ethernet - ou via "placa de rede", como é mais conhecida.</span><span style="font-family: verdana;"><br /><br />No caso de conexões via rede sem fio (mais conhecida como Wi-Fi), é necesssário um Acess Point (ou roteador de rede sem fio) para a conexão entre mais de 2 maquinas. É possível transformar uma delas em Acess Point, como descrito nesse </span><a href="http://marionery.com/blog/2008/06/02/crie-um-hotspot-na-sua-casa-ou-comercio/" id="ulgw" style="font-family: verdana;" title="TUTORIAL">TUTORIAL</a><span style="font-family: verdana;">.</span><b style="font-family: verdana;"><br /><br />Situações:</b><span style="font-family: verdana;"><br /><br />Para todas as situações abaixo, abra a sua aplicação que aceite plug-ins VST(Windows/MacOSX) ou AU (MacOSX). No exemplos abaixo, estarei usando o Ableton Live.</span><i style="font-family: verdana;"><b><br /><br />Conexão direta</b></i><span style="font-family: verdana;"> - Essa forma de conexão envia o áudio de um dos canais de uma maquina para outra, de forma direta:</span><br />
<div id="k035" style="font-family: verdana; padding: 1em 0pt; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMfTbU-byJoKzVnABbQruJ2FwNYiZLB6U387PzVBu5gGMNGfjdPHGewObF9qYcQB8uskUOtiHuJJ8IQZ3f2tglhORsI2T1BHfI7yNUP9NqGpHSa7sJ1sqlzGnukvqI1Puh6m0y9BCq-D4/s1600/setup_direct_01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMfTbU-byJoKzVnABbQruJ2FwNYiZLB6U387PzVBu5gGMNGfjdPHGewObF9qYcQB8uskUOtiHuJJ8IQZ3f2tglhORsI2T1BHfI7yNUP9NqGpHSa7sJ1sqlzGnukvqI1Puh6m0y9BCq-D4/s1600/setup_direct_01.jpg" /></a></div>
<span style="font-family: verdana;"><br /></span>
<br />
<span style="font-family: verdana;">1 - insira o Wormhole em um canal, no aplicativo de uma das maquinas. Essa maquina será a "fonte" do áudio</span><span style="font-family: verdana;"><br />2 - renomeie esse canal como "Teste", clicando na caixa de texto na parte de cima do plug-in</span><span style="font-family: verdana;"><br />3 - clique no botão "Start" da parte "direct" do Wormhole" fazendo dessa máquina o ponto de inicio da conexão, ou a "fonte"</span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqwDlx7FIKfeESGDplwaa7DV7V41MgAmIqu0we5UbsT1PbT2H4AzR1uvj5Sy7uAk-6_iA7aOCvTYoXaAaeocws8MSRho10mNtxQX1F2usuPN7MTarFW6opPOqrg7Zb7NyWNcOngbEwYR0/s1600/setup_direct_02.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqwDlx7FIKfeESGDplwaa7DV7V41MgAmIqu0we5UbsT1PbT2H4AzR1uvj5Sy7uAk-6_iA7aOCvTYoXaAaeocws8MSRho10mNtxQX1F2usuPN7MTarFW6opPOqrg7Zb7NyWNcOngbEwYR0/s1600/setup_direct_02.jpg" /></a></div>
<br />
<div id="r4r4" style="font-family: verdana; padding: 1em 0pt; text-align: left;">
<div id="hie:" style="padding: 1em 0pt; text-align: left;">
</div>
</div>
<span style="font-family: verdana;">4 - insira o Wormhole em um canal do aplicativo na maquina que será o "destino" </span><span style="font-family: verdana;"><br />5 - clicando no triângulo, a conexão "Teste - end" proveniente da maquina fonte aparecerá na lista de conexões disponíveis. Se não aparecer, existe algum problema na conexão de rede entre as duas maquina. Revise a conexão como descrito anteriormente.</span><span style="font-family: verdana;"><br />6 - com a conexão entre os dois Wormholes feita, ajuste o Buffer para reduzir a latência entre as conexões. Isso torna o áudio mais próximo a uma operação de tempo real, que seria realizada com cabos analógicos.</span><br />
<br />
<br />
<span style="font-family: verdana;">A aplicação de conexão direta é a mais simples e poderia ser substituída por uma conexão com cabos de áudio. Mas um dos benefícios da utilização desse plug-in é o fato de que o áudio trocado entre as maquinas não está sujeito às interferências dos cabos analógicos (principalmente nos cabos desbalanceados).</span><span style="font-family: verdana;"><br /><br />As situações a seguir são mais interessantes do que anterior, e demonstram o potencial e a flexibilidade do plug-in:</span><i style="font-family: verdana;"><b><br /><br />Loop Insert</b></i><span style="font-family: verdana;"> - Essa forma permite a utilização de uma outra maquina como processadora de efeitos.</span><br />
<span style="font-family: verdana;"><br /></span>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5izSrQWfYlAqtZYuO3YvoKQI-1pBlXq7RVS_h3lW6ju2ZMroSFGjUg3oiGd1aGMsWWhtak5yJmldolWDRedF0HCZrjr9bV2mveitvC6bFM8VPzl_cNV1vKCbymAFjRq5LlqNP5oN2Vbg/s1600/setup_insert_01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5izSrQWfYlAqtZYuO3YvoKQI-1pBlXq7RVS_h3lW6ju2ZMroSFGjUg3oiGd1aGMsWWhtak5yJmldolWDRedF0HCZrjr9bV2mveitvC6bFM8VPzl_cNV1vKCbymAFjRq5LlqNP5oN2Vbg/s1600/setup_insert_01.jpg" /></a></div>
<span style="font-family: verdana;"><br /></span>
<div id="z3mz" style="font-family: verdana; padding: 1em 0pt; text-align: left;">
</div>
<span style="font-family: verdana;">1 - Insira um plug-in qualquer em um canal do computador fonte. Nesse caso um Reverb</span><span style="font-family: verdana;">2 - Coloque um Wormhole ANTES do Reverb. Coloque o nome de RoomReverb</span><span style="font-family: verdana;"><br />3 - Escolha o modo "before" na parte "Insert Chain" desse Wormhole</span><span style="font-family: verdana;"><br />4 - insira um outro Wormhole DEPOIS do Reverb . Escolha a opção "RoomReverb-after" no triângulo "Chooser"</span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpGA5AVNCRYRhW-bwYzN7THzDwTbRQJOHsYCPvGUf-T-iOkayatJ2YXeLSC4_HssJwH7pJ5ODYmgSV_vSQ-0miA6V2Jf_Qsz5cQ0QRvLtHj6j5VMTv9ROV_Lfuzmt8rK8N2p9YS4BAOjk/s1600/setup_insert_02.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpGA5AVNCRYRhW-bwYzN7THzDwTbRQJOHsYCPvGUf-T-iOkayatJ2YXeLSC4_HssJwH7pJ5ODYmgSV_vSQ-0miA6V2Jf_Qsz5cQ0QRvLtHj6j5VMTv9ROV_Lfuzmt8rK8N2p9YS4BAOjk/s1600/setup_insert_02.jpg" /></a></div>
<br />
<div id="v38u" style="font-family: verdana; padding: 1em 0pt; text-align: left;">
</div>
<span style="font-family: verdana;"><br /></span>
<span style="font-family: verdana;">5 - na outra máquina, insira o Wormhole em um canal e selecine a opção "RoomReverb-insert" no triângulo "Chooser"</span><span style="font-family: verdana;"><br />6 - clique na opção "Auto" para que o Wormhole ajuste a melhor latência entre as maquinas</span><i style="font-family: verdana;"><b><br /><br /><br />Conexão Multi-Canal</b></i><span style="font-family: verdana;"> - Permite o envio de vários canais simultaneamente entre 2 computadores. É uma extensão do modo direto.</span><br />
<div id="jucz" style="font-family: verdana; padding: 1em 0pt; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj489GKnvBsXIIF0ZMFX2HKi_DG0oQR01Zn2MtrLPFSD8mbEtwfz6PBkA5-xTv9TR6_QbVDLHDc0QuQvRj3ZTUV5N2Tc75NTTuRmgJCp17H48ksbXzegYaGXThR4VSS6fvUEWjrPi4Jhmw/s1600/setup_multi_01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj489GKnvBsXIIF0ZMFX2HKi_DG0oQR01Zn2MtrLPFSD8mbEtwfz6PBkA5-xTv9TR6_QbVDLHDc0QuQvRj3ZTUV5N2Tc75NTTuRmgJCp17H48ksbXzegYaGXThR4VSS6fvUEWjrPi4Jhmw/s1600/setup_multi_01.jpg" /></a></div>
<span style="font-family: verdana;"><br /></span>
<span style="font-family: verdana;"><br /></span>
<span style="font-family: verdana;">1 - insira o Wormhole em um canal, colocando o nome de "Channel -1"</span><span style="font-family: verdana;"><br />2 - insira outras instâncias do plug-in nos demais canais. Eles serão renomeados automaticamente de "Channel -2" em diante</span><span style="font-family: verdana;"><br />3 - ative o "Sync" de todos os canais</span><span style="font-family: verdana;"><br />4 - lembre de ativar a opção "Play through" para que o áudio do canal saia pelo software. Com esse controle desativado o áudio não sai pelo software, sendo somente enviado pela rede.</span><br />
<br />
<div id="dff5" style="font-family: verdana; padding: 1em 0pt; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfdbfSvEM6ZpvT-GW3geRHU_R_ElcgmpcwecvwWcqGcHKZ-bfn4nQ1gfftoVKVZ02wz2uXcSaJNEbCZDVZnLcMlAuK-D8nSl1B8mC-IqC-0NRNriLixGhlyNuqr4cb3YYmF2zun7DuySw/s1600/setup_multi_02.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfdbfSvEM6ZpvT-GW3geRHU_R_ElcgmpcwecvwWcqGcHKZ-bfn4nQ1gfftoVKVZ02wz2uXcSaJNEbCZDVZnLcMlAuK-D8nSl1B8mC-IqC-0NRNriLixGhlyNuqr4cb3YYmF2zun7DuySw/s1600/setup_multi_02.jpg" /></a></div>
<span style="font-family: verdana;"><br /></span>
<span style="font-family: verdana;"><br /></span>
<span style="font-family: verdana;">5 - Insira o plug-in em um canal do software da máquina destino e escolha a opção "Channel -1 - end" no "Chooser"</span><span style="font-family: verdana;"><br />6 - Adcione o Wormhole nos demais canais. Eles automaticamente serão configurados como "Channel -2 - end", "Channel -3 - end"....</span><span style="font-family: verdana;"><br />7 - Ative o "Sync" de todos os canais</span><i style="font-family: verdana;"><b><br /><br /><br />Wormhole Farm </b></i><span style="font-family: verdana;">- "Farm" (em português "Fazenda") são conjuntos de maquinas cujo propósito é apenas processar dados, liberando o processamento da maquina local para outras tarefas. É muito usado em computação gráfica, na qual uma "Fazenda" de maquinas faz o processamento final ou render de uma cena. No Wormhole, esse modo permite configurar uma maquina que servira apenas como processadora de efeitos. Uma vez configurado esse modo, os efeitos dessa maquina podem ser acessados por qualquer maquina que esteja rodando uma instância do Wormhole em um determinado canal.</span><span style="font-family: verdana;"><br /><br />Basta criar vários canais no software da maquina "fonte' e em cada um deles reproduzir a configuração "</span><i style="font-family: verdana;"><b>Loop Insert</b></i><span style="font-family: verdana;">". Nas maquinas de destino, basta acessar esse canais da mesma forma descrita nessa seção.</span><span style="font-family: verdana;"><br /><br />Referências:</span><span style="font-family: verdana;"><br />http://en.wikipedia.org/wiki/Ethernet_crossover_cable</span><span style="font-family: verdana;"><br />http://plasq.com/wormhole</span>Andre Velosohttp://www.blogger.com/profile/18229171025666903636noreply@blogger.com9tag:blogger.com,1999:blog-4585437372343288511.post-46796974917583536242008-10-06T11:40:00.016-03:002015-03-09T14:37:39.615-03:00ASIO4ALL - Áudio de baixa latência para todos<span style="font-family: Verdana, sans-serif;">O primeiro passo para a utilização de um computador (ou notebook) como ferramenta de criação/geração/manipulação de áudio <b>em tempo real</b> é uma interface de áudio ou placa de som que possua baixa "latência".</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<span style="font-family: Verdana, sans-serif;">A latência, numa placa de som, refere-se ao atraso entre a conversão do sinal digital produzido pelo computador e a saída ou entrada do som pela placa de som.</span><br />
<span style="font-family: Verdana, sans-serif;">Por exemplo, quando se usa um computador como sintetizador controlado via teclado MIDI, o tempo que leva para se ouvir o som de uma nota após tocada no teclado é a latência. Ou quando utilizamos o computador como ferramenta de manipulação do áudio vindo de um microfone conectado à placa de som. A latência então pode ser percebida como a diferença do tempo entre a captação do áudio no microfone e o resultado do áudio manipulado pelo computador.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<span style="font-family: Verdana, sans-serif;">Latências inferiores a 7ms (milissegundos ou 0,007s) são consideradas de "tempo real". Acima desse valor já é possível ouvir um atraso entre a execução de uma nota e o seu som.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<span style="font-family: Verdana, sans-serif;">O áudio no Windows sempre sofreu com problemas de latência, pois os drivers padrão da plataforma (WDM, DirectSound e o antigo MME dos Windows 95/98/ME) não foram desenvolvidos para aplicações de tempo real.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<span style="font-family: Verdana, sans-serif;">Uma forma de driblar essa deficiência foi proposta pela Steinberg (desenvolvedora do Cubase e Nuendo - softwares sequenciadoes e de gravação de áudio multicanal) com o ASIO (<b>Audio Stream Input/Output),</b> que "pula" as camadas e os drivers padrão da plataforma e conecta os sinais de áudio vindo dos softwares direto com o hardware da placa de som, permitindo o trabalho com o áudio em tempo real.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<span style="font-family: Verdana, sans-serif;">O problema é que o ASIO só está disponível para placas de som profissionais. Para quem começa no mundo do áudio, nem sempre é possível adquirir tais placas e a única alternativa é utilizar as interfaces "on-board" presentes nos computadores e notebooks.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<span style="font-family: Verdana, sans-serif;">O ASIO4ALL contorna esse problema, fornecendo interface ASIO para qualquer placa de som que possua driver no padrão WDM (Windows XP/2000 ou superior).</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<span style="font-family: Verdana, sans-serif;">O driver pode ser baixado de <a href="http://www.asio4all.com/" id="z:ef" style="color: #551a8b;" title="http://www.asio4all.com/">www.asio4all.com</a></span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: bold;">Instalando</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<span style="font-family: Verdana, sans-serif;">A instalação é simples, bastando tomar cuidado apenas na tela abaixo. Marque as opções como demonstrado na figura:</span><br />
<div id="nlrt" style="margin-bottom: 0px; margin-top: 0px; padding-bottom: 1em; padding-left: 0pt; padding-right: 0pt; padding-top: 1em; text-align: left;">
<div id="hn9h" style="margin-bottom: 0px; margin-top: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 1em; text-align: left;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvfwuLO-Xf-5tnAaf71X6iWD-3SZH9TawgpP84blgVU-BOaS7bWeXXCpICTtUsIv8C_UiZB9jVR8WHmBG-QNelI64hgTLKOgvsFC3WrY-9-4RGiFaU2td29PSPUPcVehYBGCUWFpUsuoU/s1600/setup_v2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvfwuLO-Xf-5tnAaf71X6iWD-3SZH9TawgpP84blgVU-BOaS7bWeXXCpICTtUsIv8C_UiZB9jVR8WHmBG-QNelI64hgTLKOgvsFC3WrY-9-4RGiFaU2td29PSPUPcVehYBGCUWFpUsuoU/s1600/setup_v2.jpg" /></span></a></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
</div>
</div>
<span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-weight: bold;">Configurando</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<span style="font-family: Verdana, sans-serif;">Ao clicar no ícone que o instalador colocou no desktop "ASIO4ALL Off-line Settings" a seguinte interface aparece. Se a placa de som eh compatível com o ASIO4ALL, ela aparecerá na lista, marcada em azul no ícone da esquerda, ao lado da seta e do nome da interface. O modo de configuração padrão permite apenas a escolha do tamanho do buffer ASIO.</span><br />
<div style="margin-bottom: 0px; margin-top: 0px;">
<div id="r0tm" style="margin-bottom: 0px; margin-top: 0px; padding-bottom: 1em; padding-left: 0px; padding-right: 0px; padding-top: 1em; text-align: left;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTyyqXToQnXlhfR8IAQ-083mOjHLg8-yf4B6jiTc63FqpnEoz_52Ek7KoH7oAQ-BVdXGd2PNXv8Q_LTjct0WQ3nbCt9YhQHGKtq5GQ-Kazc2ca26hiYw633sBxArexF35h7RiBvgUlckk/s1600/asioconfigsimple_v2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTyyqXToQnXlhfR8IAQ-083mOjHLg8-yf4B6jiTc63FqpnEoz_52Ek7KoH7oAQ-BVdXGd2PNXv8Q_LTjct0WQ3nbCt9YhQHGKtq5GQ-Kazc2ca26hiYw633sBxArexF35h7RiBvgUlckk/s1600/asioconfigsimple_v2.jpg" /></span></a></div>
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<span style="font-family: Verdana, sans-serif;">O tamanho do buffer (medido em samples) eh quem define a latência do áudio, em operações de áudio em tempo real. Quanto menor o valor em samples da latência, maior o processamento necessário para a reprodução do áudio. Na configuração abaixo para a minha placa de som (uma simples SoudBlaster Live CT4870) utilizei um buffer de 256 samples, que me possibilitou uma latência de aproximadamente 7ms, no limite do aceitável.</span><br />
<div id="vfzd" style="margin-bottom: 0px; margin-top: 0px; padding-bottom: 1em; padding-left: 0pt; padding-right: 0pt; padding-top: 1em; text-align: left;">
<span style="font-family: Verdana, sans-serif;">Um indicativo de que a latência possa estar baixa demais e sobrecarregando a CPU é a reprodução de "plocs" no áudio, ou interrupções intermitentes no som, como se o áudio estivesse "pulando" ou "pipocando".</span></div>
<span style="font-family: Verdana, sans-serif;">O ideal eh descobrir um ajuste que possibilite baixa latência e ao mesmo tempo um uso com relativa folga da CPU. Um uso intenso da CPU por um determinado software ou plug-in também pode causar falhas no áudio.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<span style="font-family: Verdana, sans-serif;">Clicando no botão Advanced da configuração (com a figura da chave) temos mais opções de sintonia fina da configuração. Nessa opção podemos habilitar a interface ASIO4ALL para as entradas e saídas individuais da placa (para placas de som com mais de 1 entrada e mais de 2 saídas). Na configuração abaixo pode-se ver que minha placa de som possui 4 pares de saídas e que apenas habilitei as saídas 0/1. Se quisesse habilitar as demais, bastava clicar na saída presente na lista "WDM Device List" e clicar no botão ao lado da seta e do nome de cada uma das saídas da interface (com o desenho de um pequeno "Power"). Cada saída ou entrada habilitada aparece no software a ser utilizado (Ex: Ableton Live) como uma saída ou entrada ASIO. Não esquecendo de ajustar o tamanho do buffer no controle "ASIO Buffer Size", que abaixo foi ajustado em 256 samples.</span><br />
<div id="vfzd" style="margin-bottom: 0px; margin-top: 0px; padding-bottom: 1em; padding-left: 0pt; padding-right: 0pt; padding-top: 1em; text-align: left;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDmj9FuQr4t6OYuukG2QU9eFZuI4gKrnBPAC265pcE3ykBVG9-vSSXscLXXLVHQkljZWKD7lNyb6Z5uEeymg1MMigCkYLdnA4MzPRyAPaMt0mcyk2t0AEHOH5pVwyRKiyqYCDZXkA_pbg/s1600/asioconfigadvanced_v2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDmj9FuQr4t6OYuukG2QU9eFZuI4gKrnBPAC265pcE3ykBVG9-vSSXscLXXLVHQkljZWKD7lNyb6Z5uEeymg1MMigCkYLdnA4MzPRyAPaMt0mcyk2t0AEHOH5pVwyRKiyqYCDZXkA_pbg/s1600/asioconfigadvanced_v2.jpg" /></span></a></div>
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<span style="font-family: Verdana, sans-serif;"><br />
</span></div>
<span style="font-family: Verdana, sans-serif;">Lembrando que a interface de configuração deve ser sempre fechada após os ajustes e antes de se iniciar o software a ser usado.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<span style="font-family: Verdana, sans-serif;">Essa configuração deve também ser acessada de dentro do software de áudio. Geralmente os softwares de áudio possuem uma interface de escolha de driver de áudio a ser utilizada. Na figura abaixo esta demonstrada a interface de configuração de áudio do software <a href="http://www.ableton.com/" id="x8ek" title="Ableton Live">Ableton Live</a>.</span><br />
<div id="utyb" style="margin-bottom: 0px; margin-top: 0px; padding-bottom: 1em; padding-left: 0pt; padding-right: 0pt; padding-top: 1em; text-align: left;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_eEMG5JOkucFWFs9sdpppFRyNGGWdTxKlljjrtZVr-STq6Qc8nwzW9bHqiuQdftHY77lzL3jhWXToFmmaygD_-CtHul4qX-Il2Pd8zFn9H5gp2I4B2tzlJ6SxeMErGfks4Ldt9E_GZUw/s1600/configlive.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_eEMG5JOkucFWFs9sdpppFRyNGGWdTxKlljjrtZVr-STq6Qc8nwzW9bHqiuQdftHY77lzL3jhWXToFmmaygD_-CtHul4qX-Il2Pd8zFn9H5gp2I4B2tzlJ6SxeMErGfks4Ldt9E_GZUw/s1600/configlive.jpg" /></span></a></div>
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<span style="font-family: Verdana, sans-serif;">O tipo de driver ("Driver Type") foi selecionado como "ASIO". Na guia "Audio Device" está marcado a interface "ASIO4ALL v2". A configuração dessa interface pode ser acessada pela opção "Hardware Setup". Verifique também o tamanho da latência para um buffer de 256 samples: 7.28ms.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<span style="font-family: Verdana, sans-serif;">Abaixo a configuração do <a href="http://www.sensomusic.com/usine/" id="qpcl" title="Usine">Usine</a>:</span><br />
<div id="rxwq" style="margin-bottom: 0px; margin-top: 0px; padding-bottom: 1em; padding-left: 0pt; padding-right: 0pt; padding-top: 1em; text-align: left;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1-4kAcgbF6565fFITJnS7q8NP1_87KEk0wmCUl9tmLTe6qOTmcrSbXQApH-jQSxQF3FMcNV0nYU7Y6jd16WvEmZm4rZDpC_3364q5U_12feqsmv0hwZAIv7BhQAyo2Q5iG1V2hEh3EJc/s1600/configusine.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1-4kAcgbF6565fFITJnS7q8NP1_87KEk0wmCUl9tmLTe6qOTmcrSbXQApH-jQSxQF3FMcNV0nYU7Y6jd16WvEmZm4rZDpC_3364q5U_12feqsmv0hwZAIv7BhQAyo2Q5iG1V2hEh3EJc/s1600/configusine.jpg" /></span></a></div>
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<div style="margin-bottom: 0px; margin-top: 0px;">
<span style="font-family: Verdana, sans-serif;"><br />
</span></div>
<span style="font-family: Verdana, sans-serif;">Abaixo a configuração do <a href="http://www.propellerheads.se/products/reason/" id="syj9" title="Reason">Reason</a>:</span><br />
<div id="yb-4" style="margin-bottom: 0px; margin-top: 0px; padding-bottom: 1em; padding-left: 0pt; padding-right: 0pt; padding-top: 1em; text-align: left;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTRn0RW1caW41lbhVhMSxQRttuCKJqLZoE54lP7r34vJlpXB2tUzGoCzQRg1YUUQqex-52ozOjbBhRJY5OiGTjrO7U7CJ9PSRoGSz91kA9OUmAD23bZkR3sfBV2gqgm4KGEHOknRL77Fs/s1600/configreason.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTRn0RW1caW41lbhVhMSxQRttuCKJqLZoE54lP7r34vJlpXB2tUzGoCzQRg1YUUQqex-52ozOjbBhRJY5OiGTjrO7U7CJ9PSRoGSz91kA9OUmAD23bZkR3sfBV2gqgm4KGEHOknRL77Fs/s1600/configreason.jpg" /></span></a></div>
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<span style="font-family: Verdana, sans-serif;">Qualquer software compatível com ASIO pode ser usado para o teste de latência da interface. Entre eles:</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<span style="font-family: Verdana, sans-serif;">- Ableton Live</span><br />
<span style="font-family: Verdana, sans-serif;">- Plogue Bidule</span><br />
<span style="font-family: Verdana, sans-serif;">- Usine</span><br />
<span style="font-family: Verdana, sans-serif;">- Cakewalk Sonar</span><br />
<span style="font-family: Verdana, sans-serif;">- Cubase</span><br />
<span style="font-family: Verdana, sans-serif;">- Reason</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<span style="font-family: Verdana, sans-serif;">Mas o ASIO4ALL não serve apenas para interfaces "on-board" mais baratas. Pode ser utilizado como substituto do drive ASIO presente em interfaces profissionais e muitas vezes com desempenho superior ao driver fornecido pelo fabricante. Tive experiência em utilizar o drive ASIO4ALL substituindo com sucesso e com melhor latência o drive fornecido pela M-Audio em um de seus modelos de interface de som USB.<b><br />
</b></span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<span style="font-family: Verdana, sans-serif;">Alguns outros artigos desse blog, que podem ser uteis:</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<a href="http://softwarebending.blogspot.com/2008/11/interconectando-aplicativos-de-udio.html"><span style="font-family: Verdana, sans-serif;">Interconectando Aplicativos de Áudio - JACK Audio Connection Kit</span></a><br />
<a href="http://softwarebending.blogspot.com/2009/01/utilizando-jack-no-processing.html"><span style="font-family: Verdana, sans-serif;">Utilizando JACK no Processing</span></a><br />
<a href="http://softwarebending.blogspot.com/2009/10/interconexao-de-sistemas-de-controle-de.html"><span style="font-family: Verdana, sans-serif;">Interconexão de Sistemas de Controle de Áudio - Parte 1</span></a><br />
<a href="http://softwarebending.blogspot.com/2010/02/midi-e-osc-interconexao-de-sistemas-de.html"><span style="font-family: Verdana, sans-serif;">MIDI e OSC: Interconexão de Sistemas de Controle de Áudio - Parte 2</span></a><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<span style="font-family: Verdana, sans-serif;">Referências:</span><br />
<a href="http://www.asio4all.com/"><span style="font-family: Verdana, sans-serif;">http://www.asio4all.com/</span></a><br />
<a href="http://en.wikipedia.org/wiki/Audio_Stream_Input/Output"><span style="font-family: Verdana, sans-serif;">http://en.wikipedia.org/wiki/Audio_Stream_Input/Output</span></a><br />
<a href="http://en.wikipedia.org/wiki/Latency_(audio)"><span style="font-family: Verdana, sans-serif;">http://en.wikipedia.org/wiki/Latency_(audio)</span></a></div>
Andre Velosohttp://www.blogger.com/profile/18229171025666903636noreply@blogger.com27