Várias fontes de áudio para o único dispositivo ALSA em diferentes taxas de bits

0

Estou construindo um streamer de áudio com base no linux para áudio de alta qualidade. Eu tenho vários aplicativos que eu quero poder ter acesso ao dispositivo de áudio ao mesmo tempo. (como daemon shairport-sync, roon e music player)

Eu encontrei o dmix plugin para o ALSA que torna possível ter dois fluxos de áudio misturados em um dispositivo de áudio. No entanto, dmix requer que eu defina a taxa de amostragem ao definir o dispositivo dmix e eu preciso que a taxa de amostragem seja variável dependendo da taxa de amostragem que está sendo gerada da fonte.

Existe um plugin que permite alternar entre entradas? Ou estou faltando alguma coisa no dmix?

    
por Milan van Dijck 31.07.2018 / 11:55

1 resposta

1

Você deve usar os plugins taxa (taxa de conversão) ou plug (conversão automática). Veja a lista de plugins alsa-lib .

A configuração deve ser feita no arquivo de configuração alsa-lib localizado na casa do usuário ( .asoundrc ).

Taxa

This plugin converts a stream rate. The input and output formats must be linear.

Exemplo de uso:

pcm.<name> {
        type rate
        slave <slave_name>
}

Conecte

This plugin converts channels, rate and format on request.

Exemplo de uso:

pcm.<name> {
        type plug
        slave <slave_name>
}

Exemplo usando plugins de conversão dmix e automáticos

# Overwrites 'default'
pcm.!default {
    type plug
    slave.pcm "dmixer"
}

pcm.dmixer  {
    type dmix
    ipc_key 1024 # Any unique value for Interprocess Communication
    slave {
        pcm "hw:1,0"
        period_size 1024
        buffer_size 4096
        rate 44100
    }
}
    
por 13.08.2018 / 14:55