
Tenho uma placa de som USB externa para conectar meu PC (Fedora 20) ao meu amplificador estéreo:
http://www.project-audio.com/main.php?prod=usbbox&cat=boxes&lang=en
Agora, isso normalmente funciona bem, porém, de vez em quando, tenho problemas com as configurações de volume. Em particular, ao reproduzir vídeos e músicas com VLC, as configurações de volume tendem a ficar confusas. Por exemplo, no Pulse Audio Volume Control, defino o volume principal para 100%, mas no VLC a configuração de volume fica abaixo de 100%. Se eu aumentar o volume no VLC para 100%, o master vai acima de 100%, o que não é muito desejável, pois resultará em áudio distorcido. A mesma coisa também acontece ao reproduzir vídeos do Youtube no Firefox. Isso é bastante irritante, pois não apenas reduz a qualidade do áudio, mas também leva a um comportamento imprevisível, já que uma configuração de volume no amplificador pode produzir uma vasta gama de volumes reais nos meus alto-falantes.
Então, como posso desabilitar completamente a configuração de volume na parte do PC, fixando-o em 100% e controlando o volume real apenas no amplificador? Em outras palavras, eu gostaria de comportar a placa de som USB exatamente como um CD player, sintonizador ou outra fonte de áudio, com saída de nível fixo.
Responder1
Tive um problema com algumas semelhanças (incluindo volume quebrado, mas em nível baixo). Encontrei uma solução alternativa e expliquei emPulseaudio com adaptador de som externo: contorne o som quebrado.
Vamos adaptá-lo para o seu caso. O comando abaixo deve encontrar o nome do coletor correto para você (basta usar o primeiro):
export LC_ALL=C
ADAPTER_SINK_NAME=$( pactl list sinks | sed -n 's/^.*Name: \(.*\)$/\1/p' | head -n 1 )
echo $ADAPTER_SINK_NAME
em seguida, conecte-o a um coletor definido por software que permitirá definir o volume
pacmd load-module module-combine sink_name=adapter-soft-volume slaves=$ADAPTER_SINK_NAME
pactl set-default-sink adapter-soft-volume
Para detalhes vejaPulseaudio com adaptador de som externo: contorne o som quebrado
Isso deve funcionar para aplicativos lançados a partir de agora.
(Opcional) isso moverá os aplicativos atualmente em execução para usar esse coletor.
for SINK_ID in $(pactl list sink-inputs | sed -n 's/^Sink Input #\([0-9]*\)$/\1/p')
do
echo Sink $SINK_ID
pactl move-sink-input $SINK_ID adapter-soft-volume
done