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 / 10:21

0 respostas

yii\base\ErrorException
Copied! Copy Stacktrace Search Stackoverflow Search Google Error

PHP Core Warning – yii\base\ErrorException

PHP Startup: Unable to load dynamic library 'memcached.so' (tried: /usr/lib/php/20190902/memcached.so (/usr/lib/php/20190902/memcached.so: undefined symbol: igbinary_serialize), /usr/lib/php/20190902/memcached.so.so (/usr/lib/php/20190902/memcached.so.so: cannot open shared object file: No such file or directory))

$_GET = [
    'id' => '198453',
    'url' => 'difference-between-pcm-and-ctl-in-alsa-asoundrc',
];

$_COOKIE = [
    'advanced-frontend' => 'dgb42d0kfc6mh2vtmqd0q0fm7l',
    '_csrf-frontend' => '16ce6dd2e306413d4e747a6ee70e9bcbc584c265de68d1b22a95d7201e241f11a:2:{i:0;s:14:"_csrf-frontend";i:1;s:32:"DJIncJHX1-BG_IKTEfD_JP418vNx5iRR";}',
];

$_SESSION = [
    '__flash' => [],
];