[Java] Ecrire un fichier MIDI

Ecrire un fichier MIDI [Java] - Java - Programmation

Marsh Posté le 05-08-2003 à 16:46:01    

Salut!
 
En ce moment, je suis en train de programmer une petit séquenceur MIDI, histoire d'exploiter les classes faites pour exploiter les fichiers MIDI.
 
Le problème c'est que j'aimerais savoir comment est constitué un fichier midi de fond en comble car les fichiers que je génère sont illisibles par les players.
 
Je voudrais savoir les éléménts obligatoires dans un fichier MIDI. J'ai fait des recherches sur la constitution d'un fichier MIDI mais ce n'est pas très clair.
 
Outre les instructions "NOTE ON" et "NOTE OFF" qui représentent le début et la fin d'un note, que dois contenir le fichier midi?
La notion de metamessage me parait flou en plus.
 
Merci d'avance.
 
 

Reply

Marsh Posté le 05-08-2003 à 16:46:01   

Reply

Marsh Posté le 05-08-2003 à 16:46:55    

Rapport avec Java?

Reply

Marsh Posté le 05-08-2003 à 16:49:15    

bah mon programme est écrit en java et utilise des classes issus du JDK (javax.sound.midi.*) mais c'est vrai que je souhaite savoir comment est construit un fichier MIDI quel que soit le langage ce qui est plutot général.
 
J'ai hésité à poster dans le forum Audio/Vidéo.
 
Voilà


Message édité par Scoubidoo le 05-08-2003 à 16:50:13
Reply

Marsh Posté le 05-08-2003 à 16:50:36    

2 sec de google http://www.softsynth.com/javamidi/
Regarde si tu trouves la réponse là bas :)

Reply

Marsh Posté le 05-08-2003 à 16:56:49    

DarkLord a écrit :

2 sec de google http://www.softsynth.com/javamidi/
Regarde si tu trouves la réponse là bas :)


 
Merci mais j'avais déjà cherché sur google :hello: . En fait, ce n'est pas ce que je cherche à faire.
 
Je cherche à créer un petit éditeur de fichier MIDI. Mais toutes les docs que j'ai pu lire (cherché avec Google) étaient plus ou moins flous sur le format de fichier à adopter. Je ne sais pas ce qui est obligatoire ou pas dans un fichier MIDI.

Reply

Marsh Posté le 05-08-2003 à 17:13:55    

Reply

Marsh Posté le 06-08-2003 à 15:47:06    

Sympa comme site, j'ai téléchargé plein de docs sur le MIDI mais c'est pour moi tjrs aussi flou au niveau du format de fichier...
 
Enfin, je n'ai pas encore tout lu de fond en comble alors on verra. dommage que je n'ai pas un expert sous la main.

Reply

Marsh Posté le 06-08-2003 à 15:58:30    

Scoubidoo a écrit :

Sympa comme site, j'ai téléchargé plein de docs sur le MIDI mais c'est pour moi tjrs aussi flou au niveau du format de fichier...
 
Enfin, je n'ai pas encore tout lu de fond en comble alors on verra. dommage que je n'ai pas un expert sous la main.


 
fainéant :o
Lis tout de fond en comble comme ça, ca sera toi l'expert ...

Reply

Marsh Posté le 06-08-2003 à 16:58:57    

Le fichier MIDI est composé d'un header et de chunks, grosso modo.
 
Dans l'absolu (car cela s'applique à d'autres formats tels les Fasttrackers d'Amiga et ses dérivés), un chunk est un bloc de données dont le type est identifiable par un header et sa taille est définie à la suite. Avec ça tu sais déjà facilement découper ton fichier MIDI en plus petits blocs.
 
Pis tant que tu y es, tu pourras même faire l'importation de fichiers RMI (en gros un format proprio Microsoft), qui n'est jamais qu'un fichier RIFF (le .WAV en est un aussi) qui encapsule un fichier MIDI (oui, les ingénieurs de MS n'ont rien de mieux à foutre que de nous emmerder avec un format MIDI de plus et totalement inutile).

Reply

Marsh Posté le 07-08-2003 à 11:35:18    

J'avais compris que le MIDI était coupé en deux.
 
En Java, le header ainsi que les chunks avec des instructions style NOTE ON, NOTE OFF (etc...) sont écrits avec des fonctions sans passer par les bytes (la fonction se démerde toute seule pour transformer en byte après).  
 
En fait, il n'y a que dans le cas des MetaMessage (qui sont des chunks sans instruction en quelque sorte) qu'il faut écrire directement en binaire avec des bytes. Je ne sais pas quels metamessage sont obligatoires dans un fichier MIDI.
 
Je vais encore me pencher dessus un moment.

Reply

Marsh Posté le 07-08-2003 à 11:35:18   

Reply

Marsh Posté le 07-08-2003 à 11:44:59    

y'a pas un RFC pour le midi ? [:boidleau]


---------------
www.novemberguitars.com
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed