Эта заметка специально для тех, кто пользуется "чистой" алсой, т.е. для любителей LXDE, XFCE, KDE и Gnome без PulseAudio.
В настоящее время всё большее распостранение получили звуковые карты без аппаратной обработки звука.
Это "бесплатные" карты впаяные в материнки, карты на ноутах и многочисленные девайсы на чипах типа ice1720/24.
Все эти карты требуют программного ресэмплирования и специальной обработки сигнала перед отправкой на чип.
Обычно ALSA не афиширует этот процесс и рядовой прользователь даже не догадывается, как всё работает.
Догадываться приходится когда что-то перестаёт работать: не играют два плеера одновременно, нет 5.1 звука, не записывает микрофон и т.д.
В таком случае приходится править алсовый конфиг "~/.asoundrc".
Предлагаю широкой публике автоматизированый генератор конфиг файлов для ALSA.
Устанавливается он просто: через менеджер пакетов или через dpkg (осторожно! у него есть зависимости и их нужно поставить)
Запускается ещё проще:
arateconf
Если запустить с sudo, то получится глобальная настройка для всех пользователей системы.
Что бы не навредить, сохраните свой "~/.asoundrc" (если он есть), а потом, в случае чего, верните на место.
Эта штука позволяет:
1. Настроить выходные параметры карты: частоту дискретизации, число каналов, число бит на сэмпл.
2. Выбрать устройства ввода и вывода звука.
3. Выбрать ресэмплер.
4. Настроить phonon для KDE
После всех настроек, сохраните их в файл и смело выходите из конфигуратора.
Затем нужно во всех плеерах и звукопроизводящих программах установить ALSA устройство "default".
Например, дла mplayer: ao alsa=device:default
Некоторые замечания:
- Всё сделано для Ubuntu 10.04 i386 и ALSA 1.0.22.1
Корректную работу на других версиях не гарантирую
- По поводу ресэмплеров. Они различаются качеством и быстродействием.
Представлены 2 их вида:
speexrate и samplerate - стандартные из набора ALSA
fftrate - самодельный. Есть мнение, что он лучше стандартных
- В KDE частенько системные звуки не играются одновременно с другими звуками.
Это происходит из-за того, что phonon пытается играть напрямую через дивайс, а нужно через ALSA dmix (а dmix он самостоятельно не видит).
Предлагаемый конфигуратор генерит специальный плюг в конфиг-файле, который нужно выбрать в systemsettings->multimedia.
После этого всё играет одновременно.
Данный продукт тестировался на картах ice1724, ICH4 и ICH5 - всё прошло отлично.
Ещё раз повторю: счастливым обладателям карт с аппаратной обработкой всё это не нужно.
Буду рад, если кому-то пригодится, а если кто потестит, так я буду просто счастлив.
Если написал ерунду, не ругайте.