Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1997 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  Récupérer les notes (tonalité+vélocité+durée) d'un fichier Midi

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Récupérer les notes (tonalité+vélocité+durée) d'un fichier Midi

n°2003526
Profil sup​primé
Posté le 21-06-2010 à 21:35:36  answer
 

Bonjour,
Je souhaiterais récupérer les notes d'un fichier midi.
je fais appel au professionnel et néanmoins amateur parmi nous pour résoudre ce problème efficacement.
Une utilitaire plus un autre plus un autre, nous parviendrons à notre fin.
Le problème :

  • Les fichier midi de type 1 ::= je cherche le format.
  • Le fichier cible ::= je veux récupérer la tonalité+la vélocité+la durée de la note sous forme d'entiers compris entre 0 et 127, tous ça calé comme on peut.


Merci pour votre aide.
Si je peu apporter des précision.

mood
Publicité
Posté le 21-06-2010 à 21:35:36  profilanswer
 

n°2003538
Profil sup​primé
Posté le 21-06-2010 à 21:57:25  answer
 

J'ai trouvé un lien sur le format midi mais c'est en english. je ne lis pas l'english.
sonicspot.com/guide/midifiles

n°2003544
Profil sup​primé
Posté le 21-06-2010 à 22:22:02  answer
 

j'ai trouvé un autre document mais j'y pige rien pour le moment ::= http://www.onicos.com/staff/iz/formats/midi.html
 
Par contre j'ai retrouvé une bibliothèque avec Ada que j'ai déjà utilisé, http://pfreydiere.free.fr/ada-midi.tar.gz ,mais si je me souviens bien... C'est pour caler les notes que je vais galérer.
Je m'en vais tester ça sous linux et je vous préciserais mais problème si j'avance.

n°2003560
Profil sup​primé
Posté le 22-06-2010 à 00:02:03  answer
 

Voici un dump d'un fichier midi d'une ou deux phrases de drums avec ada-midi.

Track  1
 --  0, Meta Event 58--00 FF 58 02 02 18 08  
 --  0, Meta Event 51--00 FF 51 07 27 0E  
 --  0, Meta Event 03--00 FF 03 54 48 20 32 2D 34 20 4E 6D 6C 53 74 72 20 54 30 37 31 20 46 75 6C 6C 4B 69 74  
 --  0, Meta Event 02--00 FF 02 43 6F 70 79 72 69 67 68 74 20 A9 20 32 30 30 39 20 50 43 20 44 4F 43 54 4F 52 53 2C 20 4C 4C 43  
 --  0, Meta Event 2F--00 FF 2F  
Track  2
 --  0, Meta Event 03--00 FF 03 54 48 20 32 2D 34 20 4E 6D 6C 53 74 72 20 54 30 37 31 20 46 75 6C 6C 4B 69 74  
 --  0, Midi Event NOTEON for channel  9 -> 00 99 29 56  
 --  0, Midi Event NOTEON for channel  9 -> 00 99 3C 60  
 --  0, Midi Event NOTEON for channel  9 -> 00 99 2A 60  
 --  0, Midi Event NOTEON for channel  9 -> 00 99 24 54  
 --  30, Midi Event NOTEOFF for channel  9 -> 1E 89 29 00  
 --  0, Midi Event NOTEOFF for channel  9 -> 00 89 3C 00  
 --  0, Midi Event NOTEOFF for channel  9 -> 00 89 2A 00  
 --  0, Midi Event NOTEOFF for channel  9 -> 00 89 24 00  
 --  206, Midi Event NOTEON for channel  9 -> 81 4E 99 2A 47  
 --  0, Midi Event NOTEON for channel  9 -> 00 99 20 47  
 --  0, Midi Event NOTEON for channel  9 -> 00 99 3D 47  
 --  34, Midi Event NOTEOFF for channel  9 -> 22 89 2A 00  
 --  0, Midi Event NOTEOFF for channel  9 -> 00 89 20 00  
 --  0, Midi Event NOTEOFF for channel  9 -> 00 89 3D 00  
 --  86, Midi Event NOTEON for channel  9 -> 56 99 20 35  
 --  34, Midi Event NOTEOFF for channel  9 -> 22 89 20 00  
 --  86, Midi Event NOTEON for channel  9 -> 56 99 26 56  
 --  0, Midi Event NOTEON for channel  9 -> 00 99 3C 60  
 --  0, Midi Event NOTEON for channel  9 -> 00 99 20 60  
 --  0, Midi Event NOTEON for channel  9 -> 00 99 29 56  
 --  0, Midi Event NOTEON for channel  9 -> 00 99 24 54  
 --  34, Midi Event NOTEOFF for channel  9 -> 22 89 24 00  
 --  0, Midi Event NOTEOFF for channel  9 -> 00 89 29 00  
 --  0, Midi Event NOTEOFF for channel  9 -> 00 89 20 00  
 --  0, Midi Event NOTEOFF for channel  9 -> 00 89 26 00  
 --  0, Midi Event NOTEOFF for channel  9 -> 00 89 3C 00  
 --  206, Midi Event NOTEON for channel  9 -> 81 4E 99 20 47  
 --  0, Midi Event NOTEON for channel  9 -> 00 99 2A 47  
 --  34, Midi Event NOTEOFF for channel  9 -> 22 89 20 00  
 --  0, Midi Event NOTEOFF for channel  9 -> 00 89 2A 00  
 --  206, Midi Event NOTEON for channel  9 -> 81 4E 99 20 60  
 --  0, Midi Event NOTEON for channel  9 -> 00 99 24 54  
 --  0, Midi Event NOTEON for channel  9 -> 00 99 29 56  
 --  0, Midi Event NOTEON for channel  9 -> 00 99 3C 60  
 --  34, Midi Event NOTEOFF for channel  9 -> 22 89 24 00  
 --  0, Midi Event NOTEOFF for channel  9 -> 00 89 20 00  
 --  0, Midi Event NOTEOFF for channel  9 -> 00 89 29 00  
 --  0, Midi Event NOTEOFF for channel  9 -> 00 89 3C 00  
 --  206, Midi Event NOTEON for channel  9 -> 81 4E 99 2A 47  
 --  0, Midi Event NOTEON for channel  9 -> 00 99 20 47  
 --  0, Midi Event NOTEON for channel  9 -> 00 99 3D 47  
 --  34, Midi Event NOTEOFF for channel  9 -> 22 89 20 00  
 --  0, Midi Event NOTEOFF for channel  9 -> 00 89 2A 00  
 --  0, Midi Event NOTEOFF for channel  9 -> 00 89 3D 00  
 --  86, Midi Event NOTEON for channel  9 -> 56 99 20 35  
 --  34, Midi Event NOTEOFF for channel  9 -> 22 89 20 00  
 --  86, Midi Event NOTEON for channel  9 -> 56 99 20 60  
 --  0, Midi Event NOTEON for channel  9 -> 00 99 26 56  
 --  0, Midi Event NOTEON for channel  9 -> 00 99 24 54  
 --  0, Midi Event NOTEON for channel  9 -> 00 99 29 56  
 --  0, Midi Event NOTEON for channel  9 -> 00 99 3C 60  
 --  34, Midi Event NOTEOFF for channel  9 -> 22 89 29 00  
 --  0, Midi Event NOTEOFF for channel  9 -> 00 89 3C 00  
 --  0, Midi Event NOTEOFF for channel  9 -> 00 89 24 00  
 --  0, Midi Event NOTEOFF for channel  9 -> 00 89 20 00  
 --  0, Midi Event NOTEOFF for channel  9 -> 00 89 26 00  
 --  206, Midi Event NOTEON for channel  9 -> 81 4E 99 2A 47  
 --  0, Midi Event NOTEON for channel  9 -> 00 99 20 47  
 --  34, Midi Event NOTEOFF for channel  9 -> 22 89 2A 00  
 --  0, Midi Event NOTEOFF for channel  9 -> 00 89 20 00  
 --  206, Midi Event NOTEON for channel  9 -> 81 4E 99 29 56  
 --  0, Midi Event NOTEON for channel  9 -> 00 99 24 54  
 --  0, Midi Event NOTEON for channel  9 -> 00 99 20 60  
 --  0, Midi Event NOTEON for channel  9 -> 00 99 3C 60  
 --  34, Midi Event NOTEOFF for channel  9 -> 22 89 24 00  
 --  0, Midi Event NOTEOFF for channel  9 -> 00 89 29 00  
 --  0, Midi Event NOTEOFF for channel  9 -> 00 89 20 00  
 --  0, Midi Event NOTEOFF for channel  9 -> 00 89 3C 00  
 --  206, Midi Event NOTEON for channel  9 -> 81 4E 99 2A 47  
 --  0, Midi Event NOTEON for channel  9 -> 00 99 3D 47  
 --  0, Midi Event NOTEON for channel  9 -> 00 99 20 47  
 --  34, Midi Event NOTEOFF for channel  9 -> 22 89 3D 00  
 --  0, Midi Event NOTEOFF for channel  9 -> 00 89 2A 00  
 --  0, Midi Event NOTEOFF for channel  9 -> 00 89 20 00  
 --  86, Midi Event NOTEON for channel  9 -> 56 99 20 35  
 --  34, Midi Event NOTEOFF for channel  9 -> 22 89 20 00  
 --  86, Midi Event NOTEON for channel  9 -> 56 99 26 56  
 --  0, Midi Event NOTEON for channel  9 -> 00 99 29 56  
 --  0, Midi Event NOTEON for channel  9 -> 00 99 24 54  
 --  0, Midi Event NOTEON for channel  9 -> 00 99 20 60  
 --  0, Midi Event NOTEON for channel  9 -> 00 99 3C 60  
 --  34, Midi Event NOTEOFF for channel  9 -> 22 89 29 00  
 --  0, Midi Event NOTEOFF for channel  9 -> 00 89 3C 00  
 --  0, Midi Event NOTEOFF for channel  9 -> 00 89 20 00  
 --  0, Midi Event NOTEOFF for channel  9 -> 00 89 26 00  
 --  0, Midi Event NOTEOFF for channel  9 -> 00 89 24 00  
 --  206, Midi Event NOTEON for channel  9 -> 81 4E 99 2A 47  
 --  0, Midi Event NOTEON for channel  9 -> 00 99 20 47  
 --  34, Midi Event NOTEOFF for channel  9 -> 22 89 2A 00  
 --  0, Midi Event NOTEOFF for channel  9 -> 00 89 20 00  
 --  206, Midi Event NOTEON for channel  9 -> 81 4E 99 20 60  
 --  0, Midi Event NOTEON for channel  9 -> 00 99 29 56  
 --  0, Midi Event NOTEON for channel  9 -> 00 99 24 54  
 --  0, Midi Event NOTEON for channel  9 -> 00 99 3C 60  
 --  34, Midi Event NOTEOFF for channel  9 -> 22 89 20 00  
 --  0, Midi Event NOTEOFF for channel  9 -> 00 89 29 00  
 --  0, Midi Event NOTEOFF for channel  9 -> 00 89 24 00  
 --  0, Midi Event NOTEOFF for channel  9 -> 00 89 3C 00  
 --  206, Midi Event NOTEON for channel  9 -> 81 4E 99 3D 47  
 --  0, Midi Event NOTEON for channel  9 -> 00 99 20 47  
 --  0, Midi Event NOTEON for channel  9 -> 00 99 2A 47  
 --  34, Midi Event NOTEOFF for channel  9 -> 22 89 20 00  
 --  0, Midi Event NOTEOFF for channel  9 -> 00 89 3D 00  
 --  0, Midi Event NOTEOFF for channel  9 -> 00 89 2A 00  
 --  86, Midi Event NOTEON for channel  9 -> 56 99 20 35  
 --  34, Midi Event NOTEOFF for channel  9 -> 22 89 20 00  
 --  86, Midi Event NOTEON for channel  9 -> 56 99 26 56  
 --  0, Midi Event NOTEON for channel  9 -> 00 99 20 60  
 --  0, Midi Event NOTEON for channel  9 -> 00 99 29 56  
 --  0, Midi Event NOTEON for channel  9 -> 00 99 3C 60  
 --  34, Midi Event NOTEOFF for channel  9 -> 22 89 3C 00  
 --  0, Midi Event NOTEOFF for channel  9 -> 00 89 29 00  
 --  0, Midi Event NOTEOFF for channel  9 -> 00 89 20 00  
 --  0, Midi Event NOTEOFF for channel  9 -> 00 89 26 00  
 --  206, Midi Event NOTEON for channel  9 -> 81 4E 99 2A 47  
 --  0, Midi Event NOTEON for channel  9 -> 00 99 20 47  
 --  34, Midi Event NOTEOFF for channel  9 -> 22 89 20 00  
 --  0, Midi Event NOTEOFF for channel  9 -> 00 89 2A 00  
 --  0, Meta Event 2F--00 FF 2F  


Faudrait que je repère la note.
Et je je comprenne comment on mesure le temps.
 
J'ai repéré les octets de status, data1 data2.
 
Reste le temps, c'est le premier chiffre qui indique le temps.. Mais comment ça marche...  :p


Message édité par Profil supprimé le 22-06-2010 à 00:09:25
n°2003700
Profil sup​primé
Posté le 22-06-2010 à 13:54:05  answer
 

Un petit document sur le format de fichier midi ::= http://www.supinfo-projects.com/en/2004/midi_files/
Le Wiki sur la signature ::= http://fr.wikipedia.org/wiki/Signature_rythmique
je vais voir ce que je peux faire avec ça.


Message édité par Profil supprimé le 22-06-2010 à 13:54:25

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  Récupérer les notes (tonalité+vélocité+durée) d'un fichier Midi

 

Sujets relatifs
Chargement d'un fichier .emx en JAVA sous Eclipseouverture d'un fichier en C
tester si un fichier à subit une modificationRechercher un fichier dans les sous répertoires
vba stockage de résultats dans un fichier csv[DIVERS] Auto execution d'un programme à l'ouverture d'un fichier zip
Wikitext (wikipedia) to html, récupérer un article de wikipediaProbleme sur la copie de fichier
[shell] récupération infos dans .txt et écriture dans un autre fichierRécupérer des infos renvoyées par un serveur FTP
Plus de sujets relatifs à : Récupérer les notes (tonalité+vélocité+durée) d'un fichier Midi


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR