- User : Zunguguzunguzeng/ALSA
- Установка
- Пользовательские утилиты
- Включение каналов
- Настройка
- Установка дефолтной звуковой карты
- В окружении ядра
- Пользовательский способ
- Как узнать, загрузились ли модули
- Download
- Detailed package descriptions
- alsa-driver
- alsa-lib
- alsa-utils
- alsa-tools
- alsa-firmware
- alsa-plugins
- alsa-oss
- pyalsa
- .bz2 extension handling
- FTP Access
- HTTP access
- Developers: GIT access
- Online Snapshot From ALSA Server
- Daily Snapshot Tarballs (from Takashi Iwai)
- Tracker System
- Rsync
- Advanced Linux Sound Architecture (ALSA) project homepage
- New ALSA Users
- Other information
- Advanced ALSA Users
- Other information
- ALSA Developers
User : Zunguguzunguzeng/ALSA
Advanced Linux Sound Architecture (ALSA) это компонент ядра, призванный заменить оригинальную Open Sound System (OSSv3) в предоставлении драйверов звуковым картам. Помимо драйверов звуковых устройств, ALSA также включает в себя пользовательскую библиотеку для разработчиков приложений, которые хотели бы использовать возможности драйвера с API более высокого уровня чем простое взаимодействие с драйвером ядра.
Установка
ALSA уже включена в ядро Арча по умолчанию, как набор модулей, так что в установке нет необходимости.
udev автоматически проверит оборудование, загрузив соответствующий вашей звуковой карте модуль ядра. Так что звук уже должен работать, просто по умолчанию все каналы заглушены.
Пользователи должны состоять в группе audio, чтобы воспроизводить звук с помощью ALSA. Для добавления пользователя в группу audio можно воспользоваться следующей командой:
# gpasswd -a yourusername audio
Пользовательские утилиты
Пакет alsa-utils включает в себя программу alsamixer, которая позволяет настраивать звук из консоли, или терминала. Устанавливается с помощью pacman:
Установите пакет alsa-oss если хотите, чтобы ваши OSS-приложения работали с dmix (software mixing):
Note: С версии udev>=171 , модули эмуляции OSS ( snd_seq_oss, snd_pcm_oss, snd_mixer_oss ) не загружаются автоматически по умолчанию.
Установите пакет alsa-plugins, если вам нужны high quality resampling, upmixing/downmixing и другие дополнительные программы:
Включение каналов
Текущая версия ALSA устанавливается с заглушенными по умолчанию каналами. Включать каналы нужно вручную.
Для этого прекрасно подойдёт alsamixer (сделанный в ncurses) (либо можно использовать amixer из командной строки):
Буквы «MM» под обозначением канала говорят о том, что канал заглушен, а «00» о том, что включен.
Включите каналы Master и PCM с помощью стрелок на клавиатуре, и клавиши M . Используйте клавишу ↑ , и увеличьте громкость, чтобы gain стал 0dB (его уровень можно увидеть левом верхнем углу: Item: Master [dB gain: 0,00, 0,00] ). Больший уровень gain может стать причиной искажений и шума.
Для 5.1 или 7.1 surround надо включить остальные каналы, такие как: Front, Surround, Center, LFE (subwoofer) и Side (это названия каналов Intel HD Audio, для других карточек они могут отличаться). Здесь надо заметить, что таким образом качество обычного стерео повышено не будет (как повысить качество читай #Upmixing/Downmixing).
Выход из alsamixer осуществляется кнопкой Esc .
Note: У некоторых карточек должен быть выключен digital output, чтобы услышать аналоговый звук. Для Soundblaster Audigy LS надо отключать IEC958 channel.
Note: У некоторых машин, (таких как Thinkpad T61), есть канал Speaker, его нужно включить и прибавить.
Дальше проверка, как работает/не работает звук:
Измените Change -c в соответствии со своей аудиосистемой. Для системы 7.1 используйте -c 8:
Если не работает, читайте #Настройка и #Поиск проблем, чтобы разобраться.
Если всё получилось, то осталось лишь сохранить настройки микшера:
# alsactl -f /var/lib/alsa/asound.state store
Этой командой создаётся файл /var/lib/alsa/asound.state , содержащий установки alsamixerа.
Потом добавьте демон alsa в секцию DAEMONS файла /etc/rc.conf , чтобы микшер автоматически восстанавливал значения при загрузке:
Note: демон alsa просто восстанавливает настройки каналов, читая их из /var/lib/alsa/asound.state . It is separate from the alsa audio library (and kernel level API).
Настройка
Если вы так ничего не слышите, то проверьте ещё раз настройки микшера, и попробуйте запустить alsaconf от имени root:
Все необходимые модули udev должен определить и подгрузить автоматически. Особых настроек потребоваться не должно, (если только для карт ISA).
Warning: Не используйте alsaconf если у вас звуковая карта PCI или ISAPNP, так как записи в modprobe.conf, которые делает alsaconf, могут нарушить автоопределение udevа.
Установка дефолтной звуковой карты
В окружении ядра
Чтобы предотвратить конфликты другого оборудования со звуковой картой, узнайте название модели: lspci(8), и названия модулей ALSA с помощью ls:
total 0 lrwxrwxrwx 1 root root 0 Apr 25 00:56 snd_hda_codec -> ../../snd_hda_codec lrwxrwxrwx 1 root root 0 Apr 25 00:56 snd_hda_codec_realtek -> ../../snd_hda_codec_realtek lrwxrwxrwx 1 root root 0 Apr 25 00:56 snd_hda_intel -> ../../snd_hda_intel lrwxrwxrwx 1 root root 0 Apr 25 00:56 snd_hwdep -> ../../snd_hwdep lrwxrwxrwx 1 root root 0 Apr 25 00:56 snd_pcm -> ../../snd_pcm lrwxrwxrwx 1 root root 0 Apr 25 00:56 snd_timer -> ../../snd_timer
Then add the names of your sound card modules to (source[2]):
options snd slots=snd-intel8x0
These entries ensure that the Intel 82801DB-ICH4 sound card will become card 0 and the PC speaker will become card 1.
Note: You will need to unload all your sound modules and reload them for the changes to take effect. It might be easier to reboot. Your choice.
Note: This method will NOT work if the conflicting devices use the same module. If you would prefer to not configure sound on a per user basis as in the section below, you can directly modify /usr/share/alsa/alsa.conf . For example, replace all «card 0» with «card 1» .
Пользовательский способ
Этот способ не требует прав администратора, изменения делаются от имени простого пользователя, и вступают в силу сразу после перезапуска приложения.
В файле /usr/share/alsa/alsa.conf содержится список настроек, которые alsa применяет по умолчанию. Он может быть переписан в файл ~/.asoundrc .
Опции ‘pcm’ определяют какая именно карта будет использоваться для воспроизведения звука. В свою очередь опции ‘ctl’ определяют какую карту будут использовать программы управления, такие как alsamixer, amixer итп.
Чтобы выяснить какие цифры какое устройство обозначают, используйте aplay -l .
$ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: Intel [HDA Intel], device 0: CONEXANT Analog [CONEXANT Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: Intel [HDA Intel], device 1: Conexant Digital [Conexant Digital] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: JamLab [JamLab], device 0: USB Audio [USB Audio] Subdevices: 1/1 Subdevice #0: subdevice #0 card 2: Audio [Altec Lansing XT1 - USB Audio], device 0: USB Audio [USB Audio] Subdevices: 1/1 Subdevice #0: subdevice #0
Как узнать, загрузились ли модули
Допустим, что udev определил устройства правильно, вы можете это проверить:
$ lsmod|grep '^snd' | column -t snd_hda_codec_hdmi 22378 4 snd_hda_codec_realtek 294191 1 snd_hda_intel 21738 1 snd_hda_codec 73739 3 snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel snd_hwdep 6134 1 snd_hda_codec snd_pcm 71032 3 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec snd_timer 18992 1 snd_pcm snd 55132 9 snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_timer snd_page_alloc 7017 2 snd_hda_intel,snd_pcm
Если вывод команды схож с приведённым выше, значит звуковые драйвера успешно определились.
Note: Начиная с udev>=171 , OSS модули ( snd_seq_oss, snd_pcm_oss, snd_mixer_oss ) не загружаются по умолчанию, это надо сделать вручную: modprobe и/или добавьте их в секцию MODULES , в /etc/rc.conf , если необходимо.
Вам также возможно захочется заглянуть в папку /dev/snd, чтобы просмотреть названия файлов устройств:
$ ls -l /dev/snd total 0 crw-rw---- 1 root audio 116, 0 Apr 8 14:17 controlC0 crw-rw---- 1 root audio 116, 32 Apr 8 14:17 controlC1 crw-rw---- 1 root audio 116, 24 Apr 8 14:17 pcmC0D0c crw-rw---- 1 root audio 116, 16 Apr 8 14:17 pcmC0D0p crw-rw---- 1 root audio 116, 25 Apr 8 14:17 pcmC0D1c crw-rw---- 1 root audio 116, 56 Apr 8 14:17 pcmC1D0c crw-rw---- 1 root audio 116, 48 Apr 8 14:17 pcmC1D0p crw-rw---- 1 root audio 116, 1 Apr 8 14:17 seq crw-rw---- 1 root audio 116, 33 Apr 8 14:17 timer
если у вас присутствуют по крайней мере устройства controlC0 и pcmC0D0p или аналоги, значит звуковые модули определены и загружены правильно.
В случае, если модули определились неправильно, можете попробовать загрузить их вручную:
- Найдите модуль для своей звуковой карты здесь: ALSA Soundcard Matrix, перед названием модуля нужно поставить ‘snd-‘ (например: ‘snd-via82xx’).
- Загрузите модули:
- Сверьтесь с файлами устройств в /dev/snd (см. выше) and/or try if alsamixer or amixer have reasonable output.
- Add snd-NAME-OF-MODULE and snd-pcm-oss to the list of MODULES in /etc/rc.conf to ensure they are loaded next time (make sure snd-NAME-OF-MODULE is before snd-pcm-oss).
- This page was last edited on 29 November 2017, at 18:46.
- Content is available under GNU Free Documentation License 1.3 or later unless otherwise noted.
- Privacy policy
- About ArchWiki
- Disclaimers
Download
See ChangeLogs to find out what has changed since the previous release.
- GPG signing key fingerprint: F04D F507 37AC 1A88 4C4B 3D71 8380 596D A6E5 9C91
- GPG public key block: [1]
Detailed package descriptions
alsa-driver
alsa-driver contains the ALSA components that run in kernel space (e.g. all the modules). It also contains a few user-space components, including the alsasound startup script and a set of ALSA headers.
This package is now obsolete. The kernel development continues in the standard linux kernel tree [2].
The old drivers (alsa-driver) are still available.
alsa-lib
alsa-lib contains the user space library that developers compile ALSA applications against.
alsa-utils
alsa-utils contains various generic ALSA command line tools, such as amixer, aplay, alsaconf, etc.
alsa-tools
alsa-tools contains various more obscure tools and loaders.
alsa-firmware
alsa-firmware contains binary drivers for various third-party products.
alsa-plugins
alsa-plugins contains plugins for various ALSA needs (e.g. Jack).
alsa-oss
alsa-oss contains the OSS compatibilty layer.
pyalsa
pyalsa contains the Python bindings for ALSA
.bz2 extension handling
The .bz2 extension belongs to the bzip2 compression utility which replaces gzip. You may unpack the .tar.bz2 files directly using one of the following commands:
using the newer version of tar: tar -xjf or, using the older version of tar: tar -xIf or, with all versions of tar: bunzip2 -c | tar -xf -
FTP Access
HTTP access
Developers: GIT access
Online Snapshot From ALSA Server
Tarballs are generated from the latest code in ALSA GIT repositories immediately. Get very fresh ALSA code now.
Daily Snapshot Tarballs (from Takashi Iwai)
The tarballs of the latest GIT version with ready-for-build configure script are available at:
Tracker System
Rsync
URL | rsync://rsync.alsa-project.org/ftp |
Access | read-only |
Description | read-only access to the whole FTP tree |
Advanced Linux Sound Architecture (ALSA) project homepage
Introduction
The Advanced Linux Sound Architecture (ALSA) provides audio and MIDI functionality to the Linux operating system. ALSA has the following significant features:
- Efficient support for all types of audio interfaces, from consumer sound cards to professional multichannel audio interfaces.
- Fully modularized sound drivers.
- SMP and thread-safe design (PLEASE READ THIS).
- User space library (alsa-lib) to simplify application programming and provide higher level functionality.
- Support for the older Open Sound System (OSS) API, providing binary compatibility for most OSS programs.
Please, help us to provide better content and organisation on this wiki. Read the Community Portal for more details.
New ALSA Users
We need users to use, test and provide feedback on drivers and applications using ALSA. If you are interested, please subscribe to a mailing list.
Other information
2023-05-04 | alsa-lib,alsa-ucm-conf,alsa-utils 1.2.9 release | Changes v1.2.8 v1.2.9 |
2022-10-25 | alsa-lib,alsa-ucm-conf,alsa-utils,tinycompress 1.2.8 release | Changes v1.2.7.2 v1.2.8 |
2022-07-08 | alsa-lib,alsa-ucm-conf 1.2.7.2 release | Changes v1.2.7.1 v1.2.7.2 |
2022-06-17 | alsa-lib,alsa-ucm-conf,alsa-plugins 1.2.7.1 release | Changes v1.2.7 v1.2.7.1 |
2022-05-31 | alsa 1.2.7 release | Changes v1.2.6.3 v1.2.7 |
2021-12-17 | alsa-ucm-conf 1.2.6.3 release | Changes v1.2.6.2 v1.2.6.3 |
Advanced ALSA Users
We need users to use, test and provide feedback on drivers and applications using ALSA. If you are interested, please subscribe to a mailing list.
Other information
ALSA Developers
We need application developers who choose to use ALSA as the basis for their programs, programmers to work on low level drivers, writers to extend and improve our documentation. If you are interested, please subscribe to a mailing list.