Panduan ALSA Gentoo Linux
1.
Pendahuluan
Apa itu ALSA?
ALSA, yang berarti Advanced Linux Sound Architecture, menyediakan
fungsionalitas audio dan MIDI (Musical Instrument Digital Interface)
di sistem operasi Linux. ALSA merupakan sound subsystem default di
kernel 2.6 dengan menggantikan OSS (Open Sound System) yang telah
dipakai di kernel 2.4.
Fitur utama ALSA termasuk dukungan tepatguna untuk seluruh jenis antarmuka
audio mulai dari kartu suara pengguna biasa sampai ke peralatan sound
profesional, driver termodulasi penuh, SMP dan keamanan thread, kompatibilitas
ke belakang dengan OSS dan sebuah user-space library alsa-lib untuk
menjadikan pengembangan aplikasi semakin mudah.
ALSA di Gentoo
Salah satu kekuatan utama Gentoo adalah memberikan kebebasan penuh kepada
penggunanya untuk mengatur bagaimana sistemnya terinstal dan terkonfigurasi.
ALSA di Gentoo mengikuti prinsip yang sama. Ada dua cara bagi anda untuk
mendapatkan dukungan ALSA secara penuh di sistem anda. Kita akan
membicarakannya secara terinci di bagian selanjutnya.
2.
Instalasi ALSA
Pilihan-pilihan
Peringatan:
Metode-metode yang dijelaskan di bawah ini saling bertolak-belakang. Anda tidak
bisa mengkompilasi ALSA di kernel dan menggunakan
media-sound/alsa-driver. Pasti akan gagal.
|
Kedua pilihan yang tersedia adalah :
-
Menggunakan ALSA yang disediakan oleh kernel. Ini adalah metode yang
diutamakan.
-
Menggunakan paket media-sound/alsa-driver Gentoo.
Driver di dalam kernel dan paket alsa-driver agak sedikit berbeda;
bisa jadi ada fitur yang dimiliki oleh salah satu driver dan tidak dimiliki
oleh driver yang lain. Para pengembang pusat sudah mengetahui masalah ini,
tetapi memang kedua driver dipisah dan dibedakan dengan sengaja. Anda juga
harus tahu bahwa cara kerja kedua driver ini berbeda, jadi jika salah satunya
tidak bisa berfungsi, cobalah driver yang lain! Kita akan mengintip
kedua-duanya sebelum akhirnya memutuskan pilihan kita.
Jika anda ingin menggunakan ALSA dari kernel, berikut ini adalah
kelebihan dan kekurangannya:
| ALSA dari Kernel |
Kelebihan dan Kekurangan |
| + |
Tidak memerlukan instalasi paket lain; driver telah diikutsertakan di dalam
kernel
|
| + |
Solusi praktis. Tidak perlu melakukan emerge berkali-kali. |
| - |
Bisa jadi versinya sedikit berbeda dari alsa-driver. |
Dan, jika anda ingin menggunakan alsa-driver,
| alsa-driver |
Kelebihan dan Kekurangan |
| + |
Kemungkinan merupakan driver terbaru dari Proyek ALSA. |
| + |
Bermanfaat jika anda ingin mengembangkan driver suara. |
| - |
Setiap kompilasi ulang kernel memerlukan emerge ulang
alsa-driver. |
| - |
Memerlukan beberapa opsi konfigurasi kernel untuk dinonaktifkan agar bisa
bekerja dengan benar.
|
Jadi...
Perbedaan dari paket alsa-driver dan ALSA dari kernel tidak terlalu
besar, seperti yang telah disebutkan di atas. Karena itu, anda dianjurkan untuk
terlebih dahulu mencoba driver alsa dari kernel karena alasan kemudahan.
Sebelum melaporkan masalah terkait suara ke Bugzilla Gentoo, cobalah untuk mengulangi
kembali semua langkah yang telah anda lakukan dengan menggunakan
alsa-driver, kemudian laporkan bug, apapun hasil yang anda dapatkan.
Sebelum anda melanjutkan
Metode manapun yang anda pilih, anda perlu mengetahui driver apa yang digunakan
oleh kartu suara anda. Pada kebanyakan kasus, kartu-kartu suara (onboard dan
yang lainnya) berbasis PCI dan lspci akan membantu anda untuk mencari
info yang anda perlukan. Silakan emerge sys-apps/pciutils untuk
mendapatkan lspci, jika anda belum menginstalnya. Jika anda memiliki
kartu suara USB, lsusb dari sys-apps/usbutils mungkin
bisa membantu. Untuk kartu-kartu ISA, coba gunakan sys-apps/isapnptools.
Selain itu, halaman-halaman berikut ini mungkin bisa membantu anda yang
menggunakan kartu suara ISA.
Catatan:
Untuk memudahkan penggunaan/penjelasan, kami anggap anda menggunakan kartu
suara berbasis PCI sebagai pengingat di panduan ini.
|
Sekarang kita lanjutkan dengan mencari informasi kartu suara.
Daftar Kode 2.1: Soundcard Details |
# lspci -v | grep -i audio
0000:00:0a.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 06)
|
Sekarang kita telah mengetahui bahwa kartu suara yang ada di komputer adalah
Sound Blaster Live! dan pembuatnya adalah Creative Labs. Bukalah halaman ALSA
Soundcard Matrix lalu pilih Creative Labs dari menu. Anda akan dibawa ke
halaman matrix Creative Labs tempat anda bisa melihat bahwa SB Live!
menggunakan modul emu10k1. Itulah informasi yang kita butuhkan untuk
saat ini. Jika anda tertarik dengan info detilnya, anda dapat mengklik link di
samping "Details" yang akan membawa anda ke halaman khusus
emu10k1.
Jika anda ingin menggunakan MIDI, maka anda perlu menambahkan flag USE
midi di /etc/make.conf sebelum meng-emerge paket ALSA
apapun. Nanti pada panduan ini, kami akan menjelaskan cara menyiapkan dukungan MIDI.
Menggunakan ALSA dari kernel
Jika anda mempermudah hidup anda seperti penulis, maka inilah pilihan yang
tepat untuk anda.
Catatan:
Sejak rilis 2005.0, Gentoo menggunakan kernel seri 2.6 sebagai kernel default.
Periksa apakah kernel anda merupakan kernel seri 2.6. Metode ini tidak
dapat digunakan dengan kernel 2.4.
|
Mari kita konfigurasi kernel untuk mengaktifkan dukungan ALSA.
Penting:
Pengguna genkernel sekarang harus menjalankan genkernel
--menuconfig all lalu mengikuti petunjuk di Opsi-opsi Kernel untuk ALSA.
|
Daftar Kode 2.2: Menuju source kernel |
# cd /usr/src/linux
# make menuconfig
|
Catatan:
Contoh di atas menganggap bahwa symlink /usr/src/linux menunjuk ke
source kernel yang ingin anda gunakan. Pastikan ini sebelum melanjutkan.
|
Sekarang kita akan melihat ke beberapa opsi yang harus kita aktifkan di kernel
2.6 untuk memastikan dukungan ALSA yang benar untuk kartu suara kita.
Harap dicatat bahwa demi kemudahan, seluruh contoh menunjukkan ALSA dikompilasi
sebagai modul. Anda sangat dianjurkan untuk mengikutinya karena dengan begini
kita dapat menggunakan alsaconf yang merupakan keuntungan ketika anda
akan mengkonfigurasi kartu suara anda. Diharap untuk tidak melangkahi
bagian konfigurasi pada dokumen ini. Jika anda
masih ingin menjadikan opsi-opsi ini built-in, pastikan untuk melakukan
perubahan yang sesuai pada konfigurasi anda.
Daftar Kode 2.3: Opsi-opsi Kernel untuk ALSA |
Device Drivers --->
Sound --->
<M> Sound card support
Open Sound System --->
< > Open Sound System (DEPRECATED)
Advanced Linux Sound Architecture --->
<M> Advanced Linux Sound Architecture
<M> Sequencer support
<M> OSS Mixer API
<M> OSS PCM (digital audio) API
Generic devices --->
ISA devices --->
<M> Gravis UltraSound Extreme
PCI devices --->
<M> Emu10k1 (SB Live!, Audigy, E-mu APS)
<M> Intel/SiS/nVidia/AMD/ALi AC97 Controller
<M> VIA 82C686A/B, 8233/8235 AC97 Controller
USB Devices --->
|
Sekarang pilihan anda sudah siap, anda dapat mengkompilasi (ulang) kernel dan
dukungan ALSA untuk kartu suara anda akan berfungsi ketika anda reboot
dengan kernel baru. Jangan lupa untuk memperbarui konfigurasi GRUB agar
menggunakan kernel baru. Anda sekarang boleh melanjutkan ke Utilitas ALSA dan lihatlah apakah semuanya sudah
bekerja sebagaimana mestinya.
Menggunakan Paket Driver ALSA
Kelihatannya anda telah memutuskan untuk menggunakan paket alsa-driver.
Mari kita mulai. Ada beberapa hal yang harus terlaksana untuk memastikan agar
hanya driver yang anda inginkanlah yang akan dikompilasi. Hal ini memang tidak
terlalu penting, namun bisa mencegah kompilasi driver-driver yang tidak
diinginkan.
Jika anda tidak tahu driver apa yang diperlukan oleh kartu suara
anda,lihatlah bagian lspci dari panduan ini. Jika anda
sudah mengetahui nama driver kartu suara anda (emu10k1 di contoh kita),
edit file /etc/make.conf dan tambahkan variabel ALSA_CARDS.
Daftar Kode 2.4: Menambahkan ALSA_CARDS di make.conf |
ALSA_CARDS="emu10k1"
ALSA_CARDS="emu10k1 via82xx"
|
Jika anda telah mengkompilasi kernel anda dan anda ingin menggunakan
alsa-driver, harap pastikan hal-hal berikut sebelum melanjutkan, jika
tidak, kemungkinan alsa-driver akan gagal. Daftar kode berikut ini akan
memberikan anda satu cara untuk melaksanakan pemeriksaan tersebut.
Catatan:
Pengguna genkernel dapat langsung melanjutkan ke Instalasi alsa-driver karena konfigurasi default
genkernel sudah sesuai dengan yang tertera di bawah ini.
|
-
CONFIG_SOUND telah di-set. (Dukungan suara dasar telah diaktifkan)
-
CONFIG_SOUND_PRIME tidak diaktifkan. (Dukungan in-built OSS
dinonaktifkan)
-
CONFIG_SND tidak diaktifkan. (Dukungan built-in ALSA dinonaktifkan)
-
/usr/src/linux menunjuk ke kernel yang ingin anda berikan
dukungan ALSA.
Daftar Kode 2.5: Pemeriksaan .config |
# cd /usr/src/linux
# grep SOUND .config
CONFIG_SOUND=y
CONFIG_SOUND_PRIME is not set
# grep SND .config
CONFIG_SND is not set
|
Sekarang yang harus anda lakukan adalah mengetikkan kata-kata ajaib, tetapi
bukan abrakadabra.
Daftar Kode 2.6: Instalasi alsa-driver |
# emerge alsa-driver
|
Penting:
Perlu dicatat bahwa anda harus meng-emerge alsa-driver setiap kali anda
mengkompilasi (ulang) kernel, karena driver yang sebelumnya telah dihapus. Agar
lebih mudah, emerge saja paket module-rebuild yang akan melacak semua
paket-paket modul dan menginstalnya kembali untuk anda. Pertama, jalankan
module-rebuild populate untuk menciptakan daftar modul, kemudian
jalankan module-rebuild rebuild dan semua modul eksternal anda akan
dikompilasi ulang.
|
3.
Konfigurasi/Tes ALSA
Utilitas ALSA
alsa-utils membentuk bagian utuh dari ALSA karena paket ini berisi
program-program yang sangat berguna, termasuk skrip init ALSA. Oleh karena itu
kami sangat menganjurkan anda untuk menginstal alsa-utils.
Daftar Kode 3.1: Instalasi alsa-utils |
# emerge alsa-utils
|
Catatan:
Jika anda telah mengaktifkan ALSA di kernel
dan tidak mengkompilasi ALSA sebagai modul, lanjutkan ke bagian Skrip Init ALSA. Jika belum, anda perlu
mengkonfigurasi ALSA. Konfigurasi ini telah dipermudah dengan adanya utilitas
alsaconf yang disediakan oleh paket alsa-utils.
|
Konfigurasi
Versi-versi baru udev (>=udev-103) menyediakan konfigurasi
otomatis untuk kartu suara anda pada level kernel. Jika memungkinkan, coba
biarkan saja kernel anda mengatur kartu suara anda secara otomatis, namun jika
tidak berhasil, gunakan alsaconf untuk mengkonfigurasinya, seperti pada
contoh berikut:
Catatan:
Harap untuk menutup semua program yang mungkin mengakses kartu suara
anda selama menjalankan alsaconf.
|
Cara untuk mengkonfigurasi kartu suara anda ialah dengan menggunakan
alsaconf. Sebagai root, ketik alsaconf di shell.
Daftar Kode 3.2: Menjalankan alsaconf |
# alsaconf
|
Sekarang anda akan melihat sebuah tampilan dengan menu yang rapi, yang secara
otomatis akan mendeteksi perangkat anda dan mencoba untuk menemukan kartu suara
anda. Anda akan diminta untuk memilih kartu suara anda dari sebuah daftar.
Setelah selesai, anda akan ditanyakan apakah anda mengizinkannya untuk merubah
isi /etc/modules.d/alsa secara otomatis. Kemudian volume suara akan
dinaikkan sampai tingkat optimal. Jalankan update-modules dan servis
/etc/init.d/alsasound. Setelah anda keluar dari alsaconf,
anda dapat melanjutkan ke pengaturan skrip init ALSA.
Skrip Init ALSA
Kita hampir selesai. Metode apapun yang telah anda pilih untuk instalasi ALSA,
anda perlu sesuatu untuk memuat modul anda atau menginisialisasi ALSA dan
mengembalikan pengaturan volume anda ketika sistem anda dinyalakan. Skrip init
ALSA dapat menangani semua ini untuk anda, dan dinamakan alsasound.
Tambahkan skrip ini ke runlevel boot.
Daftar Kode 3.3: Menambahkan ALSA ke runlevel boot |
# rc-update add alsasound boot
* alsasound added to runlevel boot
* rc-update complete.
|
Selanjutnya, periksalah file /etc/conf.d/alsasound untuk
memastikan bahwa variabel SAVE_ON_STOP telah berisi "yes". Variabel ini
akan menyimpan pengaturan volume anda ketika sistem dimatikan.
Grup Audio
Sebelum kita melanjutkan ke tahap pengujian, ada satu hal penting lagi
yang harus kita siapkan. Aturan dasar di OS *nix: Jangan dijalankan sebagai
root kecuali jika memang diperlukan. Aturan ini berlaku juga di sini ;)
Bagaimana? Anda seharusnya login sebagai user biasa jika ingin memutar musik
dan mengakses kartu suara anda. Untuk itu, anda perlu menjadi anggota grup
"audio". Pada tahap ini, kita akan memasukkan user ke grup audio agar tidak
mendapatkan masalah ketika ingin mengakses kartu suara. Di sini kita akan
menggunakan gpasswd dan anda perlu login sebagai root untuk dapat
menjalankannya.
Daftar Kode 3.4: Memasukkan user ke grup audio |
# gpasswd -a <namauser> audio
Adding user <namauser> to group audio
|
Periksa Volume!
Kita telah menyelesaikan semua tahap instalasi dan pengaturan. Sekarang
mari kita jalankan ALSA. Jika anda telah menjalankan alsaconf, anda
boleh melangkahi tahap ini, karena alsaconf telah melakukannya untuk
anda.
Daftar Kode 3.5: Menjalankan servis alsa |
# /etc/init.d/alsasound start
|
Semua yang diperlukan sudah siap, sekarang kita perlu memeriksa volume karena
biasanya volume dalam keadaan mute. Untuk ini, kita gunakan alsamixer.
Daftar Kode 3.6: Menjalankan alsamixer |
# alsamixer
|
Penting:
Jika anda mendapatkan masalah ketika menjalankan alsamixer dan
mendapatkan error seperti "alsamixer: function snd_ctl_open failed for default:
No such file or directory", biasanya ini disebabkan oleh udev ketika
menngatur perangkat. Jalankan killall udevd; udevstart untuk memuat
ulang entri /dev lalu jalankan alsamixer. Langkah ini
seharusnya bisa mengatasi masalah tersebut.
|
Mungkin inilah tampilan ALSA Mixer ketika anda pertama kali
menjalankannya. Perhatikan channel Master dan PCM yang keduanya memiliki
tanda MM di bawahnya. Jika anda mencoba untuk memainkan sesuatu dengan
alsamixer pada tahap ini, anda tidak akan bisa mendengarkan suara apapun
di speaker anda.
Gambar 3.1: Jendela Utama Alsa Mixer, Mute |
 |
Sekarang, kita harus meng-unmute channel-channel-nya, lalu
atur level volume seperlunya.
Peringatan:
Master dan PCM harus di-unmute dan volumenya harus ditetapkan ke level
yang dapat didengar jika anda ingin mendengarkan output dari speaker anda.
|
-
Untuk pindah ke channel yang lain, gunakan tombol panah kiri dan
kanan.
(<- & ->)
-
Untuk meng-(un)mute, pindah ke channel tertentu, mis. Master, lalu
tekan tombol m di keyboard.
-
Untuk menaikkan/menurunkan level volume, gunakan tombol panah atas dan
bawah.
Catatan:
Berhaiti-hatilah ketika anda mengatur level Bass dan Treble. Biasanya 50 adalah
nilai yang tepat untuk keduanya. Nilai Bass yang terlalu tinggi akan
menyebabkan getaran kuat di speaker yang tidak dirancang untuk
mengatasinya.
|
Setelah anda selesai, ALSA Mixer anda akan terlihat seperti di bawah ini.
Perhatikan 00 yang menggantikan MM, juga level-level volume yang
telah diatur ke tingkat optimal.
Gambar 3.2: Alsa Mixer siap pakai |
 |
Periksa Suara!
Akhirnya. Musik! Jika semua langkah diatas telah dijalankan dengan sempurna,
anda seharusnya sudah bisa mendengarkan musik. Cara cepat untuk memeriksanya
ialah dengan menggunakan utilitas baris perintah seperti
media-sound/madplay. Anda juga dapat menggunakan aplikasi yang lebih
terkenal seperti mpg123. Jika anda penggemar ogg, anda dapat menggunakan
ogg123 yang disediakan oleh media-sound/vorbis-tools. Gunakan
player apapun yang anda suka. Seperti biasa, emerge apapun yang
anda butuhkan.
Daftar Kode 3.7: Mendapatkan software |
# emerge madplay mpg123
# emerge vorbis-tools
|
Dan mainkan musik favorit anda......
Daftar Kode 3.8: Memainkan Musik |
# madplay -v /mnt/shyam/Music/Paul\ Oakenfold\ -\ Dread\ Rock.mp3
MPEG Audio Decoder 0.15.2 (beta) - Copyright (C) 2000-2004 Robert Leslie et al.
Title: Dread Rock
Artist: Paul Oakenfold
Album: Matrix Reloaded
Year: 2003
Genre: Soundtrack
Soundtrack
00:04:19 Layer III, 160 kbps, 44100 Hz, joint stereo (MS), no CRC
# ogg123 Paul\ Oakenfold\ -\ Dread\ Rock.ogg
Audio Device: Advanced Linux Sound Architecture (ALSA) output
Playing: Paul Oakenfold - Dread Rock.ogg
Ogg Vorbis stream: 2 channel, 44100 Hz
Genre: Soundtrack
Transcoded: mp3;160
Title: Dread Rock
Artist: Paul Oakenfold
Date: 2003
Album: Matrix Reloaded
Time: 00:11.31 [04:28.75] of 04:40.06 (200.6 kbps) Output Buffer 96.9%
|
ALSA dan USE
Sekarang anda dapat menambahkan flag USE alsa di file
/etc/make.conf untuk memastikan bahwa aplikasi anda mendapatkan
dukungan ALSA ketika dikompilasi. Flag ini telah diaktifkan secara default pada
beberapa arsitektur seperti x86 dan amd64.
Masalah?
Jika anda tidak bisa mendengarkan suara dari speaker, hal pertama yang harus
anda lakukan ialah memeriksa kembali pengaturan alsamixer anda. 80% penyebab masalah ini adalah
channel yang masih di-mute atau level volume yang rendah. Periksa juga applet
suara Window Manager anda dan pastikan agar volume telah ditetapkan ke level
yang dapat didengar.
/proc adalah teman anda. Pada kasus ini, /proc/asound
merupakan teman terbaik anda. Kita akan melihat berapa banyak info yang
tersedia untuk kita di sana.
Daftar Kode 3.9: Bersenang-senang dengan /proc/asound |
# cat /proc/asound/cards
0 [Live ]: EMU10K1 - Sound Blaster Live!
Sound Blaster Live! (rev.6, serial:0x80271102) at 0xb800, irq 11
# cat /proc/asound/version
Advanced Linux Sound Architecture Driver Version 1.0.8 (Thu Jan 13 09:39:32 2005 UTC).
# cat /proc/asound/oss/sndstat
Sound Driver:3.8.1a-980706 (ALSA v1.0.8 emulation code)
Kernel: Linux airwolf.zion 2.6.11ac1 #2 Wed May 4 00:35:08 IST 2005 i686
Config options: 0
Installed drivers:
Type 10: ALSA emulation
Card config:
Sound Blaster Live! (rev.6, serial:0x80271102) at 0xb800, irq 11
Audio devices:
0: EMU10K1 (DUPLEX)
Synth devices: NOT ENABLED IN CONFIG
Midi devices:
0: EMU10K1 MPU-401 (UART)
Timers:
7: system timer
Mixers:
0: SigmaTel STAC9721/23
|
Masalah yang sering dihadapi oleh pengguna adalah masalah"Unknown symbol in
module" yang cukup menakutkan, seperti yang ditampilkan di contoh berikut
ini.
Daftar Kode 3.10: Masalah Unknown Symbol di modul |
# /etc/init.d/alsasound start
* Loading ALSA modules ...
* Loading: snd-card-0 ... [ ok ]
* Loading: snd-pcm-oss ...
WARNING: Error inserting snd_mixer_oss
(/lib/modules/2.6.12-gentoo-r6/kernel/sound/core/oss/snd-mixer-oss.ko): Unknown
symbol in module, or unknown parameter (see dmesg) FATAL: Error inserting
snd_pcm_oss
(/lib/modules/2.6.12-gentoo-r6/kernel/sound/core/oss/snd-pcm-oss.ko): Unknown
symbol in module, or unknown parameter (see dmesg)
[ !! ]
* Loading: snd-mixer-oss ...
FATAL: Error inserting snd_mixer_oss
(/lib/modules/2.6.12-gentoo-r6/kernel/sound/core/oss/snd-mixer-oss.ko): Unknown
symbol in module, or unknown parameter (see dmesg)
[ !! ]
* Loading: snd-seq ... [ ok ]
* Loading: snd-emu10k1-synth ... [ ok ]
* Loading: snd-seq-midi ... [ ok ]
* Restoring Mixer Levels ... [ ok ]
|
Dan ketika anda melihat tampilan dmesg seperti yang disarankan,
kemungkinan besar anda akan menemukan:
Daftar Kode 3.11: Output dmesg |
# dmesg | less
ACPI: PCI Interrupt 0000:02:06.0[A] -> Link [APC3] -> GSI 18 (level, low) -> IRQ 209
snd_mixer_oss: Unknown symbol snd_unregister_oss_device
snd_mixer_oss: Unknown symbol snd_register_oss_device
snd_mixer_oss: Unknown symbol snd_mixer_oss_notify_callback
snd_mixer_oss: Unknown symbol snd_oss_info_register
snd_pcm_oss: Unknown symbol snd_unregister_oss_device
snd_pcm_oss: Unknown symbol snd_register_oss_device
snd_pcm_oss: Unknown symbol snd_mixer_oss_ioctl_card
snd_pcm_oss: Unknown symbol snd_oss_info_register
snd_mixer_oss: Unknown symbol snd_unregister_oss_device
snd_mixer_oss: Unknown symbol snd_register_oss_device
snd_mixer_oss: Unknown symbol snd_mixer_oss_notify_callback
snd_mixer_oss: Unknown symbol snd_oss_info_register
|
Masalah di atas terjadi ketika anda pindah dari alsa-driver ke driver
ALSA di kernel. Karena anda meng-unmerge alsa-driver, modul dan file
konfigurasi yang dilindungi masih tertinggal. Jadi, modprobe akan
memberikan anda campuran dari alsa-driver dan modul dari kernel yang
dapat menyebabkan masalah tersebut.
Solusinya sangat mudah. Kita hanya perlu menghapus direktori yang menyebabkan
masalah ini setelah anda meng-unmerge alsa-driver. Pastikan bahwa anda
menghapus versi kernel yang benar, bukan yang sedang anda gunakan!
Daftar Kode 3.12: Menghapus modul-modul alsa-driver |
# rm -rf /lib/modules/$(uname -r)/alsa-driver
|
Penyebab lain dari masalah yang mirip dengan masalah tadi bisa jadi sebuah file
di /etc/modules.d memberikan sebuah parameter device_mode
yang tidak diperlukan. Konfirmasikan apakah ini penyebabnya lalu temukan file
jahat itu.
Daftar Kode 3.13: Konfirmasi dan cari device_mode |
# dmesg | grep device_mode
snd: Unknown parameter `device_mode'
# grep device_mode /etc/modules.d/*
|
Biasanya file ini bernama alsa dengan baris options snd
device_mode=0666. Hapus baris ini lalu restart servis alsasound, maka
anda akan terbebas dari masalah ini.
4.
Hal-hal lain terkait ALSA
Menyiapkan dukungan MIDI
Jika kartu suara anda memiliki synthesizer MIDI on-board dan anda ingin
mendengarkan file .mid, anda harus menginstal awesfx yang
pada dasarnya merupakan kumpulan utilitas untuk mengendalikan driver AWE32.
Pertama kita perlu menginstalnya. Jika anda tidak memiliki synthesizer
hardware, anda dapat menggunakan synthesizer virtual. Bacalah bagian
Synthesizer Virtual untuk info lebih lanjut.
Daftar Kode 4.1: Instalasi awesfx |
# emerge awesfx
|
Catatan:
Anda perlu menyalin file-file SoundFont (SF2) dari CD driver kartu suara anda,
atau dari instalasi Windows ke /usr/share/sounds/sf2/. Sebagai
contoh, sebuah file font suara untuk kartu Creative SBLive! adalah 8MBGMSFX.SF2.
|
Setelah menyalin file-file Soundfont, kita akan memainkan sebuah file midi
seperti yang ditunjukkan di bawah ini. Anda juga dapat menambahkan perintah
asfxload ke /etc/conf.d/local.start, agar font sound
dimuat setiap kali sistem dinyalakan.
Catatan:
Path /mnt yang disebutkan di baris kode berikut ini tidak
akan sama dengan yang ada di komputer anda. Ini hanya contoh. Harap
mengganti path dengan yang sesuai.
|
Daftar Kode 4.2: Load Soundfonts |
# cp /mnt/win2k/Program\ Files/CreativeSBLive2k/SFBank/8MBGMSFX.SF2 /usr/share/sounds/sf2/
# cp /mnt/cdrom/AUDIO/ENGLISH/SFBANK/8MBGMSFX.SF2 /usr/share/sounds/sf2/
# asfxload /usr/share/sounds/sf2/8MBGMSFX.SF2
|
Sekarang anda bisa memainkan file midi menggunakan program seperti
aplaymidi. Jalankan aplaymidi -l untuk mendapatkan daftar port
yang tersedia lalu pilih salah satu untuk memainkan file di port tersebut.
Daftar Kode 4.3: Memainkan file MIDI |
# aplaymidi -l
Port Client name Port name
64:0 EMU10K1 MPU-401 (UART) EMU10K1 MPU-401 (UART)
65:0 Emu10k1 WaveTable Emu10k1 Port 0
65:1 Emu10k1 WaveTable Emu10k1 Port 1
65:2 Emu10k1 WaveTable Emu10k1 Port 2
65:3 Emu10k1 WaveTable Emu10k1 Port 3
# aplaymidi --port=65:0 /mnt/shyam/music/midi/mi2.mid
|
Synthesizer Virtual
Jika kartu suara anda tidak memiliki synthesizer hardware, anda dapat
menggunakan synthesizer virtual seperti timidity++. Instalasinya mudah.
Daftar Kode 4.4: Instalasi timidity++ |
# emerge timidity++
|
Agar timidity dapat memainkan file, diperlukan sebuah soundfont. Tetapi
anda tidak perlu khawatir karena ebuild timidity++ akan menginstal
beberapa soundfont untuk anda. Ada beberapa paket font sound
lain yang dapat anda instal dari Portage, seperti timidity-eawpatches
dan timidity-shompatches yang akan memberikan anda beberapa
soundfont. Anda boleh memiliki lebih dari satu konfigurasi
soundfont terinstal, dan anda boleh meletakkannya di
/usr/share/timidity/. Untuk pindah dari satu konfigurasi timidity
ke konfigurasi lainnya, anda harus menggunakan eselect.
Daftar Kode 4.5: Mengganti konfigurasi |
# eselect timidity list
# eselect timidity set eawpatches
|
Jangan lupa tambahkan timidity ke runlevel default.
Daftar Kode 4.6: Menambahkan timidity ke runlevel default |
# rc-update add timidity default
# /etc/init.d/timidity start
|
Sekarang anda boleh mencoba Memainkan
file MIDI.
Tool dan Firmware
Beberapa kartu suara tertentu bisa mendapatkan keuntungan dari beberapa tool
yang disediakan oleh paket alsa-tools dan alsa-firmware.Anda
dapat menginstal salah satunya dengan emerge.
Daftar Kode 4.7: Instalasi Tool ALSA |
# emerge alsa-tools
|
Lebih dari kartu suara
Jika anda memiliki lebih dari satu kartu suara di sistem pada waktu yang
bersamaan, dengan catatan anda telah menginstal driver sebagai modul dari
kernel (atau menginstal paket alsa-driver), anda hanya perlu menentukan
kartu mana yang harus dinyalakan pertama kali di
/etc/modules.d/alsa. Kartu-kartu anda akan dikenali dengan nama
drivernya masing-masing di dalam file ini. 0 adalah kartu pertama, 1 adalah
kartu kedua, dan seterusnya. Berikut ini contoh sistem yang memiliki dua kartu
suara.
Daftar Kode 4.8: Dua kartu suara di /etc/modules.d/alsa |
options snd-emu10k1 index=0
options snd-via82xx index=1
|
Atau, jika anda memiliki dua kartu suara yang menggunakan dua driver yang sama,
tentukan keduanya pada baris yang sama, dengan menggunakan koma untuk
memisahkan nomor-nomornya. Berikut ini adalah contoh sistem dengan tiga kartu
suara, dua di antaranya adalah kartu Intel High Definition Audio.
Daftar Kode 4.9: Banyak kartu suara di /etc/modules.d/alsa |
options snd-ymfpci index=0
options snd-hda-intel index=1,2
|
Plugin
Anda mungkin ingin menginstal beberapa plugin untuk mendapatkan kegunaan
tambahan. alsa-plugins merupakan kumpulan plugin, yang berisi:
output PulseAudio, pengubah sample rate, jack (low-latency
audio server), dan encoder yang dapar anda gunakan untuk
mengeluarkan suara 6-channel melalui koneksi S/PDIF digital (optical dan
coaxial). Anda dapat memilih plugin yang ingin anda instal dengan menambahkan
flag USE yang sesuai di /etc/portage/package.use.
Daftar Kode 4.10: Instalasi alsa-plugins |
# emerge -avt alsa-plugins
|
Terima kasih kepada...
Semua yang telah berkontribusi di versi terdahulu dari Panduan ALSA Gentoo:
Vincent Verleye, Grant Goodyear, Arcady Genkin, Jeremy Huddleston,
John P. Davis, Sven Vermeulen, Benny Chuang, Tiemo Kieft dan Erwin.
Referensi
Isi dokumen ini dilisensikan dengan lisensi Creative Commons -
Attribution / Share Alike.
|