Defina o volume de áudio fixo na placa de som USB externa

Defina o volume de áudio fixo na placa de som USB externa

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

informação relacionada