Netjack, Real Time Network Audio

 man jackd

Éstas son indicaciones para mover Audio de Alta Calidad en el red utilizando jackd. Específicamente son para jack2, también conocido como jackdmp. Los comandos son un poco distintos, pero también lo puedes hacer con jack1. Es util preguntar a jack mismo que version tenemos instalado:

jackd -V
jack1 +-= 0.11x, jack2 +-= 1.9.x

Ojo, ademas de diferncias entre versiones de jack1 y jack2 tambien existe netjack1 y netjack2. Actualmente, una difencia importante entre los dos versiones de netjack, es que netjack1 binda mayor reducion de banda ancha necesario atreves del codec celt, permitiendo su uso inclusive sobre el internet.

Tienes 2 computadoras, el maestro y el esclavo. El maestro tiene tarjeta de audio y red. El esclavo red únicamente, en mi caso todo mi música está en el esclavo, el cual tiene instalado mpd.

Netjack1

En jack2, netjack1 si llama "netone" (one=1). En jack1 es "net" nada mas. jackd proprociona ayuda sobre sus choferes de audio. para ver que opciones podemos aplicar a netjack1:

Escalvo

jackd -d netone --help

ya arranca jackd en el esclavo con:

jackd -d netone 

Maestro

y en e maestro:

jack_netsource -H <esclavo jack hostname>

Netjack2

Maestro

En el maestro arrancas jackd como siempre y luego:

jack_load netmanager -i "-a 192.168.2.1"

Asi pedimos a dbus que cargue el driver de la red de jackd. el "-i" nos permite pasar un opciones a ello, y necesitamos pasarle como parámetro, la direccion del maestro dentro de la red local.

En el maestro si configura la frecuencia de muestra y el período del buffer de jackd. A 22050 muestras por segundo (y con adecuado MTU definido en el esclavo) se logra una calidad pasable. Nuestro objetivo es modesto dado la calidad de las bocinas reproduciendo la musica.

Después de arrancar el esclavo, aparecerá su "hostname" dentro los conexiones del maestro. y se puede conectar a la salida de sistema, en mi caso, para que la música salga a las bocinas. Si no ves el "hostname" del esclavo, lo más seguro es que no has arrancado netjack en éste.

Esclavo

En el esclavo arrancamos jackd con el motor de la red.

jackd -d net -a 192.168.2.1  -C 0 -M 500 

Le dimos la direccióin del maestro y en nuestro ejemplo no utilizamos ningún canal de captura: "-C 0". limitamos el MTU a 500KB/s, un pues algo asi. Junto con la asignación de la frequencia de muestra a 22050 logramos un uso total de alrededor de ~350KBs de banda ancha. Con una frequencia de muestra de 44100 se incramenta a más de 600 (¿hasta?) ~650KBs.

Si quieres escuchar el audio localmente (a través de la tarjeta de audio del esclavo) hay dos opciones. Si no te importa que no estén siempre perfectamente sincronizadas las dos máquinas, puedes configurar dos salidas de audio en mpd. Conf, uno a alsa con dmix y la otra a jack. Pero lo más probable es que vas a querer que jackd maneje el audio en las dos tarjetas, en este caso en el esclavo cargarías el adaptador de audio:

jack_load audioadapter

ahora en las conexiones de jackd veras audioadpater, y conectas MPD a ello y felicidades, tienes audio en tiempo real sincronizado entre las dos tarjetas de audio de dos PCs.

MPD

Necesitas configurar las salidas de mpd, ver la documentación y hacer que conecte a jackd.

netjack2 on the arm omap 7 wifi

Con el siguiente configuracion he logrado un conexion estable sobre wifi en la casa. Bwm-ng reporte 307.44 KB/s sobre el enlace (RX+TX). Utilizo el direccion del maestro (192.168.3.1) para el opcion '-a' (sin saber detalles de multicast, esta funcionando).

maestro:

jackd -p128 -R -d alsa -p 512 -r 44100 -P
jack_load netmanager -i "-a 192.168.3.2 -c 128"

esclavo:

jackd -R -d net  -t -a 192.168.3.2 -c 128
Last edited Sat Jun 16 01:24:28 2012