Я создал аудио библиотеку C ++ под названием "Crosstalk".
Crosstalk - это звуковой движок C ++, работающий в режиме реального времени, который позволяет создавать и маршрутизировать аудиосистемы в режиме реального времени (в значительной степени то, что вы пытаетесь достичь графически), и его действительно легко использовать.
Вот пример воспроизведения файла mp3:
XtSystem system;
XtMp3Decoder mp3Decoder;
XtAudioDevice audioDevice;
long md = system.addComponent(&mp3Decoder);
long ad = system.addComponent(&audioDevice);
system.connOutToIn(md,0,ad,0);
system.connOutToIn(md,1,ad,1);
mp3Decoder.loadFile("../05 Tchaikovski-Swan Lake-Scene.mp3");
mp3Decoder.play();
Вы можете ознакомиться с документацией по API и подробностями лицензирования здесь:
http://www.adaptaudio.com/Crosstalk
РЕДАКТИРОВАТЬ (01-12-2012):
Crosstalk был заменен проектом с открытым исходным кодом под названием " DSPatch ". DSPatch - это, по сути, обновленная версия механизма маршрутизации за Crosstalk, который больше не ограничивается только обработкой аудио. DSPatch позволяет создавать и маршрутизировать практически любые типы цепочек процессов, какие только можно вообразить, и бесплатно для личного и частного использования:)