Настройка виртуального аудиокабеля для Linux
BETA UNTESTED
Осторожно выполняйте эту инструкцию, мы проверяли только частично!
Ссылка на оригинальный вопрос: askubuntu.com
Нужно настроить виртуальный кабель, который сможем запустить в Python. Вручную переназначать каждый раз через pavucontrol будет тяжко...
Самый простой способ — PulseAudio null sink
Убедитесь что стоит PulseAudio:
sudo apt-get install pulseaudio-utils
1. Создать виртуальный аудио кабель
# Создать виртуальное устройство
pactl load-module module-null-sink sink_name=virtual_cable sink_properties=device.description="Virtual_Cable"
# Monitor автоматически создаётся вместе с null sink!
2. Сделать постоянным (чтобы после перезагрузки оставалось)
Добавить в /etc/pulse/default.pa или ~/.config/pulse/default.pa:
load-module module-null-sink sink_name=virtual_cable sink_properties=device.description="Virtual_Cable"
3. Использование
В вашем коде:
- Устройство появится как
"Virtual_Cable"или"Monitor of Virtual_Cable"в списке - Для вывода звука → выбираете
"Virtual_Cable" - Для захвата звука → выбираете
"Monitor of Virtual_Cable"
В других приложениях (OBS, Discord, etc.):
- Выбираете
"Monitor of Virtual_Cable"как источник микрофона - Они будут слышать всё, что вы воспроизводите через
"Virtual_Cable"
Проверка что создалось
pactl list short sinks # Покажет ваш virtual_cable
pactl list short sources # Покажет Monitor of Virtual_Cable
В Python они появятся в sd.query_devices() как обычные устройства!
Итог: Один sink = один виртуальный кабель. Можете создать несколько (для FX отдельный, например).