pablo lamberti
pablo lamberti

Reputation: 41

How to programatically route audio from any Recording device to any Playback device

I want to create a virtual audio mixer that allows me to route the audio signal coming from any input (recording) device to any output (playback) device.

I.E.: lets say I have 2 virtual input devices (IN-A and IN-B) and 2 output devices (OUT-C and OUT-D), so I want to

Spotify playing to IN-A  -> OUT-C

MIC                      -> OUT-D

Chrome playing to IN-B   -> OUT-C

Also, I want to be able to set devices volume or gain, mute a device and monitor signal or volume level in real time.

Question: I dont know even where to start. I'm guessing I will have to go for C++, but I dont know if there is an existing library that allows me to do so. I have been researching and I found portaudio (and others), but before investing more time, I want to know from experst which would be a good starting point to continue my research and POCs development.

NOTE: windows, or any OS native mixer does not cover my needs. I need to achieve this programmatically.

Thanks in advance!

Upvotes: 0

Views: 279

Answers (1)

hgrev
hgrev

Reputation: 135

Take a look in this wikipedia artice:

https://en.wikipedia.org/wiki/Windows_legacy_audio_components

There are several ways to achieveing this. I personally did not wrote an audio mixer tool, but i did a synthesizer project based on winmm.lib functionality.

If you want low-latency mixer you have to write a software driver, which i would not recommend doing.

Upvotes: 0

Related Questions