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).