Как я могу конвертировать ASCII табулатуру в файл MIDI?

Я работал над сценарием PHP, который берет слово или фразу и преобразует их в ASCII-таблицу, используя комбинацию правил азбуки Морзе и моего собственного набора правил.

На данный момент программа почти завершена... все, что не хватает, это код для преобразования ASCII табулатуры в файл MIDI.

Самую последнюю версию скрипта можно найти здесь:

Азбука Морзе

Я нашел много ресурсов для нескольких языков, но все еще не могу найти определения данных для файлов MIDI в форматах XML или MF2T/T2MF. Я могу понять формат ASCII и соответствующим образом настроить вывод моего скрипта, но самый близкий инструмент, который я смог найти для преобразования ASCII в MIDI, - это модуль Perl. Это кажется самым многообещающим инструментом / ресурсом из всего, что я нашел до сих пор, но я ищу решение PHP.

Кто-нибудь есть какие-либо предложения относительно того, как я мог бы выяснить "синтаксис" текстового формата XML и / или MF2T/T2MF для табулатуры? Это кажется достаточно простым, но я просто нахожу инструменты и сценарии, практически не имеющие документации по формату файлов, используемому для создания MIDI-файлов из отформатированной табличной формы ASCII.

Табличка ASCII будет соответствовать этим стандартам, и я хочу программно конвертировать вкладки ASCII непосредственно в MIDI-файлы через PHP (или Perl, если мне нужно)


РЕДАКТИРОВАТЬ:

Нашел еще один SO вопрос, который ссылается на кучу сайтов, которые описывают технические детали формата файла MIDI.

Вот ссылка: Какова структура MIDI-файла?

Еще один хороший ресурс для формата файлов MIDI:

http://courses.cs.washington.edu/courses/cse466/03au/Labs/lab-5/Lab5_files/Standard%20MIDI%20file%20format,%20updated.pdf

1 ответ

Решение

Я закончил тем, что изменил свой подход к проблеме. Я использовал формат RTTTL, потому что он удовлетворяет всем моим требованиям. Формат ограничен воспроизведением только одной ноты за раз. Это означает, что аккорды (две или более ноты и | струна играются одновременно) невозможны. Я только в течение короткого времени тестировал метод преобразования RTTTL, поэтому я мог ошибаться, но я не мог найти никакого способа добиться аккордов с этим протоколом.

Поскольку моя программа не требует одновременного воспроизведения более одной ноты, я не стал жертвовать ничем, используя формат RTTTL.

Я все еще хотел бы найти ЛЮБОЙ способ программного преобразования таблицы в любой тип структурированной текстовой формы в любой тип звукового файла (MIDI, WAV, MP3, OGG, WMA и т. Д.)

На данный момент я закрываю этот вопрос, потому что я решил свою проблему, хотя не совсем так, как я изначально собирался сделать.

Другие вопросы по тегам