Ключевые слова:mixer, sound, multimedia, linux, alsa, (найти похожие документы)
From: Cheer Igor <cheer.igor@gmail.com.>
Date: Mon, 27 Feb 2007 14:31:37 +0000 (UTC)
Subject: Настройка dmix для одновременного проигрывания звука из разных программ
Оригинал: http://lice.wordpress.com/2007/02/11/dmix-setup/
Наверное, у многих людей в своё время была такая проблема: звук
проигрывался только одним приложением. Например, при прослушивании
музыки не было звуков в ppracer или не было звука от jabber клиента
при приходящем сообщении. Происходит это по той причине, что звуковая
карта не поддерживает аппаратное микширование (например, до покупки
ноутбука я об этой проблеме и не догадывался, оказывается, встроенная
карточка на Asus A8N имеет аппаратное микширование).
В настоящее время практически все используют ALSA, а для
софтверного микширования - dmix. О них и пойдёт речь. С настройкой
звука, наверное, довольно легко разобраться, так что предположим, что
звук уже работает, но только с одним приложением одновременно. Надо
поставить пакет alsa-oss (по крайней мере так он называется в
ArchLinux) и настроить несколько конфигурационных файлов.
/etc/asound.conf:
pcm.ossmix {
type dmix
ipc_key 1024 # must be unique!
ipc_key_add_uid false # let multiple users share
ipc_perm 0666 # IPC permissions for multi-user sharing (octal, default 0600)
slave {
pcm "hw:0,0'' # you cannot use a "plug" device here, darn.
period_time 0
period_size 2048 # must be power of 2
buffer_size 32768 # dito. It
#rate 44100
#format "S32_LE"
#periods 128 # dito.
#rate 8000 # with rate 8000 you *will* hear,
# if ossmix is used :)
}
# 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
}
}
pcm.dsp0 {
type plug
slave.pcm "ossmix" # use our new PCM here
}
# mixer0 like above
ctl.mixer0 {
type hw
card 0
}
# You may want to make your new ossmix the default for alsa.
# If your alsa programs are complaining that they can't open
# your sound devices, try uncommenting this next line
pcm.default pcm.dsp0
/etc/libao.conf:
default_driver=alsa09 #может быть, alsa10, но у меня работает только с 09
Теперь два mpg321 могут использовать вывод одновременно, но некоторые
приложения ещё нуждаются в дополнительной настройке. Некоторые из них
я опишу:
mpd
мне потребовалось вписать в /etc/mpd.conf:
audio_output {
type "alsa"
name "My ALSA Device"
device "hw:0,0'' # потребовалось прямо указать device
# format "44100:16:2'' # optional
}
и в секции микширования:
mixer_type "alsa"
mixer_device "dmix"
mixer_control "PCM"
приложения, использующие openal:
впишем в ~/.openalrc или в /etc/openalrc:
(define devices `(alsa))
(define speaker-num 2)
(define alsa-out-device "default")
(define sampling-rate 44100)
Что касается большинства остальных приложений, достаточно просто
указать в устройстве вывода ALSA. Также на сайте используемой
программы обычно есть описание настройки софтверного микширования.
Говорят, что dmix понижает качество вывода звука. Поскольку в этом
деле я невеликий специалист (да на ноутбуке качество звука при
стандартных колонках тоже неважное), то сказать могу только то, что
стало тише, но мне всё равно хватает =)
Полезные ссылки:
Dmix ALSA wikiнастройка микширования с ArchLinux wikiнастройка ALSA (с dmix) с gentoo wiki
P.S. во второй ссылке описаны и другие способы микширования.
По-хорошему, надо бы мне эту статью перевести (русскоязычное ArchWiki
- в массы!), но пока нет времени.