Como criar um dispositivo de placa de som fictício no servidor Linux?

20

Eu quero rodar o programa Linux que requer uma placa de som, em um servidor, que não possui placa de som. É possível criar uma placa de som fictícia? Eu estou totalmente inconsciente dos componentes internos do sistema de som do Linux. Por favor, me aponte na direção certa.

Eu segui este exemplo: link , mas não deu certo.

PS: Existe uma questão semelhante: Como criar um dispositivo de som virtual no Linux? . Mas isso é totalmente diferente no contexto em que o usuário está criando um alias para a placa de som já disponível.

Editar:
Eu quero um dispositivo fictício para ser criado em / dev / .. para que qualquer aplicativo que precisa de um dispositivo de som irá encontrá-lo.
Eu sou completamente inconsciente, como o alsa funciona. Então eu simplesmente segui o exemplo. Eu criei o /etc/asound.conf com:

pcm.card0 {
    type hw
    card 0
}
ctl.card0 {
    type hw
    card 0
}

E aplay -L me dá:

null
    Discard all samples (playback) or generate zero samples (capture)
    
por ssapkota 10.10.2011 / 00:48

3 respostas

14

Você precisa carregar um driver de som dummy . Por favor, veja o Alsa Wiki para informações detalhadas, mas aqui está o básico:

  1. Carregue o driver:

    modprobe snd-dummy ; modprobe snd-pcm-oss ; modprobe snd-mixer-oss ; modprobe snd-seq-oss

  2. Tenha o arquivo .asoundrc adequado (você está coberto)

  3. Configure o carregamento automático dos drivers. Adicione isto a /etc/modules.conf :

    # OSS/Free portion - card #1
    alias sound-slot-0 snd-card-0
    alias sound-service-0-0 snd-mixer-oss
    alias sound-service-0-1 snd-seq-oss
    alias sound-service-0-3 snd-pcm-oss
    alias sound-service-0-8 snd-seq-oss
    alias sound-service-0-12 snd-pcm-oss

Na verdade, existem algumas coisas envolvidas, sugiro que você visite a página do Wiki acima para obter explicações mais detalhadas.

    
por 10.10.2011 / 08:43
11

Eu também tive problemas com isso ao tentar fazer com que um dispositivo Dummy Sound funcionasse no Raspberry Pi rodando o Raspian (derivativo do Debian). O Pi em tem uma saída de áudio, mas nenhuma entrada, e eu quero usar um aplicativo que olha para ambos, mesmo que eu só precise de uma saída (PJSIP).

No entanto, as informações acima não funcionaram para mim e nem a página WiKi. Depois de falar com um usuário da lista de discussão da ALSA, eles sugeriram que a informação na página da WikI está desatualizada, no entanto, eles me deram dicas de como resolver isso.

Primeiramente, eu só preciso carregar o módulo 'snd-dummy' usando:

sudo modprobe snd-dummy

No entanto, o dispositivo não fica presente após uma reinicialização. No Pi, este módulo pode ser carregado através do arquivo '/ etc / modules', editando este arquivo para carregar o driver produzido os resultados desejados:

sudo nano /etc/modules

Meu arquivo / etc / modules simplesmente se parece com isto:

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
# Parameters can be specified after the module name.

snd-bcm2835
snd-dummy

Portanto, o driver padrão é carregado primeiro e, em seguida, o driver Dummy carrega em segundo lugar. Trabalho feito!

Boa sorte

Chris

    
por 12.01.2014 / 21:34
0

Eu também uso ele para o Linphone no RaspberryPi, já que ele requer um dispositivo de entrada, no entanto eu tive que adicionar o fake_buffer = 0 param, senão o dispositivo de captura fictício iria pegar muitos ruídos aleatórios, e isso seria estranho ... você pode fazer assim:

sudo modprobe snd-dummy fake_buffer=0
    
por 31.07.2017 / 00:37