MIDI
От: jazzer Россия Skype: enerjazzer
Дата: 11.10.02 17:29
Оценка:
Занимался ли кто-нибудь программированием MIDI в реальном времени?

Меня не интересует проигрывание файлов, мне интересна генерация звуков "на лету".

Естественно, можно по таймеру посылать сообщения note_on и note_off, но это мне не нравится совсем.

Итак, задача примерно такая:

Есть массив нот (т.е. структур с полями высота, длительность (!), время начала звучания, velocity и т.д.).
Нужно вывести его на девайс.

Буду рад любым конструктивным ответам (включая отсылки в конкретные места документации).

Большое спасибо заранее.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re: MIDI
От: Leff  
Дата: 20.10.02 14:46
Оценка:
а чем тебе не нравится по таймеру, по моему это единственный точный способ (в не думаю что в отдельном потоке можно будет точно синхронизировать события по времени). Недавно занимался разработкой MIDI трекера, там я сообщения посылаю именно из процедуры обработки MMTimer'а
Re[2]: MIDI
От: jazzer Россия Skype: enerjazzer
Дата: 20.10.02 15:51
Оценка:
Здравствуйте Leff, Вы писали:

L>а чем тебе не нравится по таймеру, по моему это единственный точный способ (в не думаю что в отдельном потоке можно будет точно синхронизировать события по времени). Недавно занимался разработкой MIDI трекера, там я сообщения посылаю именно из процедуры обработки MMTimer'а


Потому что неудобно это делать через таймер ( или я не знаю хорошего способа делать это удобно и красиво :)) ).
Неужели соответствующая функция API, проигрывающая MIDI-файлы, тоже все делает через таймер для каждой ноты?
Наверняка же есть красивое решение....
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[3]: MIDI
От: piAnd Россия  
Дата: 20.10.02 16:43
Оценка:
Здравствуйте jazzer, Вы писали:
J>Неужели соответствующая функция API, проигрывающая MIDI-файлы, тоже все делает через таймер для каждой ноты?
А зачем для каждой ноты? Ты делаешь 1 таймер с периодом=минимальной длительности ноты, 1/16, 1/32 ,любую вобщем, а потом смотришь какую ноту "включить", какую "выключить", только нужен счетчик 1/16-ых или 1/32-ых ,чтобы было удобно считать время.
J>Наверняка же есть красивое решение....
Re: MIDI
От: PSP Беларусь  
Дата: 25.10.02 08:25
Оценка:
Здравствуйте jazzer, Вы писали:

J>Занимался ли кто-нибудь программированием MIDI в реальном времени?


J>Меня не интересует проигрывание файлов, мне интересна генерация звуков "на лету".


J>Естественно, можно по таймеру посылать сообщения note_on и note_off, но это мне не нравится совсем.


Ещё в проджае есть книжка "MIDI язык богов". Попробуй там посмотри
Всегда Ваш, PSP.
Re: MIDI
От: PSP Беларусь  
Дата: 05.11.02 07:41
Оценка:
Здравствуйте jazzer, Вы писали:

J>Есть массив нот (т.е. структур с полями высота, длительность (!), время начала звучания, velocity и т.д.).

J>Нужно вывести его на девайс.

Слушай, а чего бы тебе не сформировать из твоего массива MIDi файл и не посылать его прямо винде?

Кста винда судя по всему тоже по таймеру ноты выводит.
Всегда Ваш, PSP.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.