“Canalização” audio em linux: 1-para-4

Tenho uma placa de som com capacidades largamente superiores àquilo que normalmente uso. Apenas faço uso do corriqueiro “stereo”. E aposto que este caso é bastante comum…😉

No entanto, também tenho 4 dispositivos stereo que gostaria de ligar lá (headset do skype, auscultadores sem fio, colunas do monitor, e colunas da aparelhagem) de modo a que todos usufruíssem da mesma saída de som. Assim eu podia escolher o melhor dispositivo para a ocasião da forma mais simples: ligando ou desligando no próprio periférico. Como fazer esta “derivação”?

Se fosse há uns anos atrás, já teria pegado numa mão-cheia de fios e fichas e num ferro de soldar; mas agora estou a ficar preguiçoso para limpezas e prefiro exercitar a cabeça em vez das mãos.🙂

A placa tem 4 fichas de saída pertencentes ao sistema “surround” 7.1 (Front, Side, Rear, Center/Sub), mas o sistema (drivers ALSA e servidor de som) está configurado por omissão para processar apenas stereo no canal “Front”, por isso ligar simplesmente os cabos às restantes fichas não dá nada.

Temos então de enveredar pelo mundo obscuro da configuração ALSA.

Primeiro passo: descobrir o nome do dispositivo de som principal. Para cada “placa” de som presente, o sistema apresenta vários “dispositivos” capazes de mono/stereo/fourpoint/5.1/7.1. Escolhe-se da lista apresentada por “aplay -L” o 7.1 que corresponde à placa desejada. No meu caso é a “surround71:CARD=NVidia,DEV=0“. Atenção que também aparecem dispositivos USB como câmeras de video e afins.

Segundo: declarar o dispositivo 7.1 como saída por omissão para todos os programas. Para isso incluí no ficheiro “/etc/asound.conf” a seguinte linha: “pcm.!default surround71:NVidia“. Podia ter feito isto no ficheiro “~/.asoundrc“, mas eu quero que esta alteração seja para todos os utilizadores do sistema.

Terceiro: copiar o som do canal “Front” para todos os restantes canais (Side, Rear, e Center/Sub). Para isso inclui-se também no “/etc/asound.conf” uma configuração de plugin ALSA “route” tal como descrito:

pcm.ch71dup {
slave.pcm surround71
slave.channels 8
type route
ttable.0.0 1 # Front L
ttable.1.1 1 # Front R
ttable.0.2 1 # Rear L
ttable.1.3 1 # Rear R
ttable.0.4 1 # Center
ttable.1.4 1 # Sub
ttable.0.5 1 # Side L
ttable.1.5 1 # Side R
}

E pronto. Agora é reiniciar o sistema de som (“sudo /etc/init.d/alsa-utils restart“) e também os servidores e clientes de som (o mais fácil é mesmo reiniciar a sessão X11) de modo a informar o ambiente Gnome/KDE/etc. das alterações.

Convém também usar o painel de controlo de som (KDE/Gnome/etc.) para subir o volume e destrancar todos os canais acima listados. Assim essas configurações serão relembradas pelo sistema nas próximas sessões. Atenção que algumas placas podem ter hardware diferente nas saídas “Center/Sub”, pois são canais “mono” dedicados a trabalhos muito específicos. Your mileage may vary.

O teste? Muito simples. Qualquer aplicação capaz de produzir som (media players) deve agora “fazer barulho” através de todas as fichas em simultâneo. A opção de 5.1 verdadeiro não se perdeu, apenas se tornou numa configuração opcional que tem de ser escolhida expressamente dentro da aplicação. Mas isso não me incomoda mesmo nada…🙂

~ por Vasco Névoa em Julho 15, 2008.

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s

 
%d bloggers like this: