Технологии программирования миди

 Навигация:

 Поиск:

 Новости:

17.02.2007
Полностью переработан дизайн сайта.

6.01.2007
Добавлен раздел Наработки Полезные и интересные программы и их исходники от автора.

19.11.2006
Функции WriteVarLen и ReadVarLen портированы с СИ на Delphi читать

14.11.2006
Появилась cтатья Midi-протокол глазами программиста

24.10.2006
Написана вторая часть MMSystem Функции midiOutGetVolume midiOutSetVolume midiOutMessage midiOutShortMsg и midiOutLongMsg

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

1.09.2006
Добавлен раздел MMSystem в котором находятся
подробные опсания функций winmm.dll, определенных в модуле mmSystem.pas,
с примерами их использования в Delphi.

13.08.2006
Опубликован исходник приложения, записывающего игру на клавиатуре
в стандартный midi-файл SMF - 0

4.07.2006
Добавлен раздел Структура формата миди-файла

 Счетчики:
Rambler's Top100 Яндекс цитирования Rambler's Top100
 Контент:

Проигрывание MIDI-файлов

Файлы в стандарте MIDI (Musical Instrument Digital Interface, был раз-работан в 1982 г.) имеют расширения MID и содержат заголовок и инфор-мацию для музыкального синтезатора; используется также стандарт RIFF (содержащие сообщения MIDI и соответствующие стандарту RIFF файлы имеют обычно расширения RMI).

MIDI-файлы создаются с помощью музыкальной клавиатуры и соответствующего программного обеспечения (и, разумеется, некоторых музы-кальных способностей).
При воспроизведении MIDI-файлов могут возникнуть трудности, связанные с тем, что не все синтезаторы имеют одинаковое распределение каналов и инструментов; поэтому рекомендуется воспроизводить в среде Windows только авторизованные для этой ОС файлы MIDI-формата (при отсутствии авторизации Windows выдает предупреждающее сообщение).

Интерфейс управляющих строк MCI

Для работы с входящим в комплект звукового адаптера музыкальным синтезатором используется драйвер mciseq.drv (название суть производная от слова sequencer - ‘устройство задания последовательности’ -именно так в терминологии мультимедиа называется предназначенное для работы с файлами в стандарте MIDI устройство).

При работе с MID-файлами на уровне управляющих строк MCI допустимо пользоваться практически всеми командами, рассмотренными ранее ; не поддерживаются команды resume, record и save. Например, следующая последовательность команд выполнит проигрывание файла canion.mid, входящего в состав дистрибутива ОС Windows
open c:\windows\canyon.mid alias music wait play music wait close music
Драйвер mciseq.drv не поддерживает следующие параметры команды set -audio all off, audio all on, audio left on, audio left off, audio right on, audio right off. Дополнительно можно использовать устанавливающий формат времени в единицах ‘одна шестнадцатая ноты’ параметр time format song pointer, позволяющий задать темп исполнения мелодии параметр tempo и некоторые другие.

Интерфейс управляющих сообщений MCI

Использование интерфейса управляющих сообщений для проигрыва-ния mid-файлов аналогично использованию этого интерфейса для проиг-рывания WAV-файлов, см. подраздел 3.7.2; ниже кратко приведены коды управляющих сообщений и самые нужные параметры, являющиеся специ-фичными для драйвера mciseq.drv
Коды управляющих сообщений MCI для работы с MIDI- файлами Описание
MCI_OPEN Устройство sequencer открывается с использованием выше-описанной структуры MCI_OPEN_PARMS. Поле lpstrDeviceType этой структуры должно содержать указатель на строку имени устройства или константный идентификатор устройства. Для устройства sequencer можно указать имя "sequencer" или константу MCI_DEVTYPE_SEQUENCER
MCI_CLOSE Команда закрытия устройства, выдается после завершения работы с устройством
MCI_PLAY Проигрывает выбранный файл, функционирование не отли- чается от случая проигрывания WAV-файлов
MCI_PAUSE Приостанавливает выполнение операции проигрывания
MCI_RESUME Не поддерживается драйвером mciseq.drv, вместо нее для запуска проигрывания с текущей позиции можно использовать команду MCI_PLAY без указания позиции
MCI_STOP Останавливает выполнение операции проигрывания
MCI_SEEK Выполняет позиционирование в пределах mid-файла
MCI_BREAK Устанавливает виртуальный код клавиши прерывания выполнения операции
MCI_GETDEVCAPS Позволяет определить возможности устройства
MCI_INFO Служит для получения информации об устройстве в виде текстовой строки
MCI_SYSINFO Позволяет получить системную информацию в виде тексто- вой строки об устройстве
MCI_STATUS Используется для определения текущего состояния устройства
MCI_SET Предназначена для установки режима работы устройства
MCI_COPY Позволяет копировать данных в универсальный буфер обмена (Clipboard), совместно с ней используется блок параметров в формате структуры MCI_GENERIC_PARMS (флаги MCI_NOTIFY и MCI_WAIT)
MCI_PASTE Вставляет данные из Clipboard в текущий буфер устройства, использует блок параметров в формате структуры
MCI_GENERIC_PARMS (флаги MCI_NOTIFY и MCI_WAIT)
MCI_CUT Удаляет данные из текущего буфера устройства и копирует их в универсальный буфер обмена Clipboard, использует блок параметров в формате структуры MCI_GENERIC_PARMS (флаги MCI_NOTIFY и MCI_WAIT)
MCI_DELETE Удаляет данные из текущего буфера устройства без копирования их в Clipboard
MCI_LOAD Используется для загрузки файла

Содержание
 Bash.org.ru:

 Реклама:

 ©Copyright:
http://www.last.h16.ru - программирование миди. Идея, разработка и поддержка : Mo-skin © 2006-2007
X