2016-08-23 11 views
0

Я ищу способ представления аккордов в MIDI-файле.Аккорды на MIDI?

Обратите внимание, что я не хочу представлять аккордовые голоса. Это можно сделать тривиально с несколькими сообщениями с записью. Но если я это сделаю, тогда я должен делать какие-то записи для аккордового анализа каждый раз, когда я читаю MIDI-файл, и это очень неприятно, потому что я уже знаю структуры аккордов, когда пишу файл.

Скорее, я ищу что-то более похожее на табулатуру гитары или поддельные книги. То есть, я хочу записать «C» или «Cm» или «I» или «I» или «iii7" в определенный момент времени.

Так мои вопросы ...

Есть стандартный способ сделать это? (я не нахожу один, но я полностью не знаю текущую спецификацию.)

есть ли нестандартный способ сделать это?

Я рассматриваю, используя «tag» в мета-событии лирики/отображения. Кажется, я могу придумать {@ chord = Cm}, и это должно быть прозрачным для любого читателя, прошлого, настоящего или будущего, который не понимает этого использования. Я читаю стенд Правильно? Будет ли это разумным, по сути частным, нестандартным расширением?

ответ

0

Спецификация MIDI предоставляет такие значения, как «note on» и «значение основного тона» (as seen here), которые представлены только в виде целых чисел.

В зависимости от типа MIDI (есть 3), вы должны сохранять значения аккордов аналогично тому, как вы предлагали. Таким образом создаются файлы караоке.

Если вы используете Windows, вы можете попробовать что-то вроде Noteworthy Composer. Ссылка также содержит предложение для воспроизведения.

0

Вы абсолютно правы, вы можете реализовать обычное мета-событие и разместить такие события перед группами NoteOn/NoteOff, которые представляют собой аккорд. Я не знаю, какой язык программирования вы используете, но для C# вы можете посмотреть DryWetMIDI. Он позволяет создавать пользовательские мета-события, читать и писать их. Wiki-страница библиотеки describes как это сделать.

 Смежные вопросы

  • Нет связанных вопросов^_^