Translation(s): none


Часто задаваемые вопросы о ALSA.

Как установить и настроить 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).

Сделать это можно:

У меня несколько звуковых карт, как задать карту по умолчанию?

Сначала нужно посмотреть какие карты обнаружились ядром (файл /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 и при этом он включен. Либо отключите его, либо настраивайте разрешения.