Как сделать звук на линуксе

Обновлено: 05.07.2024

Оригинал: Control Audio volume through the Ubuntu Command Line
Автор: Karim Buzdar
Дата публикации: 10 июля 2019 года
Перевод: А. Кривошей
Дата перевода: февраль 2020 г.

Человек, разбирающийся в терминале, найдет способ выполнить любое действие, находясь в командной строке. В основном мы делаем системные настройки в графическом интерфейсе Ubuntu, но есть определенные ситуации, когда вы можете сделать это из командной строки. ALSA или Advanced Linux Sound Architecture обеспечивает поддержку аудио для большинства дистрибутивов Linux.

В этой статье мы объясним, как вы можете установить пакет утилит ALSA, если он еще не установлен в вашей Ubuntu. Мы также объясним, как вы можете управлять звуковыми свойствами ваших звуковых карт с помощью:

Alsamixer - графический интерфейс для ALSA
Amixer - командный интерфейс для ALSA

Мы запускали команды и процедуры, упомянутые в этой статье, в системе Ubuntu 18.04 LTS.

Установка ALSA

Пакет Alsa-utils содержит утилиты Alsamixer и Amixer. Этот пакет доступен в официальных репозиториях Ubuntu и может быть легко установлен в командной строке с помощью команды apt-get.

Откройте терминал либо через системный поиск приложений, либо с помощью сочетания клавиш Ctrl+Alt+T.

Следующим шагом является обновление индекса репозиториев вашей системы с помощью следующей команды:

обновление индекса репозиториев

Это поможет вам установить последнии доступные версии программ из интернета. Обратите внимание, что только авторизованный пользователь может добавлять, удалять и настраивать программное обеспечение в Ubuntu.

Теперь вы готовы установить Alsa-utils; вы можете сделать это, выполнив следующую команду от имени sudo:

установка alsa-utils

Система может попросить вас ввести пароль для sudo, а также запросить выбор Y/n для продолжения установки. Введите Y, а затем нажмите Enter; программное обеспечение будет установлено в вашей системе. Однако процесс может занять некоторое время в зависимости от скорости вашего интернета.

Использование Alsamixer - графического интерфейса для Alsa

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

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

Alsamixer отобразит свойства вашей звуковой карты по умолчанию следующим образом:

Alsamixer

Если вы не можете увидеть все свойства, как показано на снимке экрана выше, либо разверните окно терминала или используйте клавиши со стрелками влево и вправо, чтобы просмотреть свойства, которые не видны.

Представления Alsamixer

Когда вы открываете интерфейс Alsamixer, вы видите его в представлении Payback. Это означает, что из этого представления вы можете управлять только параметрами, связанными с воспроизведением звука. Два других вида, на которые вы можете переключиться:

Представление Capture

Представление Capture

Представление All

Представление All

Представление Playback

Чтобы вернуться в режим Playback, нажмите кнопку F3.

Выбор звуковой карты

просмотр/редактирование свойств звуковой карты

Вы можете выйти из этого меню, нажав Esc.

Управление свойствами звука

Самая важная часть использования Alsamixer - это возможность увеличивать и уменьшать громкость определенного устройства.

Вы можете перемещаться влево и вправо, чтобы выбрать устройство, громкость которого вы хотите увеличить, уменьшить или отключить.
Когда вы выбрали устройство, используйте клавиши вверх и вниз, чтобы увеличить или уменьшить громкость соответственно.
Чтобы отключить устройство/элемент управления, нажмите клавишу m, когда выбрано это свойство.
Для получения информации обо всем, что вы можете сделать с помощью Alsamixer, нажмите элемент управления F1. Это отобразит справку следующим образом:

окно справки

Вы можете использовать клавишу Esc, чтобы выйти из этого окна справки.

Использование Amixer для управления звуком с помощью команд

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

Введите следующую команду, чтобы увидеть все, что вы можете сделать с Amixer:

окно справки amixer

Ваша команда amixer выглядит в целом так:

Во всех ваших командах amixer вам нужно указывать три вещи:

1. Звуковая карта (номер карты), свойством которой вы хотите управлять.
2. Устройство/элемент управления, громкостью которого вы хотите управлять.
3. Значение громкости в процентах или децибелах, которое вы хотите установить, увеличить или уменьшить. Вы также можете указать, хотите ли вы отключить звук для звуковой карты.

Команда scontrols позволяет просматривать список элементов управления, которыми вы можете управлять:

Команда scontrols

1. Следующая команда установит громкость на главном элементе управления/устройстве первой звуковой карты на 100%.

2. Следующая команда установит громкость на элементе управления/устройстве Speaker второй звуковой карты на 30%.

3. Следующая команда установит громкость на элементе управления/устройстве Speaker второй звуковой карты на 3 дБ.

4. Следующая команда увеличит громкость на элементе управления/устройстве Speaker второй звуковой карты на 2 дБ.

5. Используйте следующие команды, чтобы отключить или включить звук устройства.

Эти пакеты входят в дистрибутивы Astra Linux. В Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.5) требуется ручная установка, в более поздних очередных обновелениях пакеты устанавливаются автоматически при установке ОС.

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

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

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

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


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

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

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

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

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

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

Она покажет примерно такой вывод:

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

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

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

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

pcm.!default type hw
card 2
device 0
>

ctl.!default type hw
card 2
device 0
>

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

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:

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

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

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

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

Обычно в дистрибутивах Linux Mint, Ubutnu и Fedora нет проблем со звуком сразу же после установки. Но при использовании некоторых компьютеров подобные проблемы все же могут проявляться. В данном руководстве я постараюсь описать решения наиболее часто возникающих проблем.

1. Две активные звуковые карты

Иногда в компьютер устанавливаются сразу две звуковые карты: одна из них обычно интегрирована в материнскую плату (поэтому называется интегрированной), а вторая — установлена в слот PCI или PCI-E. Также встречаются компьютеры с интегрированным чипом классического модема, предназначенным для передачи данных по телефонным линиям.
В редких случаях дистрибутивы Linux Mint, Ubuntu и Fedora не могут корректно выводить звуки при наличии нескольких звуковых карт. Исходя из этого, лучшим решением проблемы является деактивация неиспользуемой звуковой карты.

Следовательно, вам придется деактивировать интегрированную звуковую карту (и/или модем) на уровне BIOS/UEFI. После перезагрузки компьютера звук должен выводиться лишь через звуковую карту, установленную в слот PCI/PCI-E.

Если вы не можете найти функцию для деактивации интегрированной звуковой карты (и/или модема) в меню BIOS/UEFI, следует поискать информацию в руководстве пользователя вашей материнской платы, которое наверняка опубликовано в Интернет. Обычно электронная версия руководства пользователя материнской платы размещается на веб-сайте ее производителя. В случая ноутбука следует искать электронную версию руководства пользователя на веб-сайте производителя ноутбука.

2. Тихий звук, работают не все порты звуковой карты

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

A. В первую очередь следует установить с помощью приложения Software или Менеджера программ приложение pavucontrol.

Примечание: не перемещайте ползунок правее 90% (слишком громкий звук может быть опасен для вашего слуха).

Совет: в случае наличия ошибок в прошивке вашей звуковой карты уровень звука может изменяться на уровне ее произвольного порта. Поэкспериментируйте с уровнями звука на различных портах звуковой карты.

3. Звук выводится через неиспользуемый порт звуковой карты

Решение данной проблемы заключается в деактивации поддержки соответствующего механизма на уровне компонента системы для вывода звука (службы PulseAudio) с помощью следующей команды:

После окончания ввода команды следует нажать клавишу Enter. При запросе пароля вы должны будете ввести свой пароль. Символы вашего пароля не будут отображаться никоим образом, даже с помощью точек, и это нормально. После ввода пароля следует снова нажать клавишу Enter.

Теперь вам останется лишь перезагрузить компьютер. После перезагрузки звук должен выводиться через установленный порт звуковой карты.

4. Звук не выводится с помощью новейшей звуковой карты

Если вы используете новейшую звуковую карту, для нее может просто не быть подходящего драйвера. Как и в случае со всеми новейшими устройствами, лучше всего дождаться появления драйвера в составе новой версии дистрибутива Linux Mint, Ubuntu и Fedora. После этого звуковая карта, скорее всего, будет отлично работать.

Новые версии дистрибутивов Linux Mint, Ubutntu и Fedora с новыми версиями ядра Linux выпускаются через каждые шесть месяцев. Драйверы для аппаратного обеспечения обычно интегрируются в ядро Linux.

5. Хотите ознакомиться с дополнительными советами?

Хотите узнать о других настройках и приемах работы с Linux-системами? На данном веб-сайте размещено большое количество подобных материалов.

Общие настройки звука в Linux

Вообще говоря, возможность воспроизведения звука на компьютере зависит от правильной установки драйвера звуковой карты в систе­ме. Обычно при установке Linux звуковая карта определяется авто­матически. Кроме того, для Linux существуют универсальные звуко­вые драйвера — OSS (Open Sound System), а также ALSA (Advanced Linux Sound Architecture). Но обычно драйвер OSS присутствует в стан­дартной поставке дистрибутивов Linux и устанавливается автомати­чески.

Для проверки установки звуковой карты, а заодно и для регулировки уровней воспроизведения можно запустить программу Микшер. Если на панели KDE справа нет значка динамика, то можно запустить эту программу через стартовое меню KDE (обычно там следует выбрать пункт Мультимедиа и далее — Микшер). Если все в порядке, откроется окно, в котором указано название вашего звукового устройства в том виде, как оно определи­лось при установке. В окне имеются несколько линеек (секций) мик­шера, каждая из которых соответствует своему звуковому каналу (например, РСМ — звук с компьютера, Line — линейный вход карты, Microphone — микрофонный вход и так далее). Пользуясь ползунковыми регуляторами, можно настроить громкость каждого звукового канала. Выше регуляторов находятся переключатели, выполненные в виде зеленых виртуальных светодиодов. Если переключатель выключить, звук на данном канале будет отключен. Снизу от некото­рых линеек микшера находятся переключатели в виде красных свето­диодов. Из них может быть выбран только один. Это — селектор входа для записи звука.

Если вы хотите иметь возможность раздельной регулировки громко­сти на правом и левом канале, щелкните правой кнопкой мыши на соответствующей линейке и выберите в контекстном меню пункт Раз­делить каналы. Если вы не видите никаких пунктов, кроме Показать все, выберите сначала его — остальные появятся после этого.

Итак, звуковая карта работает, можно приступать к прослушиванию музыки. Наиболее распространены сегодня звуковые файлы форма­тов WAV и МРЗ. Эти, а также некоторые другие форматы (такие, как OGG vorbis) поддерживаются рядом программных проигрывателей, входящих в большинство дистрибутивов Linux.

Читайте также: