Как встроить команды изменения управления в файл MIDI - PullRequest
1 голос
/ 29 августа 2008

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

Мне трудно найти информацию о том, как изменить существующие MIDI-файлы, чтобы они могли посылать сигнал изменения управления в синтезатор. У кого-нибудь был опыт с этим?


Я думаю, что я должен был быть более ясным с моим первоначальным вопросом. Я использую существующий игровой движок, который заботится о воспроизведении музыки. У меня сложилось впечатление, что это значение изменения управления должно быть встроено непосредственно в сам файл MIDI, так как я не контролирую синтезатор. Из руководства:

MIDI-файлы воспроизводятся через Синтезатор DirectMusic. Если BGM MIDI файл содержит значение изменения элемента управления 111, это значение признается как где песня начнет повторяться после нее достигает конца.

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

Ответы [ 3 ]

4 голосов
/ 29 августа 2008

Похоже, что вы действительно хотите, это Midi Editor

3 голосов
/ 29 августа 2008

попробуйте посмотреть в Midi 1.0 spec

Вот таблица сообщений об изменении элемента управления , хотя похоже, что вы ищете способ сделать это в программном обеспечении. да?

Вы можете попробовать отправить его как необработанные миди-данные (т.е. сообщения в этой таблице)

снова просматривая ваш вопрос ... мой ответ не так уж полезен ...

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

Вы также можете посмотреть спецификацию для Стандартного формата файла Midi (SMF)

2 голосов
/ 29 августа 2008

DirectMusicProducer , вероятно, ваш лучший бесплатный вариант, если вы играете с использованием DirectMusic. Я не верю, что функция записи MIDI будет включать в себя изменения управления, но ваш движок может поддерживать воспроизведение файлов сегментов, которые гораздо более гибкие.

Единственный MIDI-секвенсор, который я использую, стоил около 300 долларов США около 10 лет назад (и больше не существует), но я не знаю ни одного хорошего качества бесплатных MIDI-файловых секвенсоров. (Обратите внимание, что «редактор MIDI», вероятно, отличается от «редактора файлов MIDI» или «секвенсора MIDI»)

...