Translation(s): none
Часто задаваемые вопросы о ALSA.
Contents
- Как установить и настроить ALSA?
- ALSA установлен, а звука нет. Что делать?
- Как сохранить настройки микшера при использовании ALSA? Как сделать, чтобы они восстанавливались?
- У меня несколько звуковых карт, как задать карту по умолчанию?
- Где в Linux эквалайзер? Как мне поднять/прибрать высокие/низкие частоты для всех аудио-приложений?
- Приложение полностью занимает звуковую карту, что делать?
- Как сделать программное микширование с ALSA на картах, не поддерживающих аппаратное?
- Что за ошибка FATAL: Error running install command for sound_slot_0?
Как установить и настроить ALSA?
В ядре Debian GNU/Linux ALSA является стандартной звуковой подсистемой и, если не установлено какое-нибудь экзотическое аудиоустройство, работает "из коробки".
Если у вас установлена мало распространенная звуковая карта, может оказаться, что в вашем ядре не собран модуль для работы с ней. В этом случае, будет достаточно пересобрать ядро, вместе с требуемым модулем (его название можно узнать в описании вашей звуковой карты На ALSA SoundCard Matrix).
ALSA установлен, а звука нет. Что делать?
По умолчанию после установки ALSA (если ранее она не стояла), все каналы находятся в заглушенном положении (mute). Поэтому запустите alsamixer (из пакета alsa-utils) и снимите mute клавишей m с каналов Master и PCM. Кнопки курсора вверх и вниз позволят установить требуемый уровень звука. Это же можно сделать с помощью любого аудио микшера, например gnome-volume-control (из пакета gnome-media) в GNOME, kmix в KDE и т.д.
Как сохранить настройки микшера при использовании ALSA? Как сделать, чтобы они восстанавливались?
Для сохранения настроек выполните команду:
# alsactl store
А чтобы они восстанавливались (и записывались) нужно, чтобы в инит-скриптах стартовал демон alsa-utils (из пакета alsa-utils).
Сделать это можно:
с помощью утилиты rcconf поставив галочку в alsa-utils;
с помощью инструмента GNOME «Службы» (из пакета gnome-system-tools) поставив галочку в alsa-utils.
У меня несколько звуковых карт, как задать карту по умолчанию?
Сначала нужно посмотреть какие карты обнаружились ядром (файл /proc/asound/cards):
$ cat /proc/asound/cards 0 [Audigy2 ]: Audigy2 - SB Audigy 2 [SB0240] SB Audigy 2 [SB0240] (rev.4, serial:0x10071102) at 0xdc00, irq 16 1 [NVidia ]: HDA-Intel - HDA NVidia HDA NVidia at 0xf9e78000 irq 23
Например установлены 2 карты, одна из которых называется Audigy2, вторая - NVidia. Для выбора карта по умолчанию нужно открыть в редакторе /etc/asound.conf (глобальные настройки), либо ~/.asoundrc (настройки пользователя) и задать устройство по умолчанию (в примере по умолчанию выбрана NVidia):
pcm.!default { type hw card NVidia } ctl.!default { type hw card NVidia }
всё, если вы редактировали ~/.asoundrc, то достаточно перезапустить приложения (или перелогиниться), в случае asound.conf потребуется перезагрузка.
Где в Linux эквалайзер? Как мне поднять/прибрать высокие/низкие частоты для всех аудио-приложений?
Наиболее простой способ при использовании ALSA, описан здесь. В звуковых картах Creative Labs (семейства Live!, Audigy, X-Fi) встроен двухполосный аппаратный эквалайзер, но пользоваться им не рекомендуется из-за ощутимого ухудшения звучания при его использовании.
Приложение полностью занимает звуковую карту, что делать?
Начиная с какой-то-там версии ALSA dmix работает по умолчанию. Этот вопрос устарел, так как arts и esound уже давно не используются.
Как сделать программное микширование с ALSA на картах, не поддерживающих аппаратное?
Начиная с версии 1.0.9 ALSA сама определяет способна ли карта аппаратно микшировать потоки и если нет, включает dmix. На всякий случай стоит вспомнить как это настраивается вручную:
pcm.!default { type plug slave.pcm "dmixer" } pcm.dsp0 { type plug slave.pcm "dmixer" } pcm.dmixer { type dmix ipc_key 1024 slave { pcm "hw:0,0" period_time 0 period_size 1024 buffer_size 8192 rate 44100 } bindings { 0 0 1 1 } } ctl.mixer0 { type hw card 0 }
Лучше всего добавить это в ~/.asound.conf.
Что за ошибка FATAL: Error running install command for sound_slot_0?
Есть три варианта - простой, сложный и очень сложный.
Простой
В /etc/modprobe.d/modprobe.conf не хватает упоминания snd-slot-0:
alias snd-slot-0 snd-card-0
Сложный
Невозможно загрузить модуль звуковой карты и как следствие, нельзя к нему обратиться. Может перепутано имя, может карта неплотно стоит в слоте (отвалилась, такое бывает).
Очень сложный
Вы работаете с поддержкой SELinux и при этом он включен. Либо отключите его, либо настраивайте разрешения.