Чтение и анализ файла .MID с Lua? - PullRequest
3 голосов
/ 13 июля 2011

Я пытаюсь прочитать файл .MID с помощью Lua, а затем анализирую его в таблице со всеми примечаниями (т. Е. {"A", "B #", "Cb" и т. Д.}), Но мне не удается прочитайте файл правильно. Я использую io.open и file: lines (), но запись этих же строк в другой midi-файл приводит к неработающему midi-файлу.

Есть ли более простой способ прочитать и проанализировать файл .MID с помощью Lua?

Ответы [ 3 ]

4 голосов
/ 13 июля 2011

.MID файлы (предположительно стандартный формат MIDI) являются двоичными, а не текстовыми.Чтение их с file:lines() не будет работать.Вам нужно прочитать все это в «строку» (строки Lua могут содержать произвольные байты данных) вместо file:read("*a");это будет читать весь файл в одну строку.Вам также необходимо убедиться, что вы открываете файл в двоичном режиме (для платформ, где это имеет значение).

4 голосов
/ 13 июля 2011

Кажется, что есть структура под названием MIDI.lua для анализа MIDI-данных. Не уверен, насколько хорошо он обрабатывает MIDI-файлы.

...