2010-11-26 34 views
2

Je peux créer un fichier MIDI de base à partir de zéro vérifié en utilisant TiMidity ++, et je connais assez OpenAL pour lire une source diffusée depuis un fichier. Je me demande simplement s'il est possible de créer un programme en C pour lire des fichiers MIDI en lisant un fichier SF2 et MIDI et en utilisant OpenAL pour jouer le son. Dois-je utiliser une autre bibliothèque? Je veux savoir à l'avance car le format SF2 semble assez compliqué.Programmer la lecture MIDI avec OpenAL et SF2

Répondre

0

Le son de base est là où il est! Si vous faites cela sur un mac, DLSMusicDevice fait ce que vous voulez. Si vous êtes sur iOS, vous devrez faire beaucoup 'à la main' mais c'est gérable (fastidieux aussi). Si vous suivez cette route, regardez l'exemple de code 'host mixer'.

0

Vous devez utiliser un CoreAudio. Créez un AUGraph avec un Sampler connecté à un IOUnit. Regardez les fichiers d'en-tête AUComponent.h dans le framework AudioUnit. Une fois que vous avez configuré votre graphe audio, vous pouvez jouer une note en utilisant la fonction suivante:

MusicDeviceMIDIEvent(sampler, status, note, velocity, 0);