2016-12-26 3 views
2

Je ces 3 événements dans un fichier Midi:Midi Hexa-Code de notation différent dans un FIE

00 FF 51 03 0E 15 C3 86 A6 

20 FF 51 03 15 20 A5 83 

5C FF 51 03 0E 15 C3 

Mais ce qui est, dans ce cas, important est que FF 51 représente un changement de tempo et de la 03 pour le nombre de Byte-Pairs suivants décrivant le tempo. Comme c'est "3 paires d'octets" dans chaque événement Pourquoi y a-t-il 5 paires d'octets décrivant le premier événement, 4 décrivant le deuxième, et 3 décrivant le troisième? (J'espère que l'image aide)

Comment le programme de codage sait-il, quand un nouvel événement commence? Le fichier peut être joué sans aucun problème.

enter image description here

Répondre

3

Les trois événements ont trois octets de données. Les temps delta entre les événements sont codés en tant que quantités de longueur variable, ainsi vous devez continuer à lire des octets jusqu'à ce que le bit le plus significatif soit clair. Les trois fois avant chaque événement sont 00, 86 A6 20, et 83 5C, résultant dans les temps delta décodés de 0, 109344, et 476.

+0

Oh c'est ce que j'ai mal compris. Merci mon ami et je te souhaite de bonnes vacances! – user3520616