Я хочу открыть MIDI-файл и проанализировать каждый байт. Но я ОЧЕНЬ незнакомы с обработкой байтов и бит. Midi's написаны в шестнадцатеричном формате, если это имеет какое-либо значение.Как получить каждый байт в список
Что я хочу сделать, это поместить каждый байт в список, а затем создать цикл for для проверки каждого из них. Как я могу это сделать?
Я пришел далеко (не очень далеко):
# 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())
Кроме того, если кто-либо легко понять MIDI формат объяснительные ссылки, которые будут оценены! :)
'содержимое = mFile.read()'. 'contents' теперь представляет собой массив байтов, доступ к которому можно получить с помощью' contents [n] 'n, являющегося смещением. Он даст вам значение байтов –
@ Jean-FrançoisFabre Что вы подразумеваете под «значением байта»? Когда я печатаю содержимое, я получаю _b'MThd \ x00 \ x00 \ x00 \ x06 \ x00_ (и т. Д.), И если я возьму содержимое fx [0], я получу 77. Что представляет собой 77? И как мне получить его в формате xFF? Благодаря! – Sorrells
77 - значение ASCII «M». Если вам понадобятся байтовые последовательности вместо цифр, тогда вместо этого нарисуйте. –