quinta-feira, 9 de outubro de 2008

Compartilhando Audio pela Rede - Wormhole2 VST

Uma excelente forma de transmitir áudio entre computadores está disponível, agora de forma gratuita. O plug-in 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.

A gama de possibilidades é enorme. Com um simples cabo de rede padrão (um cabo de rede do tipo CROSSOVER 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.


Segundo o site do fabricante (
http://plasq.com/wormhole) é possível:
  • Transmitir áudio sobre TCP/IP
  • Latência super baixa em rede local
  • Um canal mono de 44.1kHz necessita de apenas 0,175MBit/sec (uma rede Ethernet possibilita ate 100Mbit/sec)
  • Funciona com qualquer tipo de rede que trafegue TCP/IP (Ethernet, Firewire, Airport, Wi-Fi)
  • Funciona com qualquer programa que aceite plug-ins VST e/ou Audio Units (MacOSX): Logic, Garageband, Cubase, Ableton Live, Digital Performer, Soundtrack, Metro, ...
  • 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.

Instalando o Wormhole2


Baixe o Wormhole2 do site do fabricante no Google Code (
http://code.google.com/p/wormhole2/downloads/list), na versão de seu sistema operacional. O plug-in era pago, agora virou Open-Source e é distribuído de forma gratuita.

O manual de instruções que acompanha o plug-in é bastante ilustrativo e detalhado. Vou apresentar aqui um resumo do processo e das funcionalidades.


A instalação é simples, como a da maioria dos plug-ins VST.


No Windows

Descompacte o arquivo zip e copie o arquivo Wormhole2.dll para a pasta de plug-ins VST do seu sistema.

Macintosh
Descompacte o arquivo e copie Wormhole2.component para a pasta Library/Audio/Plug-Ins/Components (para a versao AU)
e/ou
Copie o arquivo Wormhole2.vst para a pasta Library/Audio/Plug-Ins/VST (para a versao VST).

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.


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.


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
TUTORIAL.

Situações:


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.


Conexão direta
- Essa forma de conexão envia o áudio de um dos canais de uma maquina para outra, de forma direta:


1 - insira o Wormhole em um canal, no aplicativo de uma das maquinas. Essa maquina será a "fonte" do áudio
2 - renomeie esse canal como "Teste", clicando na caixa de texto na parte de cima do plug-in

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"



4 - insira o Wormhole em um canal do aplicativo na maquina que será o "destino"
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.

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.



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).

As situações a seguir são mais interessantes do que anterior, e demonstram o potencial e a flexibilidade do plug-in:


Loop Insert
- Essa forma permite a utilização de uma outra maquina como processadora de efeitos.


1 - Insira um plug-in qualquer em um canal do computador fonte. Nesse caso um Reverb2 - Coloque um Wormhole ANTES do Reverb. Coloque o nome de RoomReverb
3 - Escolha o modo "before" na parte "Insert Chain" desse Wormhole

4 - insira um outro Wormhole DEPOIS do Reverb . Escolha a opção "RoomReverb-after" no triângulo "Chooser"




5 - na outra máquina, insira o Wormhole em um canal e selecine a opção "RoomReverb-insert" no triângulo "Chooser"
6 - clique na opção "Auto" para que o Wormhole ajuste a melhor latência entre as maquinas



Conexão Multi-Canal
- Permite o envio de vários canais simultaneamente entre 2 computadores. É uma extensão do modo direto.


1 - insira o Wormhole em um canal, colocando o nome de "Channel -1"
2 - insira outras instâncias do plug-in nos demais canais. Eles serão renomeados automaticamente de "Channel -2" em diante

3 - ative o "Sync" de todos os canais

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.




5 - Insira o plug-in em um canal do software da máquina destino e escolha a opção "Channel -1 - end" no "Chooser"
6 - Adcione o Wormhole nos demais canais. Eles automaticamente serão configurados como "Channel -2 - end", "Channel -3 - end"....

7 - Ative o "Sync" de todos os canais



Wormhole Farm
- "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.

Basta criar vários canais no software da maquina "fonte' e em cada um deles reproduzir a configuração "
Loop Insert". Nas maquinas de destino, basta acessar esse canais da mesma forma descrita nessa seção.

Referências:

http://en.wikipedia.org/wiki/Ethernet_crossover_cable

http://plasq.com/wormhole

9 comentários:

Rádio Interativa disse...

olá!
Achei muito interassante esta maneira de compartilhamento de audio pela rede como wormhole, consegui enviar audio sem particamente delay(pelo menos que percebi) com mo seu turtorial porem estou a varios meses tentando achar um programa mais simples, um programa e não um plugin que precisa ser aberto por outro programa, que faça esse compartilhamento sem delay, ja experimentei o windows media encode o FLV porem os dois dá delay! O Sr. Não teria Almuma ideia de alguma programa que faça isso?
nosso email é radiointerativ@gmail.com
att. Silmar

Fred Schaefer disse...

Seu tutorial foi muito bem elaborado, porém tenho algumas dúvidas técnicas que só conseguirei expressar em um canal direto, que pode ser e-mail ou telefone.

Abs,

Fred Schaefer
(21) 7838-0069
e-mail: fred@xeque-mate.com.br

JEAUDIO disse...

Parabéns, muito útil seu post. Funciona que é uma beleza!

Futebol Mineiro disse...

ol'a, estou precisando de algo como isso, mas para envio de áudio via internet, se souber alguma maneira, favor enviar pra faustinijr@hotmail.com


Grato

Futebol Mineiro disse...

tem alguma forma de fazer esse envio pela internet?

Gustavo Rocha disse...

Olá, desculpe a ignorância, mas qual é a pasta de plugins VST do WMP? Valeu!

Mini New Stylus disse...

Boa tarde. Sei que a postagem e antiga.
Mas eu estava procurando esta solução a muito tempo e não achava em lugar nenhum.
Bom, só gostaria de saber como eu faço para transmitir um som que vem da entrada da placa de som (audio in) ou do mic. como se fosse um transmissor fm.

obrigado

Andre Veloso disse...

Olah Mini New Stylus. Nao entendi o que vc quis dizer como "Transmissao FM". Pode falar mais sobre seu problema? Abracos!

Leonardo Mousquer disse...

Olá tudo bem???

Como o tutorial não está mais disponivel fiquei com algumas dúvidas.
Como instalar ele no windows 7 e o que temos que instalar alem dele, pois somente enviando a dll para dentro do windows não funciona...

leomousquer@gmail.com

Abração