Я создал аудио-библиотеку C ++ для Windows и Mac под названием «Crosstalk».
Это аудио-движок C ++ в реальном времени, который позволяет создавать и маршрутизировать аудиосистемы в режиме реального времени.По сути, движок заботится обо всей аудио-маршрутизации и предоставляет вам простую платформу для создания системных компонентов (например, компонент «FM Synth», подключенный к «Фильтру нижних частот», подключенному к «Аудиоустройству» и «Регистратору файлов»).
Это очень удобно.Вот пример воспроизведения файла 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();
В состав Crosstalk входит пример проектов Xcode и Visual Studio.
Вы можете загрузить Crosstalkи ознакомьтесь с документацией по API и подробностями лицензирования здесь: http://www.adaptaudio.com/Crosstalk
РЕДАКТИРОВАТЬ (01-12-2012):
Crosstalk был заменен открытым исходным кодомПроект называется " DSPatch ".DSPatch - это, по сути, обновленная версия механизма маршрутизации за Crosstalk, который больше не ограничивается только обработкой аудио.DSPatch позволяет создавать и маршрутизировать практически любые типы цепочек процессов, какие только можно вообразить, и бесплатно для личного и частного использования:)