Какие аудио библиотеки C ++ реального времени работают с Xcode 4? - PullRequest
0 голосов
/ 14 ноября 2011

Я хочу начать проект на C ++, который позволил бы мне создавать звуки с такими функциями, как float y = sin(2 * PI * f * t);, синтез FM и другие более сложные алгоритмы`.Я использую Xcode 4 на Mac OS X Lion, но хотел бы в конечном итоге перенести программное обеспечение на платформы Windows.Я пробовал библиотеки SFML 1.6 и 2.0, RTAudio и PortAudio, но мне не удалось скомпилировать ни одну из программ с Xcode 4. Библиотека графических окон и поддержка MIDI были бы бонусами, но мне это не нужно.

Существуют ли какие-либо библиотеки и методы, с которыми вы добились успеха?Если какая-то из ранее упомянутых библиотек сработала для вас, как вы заставили ее скомпилировать с Xcode 4?

Ответы [ 2 ]

3 голосов
/ 11 мая 2012

Я создал аудио-библиотеку 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 позволяет создавать и маршрутизировать практически любые типы цепочек процессов, какие только можно вообразить, и бесплатно для личного и частного использования:)

1 голос
/ 14 ноября 2011

libsndfile может вам помочь

http://www.mega -nerd.com / libsndfile /

...