Diferença entre pcm e ctl em alsa ~ / .asoundrc

2

Eu preciso escrever um arquivo ~/.asoundrc para configurar alguns dispositivos de áudio, pois preciso selecionar canais únicos desses dispositivos.

Como não tenho muita experiência com o alsa, comecei a procurar uma Introdução ao assunto . Ele afirma que um arquivo básico .asoundrc se parece com algo assim:

pcm.!default {
    type hw
    card 0
}

ctl.!default {
    type hw           
    card 0
}

Mas eu não sei para que a opção ctl é usada. O que eu encontrei na Documentação da ALSA ainda não me explica claramente:

The 'pcm' options affect which card and device will be used for audio playback while the 'ctl' option affects which card is used by control utilities like alsamixer .

Qual é a diferença entre pcm e ctl ? Qual é o propósito deles? Quando usar qual?

Atualizar
Agora sou capaz de reproduzir diferentes fluxos de áudio no mesmo dispositivo, mas em dois canais diferentes:

pcm.USB_hw{
    type hw
    format S16_LE
    rate 48000
    card 2
    device 0
    subdevice 0
    channels 2
}

pcm.USB_dmix{
    type dmix
    ipc_key 1111
    slave.pcm "USB_hw"

    hint {
        description "Direct sample mixing device"
    }
}

pcm.OUTPUT0 {
    type plug
    slave.pcm {
        type route
        slave.pcm "USB_dmix"

        ttable{
            0.0 0
            1.1 1
        }

        hint {
            description "Playback channel 0 over USB"
        }
    }
}

pcm.OUTPUT1 {
    type plug
    slave.pcm {
        type route
        slave.pcm "USB_dmix"

        ttable {
            0.0 1
            1.1 0
        }

        hint {
            description "Playback channel 1 over USB"
        }
    }
}

Funciona bem, mas não consigo acessar o volume desses plug-ins ( OUTPUT0 e OUTPUT1 ) no alsamixer . Este acesso provavelmente está configurado nas opções ctl , que eu nunca usei ainda.

A questão é como configurar ctl para que esses plugs sejam mostrados no alsamixer ?
É mesmo possível?

    
por V. L. 24.01.2018 / 11:21

0 respostas