Micrófono Remoto por SSH

Hay ocasiones donde necesitas poder escuchar lo que ocurre cerca de un servidor remoto. Yo lo utilizo como micrófono remoto para OBS. Pongo un pequeño OrangePi cerca de un altavoz, (porqué llevan un micrófono interno bastante bueno) y me conecto a el por ssh.

Es escenario es este:

Portatil o PC con linux y dirección IP fija, por ejemplo 192.168.0.40, y server-openssh instalado con llaves

OrangePi (u otro ordenador con linux) que tenga una tarjeta de audio y micrófono, tambien con dirección IP fija (192.168.0.2 en este ejemplo)

OrangePi (el micrófono remoto)

Lo primero es identificar la tarjeta de audio del pequeño OrangePi.
Por esto nos conectamos a el por ssh y le damos:

arecord -L
null
    Discard all samples (playback) or generate zero samples (capture)
default:CARD=Codec
    H3 Audio Codec, CDC PCM Codec-0
    Default Audio Device
sysdefault:CARD=Codec
    H3 Audio Codec, CDC PCM Codec-0
    Default Audio Device
dmix:CARD=Codec,DEV=0
    H3 Audio Codec, CDC PCM Codec-0
    Direct sample mixing device
dsnoop:CARD=Codec,DEV=0
    H3 Audio Codec, CDC PCM Codec-0
    Direct sample snooping device
hw:CARD=Codec,DEV=0
    H3 Audio Codec, CDC PCM Codec-0
    Direct hardware device without any conversions
plughw:CARD=Codec,DEV=0
    H3 Audio Codec, CDC PCM Codec-0
    Hardware device with all software conversions

Hay que probar lo que nos vale, en mi caso he conseguido óptimos resultados con “hw:CARD=Codec,DEV=0”

Ahora lanzamos alsamixer, pulsamos en F4 para entrar en el modo “Capture” y nos aseguramos que los slider estén por lo menos a la mitad

Si tienes más de una tarjeta de audio, selecciona la que tiene el micrófono, antes con F6

Portátil o PC (192.168.0.40)

Asegurate tener instalado en tu portátil el programa por terminal “aplay”

SSH-server: asegurate que el OrangePi pueda conectarse a tu equipo por ssh.

conectate por ssh a tu OrangePi con

ssh max@192.168.0.2

y luego vuelves a conectarte a tu portátil desde el orangePi

ssh max@192.168.0.40 

donde “max” es mi usuario en el portátil… tu podrás el tuyo.

Si todo está ok, cierra esta conexión a tu equipo

Ahora la magia desde el OrangePi:

arecord -f S16_LE -r 44100 -D "hw:CARD=Device,DEV=0" | ssh -C max@192.168.0.40 aplay

…y después poner la contraseña de tu usuario en el portátil, de repente escucharás lo que está enviando el micrófono.

O sea, te conectas por ssh al OrangePi, desde el OrangePi capturas el audio con arecord, y lo envías de vuelta por ssh a aplay que tienes en tu portátil.

Si lo usas con OBS: para sincronizar audio/vídeo hay que añadir un retraso en el audio de unos 200ms

Edit: claramente se puede usar un RaspberryPi incluso de los más pequeños (Pi2 pro ejemplo) junto con una tarjeta audio por usb y un micrófono.
Si usas el micrófono interno de un OrangePi o uno usb de bajo perfil, acuérdate que no puedes poner un ventilador a la CPU, porqué se va a escuchar perfectamente las aspas que giran en lugar que las voces o las músicas que quieres capturar para por ejemplo OBS o Ffmpeg

Comments are closed.