Paksa downmix ke mono di Linux

8

Untuk alasan pribadi (saya mengalami gangguan pendengaran) Saya membutuhkan mesin linux saya untuk menghasilkan suara mono downmixed. Downmixed, bukan hanya saluran tunggal.

Apakah ada kemungkinan untuk memaksakan perilaku tersebut di server ALSA / PulseAudio? Pencampuran perangkat keras (saluran L dan R hubung singkat dengan beberapa resistor) tidak dimungkinkan saat ini. Saya mencari solusi perangkat lunak untuk menggabungkan dua saluran menjadi satu.

Saya tahu bahwa beberapa pemutar media memiliki fungsi ini, tetapi saya ingin seluruh sistem (yaitu game, aplikasi flash, dll) untuk menghasilkan audio yang dicampur.

Neo
sumber

Jawaban:

10

Saya belum melakukan pengujian ekstensif, tetapi ~/.asoundrcfile ini (atau /etc/asound.conf) harus bekerja untuk apa pun yang menggunakan ALSA. Berasumsi bahwa Anda hanya ingin berurusan dengan dua saluran (kiri dan kanan), dan soundcard Anda menyala hw:0.

pcm.!default makemono

pcm.makemono {
    type route
    slave.pcm "hw:0"
    ttable {
        0.0 1    # in-channel 0, out-channel 0, 100% volume
        1.0 1    # in-channel 1, out-channel 0, 100% volume
    }
}

Lihat dokumentasi resmi untuk perincian tentang cara menyempurnakan / mempersulit hal-hal selanjutnya.

goldpseudo
sumber
Ini membuat saya di jalur yang benar, terima kasih! Sekarang PulseAudio adalah suatu hal, saya juga harus menyalin /etc/pulse/default.pake ~/.config/pulse/default.padan menghapus komentar pada baris yang mengatakan load-module module-alsa-sink, kemudian jalankan pulseaudio -kuntuk mengambil perubahan. Lihat juga: superuser.com/a/1158248/9599
jnylen