Я хочу создать виртуальный аудиомикшер, который позволяет мне направлять аудиосигнал, поступающий с любого устройства ввода (записи) на любое устройство вывода (воспроизведения).
IE: допустим, у меня есть 2 виртуальных устройства ввода (IN-A и IN-B) и 2 устройства вывода (OUT- C и OUT-D), поэтому я хочу
Spotify playing to IN-A -> OUT-C
MIC -> OUT-D
Chrome playing to IN-B -> OUT-C
Кроме того, я хочу иметь возможность устанавливать громкость или усиление устройства, отключать звук устройства и контролировать сигнал или уровень громкости в реальном времени.
Вопрос: Я даже не знаю, с чего начать. Я предполагаю, что мне придется go для C ++, но я не знаю, есть ли существующая библиотека, которая позволяет мне это сделать. Я исследовал и нашел portaudio (и другие), но прежде чем вкладывать больше времени, я хочу узнать от эксперта, что было бы хорошей отправной точкой для продолжения моих исследований и разработки POC.
ПРИМЕЧАНИЕ: windows, или любой собственный микшер ОС мне не подходит. Мне нужно добиться этого программно.
Заранее спасибо!