Bagaimana cara menukar saluran stereo di Ubuntu?

29

Saya sedang menjalankan Ubuntu 9.04. Saya ingin menukar saluran stereo, tetapi saya tidak dapat menemukan opsi itu di Preferensi Kontrol Volume.

Apakah ada cara untuk melakukan ini tanpa menyentuh file konfigurasi apa pun? (Saya tidak diizinkan masuk sebagai root di mesin ini)

Auron
sumber
1
Tukar speaker?
grawity
4
Saya harus mengganti speaker saya. Itu sebabnya saya ingin menukar saluran stereo: D
Auron

Jawaban:

32

Cara PulseAudio (diuji pada Ubuntu 10,04, harus bekerja pada 9,04):

Salin /etc/pulse/default.pake ~/.pulse/default.pa, dan tambahkan dua baris berikut ke akhir:

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

Mulai ulang PulseAudio dengan menjalankan pactl exitdi baris perintah.

Tinggalkan baris kedua jika Anda tidak ingin menggunakan stereo yang dibalik secara default. Anda dapat beralih antara output stereo yang terbalik dan normal di tab "Output" di Preferensi Suara. Jika Anda memiliki root dan ingin sistem ini luas, Anda bisa menambahkan baris ke /etc/pulse/default.paalih-alih membuat konfigurasi khusus pengguna.

Konfigurasi ini membuat beberapa asumsi dasar: bahwa kartu yang Anda membalikkan salurannya adalah kartu 0; Anda hanya perlu berurusan dengan 2 saluran; dan bahwa saluran-saluran itu dipanggil front-leftdan front-right.

Jika Anda memiliki kartu video dengan HDMI out, kemungkinan analog dari motherboard Anda adalah kartu 1, bukan 0; jadi master = 1. (Headphone Panel Depan kemungkinan ada di saluran analog ini)

Untuk informasi lebih lanjut, lihat dokumentasi PulseAudio untuk tenggelam modul-remap .

Brian Gruber
sumber
Awalnya itu tampaknya melakukan trik pada 14,04. Tetapi setelah reboot, daemon pulseaudio gagal memulai. harus menghapus panggilan untuk memperbaikinya.
Amir Uval
Bekerja pacmdjuga (yaitu tidak perlu menyalin config & restart pulseaudio).
ulidtko
1
Jika Anda memiliki lebih banyak sink, maka Anda dapat menggunakannya pacmd list-sinksuntuk menampilkan daftar sink yang ada dan indeksnya. daripada ganti master=0denganmaster=IndexOfTheSinkToSwap
user1182474
1
Ini berfungsi dengan baik di bawah Ubuntu 16.04 juga. Tetap melalui reboot seperti yang diharapkan.
Penatua Geek
Jawaban bagus! Satu-satunya masalah yang saya alami adalah bahwa volume wastafel yang dibuat ulang didasarkan pada wastafel dasar. Itu berarti jika saya beralih ke wastafel dasar dan mengubah volumenya menjadi 50%, wastafel yang dipetakan kembali sekarang hanya bisa naik ke volume 50% (100% akan menjadi 'nyata' 50%). Ada jalan lain?
srfrnk
10

Pada dasarnya pendekatan yang sama seperti Brian di atas, tetapi tanpa menyentuh file konfigurasi apa pun:

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

Ini akan membuat wastafel PA tambahan dengan saluran terbalik. (Ini akan menghilang setelah pulseaudio restart). Untuk beralih ke itu:

pactl set-default-sink reverse-stereo

- ATAU, Anda juga dapat beralih secara manual melalui panel kontrol suara:

jendela kontrol volume pulseaudio

Tentu saja mungkin untuk beralih bolak-balik, misalnya saat bereksperimen.


Cara ini lebih baik jika Anda ingin mencoba sesuatu dengan cepat daripada menyimpan pengaturan secara permanen.

ulidtko
sumber
pactl set-default-sink reverse-stereogagal dengan No valid command specified.pada Ubuntu 12.04.
Auron
1
@ Ainon bekerja dengan baik pada 14.04.
ulidtko
Hmm, aku harus memeriksanya.
Auron
1
@ Ainon, lihat pembaruan; Anda juga dapat beralih secara manual melalui panel suara.
ulidtko
6

Jika Anda menggunakan ALSA, Tambahkan ini ke ~/.asoundrcfile Anda :

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

pcm.default      pcm.swapped

Melalui FAQ ALSA

Sathyajith Bhat
sumber
+1 mengalahkan saya dengan detik ... perhatikan Ubuntu 9.04 menginstal PulseAudio secara default yang mungkin memiliki caranya sendiri untuk melakukannya.
Quack quixote
@ ~ dukun tidak PulseAudio merutekan suara ke ALSA?
Sathyajith Bhat
ya, katakan saja 'PA mungkin dapat melakukan swap sendiri, pada prinsip There More Than One Way To Do It. :)
quack quixote
@ ~ dukun Ah, Gotcha;)
Sathyajith Bhat