Capture la salida de audio con alsa o similar

2

Quiero enrutar (clonar) mi salida de audio (todos los sonidos que salen del sistema a través de hdmi) a un dispositivo de entrada virtual para poder capturar la salida (cable de audio virtual). Como dije, la salida es hdmi y estoy usando kodi para la reproducción.

He buscado mucho pero no pude encontrar la solución perfecta. Quiero una configuración que afecte mi sistema real lo menos posible. También tengo que decir que uso passthrough en kodi.

Sé que podría ser posible con Jack, pero no pude encontrar una solución. También sé que podría ser posible con alsa "simple" y una interfaz loopback y finalmente podría ser posible con pulseaudio, pero todo es muy confuso, especialmente con hdmi.

En este momento estoy usando alsa.

usuario685336
fuente

Respuestas:

1

En realidad, es realmente fácil hacer eso con Pulseaudio, por lo que si desea una configuración que afecte su sistema real lo menos posible, es la solución ideal.

Bajo Pulseaudio, cada receptor (por ejemplo, su salida HDMI) tiene una fuente de monitor correspondiente (el mismo nombre, pero con .monitoral final). Solo tiene que grabar audio desde esta fuente, utilizando cualquier aplicación que desee, y puede capturar la salida que sale de su sistema a través de este sumidero. Puede apuntar aplicaciones a fuentes específicas, ya sea con la pavucontrolutilidad, o utilizando modificadores de línea de comando, etc. de la aplicación, por ejemplo arecord -d your-hdmi-device.monitor.

Para ALSA, debe usar el snd-aloopmódulo del núcleo, configurar una tarjeta de sonido virtual, duplicar su salida de sonido HDMI con el dsharecomplemento, enrutarla a la tarjeta de sonido virtual y luego grabar desde esta tarjeta de sonido. Lo cual es mucho más complicado que la solución Pulseaudio, y tendría que expirar .asoundrcconmigo mismo para hacerlo bien.

dirkt
fuente
¿Tienes un ejemplo de cómo puedo extender mi configuración a pulso? Además, olvidé decir que estoy usando PyAudio para capturar.
user685336
Por lo general, todas las distribuciones ofrecen soporte Pulseaudio listo para usar; solo instala los paquetes correctos. Hay una capa de compatibilidad ALSA, por lo que cualquier aplicación que use ALSA también funcionará.
dirkt
PyAudio parece ser un enlace de Python para PortAudio. PortAudio no parece admitir Pulseaudio por defecto, pero hay un software para eso. Nunca he usado PyAudio, ni PortAudio, así que no puedo decirte qué tan bien funciona. ¿Para qué utiliza PyAudio (es decir, qué desea lograr al final)? ¿Funcionarían también los enlaces de Python para Pulseaudio o ALSA?
dirkt
Es para github.com/scottlawsonbc/audio-reactive-led-strip que utiliza PyAudio para leer la transmisión de audio. Comprobaré el enlace que proporcionó. Gracias.
user685336
@ user685336 ¿Ha encontrado una solución que funcione con la tira reactiva? Estoy lidiando con el mismo problema en este momento.
Ben Longo