Comment échanger des canaux stéréo dans Ubuntu?

29

J'utilise actuellement Ubuntu 9.04. Je voulais échanger les canaux stéréo, mais je n'ai pas trouvé cette option dans les préférences de contrôle du volume.

Existe-t-il un moyen de le faire sans toucher à aucun fichier de configuration? (Je ne suis pas autorisé à me connecter en tant que root sur cette machine)

Auron
la source
1
Échangez les haut-parleurs?
grawity
4
Je dois faire échanger mes enceintes. C'est pourquoi je voulais changer de canal stéréo: D
Auron

Réponses:

32

La méthode PulseAudio (testée sur Ubuntu 10.04, devrait fonctionner sur 9.04):

Copiez /etc/pulse/default.padans ~/.pulse/default.paet ajoutez les deux lignes suivantes à la fin:

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

Redémarrez PulseAudio en exécutant pactl exitsur la ligne de commande.

Oubliez la deuxième ligne si vous ne souhaitez pas utiliser la stéréo inversée par défaut. Vous pouvez basculer entre la sortie stéréo inversée et normale dans l'onglet "Sortie" des Préférences Son. Si vous avez root et que vous voulez que ce système soit étendu, vous pouvez simplement ajouter les lignes à /etc/pulse/default.paau lieu de faire une configuration spécifique à l'utilisateur.

Cette configuration fait quelques hypothèses de base: que la carte dont vous inversez les canaux est la carte 0; que vous n'avez à gérer que 2 canaux; et que ces canaux sont appelés front-leftet front-right.

Si vous avez une carte vidéo avec sortie HDMI, il est probable que la sortie analogique de votre carte mère soit la carte 1, pas 0; donc maître = 1. (Les écouteurs du panneau avant sont probablement sur ce canal analogique)

Pour plus d'informations, consultez la documentation PulseAudio pour module-remap-sink .

Brian Gruber
la source
Au départ, il semblait faire l'affaire le 14.04. Mais après le redémarrage, le démon pulseaudio n'a pas pu démarrer. a dû supprimer l'appel pour le réparer.
Amir Uval
Fonctionne via pacmdaussi (c'est-à-dire pas besoin de copier la configuration et de redémarrer pulseaudio).
ulidtko
1
Si vous avez plusieurs récepteurs, vous pouvez donc utiliser pacmd list-sinkspour afficher une liste des récepteurs existants et leurs index. que de remplacer master=0parmaster=IndexOfTheSinkToSwap
user1182474
1
Cela fonctionne parfaitement sous Ubuntu 16.04 également. Persiste au redémarrage comme prévu.
Elder Geek
Très bonne réponse! Le seul problème que j'ai, c'est que le volume de l'évier remappé est basé sur l'évier de base. Cela signifie que si je passe à l'évier de base et que je règle le volume à 50%, l'évier remappé ne pourra désormais atteindre que 50% du volume (c'est 100% qui sera le `` vrai '' 50%). Quelque chose autour de ça?
srfrnk
10

Essentiellement la même approche que celle de Brian ci-dessus, mais sans toucher à aucun fichier de configuration:

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

Cela créera à la volée un récepteur de sonorisation supplémentaire avec des canaux inversés. (Il disparaîtra après le redémarrage de pulseaudio). Pour y passer:

pactl set-default-sink reverse-stereo

- OU, vous pouvez également basculer manuellement via le panneau de contrôle du son:

fenêtre de contrôle du volume pulseaudio

Bien sûr, il est possible de basculer d'avant en arrière, par exemple lors de l'expérimentation.


Cette méthode est meilleure si vous voulez essayer quelque chose rapidement plutôt que d'enregistrer la configuration de façon permanente.

ulidtko
la source
pactl set-default-sink reverse-stereoa échoué avec No valid command specified.un Ubuntu 12.04.
Auron
1
@Auron fonctionne très bien le 14.04.
ulidtko
Hmm, il faudrait que je vérifie.
Auron
1
@Auron, voir la mise à jour; vous pouvez également basculer manuellement via le panneau audio.
ulidtko
6

Si vous utilisez ALSA, ajoutez ceci à votre ~/.asoundrcfichier:

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

pcm.default      pcm.swapped

Via ALSA FAQ

Sathyajith Bhat
la source
+1 me bat en quelques secondes ... remarque Ubuntu 9.04 installe PulseAudio par défaut qui a probablement sa propre façon de le faire.
Quack Quichote
@ ~ quack, PulseAudio n'achemine-t-il pas les sons vers ALSA?
Sathyajith Bhat
oui, juste dire que PA peut probablement faire l'échange tout seul, selon le principe Il y a plus d'une façon de le faire. :)
Quack Quichotte
@ ~ charlatan Ah, Gotcha;)
Sathyajith Bhat