Play my MIDI File !

Il est des soirées ou l’inutile deviens amusant ! Il est donc des soirées ou l’on ouvre un fichier MIDI avec un éditeur de texte et ou l’on essaye de comprendre ce que signifie chaque optcode ..

Pour pouvoir vérifier comment marche un fichier .midi il faut pouvoir en créer ! Pour cela j’utilise Ableton Live, un soft de MAO assez puissant que j’utilise souvent en CTF.
Je me retrouve donc face à un clavier sur les quelles je n’ai plus qu’a jouer des notes. Puis enregistrer mon fichier en .midi.

Commençons donc par étudier un fichier contenant une note ( D3 ). Les notes sont au format Anglais, et n’ayant pas fait de solfège cela me conviens très bien !

Ableton Live

 

Enregistrons ceci et ouvrons le dans un éditeur de texte.

4d54 6864 0000 0006 0000 0001 0060 4d54
726b 0000 0021 00ff 0301 0000 ff58 0404
0224 0800 ff58 0404 0224 0800 903e 6418
803e 4000 ff2f 00

Après plusieurs recherches voici ce que l’on en déduit :
( Le code est indenté autant que possible, certains optcodes sont des fonctions et d’autres des paramètres )

4d 54 68 64 => MThd
00 00 00 06 => Chunk size (6 bits)
00 00 => Format 0
00 01 => Nombre de tracks dans le fichier
00 60 => 96 per quarter-note ( Résolution )
4d 54 72 6b => Mtrk
00 00 00 21 => Nombre d'octets avant la fin du fichier
00 => Selection de la fonction à utiliser
	ff => System Reset
		03 => Undefinied
		01 => Modulation Wheel or Lever

00 => Reglage Pitch Bend 
	00 => Modulation Pitch Bend
ff => System Reset
	58 => Hight Resolution Velocity Prefix
	04 => 4 Bytes
	04 => 4/4 temps
	02 => Breath Controller
	24 => 24 Midi Clocks
	08 => 32nd notes /24 Midi Clocks

 00 ff 58 04 04 02 24 08 00 => Répétition de la fonction précédante 

#Notes
90  => Note ON 
	3e => Note de musqique (3e == d3)
	64 => Velocity
	18 => Taille de la note (ici une noire)
80 => Note OFF
	3e => Note à arreter

40 => Blanc
00 => Taille du blanc ( 00 = Fin du fichier)

ff2f 00 => Fin du fichier Midi

Qu’on soit d’accord, cela ne sert pas à grand chose ! Mais on pourrais par exemple écrire un script qui générerais un fichier midi qui donnerais un vrai son !
Ou alors tenter d’offusquer du texte dans un fichier qui semblerais jouer une drôle de mélodie.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *