анализ файла MIDI, нераспознанный тип события

У меня проблема с попыткой разобрать файл midi. Я пытаюсь разобрать файлы заметок, используемые игрой «Лады в огне» (она использует только миди-файлы, так что я не думаю, что это удобно), если кто-то из вас знаком с этим, проблема, с которой я столкнулся, является общей проблемой миди , У меня есть файл с треком, называемым гитарной партией, гексом, как показано в шестнадцатеричном редакторе:

4D 54 72 6B 00 00 1E 74 00 FF 03 0B 50 41 52 54 20 47 55 49 54 41 52 A9 20 90 61 40 9A 20 61 00 83 60 63 40 BC

Моя программа разбирает этот штраф следующим образом:

4D M
54 т
72 р
6B K
00 <-
00 размер
1E дорожка
74 ->
00 время этого события
Тип события FF (это мета)
03 тип мета-события
Длина данных 0B
50 "П"
41 "А"
52 "R"
54 "Т"
20 ""
47 "Г"
55 "U"
49 "Я"
54 "Т"
41 "А"
52 "R"
$264D 54 72 6B 00 00 1E 74 00 FF 03 0B 50 41 52 54 20 47 55 49 54 41 52 A9 20 90 61 40 9A 20 61 00 83 60 63 40 BC27$
$28У меня проблема с попыткой разобрать файл midi. Я пытаюсь разобрать файлы заметок, используемые игрой «Лады в огне» (она использует только миди-файлы, так что я не думаю, что это удобно), если кто-то из вас знаком с этим, проблема, с которой я столкнулся, является общей проблемой миди , У меня есть файл с треком, называемым гитарной партией, гексом, как показано в шестнадцатеричном редакторе:29$
90 событие, канал (немета) 1001 = примечание включено, канал = 0000
61 примечание имеет 2 параметра, это первый
40 это второй
$334D 54 72 6B 00 00 1E 74 00 FF 03 0B 50 41 52 54 20 47 55 49 54 41 52 A9 20 90 61 40 9A 20 61 00 83 60 63 40 BC34$
$35У меня проблема с попыткой разобрать файл midi. Я пытаюсь разобрать файлы заметок, используемые игрой «Лады в огне» (она использует только миди-файлы, так что я не думаю, что это удобно), если кто-то из вас знаком с этим, проблема, с которой я столкнулся, является общей проблемой миди , У меня есть файл с треком, называемым гитарной партией, гексом, как показано в шестнадцатеричном редакторе:36$

В этом и заключается моя проблема: нет события с типом события 0x6, поскольку 0x61 - это 01100001, мы должны предположить, что это не мета, поэтому тип события должен быть 6 (0110), а канал - (0001), но спецификация midi не содержит идентификатора для этого события. Я добавил несколько байтов после этого случая, когда они каким-то образом являются релевантными, но, очевидно, в тот момент, когда моя программа переходит к следующему байту, не распознает событие и взрывается.
61
00
83
60
63
40
до н.э

Если кто-то думает, что он мог бы пролить свет на то, где моя логика синтаксического анализа пошла не так, я был бы очень признателен, извините за форматирование, я не мог бы придумать лучший способ проиллюстрировать мою проблему.

Я использую этот сайт:http://www.sonicspot.com/guide/midifiles.html в качестве ссылки, и это не привело меня до сих пор неправильно. Я подумал, что это может быть что-то напрямую связанное с пожарами ладов, но, похоже, это не так, когда я скачал другой файл заметок для игры, и этот файл не содержал этого события.

Заранее спасибо.

Ответы на вопрос(1)

Ваш ответ на вопрос