Minggu, 08 Juli 2007

Tips ALSA

ALSA (Advanced Linux Sound System) adalah sistem audio resmi Linux yang baru. Distro-distro baru pasti sudah menyediakannya. Namun ada beberapa tips supaya anda bisa memakainya secara optimal.

Level: Wannabee

Saya asumsi ALSA sudah terpasang, dan tinggal pakai.

UN-MUTE

Kalau anda jalankan multimedia program seperti XMMS atau XINE dan mereka jalan tapi tidak ada suara, itu artinya ALSA anda masih di-mute (mati). Untuk menghidupkan sebagai root, jalankan alsamixer lalu un-mute channel Master dan PCM

# alsamixer
Setelah itu simpan setting-nya:
# alsactl store

ENABLE SEMUA USER

Secara default, ALSA cuma bisa dipakai oleh root. Agar user biasa bisa pakai, ada dua cara.

Pertama, daftarkan user sebagai group audio

# usermod -G audio nama_user
Cara ini adalah dianjurkan, tapi pegel kalau buat banyak user.

Cara kedua, ijinkan saja file-file audio untuk semua orang

# chmod -R a+rwx /dev/snd
Ini cara sapu jagad, dan agak tidak aman. User jail bisa delete sound device anda :)

MULTI CHANNEL

Misalkan anda sudah memainkan musik pakai XMMS. Kalau lalu anda mainkan video pakai xine, suara tidak keluar. Itu karena ALSA anda masih mode exclusive. Agar bisa main bareng, buat file $HOME/.audiorc yang isinya sbb.:

# This rc enables multiple applications
# using the sound simultaneusly
# the applications must use alsa output
# (not Oss, OSD or Arts)
# Set the channel to ossmix or default should be fine

pcm.ossmix {
type dmix
ipc_key 1021 # must be unique!
slave {
pcm "hw:0,0"
period_time 0
period_size 1024 # must be power of 2
buffer_size 8192 # dito. It
#format "S32_LE"
#periods 128 # dito.
rate 48000
}

# bindings are cool. This says, that only the first
# two channels are to be used by dmix, which is enough for
# (most) oss apps and also lets multichannel chios work
# much faster:
bindings {
0 0 # from 0 => to 0
1 1 # from 1 => to 1
}
}

# Redirect to ossmix
pcm.!default {
type plug
slave.pcm "ossmix" # use our new PCM here
}

# Redirect to ossmix
pcm.dsp0 {
type plug
slave.pcm "ossmix" # use our new PCM here
}

# mixer0 like above
ctl.mixer0 {
type hw
card 0
}

Secera teknis, rc ini membuat alsa menjalankan sound daemon yang akan menerima audio dari banyak sumber, lalu mencampurnya (mix) sebelum di kirim ke audio device. Jadi, pastikan XMMS dan XINE semuanya pakai output ALSA (set dari preference-nya). Suara dari mereka berdua akan bisa terdengar.

Tidak ada komentar: