Compreendendo a saída asoundrc e HDMI

Compreendendo a saída asoundrc e HDMI

Estou executando nixos em um Lenovo x220t. Ao iniciar ele encontra os alto-falantes analógicos e mostra apenas eles no alsamixer (ou pavucontrol). No entanto, quando conectado a um monitor/TV HDMI, posso reproduzir som através dos alto-falantes, por exemplo, por speaker-test -c 2 -D hw:0,3.

Com um pouco de pesquisa pela internet cheguei a este script,

pcm.!default{
type plug
slave.pcm "hdmivol"
}

pcm.hdmi-playback{
type hw
card 0
device 3
}

pcm.hdmivol{
type softvol
slave.pcm "hdmi-playback"
control {
    name "Master"
    card 0
 }
}

que, se chamado, ~/.asoundrcemitirá som pela minha TV/monitor HDMI. Mas para mudar o pacote para o meu laptop, preciso renomear o script, sair e fazer login novamente.

Obviamente as coisas funcionam, mas não entendo: 1. Por que posso ver e usar todos os dispositivos diretamente (por exemplo, com o teste de alto-falante), mas alsamixer e pulseaudio não os "vêem"? 2. Alguém pode fornecer algumas dicas sobre a estrutura do asoundrc. Não fiz muito progresso com o manual e não entendo por que esse script tem três versões do dispositivo referindo-se uma à outra. E suspeito que exista uma maneira de especificar um alias para hw:0,0 e hw:0,3 que me permita alterná-los sem precisar sair e fazer login.

Desde já, obrigado.

informação relacionada