Вопрос или проблема
У меня есть микрофон, наушники, приложение, которое воспроизводит звуки, и приложение, которое принимает звуковой ввод (например, discord). Я хочу, чтобы приложение воспроизводило звук в мои наушники и сочеталось с моим микрофоном, чтобы поступать в приложение в качестве звукового ввода. Прилагаю диаграмму, чтобы объяснить, что я имею в виду:
Mic – микрофон, App – какое-то приложение, которое выводит звук, Other app – другое приложение, которое выводит звук, который я хочу слышать, но не использовать, Mic* – комбинация моего микрофона и вывода приложения, например, discord – какое-то приложение, которое принимает аудио ввод.
Я предполагаю, что вы спрашиваете, как это реализовать. qpwgraph
позволяет просто соединять произвольные выходные потоки с входами приложений.
Если вы хотите настроить это более постоянно, вам следует следовать руководству на https://docs.pipewire.org/page_module_loopback.html (потому что вы почти наверняка не используете pulseaudio, а pipewire, который практически полностью совместим).
Ответ или решение
Чтобы объединить звук с вашего микрофона и приложения в одно аудиовыходное устройство в среде PulseAudio, вам потребуется выполнить несколько шагов. В данной статье мы подробно рассмотрим, как это можно сделать, чтобы одновременно передавать звук от приложения в ваши наушники, а также комбинировать его с вашим голосом на входе другого приложения, например, Discord.
1. Понимание структуры
Чтобы реализовать описанный вами сценарий, важно понять, что PulseAudio позволяет направлять аудиопотоки с помощью модулей и маршрутизации. В вашем случае, вам нужно создать виртуальный источник на основе микрофона и звука от приложения и затем направить этот виртуальный источник на вход приемного приложения.
2. Установка необходимых инструментов
Вы можете использовать инструмент qpwgraph
, который является графическим интерфейсом для PulseAudio и позволяет легко подключать входы и выходы. Убедитесь, что у вас установлен qpwgraph
:
sudo apt install qpwgraph
3. Запуск и настройка qpwgraph
После установки запустите qpwgraph
. Интерфейс позволит вам видеть все ваши входы и выходы:
-
Подключите приложение: Запустите ваше приложение, которое будет воспроизводить звук, и убедитесь, что оно активно в qpwgraph.
-
Создайте виртуальный источник: Используйте модуль
module-null-sink
для создания виртуального источника, который будет комбинировать звук приложения и ваш микрофон.Выполните команду в терминале:
pactl load-module module-null-sink sink_name=Virtual_Sink sink_properties=device.description="Virtual_Sink"
-
Настройка захвата: Переместите выход звука вашего приложения к новосозданному виртуальному источнику. Теперь звук вашего приложения будет направлен на него.
4. Комбинирование звуков
Теперь необходимо объединить звук из виртуального источника и звук из вашего микрофона:
-
В qpwgraph создайте
loopback
, который будет направлять звук из виртуального источника в ваш микрофон. Выполните следующую команду в терминале:pactl load-module module-loopback source=Virtual_Sink.monitor sink=ваш_микрофон
Замените
ваш_микрофон
на фактическое имя вашего микрофона, которое вы можете найти с помощьюpactl list sources
.
5. Конфигурация приложений
Теперь, когда все соединения установлены, настройте приложение, такое как Discord, чтобы использовать ваш микрофон (который теперь включает в себя как ваш голос, так и звук из приложения). В настройках Discord выберите ваш микрофон в качестве устройства ввода.
6. Проверка и тестирование
После завершения настройки проведите тестирование:
- Запустите приложение, воспроизводящее звук, и убедитесь, что вы его слышите в наушниках.
- Запустите Discord и проведите голосовой чат, убедившись, что собеседники слышат как ваш голос, так и звук из приложения.
Заключение
С помощью PulseAudio и инструмента qpwgraph
вы сможете успешно объединить звук вашего микрофона и приложение, создавая улучшенный звуковой опыт в приложениях, таких как Discord. Важно помнить о возможных задержках в аудиопотоках и проблемах с производительностью, поэтому всегда тестируйте все настройки перед началом использования.