2011-11-14 3 views
0

Je veux commencer un projet en C++ qui me permettrait de créer des sons avec des fonctions telles que float y = sin(2 * PI * f * t);, la synthèse FM, et d'autres algorithmes plus complexes ». J'utilise Xcode 4 sur Mac OS X Lion mais je souhaiterais éventuellement porter le logiciel sur les plates-formes Windows. J'ai essayé les bibliothèques SFML 1.6 et 2.0, RTAudio, et PortAudio, mais j'ai échoué à compiler n'importe lequel des programmes avec Xcode 4. Une bibliothèque graphique de fenêtre et un support MIDI seraient des bonus, mais je ne l'exige pas.Quelles bibliothèques audio C++ en temps réel fonctionnent avec Xcode 4?

Y a-t-il des bibliothèques et des méthodes avec lesquelles vous avez réussi? Si l'une des bibliothèques mentionnées précédemment a fonctionné pour vous, comment l'avez-vous faite compiler avec Xcode 4?

+1

OpenAL? Audiere? FMOD? – Pubby

+0

Ce sont d'excellentes suggestions que je ne suis pas sûr de savoir comment j'ai négligé! Les deux semblent avoir une bonne documentation, ce qui aidera sûrement. – Vortico

Répondre

2

J'ai créé une bibliothèque audio C++ pour Windows et Mac nommé "Crosstalk".

C'est un moteur audio C++ en temps réel qui vous permet de créer et d'acheminer des systèmes audio en temps réel. Fondamentalement, le moteur prend en charge tout le routage audio et vous donne une plate-forme simple pour créer des composants système (par ex. "FM Synth" connecté à un "filtre passe-bas" connecté à un "périphérique audio" et "File Recorder") .

C'est très facile à utiliser. Voici un exemple de la façon de lire un fichier mp3 (Ces composants sont fournis avec le moteur):

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(); 

Inclus avec Crosstalk est par exemple Xcode et des projets Visual Studio.

Vous pouvez télécharger Crosstalk et consulter les détails de la documentation de l'API et de licence ici: http://www.adaptaudio.com/Crosstalk

EDIT (01-12-2012):

Crosstalk a été remplacé par un projet open-source appelée "DSPatch". DSPatch est essentiellement une version améliorée du moteur de routage derrière Crosstalk qui ne se limite plus au traitement audio. DSPatch vous permet de créer et d'acheminer presque n'importe quel type de chaîne de processus imaginable, et gratuit pour un usage personnel et exclusif :)

+0

Ça a l'air très bien. Je vais essayer cela pour un autre petit projet audio. – Vortico

Questions connexes