воскресенье, 6 сентября 2009 г.

Воспроизведение звука из нескольких источников

Недавно приобрёл ноутбук ASUS K50AB. Естественно поставил Gentoo. Не понятно почему, но возникли проблемы с воспроизведением и записью звука, точнее с микшированием нескольких каналов.
Решением оказалось использование alsa-плагинов: dmix, dsnoop (первый, соответственно, для микширования воспроизведения, второй - записи). Для их использования необходимо внести изменения в файл ~/.asoundrc/asound.conf Подходящая конфигурация была найдена здесь здесь. Вот собственно сама она:
# asym per default
pcm.!default {
     type plug
     slave.pcm "asymer"
}

# for the aoss script
pcm.dsp0 {
     type plug
     slave.pcm "asymer"
}

# asym plugin magic
pcm.asymer {
     type asym
     playback.pcm "dmixer"
     capture.pcm "dsnooper"
}

# playback channel
pcm.dmixer  {
     type dmix
     ipc_key 1024
     slave {
         pcm "hw:0,0"
         period_time 0
         period_size 1024
         buffer_size 8192
         #periods 128
         rate 44100
     }
     bindings {
         0 0
         1 1
     }
}

# record channel
pcm.dsnooper  {
     type dsnoop
     ipc_key 1024
     slave {
         pcm "hw:0,0"
         period_time 0
         period_size 1024
         buffer_size 8192
         #periods 128
         rate 44100
     }
     bindings {
         0 0
         1 1
     }
}

# sound mixer
ctl.mixer0 {
     type hw
     card 0
}