[Настройка Linux, Звук] Заметка: Контроль звуковых выходов для программ
Автор
Сообщение
news_bot ®
Стаж: 6 лет 8 месяцев
Сообщений: 27286
Иногда надо иметь отдельный виртуальный "выход" для звука из некоторых программ. Например, на стриме через OBS. Эта программа не поддерживает такое "нативно", но это возможно сделать с помощью PulseAudio.
Делается это с помощью null sinks и модуля loopback, про которые я немножко расскажу.
Понадоблятся утилиты pactl и pavucontrol, которые должны быть установлены.
Первый шаг. Создание Sink
В PulseAudio есть такая вещь, как sinks, которые представляют собой выходы для звука. Нам нужен такой, чтобы не был привязан к наушникам или ещё чему-то. Создаётся такой командой:
pactl load-module module-null-sink sink_name="web_sink" sink_properties=device.description="a sink for the web browser"
Мы вызываем утилиту pactl, чтобы создать так называемый null sink, который представлен отдельным модулем в PulseAudio. Ему мы передаём параметры:
- название sink: я выбрал web_sink, так как использовать буду для Firefox;
- настройки:
-
- описание: тут всё понятно с названия, a sink for the web browser
Это то что нам надо — sink (выход), не привязанный к устройству.
Шаг второй. Перенаправление
Теперь нам нужен pavucontrol, чтобы назначить приложению данный sink.
Предупреждение: это НОРМАЛЬНО, что вы не будете слышать звук из того приложение, которое выбрали!
Открываем pavucontrol и видим список приложений с настройками громкости и sink-ами:
Теперь, проскроллим к тому приложению, которому надо переназначить выход. Нажимаем на кнопку, где сейчас написано название устройства выхода, и выбираем нужный sink в выпадающем меню.
Как я уже сказал, его не будет слышно — это знак того, что вы сделали всё правильно.
Третий (последний) шаг. Возвращение звука
Для "подключения" null sink к наушникам, используется модуль loopback, который только этим и занимается.
Сначала, надо узнать, как сам PulseAudio называет это устройство. Для этого выполняем команду:
pactl list short sinks
Надо найти строку, где в конце пишет RUNNING, и получить оттуда название (у меня оно выглядит как-то так: alsa_output.INTERFACE-NAME.analog-[stereo/mono]).
Потом загружаем нужный модуль, и не забываем проставить правильные названия sink-ов:
pactl load-module module-loopback source="web_sink".monitor sink="OUTPUTDEVICENAME"
Теперь должно быть всё слышно. А если зайти в тот же OBS, sink web должен появиться в списке устройств выхода звука.
===========
Источник:
habr.com
===========
Похожие новости:
- [Старое железо, Звук] Золотой век минидиска
- Поставка не самых свежих ядер Linux создаёт проблемы с поддержкой оборудования у 13% новых пользователей
- [Настройка Linux, Open source, Виртуализация, Kubernetes] 13 инструментов для разработчиков, шпаргалка по Linux команде apt, вводный курс по Kubernetes Operators и многое другое
- В дистрибутиве AlmaLinux реализована поддержка архитектуры ARM64
- [Программирование, Java, Функциональное программирование, Kotlin, Разработка под Linux] Современный JSON процессор
- [Информационная безопасность] Как обнаружить вредонос: методология SANS
- [Работа с видео, Законодательство в IT, Копирайт] Американский суд потребовал от двух российских скачивалок музыки с YouTube хранить логи
- [Настройка Linux] Как анализировать вывод /proc/meminfo в Linux (перевод)
- [Управление проектами, Компьютерное железо] Что оказалось самым важным в гарнитурах для кол-центров для самих операторов
- [Open source, C++, Разработка под MacOS, Разработка под Linux, Разработка под Windows] Mixxx 2.3 — свободный пакет для создания музыкальных миксов
Теги для поиска: #_nastrojka_linux (Настройка Linux), #_zvuk (Звук), #_pulseaudio, #_zvuk (звук), #_linux, #_pavucontrol, #_obs, #_nastrojka_linux (
Настройка Linux
), #_zvuk (
Звук
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 01-Ноя 08:38
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 8 месяцев |
|
Иногда надо иметь отдельный виртуальный "выход" для звука из некоторых программ. Например, на стриме через OBS. Эта программа не поддерживает такое "нативно", но это возможно сделать с помощью PulseAudio. Делается это с помощью null sinks и модуля loopback, про которые я немножко расскажу. Понадоблятся утилиты pactl и pavucontrol, которые должны быть установлены. Первый шаг. Создание Sink В PulseAudio есть такая вещь, как sinks, которые представляют собой выходы для звука. Нам нужен такой, чтобы не был привязан к наушникам или ещё чему-то. Создаётся такой командой: pactl load-module module-null-sink sink_name="web_sink" sink_properties=device.description="a sink for the web browser"
Мы вызываем утилиту pactl, чтобы создать так называемый null sink, который представлен отдельным модулем в PulseAudio. Ему мы передаём параметры:
Это то что нам надо — sink (выход), не привязанный к устройству. Шаг второй. Перенаправление Теперь нам нужен pavucontrol, чтобы назначить приложению данный sink. Предупреждение: это НОРМАЛЬНО, что вы не будете слышать звук из того приложение, которое выбрали! Открываем pavucontrol и видим список приложений с настройками громкости и sink-ами: Теперь, проскроллим к тому приложению, которому надо переназначить выход. Нажимаем на кнопку, где сейчас написано название устройства выхода, и выбираем нужный sink в выпадающем меню. Как я уже сказал, его не будет слышно — это знак того, что вы сделали всё правильно. Третий (последний) шаг. Возвращение звука Для "подключения" null sink к наушникам, используется модуль loopback, который только этим и занимается. Сначала, надо узнать, как сам PulseAudio называет это устройство. Для этого выполняем команду: pactl list short sinks
Надо найти строку, где в конце пишет RUNNING, и получить оттуда название (у меня оно выглядит как-то так: alsa_output.INTERFACE-NAME.analog-[stereo/mono]). Потом загружаем нужный модуль, и не забываем проставить правильные названия sink-ов: pactl load-module module-loopback source="web_sink".monitor sink="OUTPUTDEVICENAME"
Теперь должно быть всё слышно. А если зайти в тот же OBS, sink web должен появиться в списке устройств выхода звука. =========== Источник: habr.com =========== Похожие новости:
Настройка Linux ), #_zvuk ( Звук ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 01-Ноя 08:38
Часовой пояс: UTC + 5