Je veux ouvrir un fichier MIDI et analyser chaque octet. Mais je suis très peu familier avec la manipulation des octets et des bits. Les Midi sont écrits en hexadécimal si cela fait une différence.Comment puis-je obtenir chaque octet dans une liste
Ce que je veux faire est de mettre chaque octet dans une liste, puis faire une boucle pour vérifier chacun d'eux. Comment ferais-je cela?
Je suis venu jusqu'ici (ce qui est pas très loin):
# Open MIDI file
mFile = open("test.mid", 'rb')
# Checks if file is MIDI
hChunk = mFile.read(4)
if hChunk != b'MThd':
raise ValueError('Not a MIDI file')
print(mFile.read())
Aussi, si quelqu'un a des liens faciles à comprendre d'explication du format MIDI, ce serait apprécié! :)
'contenu = mFile.read()'. 'contents' est maintenant un tableau d'octets, auquel vous pouvez accéder avec' contents [n] 'n étant le décalage. Il vous donnera la valeur des octets –
@ Jean-FrançoisFabre Qu'entendez-vous par "la valeur de l'octet"? Quand j'imprime le contenu j'obtiens _b'MThd \ x00 \ x00 \ x00 \ x06 \ x00_ (etc) et si je prends le contenu de fx [0] j'obtiens 77. Que représente le 77? Et comment puis-je l'obtenir au format xFF? Merci! – Sorrells
77 est la valeur ASCII de "M". Si vous avez besoin de séquences d'octets au lieu de nombres, découpez-les à la place. –