Поиск по сайту:

Настройте аудиовход/выход через WirePlumber в Ubuntu 24.04

Как вы знаете, Ubuntu использует PipeWire в качестве замены PulseAudio для звукового сервера по умолчанию, начиная с Ubuntu 23.04. И теперь он использует WirePlumber для управления сеансом и политикой Pipewire.

С помощью WirePlumber вы можете настроить больше параметров вывода и ввода звука. Вы можете использовать команду Linux для переключения устройства ввода/вывода звука по умолчанию, изменения уровня громкости, а также отключения/включения звука и микрофона.

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

ПРИМЕЧАНИЕ. Это руководство НЕ работает для Ubuntu 22.04 и более ранних версий, поскольку по умолчанию они используют PulseAudio. И скрипт lua НЕ работает для 24.10 и более поздних версий из-за изменения политики!

Используйте команду wpctl

WirePlumber имеет инструмент командной строки под названием wpctl. Это полезно для получения статуса и свойств вашего устройства, а также для оперативного изменения некоторых настроек, таких как установка аудиоустройства по умолчанию и изменение громкости.

Сначала откройте окно терминала (Ctrl+Alt+T) и выполните команду:

wpctl status

Команда выведет все аудиоустройства, приемники звука и источники звука. Те, с * в начале, используются по умолчанию. А цифры (например, 48, 49, 39 на скриншоте ниже) — это идентификаторы.

Чтобы переключить устройство ввода или вывода звука по умолчанию, если у вас доступно несколько устройств, используйте команду:

wpctl set-default ID

Здесь замените идентификатор номером, который вы получили из последней команды wpctl status.

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

  • Увеличьте громкость на 5 % для аудиовыхода по умолчанию с ограничением в 150 %:

    wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+
  • Уменьшите громкость на 5 % для аудиовыхода по умолчанию:

    wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
  • Установите громкость вывода по умолчанию на 0,5:

    wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.5
  • Включите/отключите звук для вывода звука по умолчанию (или замените toggle на 0, чтобы включить звук, или на 1, чтобы отключить звук):

    wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle

В приведенных выше командах вы можете заменить @DEFAULT_AUDIO_SINK@ на @DEFAULT_AUDIO_SOURCE@ для аудиовхода по умолчанию (например, микрофона). Или вместо этого используйте идентификационный номер для определенного приемника/источника звука.

Используйте скрипт lua для настройки свойств звука.

ПРИМЕЧАНИЕ. Этот шаг работает только для WirePlumber 0.4.x (24.04 имеет версию 0.4.17). Поддержка сценариев lua прекращена с версии 0.5 (24.10 имеет версию 0.5.6).

Шаг 1. Получите имя целевого звукового ввода/вывода.

Поскольку идентификационные номера звуковых устройств являются динамическими и часто меняются, вам необходимо узнать device.name или node.name, чтобы сообщить WireBlumder, какое устройство вы хотите настроить. .

Сначала выполните команду ниже, чтобы узнать идентификатор целевого устройства/приемника, который вы хотите настроить:

wpctl status

Затем используйте команду ниже, чтобы отобразить дополнительную информацию о целевом объекте (замените номер 49 в соответствии с последней командой).

wpctl inspect 49

В выводе скопируйте значение «device.name» или «node.name» для использования на следующем шаге.

Шаг 2. Создайте и отредактируйте файл сценария Lua.

Ubuntu 24.04 до сих пор использует сценарии lua для настройки WirePlumber. Файлы конфигурации по умолчанию расположены в каталоге /usr/share/wireplumber. При этом пользователь может создавать собственные файлы конфигурации в каталогах /etc/wireplumber или ~/.config/wireplumber.

1. Только для текущего пользователя: нажмите Ctrl+Alt+T на клавиатуре, чтобы открыть терминал и выполнить команды:

  • Сначала создайте локальную папку конфигурации Wireplumber:

    mkdir -p ~/.config/wireplumber/
  • Затем создайте подпапку main.lua.d для хранения скриптов lua:

    mkdir -p ~/.config/wireplumber/main.lua.d
  • Наконец, создайте и откройте файл пользовательского сценария с именем 51-alsa-custom.lua:

    gnome-text-editor ~/.config/wireplumber/main.lua.d/51-alsa-custom.lua

    Здесь замените gnome-text-editor, зависит от среды вашего рабочего стола. Используйте musepad для XFCE, pluma для MATE или текстовый редактор командной строки nano, который работает на большинстве настольных компьютеров.

2. Когда файл откроется, вставьте его содержимое ниже и отредактируйте соответствующим образом.

rule = {
  matches = {
    {
      { "node.name", "matches", "alsa_output.pci-0000_00_1f.3.analog-stereo" },
    },
  },
  apply_properties = {
      ["node.description"]       = "Laptop Built-in Speaker",
      ["audio.format"]           = "S32LE",
      ["audio.rate"]             = 48000
  },
}
table.insert(alsa_monitor.rules,rule)

ВАЖНО: неправильная конфигурация и опечатки в этом файле МОГУТ нарушить вывод или ввод звука! Делайте это осторожно!

Здесь вам необходимо:

  • Замените alsa_output.pci-0000_00_1f.3.analog-stereo на имя вашего аудиоустройства/приемника (см. шаг 1).
  • Добавьте больше (или удалите, если необходимо) и соответствующим образом измените настройки звука в разделе «apply_properties». Другие свойства включают в себя:

    • [“node.disabled”]=ложь,
    • ["приоритет.драйвер"]=100,
    • [“приоритет.сессия”]=100,
    • [“node.pause-on-idle”]=ложь,
    • ["дизер.шум"]=0,
    • ["dither.method"]="нет", — "прямоугольный", "треугольный" или "фигурный5"
    • [“аудио.каналы”]=2,
    • [“session.suspend-timeout-секунды”]=5, — 0 отключает приостановку

Дополнительные параметры можно найти в файле /usr/share/wireplumber/main.lua.d/50-alsa-config.lua или в официальной документации по свойствам устройства/узла (некоторые из них могут быть недоступен, поскольку WireBlumder устарел в Ubuntu).

В текстовом редакторе командной строки nano нажмите Ctrl+S, чтобы сохранить файл, и Ctrl+X, чтобы выйти.

Шаг 3. Примените изменения.

Чтобы применить новый файл конфигурации, просто запустите приведенную ниже команду, чтобы перезапустить службу Wireblumder:

systemctl --user restart wireplumber.service

Отменить :

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

rm ~/.config/wireplumber/main.lua.d/51-alsa-custom.lua

Затем перезапустите службу (см. Шаг 3), чтобы все восстановить по умолчанию.

Статьи по данной тематике