Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

MIDI File Dump






Протокол MIDI File Dump предназначен для обмена файлами любого типа между устройствами, имеющими MIDI-интерфейс. Разработчики предлагают следующие применения протокола:

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

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

Сообщения File Dump (Request, Header и Data Packet) относятся к группе Non-Real Time универсальных сообщений SysEx, имеют Sub ID 1, равный 7, и начинаются с заголовка, показанного на рис. 12. Сообщение Header имеет Sub ID 2, равный 1, сообщение Data Packet — 2, сообщение Request — 3. Байт "ss" содержит идентификатор устройства — источника сообщения (широковещательный номер 0x7F здесь запрещен). Он нужен приемнику сообщения для того, чтобы в дальнейшем знать, какому передатчику отвечать.


Сообщение Request имеет структуру, показанную на рис. 13. В поле содержится тип запрашиваемого файла (4 ASCII-символа). Он может принимать одно из шести значений: "MIDI" (стандартный MIDI-файл), "MIEX" (MIDIEX, то есть файл, содержащий только сообщения SysEx в том виде, в каком они хранятся в буфере устройства), "ESEQ" (формат секвенсоров Yamaha), "TEXT" (текстовый ASCII-файл, содержащий символы с кодами, не превышающими 127), "BIN " (двоичный файл, то есть, по сути, любой файл MS-DOS), "MAC " (файл Macintosh, содержащий заголовок MacBinary). Если устройство получило сообщение Request с типом файла, который не поддерживается, оно должно ответить запросившему устройству сообщением Cancel.


В поле содержится имя запрашиваемого файла. Длина имени не ограничена (она может быть и нулевой), а конец сообщения определяется по байту EOX. Отсутствие имени файла означает "прошу передать текущий загруженный". Имя файла может содержать также полный путь: с символами обратной косой черты (PC) или двоеточиями (Mac).

Структура сообщения Header показана на рис. 14. Поля и аналогичны сообщению Request, а в поле находятся четыре MIDI-байта, содержащие длину файла (LSB идет первым). Максимальная длина файла может составлять 228 или примерно 268 Мб. Если передающее устройство не имеет файловой системы, то в сообщении Header оно опускает имя файла, а в сообщениях Data Packet посылает текущее содержимое памяти. При приеме файла такое устройство также игнорирует имя и заполняет память содержимым принятого файла.


Сообщение Data Packet отличается по структуре от аналогичного сообщения SDS тем, что между номером пакета и данными вводится байт, содержащий число исходных (незакодированных) байт в пакете, минус один (рис. 15). Например, 64 байта исходного файла кодируются для передачи в 74 MIDI-байта данных, следовательно, поле будет равно 73. Всего в пакете может быть передано 128 закодированных байт, а максимальная длина всего сообщения Data Packet равна 137 байтам.

 

 

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


Если число исходных байт не делится без остатка на 7, посылается неполная группа, в которой первый байт содержит несколько (менее семи) старших битов из байтов исходной группы (рис. 17). Так как максимальное число передаваемых в пакете байт равно 128, то всего может быть передано 112 исходных (незакодированных) байт (16 x 7). Подобная схема кодирования увеличивает объем передаваемых данных всего лишь на 12% по сравнению с исходным.


Процесс передачи файла выглядит очень похоже на процесс передачи семпла, описанный ранее. Устройство, желающее получить файл (или содержимое памяти другого устройства), может отправить передатчику сообщение Request. В течение 200 мс после этого передатчик должен ответить сообщением Header, WAIT или CANCEL. Отправка файла может начаться и без предварительного запроса, прямой посылкой в приемник сообщения Header.

После отправки заголовка передатчик ждет до 200 мс, и, если за это время не приходит ни одно из сообщений ACK, WAIT или CANCEL, передатчик считает связь односторонней и посылает первый пакет данных. Процесс передачи пакетов аналогичен SDS с той лишь разницей, что передатчик ждет от приемника ответа в течение 50 мс (а не 20, как в SDS), после чего, при отсутствии ответа, считает связь односторонней. После отправки последнего пакета передатчик посылает сообщение EOF (End Of File).

Подытожим вышесказанное. Протоколы SDS и MIDI File Dump, несмотря на перечисленные недостатки, — удобное и надежное средство для передачи данных между MIDI-устройствами. SDS более распространен, а MIDI File Dump более универсален, так как допускает передачу любых данных, в том числе и семплов (в виде двоичного файла).

 







Дата добавления: 2015-08-30; просмотров: 504. Нарушение авторских прав; Мы поможем в написании вашей работы!




Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...


Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...


Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Гносеологический оптимизм, скептицизм, агностицизм.разновидности агностицизма Позицию Агностицизм защищает и критический реализм. Один из главных представителей этого направления...

Функциональные обязанности медсестры отделения реанимации · Медсестра отделения реанимации обязана осуществлять лечебно-профилактический и гигиенический уход за пациентами...

Определение трудоемкости работ и затрат машинного времени На основании ведомости объемов работ по объекту и норм времени ГЭСН составляется ведомость подсчёта трудоёмкости, затрат машинного времени, потребности в конструкциях, изделиях и материалах (табл...

Правила наложения мягкой бинтовой повязки 1. Во время наложения повязки больному (раненому) следует придать удобное положение: он должен удобно сидеть или лежать...

ТЕХНИКА ПОСЕВА, МЕТОДЫ ВЫДЕЛЕНИЯ ЧИСТЫХ КУЛЬТУР И КУЛЬТУРАЛЬНЫЕ СВОЙСТВА МИКРООРГАНИЗМОВ. ОПРЕДЕЛЕНИЕ КОЛИЧЕСТВА БАКТЕРИЙ Цель занятия. Освоить технику посева микроорганизмов на плотные и жидкие питательные среды и методы выделения чис­тых бактериальных культур. Ознакомить студентов с основными культуральными характеристиками микроорганизмов и методами определения...

САНИТАРНО-МИКРОБИОЛОГИЧЕСКОЕ ИССЛЕДОВАНИЕ ВОДЫ, ВОЗДУХА И ПОЧВЫ Цель занятия.Ознакомить студентов с основными методами и показателями...

Studopedia.info - Студопедия - 2014-2025 год . (0.008 сек.) русская версия | украинская версия