Quiero ejecutar un programa Linux que requiera una tarjeta de sonido, en un servidor, que no tenga tarjeta de sonido. ¿Es posible crear una tarjeta de sonido ficticia? No estoy enterado de las partes internas del sistema de sonido de Linux. Por favor, apúntame en la dirección correcta.
He seguido este ejemplo: http://alsa.opensrc.org/.asoundrc pero no funcionó.
PD: Hay una pregunta similar: ¿Cómo crear un dispositivo de sonido virtual en Linux? . Pero esto es totalmente diferente en el contexto de que el usuario está creando un alias para la tarjeta de sonido ya disponible.
Editar:
Quiero que se cree un dispositivo ficticio en / dev / .. para que cualquier aplicación que necesite un dispositivo de sonido lo encuentre.
No estoy enterado de cómo funciona. Entonces simplemente seguí el ejemplo. Creé /etc/asound.conf con:
pcm.card0 {
type hw
card 0
}
ctl.card0 {
type hw
card 0
}
Y aplay -L
me da:
null
Discard all samples (playback) or generate zero samples (capture)
Respuestas:
Necesita cargar un controlador de sonido ficticio . Consulte Alsa Wiki para obtener información detallada, pero aquí están los conceptos básicos:
Cargue el controlador:
Tener el archivo .asoundrc adecuado (lo tiene cubierto)
Configure la carga automática de los controladores. Agregue esto a
/etc/modules.conf
:En realidad, hay bastantes cosas involucradas, le sugiero que visite la página Wiki de arriba para obtener una explicación más detallada.
fuente
Yo también tuve problemas con esto cuando intenté que un dispositivo Dummy Sound funcionara en Raspberry Pi con Raspian (derivado de Debian). El Pi encendido tiene una salida de audio pero no tiene entrada, y quiero usar una aplicación que busque ambos, aunque solo necesito una salida (PJSIP).
Sin embargo, la información anterior no funcionó para mí y tampoco la página de WiKi. Después de hablar con un usuario de la lista de correo de ALSA, sugirieron que la información en la página de WikI no está actualizada, sin embargo, me dieron sugerencias sobre cómo resolver esto.
En primer lugar, solo necesito cargar el módulo 'snd-dummy' usando:
Sin embargo, el dispositivo no permanece presente después de un reinicio. En Pi, este módulo se puede cargar a través del archivo '/ etc / modules', la edición de este archivo para cargar el controlador produjo los resultados deseados:
Mi archivo / etc / modules simplemente se ve así:
Entonces, el controlador predeterminado se carga primero, luego el controlador Dummy se carga en segundo lugar. ¡Trabajo hecho!
Buena suerte
Chris
fuente
También lo uso para Linphone en RaspberryPi, ya que requiere un dispositivo de entrada, sin embargo, tuve que agregar fake_buffer = 0 param, de lo contrario, el dispositivo de captura ficticio captaría mucho ruido aleatorio, y eso sería extraño ... puedes hacerlo es como:
fuente