BARU: Pergi di sini jika Anda mencari surround sound dengan PulseAudio (baru default audio layer dengan distribusi Linux terbaru)

DISCLAIMER: Saya tidak bertanggung jawab atas segala kerusakan Anda menyebabkan apa pun sebagai hasil dari mengikuti HOWTO ini.

Panduan ini dimaksudkan bagi mereka yang ingin setup 4.1 atau pemutaran audio 5.1 channel pada mesin Linux mereka, dan membuat penuh penggunaan semua speaker untuk pemutaran dengan aplikasi yang berbeda. Sebagian besar informasi yang telah dikumpulkan dari docs ALSA, ALSA Wiki FAQ , dan manusia pages.sld Komentar dan pertanyaan dipersilahkan.

Anda harus memiliki kartu suara 4.1 atau 5.1 channel atau terintegrasi on-board 4.1 / 5.1 support channel (seperti Intel ICH5 atau lebih tinggi), dan 4,1 / 5,1 / 6,1 speaker (untuk misalnya, dalam kasus 5.1 -. Dua front, dua belakang, satu pusat, dan subwoofer). Saya berasumsi bahwa Anda memiliki salah satu versi ALSA diinstal (1.0.11 adalah yang terbaru saat tulisan ini), dan bahwa driver kartu suara anda terinstal. Hal ini seharusnya tidak menjadi masalah jika Anda menggunakan distribusi Linux populer.

  1. koneksi fisik
  2. Mengedit ~ / .asoundrc
  3. Pengaturan volume bawaan
  4. Pengujian setup Anda
  5. aplikasi Konfigurasi
  6. Referensi

1. Koneksi fisik

Anda akan banyak dilakukan koneksi fisik dengan benar (dengan port kode warna) seperti yang dijelaskan dalam manual speaker Anda. Jika Anda memiliki 5.1 channel kartu suara yang terpisah, Anda mungkin memiliki port terpisah untuk depan, belakang, tengah / LFE, mike, dll Untuk sebagian besar chip yang datang dengan on-board Intel ICH5 audio, saluran belakang dibagi dengan garis -in, dan mike dengan Pusat / LFE. Cara terbaik untuk mengatur speaker Anda akan menghubungkan port bersama untuk speaker, dan menggunakan port panel depan untuk mike dan headphone.

2. Editing ~ / .asoundrc

Secara default, Anda akan menemukan bahwa hanya speaker depan (2 dari 5.1) yang digunakan setiap kali Anda memainkan audio dari xmms, MPlayer, atau aplikasi lainnya (kecuali audio adalah 5.1 dikodekan). Anda ingin output pada semua speaker Anda bahkan untuk audio stereo; maka, konfigurasi manual tambahan ini. Aku benci mengatakan ini, tapi M $ Windows jauh ke depan dalam aspek ini (Anda tidak perlu melakukan apa-apa selain menentukan konfigurasi speaker Anda, dan 2-channel audio secara otomatis dimainkan pada 5 speaker dan audio 5-channel dimainkan sebagaimana mestinya oleh WMP). Jika Anda memiliki kartu audio Intel ICH5, Anda dapat menempatkan saya .asoundrc di direktori home Anda. Jika tidak, porsi Anda perlu menambahkan untuk Anda ~ / .asoundrc adalah sebagai berikut:

# for 5.1 speakers
pcm.ch51dup {
         slave.pcm surround51
         slave.channels 6
         type route
         ttable.0.0 1
         ttable.1.1 1
         ttable.0.2 1
         ttable.1.3 1
         ttable.0.4 0.5
         ttable.1.4 0.5
         ttable.0.5 0.5
         ttable.1.5 0.5
}

# for 4.1 speakers
pcm.ch41dup {
         type route
         slave.pcm surround41
         slave.channels 5
         ttable.0.0 1
         ttable.1.1 1
         ttable.0.2 1
         ttable.1.3 1
         ttable.0.4 0.5
         ttable.1.4 0.5
}

ALSA standar jumlah channel tugas adalah: # 0 - kiri depan, # 1 - kanan depan, # 2 - kiri belakang, # 3 - kanan belakang, # 4 - pusat, dan # 5 - LFE (subwoofer). Dalam perangkat custom-buat di atas, kami menggunakan ALSA Plugin rute untuk menyalin kiri depan dan kanan saluran ke saluran belakang yang sesuai, dan menciptakan pusat dan LFE masing-masing dari 50% dari kiri dan kanan saluran (TODO: cara ideal akan menggunakan rendah-pass filter untuk mengisolasi frekuensi rendah untuk mengirim ke subwoofer, tapi ini belum mungkin sampai baru-baru ini . Lagi pula, kebanyakan subwoofer memiliki low-pass filter untuk memastikan bahwa frekuensi tinggi tidak melewati dan Anda mungkin tidak melihat sebuah perbedaan).

Pemetaan channel kadang-kadang kacau untuk beberapa hardware; lihat akhir Bagian 4 tentang cara untuk memperbaikinya.

3. volume bawaan Pengaturan

Tambahkan berikut untuk Anda /etc/rc.local sehingga kontrol yang tepat adalah kembali terdengar dan volume ditetapkan dengan benar pada saat boot.

# vi /etc/rc.local 

...
echo Setting 5.1 Channel volumes...
amixer -q set Master 100% unmute 
amixer -q set PCM 40% unmute  
amixer -q set Surround 100% unmute  
amixer -q set "Surround Jack Mode" "Independent"  
amixer -q set Center 81% unmute  
amixer -q set LFE 100% unmute  
amixer -q set "Mic select" "Mic1"   
amixer -q set "Mic" 65% unmute  
amixer -q set "Channel mode" "6ch"   
amixer -q set "Center/LFE Down mix" mute   
amixer -q set "Duplicate Front" mute  

Untuk kartu suara jack-berbagi, gunakan:

# vi /etc/rc.local
...
echo Setting 5.1 Channel volumes... 
amixer -q set Master 100% unmute  
amixer -q set PCM 40% unmute  
amixer -q set Surround 100% unmute  
amixer -q set Center 81% unmute  
amixer -q set LFE 100% unmute  
amixer -q set "Surround Jack Mode" "Shared"  
amixer -q set "Mic select" "Mic2"   
amixer -q set "Mic" 65% unmute  
amixer -q set "Channel mode" "6ch"   
amixer -q set "Center/LFE Down mix" mute   
amixer -q set "Duplicate Front" mute 

Cara mudah menyesuaikan volume dengan menggunakan kontrol yang bagus eksternal yang datang dengan speaker surround Anda. Itu akan menambah volume pada semua speaker secara proporsional. Ini lebih baik daripada menyesuaikan kontrol mixer secara terpisah. Jadi, guru diatur ke "100%", dan Anda dapat menyesuaikan proporsi apa yang Anda rasakan nyaman. Untuk saat ini, Anda dapat langsung menjalankannya sebagai:. /etc/rc.local

4. Pengujian setup Anda

Pastikan bahwa Anda telah menjalankan /etc/rc.local. The 'speaker-test' utilitas yang datang dengan alsa-utils dapat digunakan untuk menguji setup Anda.

$ speaker-test -c 6 -D surround51 -t wav

speaker-test 1.0.11rc2

Playback device is surround51
Stream parameters are 48000Hz, S16_LE, 6 channels
Using 16 octaves of pink noise
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 3 to 5461
Period size range from 3 to 5461
Periods = 4
Buffer time size 2525
To choose buffer_size = 5460
To choose period_size = 1365
was set period_size = 1365
was set buffer_size = 5460
0 - Front Left
4 - Center
1 - Front Right
3 - Rear Right
2 - Rear Left
5 - LFE
Time per period = 17.800086

Anda harus mendengar suara satu per satu pada semua speaker Anda. Masalah umum dengan beberapa chip ICH5 adalah bahwa Pusat dan saluran LFE yang bertukar dengan saluran belakang. Untuk memperbaiki ini, Anda harus mengedit bagian dari /etc/alsa/cards/ICH4.conf untuk membuatnya seperti /etc/alsa/cards/ICH.conf. Anda dapat menggunakan ICH4.conf saya . Juga, beberapa versi ALSA memiliki masalah dengan saluran kanan belakang; sehingga meningkatkan dalam kasus itu. Perhatikan file konfigurasi yang Anda butuhkan untuk mengedit di / etc / alsa / kartu tergantung pada kartu suara Anda; lihat di bawah / proc / asound / untuk mencari tahu ini.

Untuk menguji mikrofon Anda, gunakan Skype .

5. aplikasi Konfigurasi

Kita sekarang akan mengkonfigurasi aplikasi yang sering digunakan (XMMS, MPlayer, Xine, Gaim, bip-media-player) untuk memanfaatkan ch51dup perangkat untuk menduplikasi dua kanal output ke semua speaker dan subwoofer. 

Untuk XMMS , pergi ke Preferences - > Audio I / O plugin. Di bawah "Output Plugin", pilih "ALSA 1.2 keluaran Plugin", klik 'Configure', dan di bidang 'perangkat Audio', masukkan "ch51dup" (atau "ch41dup" dalam kasus 4.1 speaker). Perangkat Anda buat di .asoundrc tidak disebutkan di sini, jadi Anda harus secara manual memasukkan itu. Konfigurasi yang sama dapat dilakukan untuk bip-media-player. Semua dua-channel encoded lagu (MP3, WMA, dll lagu) sekarang akan bermain di semua lima speaker (Terima kasih kepada Eric Browne untuk menunjukkan masalah (mungkin karena kombinasi versi tertentu dari xmms dan libs ALSA?) Saat menggunakan ch51dup dengan xmms. Dalam kasus pemutaran xmms adalah berombak / tergagap, tambahkan ini ke .asoundrc Anda dan menggunakan duplikat sebagai perangkat bukan ch51dup ).

Untuk MPlayer , terbuka ~ / .mplayer / config, dan menempatkan baris berikut di dalamnya:

$ vi ~/.mplayer/config

ao=alsa:device=ch51dup
channels=6 

Secara default, MPlayer sekarang akan menggunakan ch51dup perangkat. Namun, jika Anda ingin bermain 5.1 channel dikodekan video dengan itu (seperti DVD), Anda harus menggunakan default surround51 perangkat, yang Anda bisa dengan hanya menerapkan MPlayer sebagai 'mplayer -ao alsa <nama file-5.1-audio yang> . Saya tidak tahu cara untuk memberitahu MPlayer untuk secara otomatis memilih perangkat tertentu berdasarkan konten yang sedang dimainkan. Xine akan secara default menggunakan perangkat surround51 untuk bermain DVD yang Dolby 5.1 dikodekan. Jadi, Anda tidak perlu melakukan apa-apa di sana kecuali Anda memutar file stereo dengan itu.

Anda juga mungkin ingin mengubah mplayer plug-in konfigurasi yang digunakan untuk memutar video dalam browser. Karena kebanyakan dari mereka memiliki audio stereo, Anda mungkin ingin mengedit output audio opsi baris di /etc/mplayerplug-in.conf untuk membuatnya menggunakan ch51dup .

# vi /etc/mplayerplug-in.conf

...
ao=alsa:device=ch51dup,oss,arts,esd
...

Untuk Gaim , pergi ke Preferences> Suara. Di bawah 'Metode Suara', pilih 'Command' dari daftar drop-down 'Metode', dan masukkan 'aplay -c 6 r 44100 -D ch51dup' untuk 'perintah suara'.