Reproduzir áudio em vários dispositivos de áudio (sem usar a interface do usuário)

1

Eu tenho 2 placas de som e quero que o som tocado seja reproduzido em ambos. Eu sei como fazer isso através da GUI ( Reproduz som através de dois ou mais saídas / dispositivos ), mas o meu caso é diferente:

  • Eu não uso pulseaudio, é diretamente
  • Eu quero usar a linha de comando

Alguma ideia? Thx!

    
por Jonathan Vervaeke 05.12.2016 / 12:04

1 resposta

0

Você pode definir um novo dispositivo em ~/.asoundrc ou em /etc/asound.conf :

pcm.both {
    type plug
    slave.pcm {
        type multi
        slaves.a {
            pcm "hw:0"   # or whatever
            channels 2
        }
        slaves.b {
            pcm "hw:1"   # ...
            channels 2
        }
        bindings [
            { slave a channel 0 }
            { slave a channel 1 }
            { slave b channel 0 }
            { slave b channel 1 }
        ]
    }
    ttable [
        [ 1 0 1 0 ]
        [ 0 1 0 1 ]
    ]
}

Em seguida, use o nome do dispositivo both : aplay -D both something.wav .

Se a velocidade do relógio desses dispositivos não corresponder exatamente, o plug-in multi acabará sobrecarregando / inutilizando um dos buffers do dispositivo (O PulseAudio seria capaz de fazer uma nova amostra imediatamente).

    
por CL. 05.12.2016 / 14:18