¿Cómo intercambiar canales estéreo en Ubuntu?

29

Actualmente estoy ejecutando Ubuntu 9.04. Quería intercambiar los canales estéreo, pero no pude encontrar esa opción en las Preferencias de control de volumen.

¿Hay alguna manera de hacer esto sin tocar ningún archivo de configuración? (No se me permite iniciar sesión como root en esta máquina)

Auron
fuente
1
Intercambiar los altavoces?
Grawity
44
Tengo que cambiar mis altavoces. Es por eso que quería cambiar los canales estéreo: D
Auron

Respuestas:

32

La forma PulseAudio (probada en Ubuntu 10.04, debería funcionar en 9.04):

Copiar /etc/pulse/default.paa ~/.pulse/default.pa, y añadir las dos líneas siguientes al final:

load-module module-remap-sink sink_name=reverse-stereo master=0 channels=2 master_channel_map=front-right,front-left channel_map=front-left,front-right
set-default-sink reverse-stereo

Reinicie PulseAudio ejecutándose pactl exiten la línea de comando.

Omita la segunda línea si no desea usar el estéreo invertido por defecto. Puede cambiar entre salida estéreo invertida y normal en la pestaña "Salida" en Preferencias de sonido. Si tiene root y desea que este sistema sea amplio, simplemente puede agregar las líneas en /etc/pulse/default.palugar de hacer una configuración específica del usuario.

Esta configuración hace algunas suposiciones básicas: que la tarjeta de la que está invirtiendo los canales es la tarjeta 0; que solo tienes que lidiar con 2 canales; y que esos canales se llaman front-lefty front-right.

Si tiene una tarjeta de video con salida HDMI, es probable que la salida analógica de su placa base sea la tarjeta 1, no 0; entonces maestro = 1. (Es probable que los auriculares del panel frontal estén en este canal analógico)

Para obtener más información, consulte la documentación de PulseAudio para module-remap-sink .

Brian Gruber
fuente
Inicialmente parecía hacer el truco el 14.04. Pero después de reiniciar, pulseaudio daemon no pudo iniciarse. tuvo que eliminar la llamada para solucionarlo.
Amir Uval
pacmdTambién funciona a través de (es decir, no es necesario copiar la configuración y reiniciar pulseaudio).
ulidtko
1
Si tiene más sumideros, puede usar pacmd list-sinkspara mostrar una lista de sumideros existentes y sus índices. que reemplazar master=0con elmaster=IndexOfTheSinkToSwap
user1182474
1
Esto funciona perfectamente en Ubuntu 16.04 también. Persiste durante el reinicio como se esperaba.
Élder Geek
¡Gran respuesta! El único problema que tengo es que el volumen del sumidero reasignado se basa en el sumidero base. Eso significa que si cambio al sumidero base y gire el volumen al 50%, el sumidero reasignado ahora solo podrá subir al 50% del volumen (el 100% será el 50% 'real'). ¿Alguna forma de evitar eso?
srfrnk
10

Esencialmente, el mismo enfoque que el anterior de Brian, pero sin tocar ningún archivo de configuración:

pactl load-module module-remap-sink \
    sink_name=reverse-stereo \
    master=0 \
    channels=2 \
    master_channel_map=front-right,front-left \
    channel_map=front-left,front-right

Esto creará sobre la marcha un sumidero PA adicional con canales invertidos. (Desaparecerá después de reiniciar pulseaudio). Para cambiarlo:

pactl set-default-sink reverse-stereo

- O bien, también puede cambiar manualmente a través del panel de control de sonido:

ventana de control de volumen pulseaudio

Por supuesto, es posible cambiar de un lado a otro, por ejemplo, al experimentar.


De esta manera es mejor si desea probar algo rápidamente en lugar de guardar la configuración de forma permanente.

ulidtko
fuente
pactl set-default-sink reverse-stereofalló con No valid command specified.un Ubuntu 12.04.
Auron
1
@Auron funciona bien el 14.04.
ulidtko
Hmm, tendría que revisarlo.
Auron
1
@Auron, ver actualización; También puede cambiar manualmente a través del panel de sonido.
ulidtko
6

Si está utilizando ALSA, agregue esto a su ~/.asoundrcarchivo:

pcm.swapped {
    type         route
    slave.pcm    "cards.pcm.default"
    ttable.0.1   1
    ttable.1.0   1
}

pcm.default      pcm.swapped

Vía ALSA FAQ

Sathyajith Bhat
fuente
+1 me ganó por segundos ... tenga en cuenta que Ubuntu 9.04 instala PulseAudio por defecto, que probablemente tiene su propia forma de hacerlo.
quack quijote
@ ~ quack ¿PulseAudio no enruta los sonidos a ALSA?
Sathyajith Bhat
Sí, solo decir que PA probablemente puede hacer el intercambio por sí mismo, según el principio Hay más de una forma de hacerlo. :)
quack quijote
@ ~ quack Ah, Gotcha;)
Sathyajith Bhat