
Tengo una tarjeta de sonido USB externa para conectar mi PC (Fedora 20) a mi amplificador estéreo:
http://www.project-audio.com/main.php?prod=usbbox&cat=boxes&lang=en
Ahora, esto normalmente funciona bien, sin embargo, de vez en cuando tengo problemas con la configuración del volumen. En particular, al reproducir vídeos y música con VLC, la configuración del volumen tiende a estropearse. Por ejemplo, en Pulse Audio Volume Control, configuro el volumen maestro al 100%, pero luego, en VLC, la configuración del volumen está por debajo del 100%. Si luego aumento el volumen en VLC al 100%, el master en realidad supera el 100%, lo cual no es muy deseable ya que resultará en un audio distorsionado. Lo mismo ocurre también al reproducir vídeos de Youtube en Firefox. Esto es bastante molesto ya que no sólo reduce la calidad del audio, sino que también genera un comportamiento impredecible, ya que un ajuste de volumen en el amplificador puede producir una amplia gama de volúmenes reales en mis parlantes.
Entonces, ¿cómo puedo desactivar completamente la configuración de volumen en la parte de la PC, fijándola al 100% y controlar el volumen real solo en el amplificador? En otras palabras, me gustaría que la tarjeta de sonido USB se comportara exactamente como un reproductor de CD, un sintonizador u otra fuente de audio, con una salida de nivel fijo.
Respuesta1
Tuve un problema con algunas similitudes (incluido el volumen entrecortado pero en un nivel bajo). Encontré una solución alternativa y la expliqué enPulseaudio con adaptador de sonido externo: solucione el sonido entrecortado.
Adaptémoslo a tu caso. El siguiente comando debería encontrar el nombre de receptor correcto para usted (solo toma el primero):
export LC_ALL=C
ADAPTER_SINK_NAME=$( pactl list sinks | sed -n 's/^.*Name: \(.*\)$/\1/p' | head -n 1 )
echo $ADAPTER_SINK_NAME
luego conéctelo a un receptor definido por software que le permitirá configurar el volumen
pacmd load-module module-combine sink_name=adapter-soft-volume slaves=$ADAPTER_SINK_NAME
pactl set-default-sink adapter-soft-volume
Para más detalles verPulseaudio con adaptador de sonido externo: solucione el sonido entrecortado
Esto debería funcionar para aplicaciones iniciadas a partir de ahora.
(Opcional) esto moverá las aplicaciones que se están reproduciendo actualmente para usar ese receptor.
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