Содержание

Skip to end of metadata
Go to start of metadata

Вывод звука в Astra Linux

Для вывода звука в Astra Linux (ОС СН Смоленск 1.5/1.6, ОС ОН Орёл 2.12) используются:

  • пакет ALSA  (Advanced Linux Sound Architecture, Продвинутая звуковая архитектура Linux) - набор низкоуровневых драйверов и инструментов управления для звуковых устройств
  • пакет pulseaudio - высокоуровневый звуковой сервер, работающий с ALSA

Эти пакеты входят в дистрибутивы Astra Linux и устанавливаются автоматически при установке ОС.

При этом в современных компьютерах, в большинстве случаев, "из коробки" имеется два варианта вывода звука:

  • аналоговый звук через аналоговый кодек, обычно интегрированный в материнскую плату;
  • цифровой звук через порт HDMI/Display Port  видеокарты (как интегрированной в материнскую плату, так и дополнительной, если таковая имеется).
    Так как интерфейсы HDMI и Display Port поддерживают передачу и видео и звука, большинство современных видеокарт умеют передавать звук в видеопотоке, только бы подключенное устройство умело его воспроизводить.

Быстрая настройка с использованием pulseaudio

Основным инструментом для работы с pulseaudio является графический инструмент pavucontrol.
Инструмент устанавливается автоматически при установке ОС и доступен для запуска из меню ("Пуск" - "Мультимедиа" - "Регулятор громкости PulseAudio) или из командной строки:

pavucontrol
Инструмент позволяет выбрать и настроить нужное устройство для вывода звука в графическом режиме (Закладка "Конфигурация" - "Профиль"):

Работа с ALSA

Файлы конфигурации alsa

Файлы конфигурации описаны в таблице в порядке их применения:

ФайлОписание
/usr/share/alsa/alsa.conf

Основной файл конфигурации.
Обрабатывается первым при запуске системы или при подключении нового устройства.
Отвечает за расположение всех остальных файлов конфигурации

/usr/share/alsa/cards/aliases.confТаблица соответствия между именами устройств уровня ядра и подробными описаниями свойств звуковых карт
/usr/share/alsa/cards/ИМЯ_КАРТЫ.confФайлы с описанием свойств звуковых карт. Именно по ним ALSA пытается определить наиболее оптимальные настройки звука.
/etc/asound.confФайл системных настроек. По умолчанию - отсутствует.
~/.asoundrcФайл индивидуальных пользовательских настроек.По умолчанию - отсутствует.

С подробным описанием синтаксиса конфигурационных файлов можно ознакомиться по ссылке: https://www.alsa-project.org/main/index.php/Asoundrc

Определение звуковой карты

Как уже сказано выше, в современных компьютерах в большинстве случаев присутствуют два звуковых устройства: аналоговое и видеокарта.
В большинстве случаев, они интегрированы в материнскую плату, представлены одним устройством, и определяют подключение к ним звуковоспроизводящих устройств автоматически.

Однако, часто возникает ситуация, когда используемой по умолчанию звуковой картой определяется нежелательное устройство, которое не может воспроизводить звук.
Для исправления порядка загрузки звуковых карт сначала требуется узнать под каким порядковым номером распознается необходимая звуковая карта. Для этого выполните команду:

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


К примеру мы хотим, чтобы первой звуковой картой определялась карта:

card 2: Audio [Altec Lansing XT1 - USB Audio], device 0: USB Audio [USB Audio]
Subdevices: 1/1 Subdevice #0: subdevice #0


Тогда создать файл

  • /etc/asound.conf (для общесистемной настройки)
  • или в файле пользователя .asoundrc (для индивидуальной настройки )

со следующим содержимым:

pcm.!default {
  type hw
  card 2
  device 0
}


ctl.!default {
  type hw
  card 2
  device 0
}

Альтернативный вариант определения списка карт (однако, этот способ не позволит определить устройство внутри карты):

cat /proc/asound/cards
Например:

0 [PCH          ]: HDA-Intel - HDA Intel PCH
                       HDA Intel PCH at 0xfb400000 irq 39
1 [NVidia       ]: HDA-Intel - HDA NVidia
                       HDA NVidia at 0xfb080000 irq 17

Тогда содержание /etc/asound.conf или .asoundrc:

pcm.!default {
  type hw
  card PCH
}

ctl.!default {
  type hw
  card PCH
}

Настройка вывода через HDMI

Выполнить aplay -l в котором видно несколько устройств HDMI:

card 0: PCH [HDA Intel PCH], device 0: ALC887-VD Analog [ALC887-VD Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 1: ALC887-VD Digital [ALC887-VD Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 7: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 8: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 9: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0

Опытным путём надо подобрать device.
Например, проверив содержимое файлов *.eld в каталогах /proc/asoud/card*/ (в этих файлах хранится информация, которую сообщило о себе устройство, подключенное через HDMI/Display Port):

cat /proc/asound/card0/eld#3.0

Пример информации, когда никакого устройства нет:

cat eld#2.0
monitor_present         0
eld_valid               0

Пример информации при наличии подключенного устройства

 Click here to expand...

monitor_present 1
eld_valid 1
monitor_name TX-SR606
connection_type HDMI
eld_version [0x2] CEA-861D or below
edid_version [0x3] CEA-861-B, C or D
manufacture_id 0xcb3d
product_id 0x863
port_id 0x0
support_hdcp 0
support_ai 1
audio_sync_delay 0
speakers [0x4f] FL/FR LFE FC RL/RR RLC/RRC
sad_count 8
sad0_coding_type [0x1]
LPCM sad0_channels 2
sad0_rates [0x1ee0] 32000 44100 48000 88200 96000 176400 192000
sad0_bits [0xe0000] 16 20 24
sad1_coding_type [0x1] LPCM
sad1_channels 8
sad1_rates [0x1ee0] 32000 44100 48000 88200 96000 176400 192000
sad1_bits [0xe0000] 16 20 24
sad2_coding_type [0x2] AC-3
sad2_channels 8 sad2_rates [0xe0] 32000 44100 48000
sad2_max_bitrate 640000
sad3_coding_type [0x7] DTS
sad3_channels 8 sad3_rates [0xc0] 44100 48000
sad3_max_bitrate 1536000
sad4_coding_type [0x9] DSD (One Bit Audio)
sad4_channels 6
sad4_rates [0x40] 44100
sad5_coding_type [0xa] E-AC-3/DD+ (Dolby Digital Plus)
sad5_channels 8
sad5_rates [0xc0] 44100 48000
sad6_coding_type [0xb] DTS-HD
sad6_channels 8 sad6_rates [0x1ec0] 44100 48000 88200 96000 176400 192000
sad7_coding_type [0xc] MLP (Dolby TrueHD)
sad7_channels 8 sad7_rates [0x1480] 48000 96000 192000

Т.е. подключенное устройство сообщило, что оно поддерживает LPCM (Linear PCM, т.е. несжатое аудио) до 8-ми каналов, 192KHz, 24-bi, AC3, DTS, DSD, DD+, DTS-HD, и Dolby TrueHD.
(при этом поддерживаемые устройством форматы можно передавать на устройство без какой-либо обработки на компьютере).

Пример содержимого файла /etc/asound.conf

pcm.!default {
 type hw
 card 1
 device 7
}

ctl.!default {
  type hw
  card 1
}

или

pcm.!default {
  type plug
  slave {pcm "hw:1,7"}
}

ctl.!default {
  type hw card 1
}

После перезагрузки первой определится указанная звуковая карта.
Если необходимо применить индивидуальные настройки для пользователей, то используйте файл .asoundrc в соответствующем домашнем каталоге.


  • No labels