Какие аудиобиблиотеки C++ реального времени работают с Xcode 4?

Я хочу начать проект на 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?


person Vortico    schedule 14.11.2011    source источник
comment
Это отличные предложения, которые я не уверен, как я упустил из виду! У обоих, кажется, есть хорошая документация, которая, несомненно, поможет.   -  person Vortico    schedule 14.11.2011


Ответы (2)


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

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

person sam    schedule 14.11.2011

Я создал аудиобиблиотеку C++ для Windows и Mac под названием Crossstalk.

Это звуковой движок 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

РЕДАКТИРОВАНИЕ (12.01.2012):

Перекрестные помехи были заменены проектом с открытым исходным кодом под названием "DSPatch". DSPatch, по сути, представляет собой обновленную версию механизма маршрутизации Crosstalk, который больше не ограничивается только обработкой звука. DSPatch позволяет вам создавать и маршрутизировать практически любой тип цепочки процессов, который только можно вообразить, и бесплатен для личного и проприетарного использования :)

person Adapt Audio    schedule 11.05.2012
comment
Выглядит очень красиво. Я попробую это для другого небольшого аудиопроекта. - person Vortico; 12.05.2012