Как поменять стереоканалы в Ubuntu?


29

В настоящее время я использую Ubuntu 9.04. Я хотел поменять стереоканалы, но не смог найти эту опцию в настройках громкости.

Есть ли способ сделать это, не касаясь файла конфигурации? (Я не могу войти в систему как root на этой машине)


1
Поменять местами колонки?
Гравитация

4
Я должен обменять свои динамики. Вот почему я хотел переназначить стереоканалы: D
Auron

Ответы:


32

Способ PulseAudio (протестирован на Ubuntu 10.04, должен работать на 9.04):

Копировать /etc/pulse/default.paв ~/.pulse/default.pa, и добавьте следующие две строки в конце:

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

Перезапустите PulseAudio, запустив его pactl exitв командной строке.

Оставьте вторую строку, если вы не хотите использовать реверсивный стерео по умолчанию. Вы можете переключаться между инвертированным и нормальным стерео выходом на вкладке «Выход» в «Настройки звука». Если у вас есть root и вы хотите, чтобы эта система /etc/pulse/default.paработала в масштабе всей системы, вы можете просто добавить строки вместо того, чтобы настраивать пользовательскую конфигурацию.

Эта конфигурация делает несколько основных предположений: карта, для которой вы меняете каналы, является картой 0; что вам нужно иметь дело только с 2 каналами; и что эти каналы называются front-leftи front-right.

Если у вас есть видеокарта с выходом HDMI, скорее всего, аналоговым выходом вашей материнской платы будет карта 1, а не 0; так мастер = 1. (Передняя панель наушников скорее всего на этом аналоговом канале)

Для получения дополнительной информации см. Документацию PulseAudio для module-remap-sink .


Первоначально, казалось, добился цели 14.04. Но после перезагрузки pulseaudio daemon не запустился. пришлось удалить звонок, чтобы исправить это.
Амир Увал

Работает через pacmdтоже (т.е. не нужно копировать config и перезапустить pulseaudio).
ulidtko

1
Если у вас есть больше приемников, вы можете использовать их pacmd list-sinksдля отображения списка существующих приемников и их индексов. чем заменить master=0наmaster=IndexOfTheSinkToSwap
user1182474

1
Это прекрасно работает и под Ubuntu 16.04. Сохраняется при перезагрузке, как и ожидалось.
Старейшина Компьютерщик

Отличный ответ! Единственная проблема, с которой я сталкиваюсь, заключается в том, что объем переназначенного приемника основан на базовом приемнике. Это означает, что если я переключусь на базовый приемник и увеличу громкость до 50%, то переназначенный приемник теперь сможет подняться только до 50% объема (это 100% будет «реальным» 50%). Любой способ обойти это?
srfrnk

10

По сути, тот же подход, что и у Брайана, но не затрагивая файл конфигурации:

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

Это создаст на лету дополнительный приемник PA с обращенными каналами. (Он исчезнет после перезапуска pulseaudio). Чтобы переключиться на это:

pactl set-default-sink reverse-stereo

- ИЛИ, вы также можете переключиться вручную через панель управления звуком:

окно регулировки громкости импульса

Конечно, можно переключаться вперед и назад, например, во время экспериментов.


Этот способ лучше, если вы хотите попробовать что-то быстро, а не сохранить настройки навсегда.


pactl set-default-sink reverse-stereoне удалось No valid command specified.на Ubuntu 12.04.
Аурон

1
@Auron отлично работает 14.04.
ulidtko

Хм, мне бы пришлось это проверить.
Аурон,

1
@ Auron, смотрите обновление; Вы также можете переключаться вручную через звуковую панель.
ulidtko

6

Если вы используете ALSA, добавьте это в свой ~/.asoundrcфайл:

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

pcm.default      pcm.swapped

Через ALSA FAQ


+1 бить меня за секунды ... обратите внимание, Ubuntu 9.04 устанавливает PulseAudio по умолчанию, который, вероятно, имеет свой собственный способ сделать это.
шарлатан-кихот

@ ~ шарлатан, разве PulseAudio не направляет звуки в ALSA?
Сатьяджит Бхат

да, просто сказать, что PA, вероятно, может сделать обмен самостоятельно, по принципу «Есть больше, чем один способ сделать это». :)
шарлатан-кихот

@ ~ Кря, Ах, Гоча;)
Сатьяджит Бхат
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.