2011-11-14 5 views
0

Я хочу начать проект на 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 были бы бонусами, но я не требую этого.Какие аудиовизуальные библиотеки C++ в режиме реального времени работают с Xcode 4?

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

+1

OpenAL? Audiere? FMOD? – Pubby

+0

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

ответ

2

Я создал C++ аудио библиотеки для Windows, и Mac под названием "Перекрестный".

Это аудио-движок 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(); 

В комплекте с наводок является примером Xcode и проекты Visual Studio.

Вы можете скачать наводки и проверить API документацию и лицензионные детали здесь: http://www.adaptaudio.com/Crosstalk

EDIT (01-12-2012):

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

+0

Выглядит очень приятно. Я попробую это для другого небольшого аудиопроекта. – Vortico