Advanced Linux Sound Architecture (ALSA) — Архитектура звуковых драйверов, а также широкий их набор для Linux, призванная сменить OSS и обеспечивающая возможность обмена между приложениями звуковыми данными с гарантируемой предельно низкой задержкой. ALSA поддерживает широкий спектр как любительских, так и профессиональных звуковых интерфейсов (в том числе, многоканальных), а также совместима с OSS API и способна работать с большинством программ написанных только для OSS.
В большинстве современных дистрибутивных ядер ALSA является стандартной звуковой подсистемой и, если у вас не установлено какое-нибудь экзотическое аудиоустройство, работает "из коробки".
Если у вас установлена мало распространенная звуковая карта, может оказаться, что в вашем ядре не собран модуль для работы с ней. В этом случае, будет достаточно пересобрать ядро, вместе с требуемым модулем (его название можно узнать в описании вашей звуковой карты по адресу [1]).
/* FIXME: написать о сборке ALSA из исходников, брать отсюда: [2] */
По умолчанию после установки ALSA (если ранее она не стояла), все каналы находятся в заглушенном положении (mute). Поэтому запустите alsamixer и снимите mute клавишей m с каналов Master и PCM. Кнопки курсора вверх и вниз позволят установить требуемый уровень звука.
Для сохранения настроек выполните команду
user@linux# /usr/sbin/alsactl store
А чтобы они восстанавливались (и записывались) нужно, чтобы в инит-скриптах вашего дистрибутива стартовал демон alsasound или 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 может потребоваться перезагрузка.
Этот вопрос задается регулярно. Наиболее простой способ, если вы пользуетесь ALSA, описан здесь. В звуковых картах Creative Labs (семейства Live!, Audigy, X-Fi) встроен двухполосный аппаратный эквалайзер, но пользоваться им не рекомендуется из-за ощутимого ухудшения звучания при его использовании.
/* FIXME: начиная с какой-то-там версии ALSA dmix работает по умолчанию. ИМХО, этот вопрос устарел, так как arts и esound уже давно не используются */
Начиная с версии 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
Есть три варианта - простой, сложный и очень сложный.
В /etc/modprobe.d/modprobe.conf не хватает упоминания snd-slot-0:
alias snd-slot-0 snd-card-0
Невозможно загрузить модуль звуковой карты и как следствие, нельзя к нему обратиться. Может перепутано имя, может карта неплотно стоит в слоте (отвалилась, такое бывает).
Вы работаете в дистрибутиве с поддержкой SELinux (например, Fedora) и при этом он включен. Либо отключите его, либо настраивайте разрешения.
Если часть железа работает, основные колонки например, а часть не работает, например наушники, сабвуфер или микрофон, то проблема может быть в сотрудничестве Алсы и вашей звуковой карты. Часто помогает это решение.