что такое миди в музыке

MIDI и OSC — основные протоколы взаимодействия музыкальных приложений

Часть 1. MIDI

1 Предпосылки

Необходимость в таком стандарте возникла примерно к концу 70-х годов. В то время синтезаторы управлялись напряжением с помощью интерфейса CV/Gate. Существовало несколько его видов, однако, наибольшую популярность получил вариант, предложенный фирмой Roland: в нем при увеличении напряжения на 1 В, частота генерируемого тона увеличивалась на одну октаву. Главным недостатком такого интерфейса является то, что с помощью него можно управлять только одним голосом полифонии. Для извлечения дополнительной ноты нужно добавлять еще один интерфейс CV/Gate. Кроме того, таким способом передается только сам факт нажатия клавиши и ее высота, чего однозначно мало для выразительной игры.

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

Несомненно, у каждого синтезатора свой характер звучания, каждый из них был силен в определенных типах звуков. Поэтому многие музыканты того времени практиковали игру сразу на двух инструментах, как бы используя лучшее из разных моделей. Наслоение звуков из различных синтезаторов стало исполнительским приемом, визитной карточкой многих музыкантов. [1]

2 История появления

К началу 80-х большинство производителей осознали необходимость создания единого интерфейса. Задача стояла такая: разработать стандарт передачи действий исполнителя в цифровой форме между всеми типами электромузыкальных инструментов. [1]

3 Основы

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

Сам протокол состоит из трех частей [1]: спецификация формата данных, аппаратная спецификация интерфейса и спецификация хранения данных. В данной статье будет идти речь только о первой части.

MIDI сообщения делятся на два типа: сообщения канала (channel messages) и системные сообщения (system messages). Первые управляют звукообразованием, а вторые выполняют служебные функции, например, синхронизация.

что такое миди в музыке. Смотреть фото что такое миди в музыке. Смотреть картинку что такое миди в музыке. Картинка про что такое миди в музыке. Фото что такое миди в музыке

Сообщение обычно состоит из двух или трех байт. Первый байт называется статус байтом. В нем задается тип сообщения и номер канала, к которому оно относится. Все последующие байты называются байтами данных. Статус-байт всегда начинается с единицы, а байт-данных с нуля — таким образом система их различает. Получается, что для MIDI информации остается только 7 бит, с помощью которых можно закодировать целые числа от 0 до 127, — вот откуда берется это «знаменитое» ограничение на количество нот и значения контроллеров.

что такое миди в музыке. Смотреть фото что такое миди в музыке. Смотреть картинку что такое миди в музыке. Картинка про что такое миди в музыке. Фото что такое миди в музыке

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

Табл. 1. Сообщения канала.

СообщениеСтатус-байтБайт данных 1Байт данных 2
Note Off1000nnnnНомер нотыVelocity
Note On1001nnnnНомер нотыVelocity
Polyphonic Key Pressue1010nnnnНомер нотыДавление
Control Change1011nnnnНомер контроллераЗначение
Program Change1100nnnnНомер программы
Channel Pressure1101nnnnДавление
Pitch Wheel Change Change1110nnnnНомер программы
Системные сообщения1111nnnn..

Табл. 2. Системные сообщения

СообщениеСтатус-байтБайт данных 1Байт данных 2
System Exclusive (SysEx)
System Exclusive11110000ID.
System Common
MTC Quater Frame11110001Тайм-код
Song Position Pointer11110010LSBMSB
Song Select11110011Номер песни
Tune Request11110110
End Of Exclusive (EOX)11110111
Real Time
Timing Clock11111000 (248)
Start11111010 (250)
Continue11111011 (251)
Stop11111100 (248)
Active Sensing11111110
System Reset11111111

4 Недостатки

MIDI разрабатывался, как доступный и практичный стандарт для передачи жестов исполнителя между любыми MIDI-устройствами [2]. Не в последнюю очредь благодаря своей легковесности он и получил такое распространение. Что ни говори, со своим предназначением он справляется прекрасно, и это подтверждается временем.
Итак, наверное, самый известный недостаток — ограничение значений контроллеров на 128 значений. Конечно, есть возможность передавать их с помощью двух байтов данных (что дает 16 384 возможных значений), но для этого надо передать три сообщения Control Change, что очень сильно загрузит протокол, так как данные по нему передаются со скоростью 31 250 бит/с. Это очень мало. Для сравнения, 12-нотный аккорд передастся примерно за 10 мс. И это без других сообщений, например Clock и CC. В реальном перфомансе, когда одновременно передается много различных параметров, могут возникнуть проблемы с синхронизацией.

Часть 2. Open Sound Contol

«Open Sound Control — это новый, оптимизированный для современных сетевых технологий протокол для взаимодействия компьютеров, звуковых синтезаторов и других мультимедиа устройств» — так был представлен OSC на международной конференции по компьютерной музыке в 1997 году [3]. OSC не является протоколом в том виде, каким является MIDI, так как он не описывает требований к аппаратному обеспечиванию — спецификации описывают лишь формат передачи данных. В этом плане OSC больше схож с XML или JSON, нежели с MIDI [8].

Пока оставим технические подробности и начнем с самого начала, с истории.

1 История, области применения

Open Sound Control был создан в 1997 году Мэттью Райтом (Matthew Wright) и Эдрианом Фридом (Adrian Freed) в Университете Калифорнии в центре новой музыки и аудио технологий (CNMAT — Center of New Music and Audio Technologies). Разработчики хотели использовать высокоскоростные сетевые технологии в интерактивной компьютерной музыке [4]. OSC не важно, по какому протоколу передаваться, так как он представляет собой всего лишь формат данных (binary message format), хотя большинство реализаций используют TCP/IP или UDP. Другой причиной создания было то, что MIDI с его нотами, каналами и контроллерами логично не подходил к разрабатывающемуся в то время синтезатору CAST (CNMAT Additive Synthesis Tools), оно и понятно, ведь MIDI — это клавишно-ориентированный протокол, который разрабатывался для управления одним синтезатором с другого [1].

Слово «Open» в названии означает, что OSC не предопределяет, какие сообщения должны использоваться для определенных параметров — это решается разработчиком конкретного девайса. Кроме того, это слово имеет и другое значение: протокол открыт, его спецификации находятся на официальном сайте, где можно скачать исходники.

2 Особенности
3 Анатомия сообщений

что такое миди в музыке. Смотреть фото что такое миди в музыке. Смотреть картинку что такое миди в музыке. Картинка про что такое миди в музыке. Фото что такое миди в музыке
Стоит отметить, что при использовании UDP, если сообщения передавались в разных пакетах, они не обязательно будут приходить в том порядке, в каком были переданы [6]. Допустим, были переданы сообщения:

/synth1/noteoff 54
/synth1/noteon 60

Фактически они могут прийти в обратном порядке:

/synth1/noteoff 60
/synth1/noteon 54

Это может привести к проблемам с управлением голосами в полифонии, например, в данном сообщении передается команда noteoff, которая выключает голос, а потом включает другую ноту. Если эти сообщения придут в обратном порядке, голос не освободится и новая нота не сможет запуститься.

Чтобы этого избежать, нужно передавать сообщения в одном пакете (bundle), либо использовать TCP/IP, он отличается от UDP тем, что гарантирует корректную доставку пакетов, передавая каждый из них до тех пор, пока он не передастся в изначальном виде. Нужно иметь ввиду, что ценой такому удобству будут большие в сравнении с UDP задержки, поэтому использование TCP/IP должно быть обосновано.

4 Pattern matching

дефис между двумя символами означает диапазон чисел в ASCII последовательности (дефис в конце строки не имеет специального значения);

Источник

Первым хитовым форматом файлов в интернете был не MP3, а MIDI

Как нацеленный на профессионалов формат MIDI на короткое, но примечательное время стал основным способом распространения музыки в интернете

что такое миди в музыке. Смотреть фото что такое миди в музыке. Смотреть картинку что такое миди в музыке. Картинка про что такое миди в музыке. Фото что такое миди в музыке

Почему-то каждый год, когда на горизонте начинает маячить начало ноября, я вспоминаю композицию November Rain.

Я не большой фанат хард-рока, но это отличная песня, успех которой Guns N’ Roses не смогли превзойти за 27,5 лет, прошедших с тех пор, как она стала самой раскрученной на радио. Это самая длинная песня, попавшая в десятку лучших хитов Billboard Hot 100 – длиннее, чем American Pie. Много лет она была эталоном популярной музыки.

Видеоклип был самым крутым из того, что показывали на MTV – и, несколько десятилетий спустя, стал одним из самых популярных видеоклипов в истории YouTube.

Она длится девять минут. И повествует об опыте длиною в жизнь – если ваша жизнь похожа на жизнь Эксла Роуза.

Но, какой бы она ни была потрясающей, она ещё более удивительна в формате файла MIDI – в таком формате её распространяли в интернете в году этак 1996 – поскольку ему удаётся точно передать дух песни, занимая при этом меньше 50 Кб (в зависимости от вашей звуковой карты).

Сегодня мы вспоминаем слишком краткий период времени, в течение которого MIDI-файлы были значительной частью интернета.

что такое миди в музыке. Смотреть фото что такое миди в музыке. Смотреть картинку что такое миди в музыке. Картинка про что такое миди в музыке. Фото что такое миди в музыке

Как браузерные войны помогли популяризации MIDI

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

В работе был рекомендован «универсальный интерфейс синтезаторов» для музыкальных инструментов, который бы гарантировал возможность переноса музыкальных данных с одного инструмента на другой. Изначально эта технология полагалась на телефонные разъёмы и предназначалась для синтезаторов, но в итоге в 1983 превратилась в цифровой интерфейс музыкальных инструментов, или MIDI [Musical Instrument Digital Interface], совмещающий интерфейсы для оборудования и протокол распространения данных.

Формат MIDI никуда не исчезал – и вообще стал ключевым способом совместного творчества музыкантов за последние 40 лет. Ассоциация производителей MIDI приблизилась к выпуску версии 2.0 – основной вехе для протокола, чей изначальный вариант 1.0 определил современное состояние музыки.

MIDI – база большей части популярной музыки, но в своей истории он редко переходил в такое состояние, в котором им интересовались бы обычные потребители.

Однако был небольшой период времени, когда он достиг огромного успеха у людей, которые бы иначе и не подумали слушать синтезаторную музыку. И причина этого кроется в его размере. По сути, это ведь просто кучка компьютерных данных, нулей и единиц.

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

В поисках дополнительных возможностей два основных разработчика веб-браузеров той эры — Microsoft и Netscape – добавили функциональность, позволявшую использовать аудиофайлы при загрузке сайтов, либо в виде фоновой музыки, либо в виде включаемых страницу файлов со специальным проигрывателем. В любом случае, это был один из ранних примеров плагина, с которым столкнулось большинство – ещё до появления Flash.

В частности, Microsoft Internet Explorer поддерживал его ещё с версии 1.0, а Netscape Navigator поддерживал при помощи плагина, а встроенную поддержку сделал с версии 3.0. Во время пика популярности сайта Geocities был период, когда сайты, загружавшиеся с MIDI-файлами, были обычным делом.

Когда в 2009 году Geocities закрыли, MIDI-файлы с различных сайтов были собраны командой веб-архива. В архиве Internet Archive хранится более 51 000 файлов в коллекции The Geocities MIDI Collection. Список имеющихся там песен – это капсула времени, относящаяся к определённой эре. У вас есть любимая песня из 1998? Поищите её название там без пробелов, и вы, вероятно, её найдёте (я нашёл в архиве не менее семи разных версий November Rain).

Они звучат, как музыкальная капсула времени, и вызывают воспоминания о том периоде у многих веб-сёрферов того времени.

«Даже в эру высококачественных MP3 простенькие звуки MIDI-файлов отзываются в вебе», — писал Дуглас Уолк для журнала Spin в 2000-м, объясняя причину этого: «Их можно играть практически на всём чуть умнее сковородки, а ещё они очень маленькие».

что такое миди в музыке. Смотреть фото что такое миди в музыке. Смотреть картинку что такое миди в музыке. Картинка про что такое миди в музыке. Фото что такое миди в музыке

Однако чего у них не было, так это постоянства. Когда MIDI-файлы стали популярными из-за звуковых карт, качество последних очень серьёзно отличалось. Sound Blaster ввёл некую базовую линию, однако гарантии постоянства у MIDI-файлов в конце 90-х не было. Вероятно, что MIDI-файл на безымянной звуковой карточке в дешёвой системе от Packard Bell с б/ушными компонентами звучал не так хорошо, как на Sound Blaster AWE32, настолько максималистской звуковой карте, что у неё были собственные разъёмы для расширения памяти.

MIDI-файлы продаются на дискетах – даже в 2019-м

Стоит отметить, что к моменту появления MIDI-файлов в браузерах их использование в качестве инструмента для распространения контента уже не было чем-то новым. В 1983 году компания Synth-Bank – управляемая Брайаном Беллом, сотрудничавшим с Сантаной и Херби Хэнкоком – первой реализовала идею распространения музыкальных файлов по модему, используя такие ранние онлайн-сервисы, как GE Link и AppleLink. Предполагалось, что сервисом будут пользоваться профессиональные музыканты для облегчения совместной работы.

«Я пытаюсь создать всемирный доступ для звуковиков и конечных пользователей, чтобы они могли работать вместе без проблем, связанных с отсутствием музыкантов, занятостью и поездками, а также с отправкой дисков по почте», — рассказал Белл журналу Network World в 1986.

Были попытки продавать MIDI на коммерческом рынке. Наиболее примечательным было пианино Disklavier от Yamaha, использовавшее дискеты и CD с DRM-защитой для работы с MIDI-файлами. А если вам не нужно было всё пианино, то Roland продавал устройство с динамиком, проигрывавшее файлы MIDI с дискет. Однако ключевая аудитория была такой узкой, а дискеты – такими редкими, что извлечь файлы MIDI вопреки DRM-защите для редактора журнала Hackaday стало по-настоящему трудной задачей.

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

Довольно странно думать об этом, но в то время мы могли распространять файлы MIDI пиратским методом, даже не понимая этого.

«Выход стандартных файлов MIDI является работой авторов, подлежащей защите авторских прав, поскольку информация, содержащаяся в файле, заставляет звуковое устройство выдавать музыкальные ноты определённой высоты, тембра, скорости и длительности в определённом порядке, как делает механическое пианино на основе валика с мелодией, или плеер компакт-дисков на основе компакт-диска».

Так писала Шарлотта Дуглас, главный юридический консультант общего совета при Бюро авторского права США в 1996 году в решении о том, что файлы MIDI считаются защищёнными авторским правом. Это решение облегчило задачу лицензирования и обмена файлами MIDI с продюсерами, хотя в онлайне вопрос копирайта был не решён.

что такое миди в музыке. Смотреть фото что такое миди в музыке. Смотреть картинку что такое миди в музыке. Картинка про что такое миди в музыке. Фото что такое миди в музыке

MIDI-музыкант, сделавший делом своей жизни сохранение регтайма

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

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

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

В 1980-х он обнаружил первую возможность комбинировать носители посредством инструмента SIDPlayer, позволявшего извлекать музыку из Commodore 64 – включая и обожаемый им регтайм. В то время он начал писать музыку специально для SIDPlayer, и помог привлечь такой интерес к этому формату, что его композиции даже продавало издательство Softdisk, большую известность которому принесло его участие в карьерах разработчиков Doom и Quake.

Commodore, конечно, канул в Лету, но к середине 1990-х Роак открыл для себя MIDI – и вскоре интернет открыл для себя Роака, построившего своё интернет-присутствие благодаря созданию файлов MIDI и распространению дифирамбов регтайму. Его сайт на AOL помог набрать популярности как Роаку, так и регтайму, о котором забыли, когда от него произошли блюз, джаз, кантри и в итоге рок-музыка.

В обзорной статье 1997 года в газете The Baltimore Sun журналист Майкл Химовиц был поражён тем, насколько он увлёкся страстью Роака.

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

Затем я вдруг подумал, что мне нужно больше писать о том, что делает веб таким особенным – о возможности заниматься любимым делом. В отличие от всех прочих носителей, существовавших ранее, веб даёт людям с необычными талантами и интересами шанс поделиться своей страстью со аналогичными энтузиастами – и с такими людьми, как я, случайно заглянувшими на огонёк.

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

«Музыка регтайм хороша потому, что пианино – это и есть пианино, а большинство синтезаторов хорошо его воспроизводят, — рассказал Роак газете. – Но если вы начинаете играться со струнными и басами, то то, что хорошо звучит у вас, не обязательно будет хорошо звучать у меня».

На сайте Роака, работающем до сих пор, есть информативные уроки истории этой музыкальной формы, а также созданные Роаком версии классических песен регтайм, написанных такими титанами этого жанра, как Скотт Джоплин и Джелли Ролл Мортон. Роак месяцами работает над композициями, полагаясь на Sound Blaster AWE32 и пианино от Roland. Единственный минус, который находит во всём этом Роак, состоит в том, что его руки недостаточно велики для того, чтобы как следует играть регтайм.

В каком-то смысле, Роак просто создал личную веб-страничку, посвящённую предмету своей страсти – вместе с моделью распространения, подходящей для его работы. Но в процессе он вышел за пределы этой формы, и хотя он не дорос до бренда, он стал важной частью регтайм-сообщества в конце 90-х, записав два альбома, Syncopated Odyssey и Hot Kumquats при помощи формата MIDI.

что такое миди в музыке. Смотреть фото что такое миди в музыке. Смотреть картинку что такое миди в музыке. Картинка про что такое миди в музыке. Фото что такое миди в музыке

Когда в 1999 году он умер – безвременно – он, можно сказать, произвёл революцию в старинной музыке, добавив к ней технологию. Его сайт по сей день остаётся в онлайне, являясь капсулой времени для цифровой личности, вдохновлённой творческими возможностями MIDI.

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

Как и многие форматы файлов, файлы MIDI никогда не предполагалось использовать так, как они реально использовались.

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

Файл MIDI, даже вырванный из контекста, предлагал неплохой компромисс.

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

В итоге мне удалось заставить их работать при помощи плагина Jazz-Plugin, доступного для большинства популярных браузеров, Firefox, Safari и Chrome.

Это во многих аспектах напоминает мне развитие интернета, оставившую за бортом Gopher, когда-то по умолчанию включённый во многие браузеры, однако удалённый оттуда после выхода протокола из моды.

Популярные браузеры постоянно проделывают подобное – и они уже собрались сделать это с FTP, что разработчики Chrome на полном серьёзе обсуждают уже более пяти лет.

Можно ещё сравнить историю с MIDI с историей HTML-тега blink, точно так же исчезнувшего из браузеров.

Как я уже говорил, MIDI не умер – вовсе нет. Его сила в том, что iPad, поддерживающий MIDI, вполне может обмениваться данными с самыми ранними из поддерживающих MIDI устройств, типа Commodore 64.

Однако было время, когда он был на передних ролях, а не прятался за кулисами. И всё это благодаря уникальному набору требований раннего веба.

А теперь извините, я пойду отрываться под MIDI-версию November Rain. Или какую-нибудь композицию в стиле регтайм. Я пока не определился.

Источник

Описание интерфейса MIDI

Автор: Евгений Музыченко (Eugene Muzychenko) 2:5000/14@FidoNet
Copyright (©) 1996-97, Eugene V. Muzychenko
Все права в отношении данного текста принадлежат автору. При воспроизведении текста или его части сохранение Copyright обязательно. Коммерческое использование допускается только с письменного разрешения автора.

Musical Instrument Digital Interface — цифровой интерфейс музыкальных инструментов. Создан в 1982 году ведущими производителями электронных музыкальных инструментов — Yamaha, Roland, Korg, E-mu и др. Изначально был предназначен для замены принятого в то время управления музыкальными инструментами при помощи аналоговых сигналов управлением при помощи информационных сообщений, передаваемых по цифровому интерфейсу. Впоследствии стал стандартом де-факто в области электронных музыкальных инструментов и компьютерных модулей синтеза.

MIDI представляет собой так называемый событийно-ориентированный протокол связи между инструментами. Всякий раз, когда исполнитель производит какое-либо воздействие на органы управления (нажатие/отпускание клавиш, педалей, изменение положений регуляторов и т.п., инструмент формирует соответствующее MIDI-сообщение, в тот же момент посылаемое по интерфейсу. Другие инструменты, получая сообщения, отрабатывают их так же, как и при воздействии на их собственные органы управления. Таким образом, поток MIDI-сообщений представляет собой как бы слепок с действий исполнителя, сохраняя присущий ему стиль исполнения — динамику, технические приемы и т.п. При записи на устройства хранения информации MIDI-сообщения снабжаются временнЫми метками, образуя своеобразный способ представления партитуры. При воспроизведении по этим меткам полностью и однозначно восстанавливается исходный MIDI-поток.

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

Аппаратная спецификация MIDI

Интерфейс — старт-стопный последовательный «токовая петля» (активный передатчик, 5 мА, токовая посылка — 0, бестоковая — 1), скоростью передачи 31250 ±1% бит/с и протоколом 8-N-1 (один стартовый бит, 8 битов данных, один бит стопа, без четности). Передатчики и приемники должны обеспечивать длительность фронтов менее 2 мкс.

Каждый инструмент имеет три соединительных разъема: In (вход), Out (выход) и Thru (копия сигнала с In через буфер). Все разъемы — типа female DIN-5 (СГ-5), вид с наружной стороны (стороны соединения):

что такое миди в музыке. Смотреть фото что такое миди в музыке. Смотреть картинку что такое миди в музыке. Картинка про что такое миди в музыке. Фото что такое миди в музыке

Контакты 4 и 5 — сигнальные, контакт 2 — экран. Полярность сигналов дается относительно источника тока: контакт 4 — плюс (ток вытекает из вывода), контакт 5 — минус (ток втекает в вывод). Таким образом, для разъемов Out и Thru назначение то же, для разъема In — обратное. Для соединения используется двужильный экранированный кабель длиной до 50 футов (около 15 м). Экран необходим только для защиты от излучаемых помех — кабель практически нечувствителен к наводкам извне. Соединение разъемов на двух концах кабеля — прямое (2-2, 4-4, 5-5).

Один MIDI-передатчик допускает подключение до четырех приемников.

Описанная схема позволяет создавать сеть MIDI-устройств, подключая их по цепочке и нескольким направлениям:

что такое миди в музыке. Смотреть фото что такое миди в музыке. Смотреть картинку что такое миди в музыке. Картинка про что такое миди в музыке. Фото что такое миди в музыке

В этой схеме устройство 1 служит источником сообщений, которые получает устройство 2 и через его ретранслятор — устройство 3. Устройство 4 получает сообщения, посылаемые устройством 2 (они могут как включать, так и не включать получаемые самим устройством 2) и ретранслирует их на вход устройства 5.

Спецификация формата данных MIDI

MIDI-данные представляют собой сообщения, или события (events), каждое из которых является командой для музыкального инструмента. Стандарт предусматривает 16 независимых и равноправных логических каналов, внутри каждого из которых действуют свои режимы работы; изначально это было предназначено для однотембровых инструментов, способных в каждый момент времени воспроизводить звук только одного тембра — каждому инструменту присваивался свой номер канала, что давало возможность многотембрового исполнения. С появлением многотембровых (multi-timbral) инструментов они стали поддерживать несколько каналов (современные инструменты поддерживают все 16 каналов и могут иметь более одного MIDI-интерфейса), поэтому сейчас каждому каналу обычно назначается свой тембр, называемый по традиции инструментом, хотя возможна комбинация нескольких тембров в одном канале. Канал 10 по традиции используется для ударных инструментов — различные ноты в нем соответствуют различным ударным звукам фиксированной высоты; остальные каналы используются для мелодических инструментов, когда различные ноты, как обычно, соответствуют различной высоте тона одного и того же инструмента.

Поскольку MIDI-сообщения представляют собой поток данных в реальном времени, их кодировка разработана для облегчения синхронизации в случае потери соединения. Для этого первый байт каждого сообщения, называемый также байтом состояния (status byte), содержит «1» в старшем разряде, а все остальные байты содержат в нем «0» и называются байтами данных (data bytes). Если после получения всех байтов данных последнего сообщения на вход приемника поступает байт, не содержащий «1» в старшем разряде — это трактуется как повторение информационной части сообщения (подразумевается такой же первый байт). Такой метод передачи носит название «Running Status» и широко используется для уменьшения объема передаваемых данных — например, передается один байт команды «Controller Change» с нужным номером канала, а затем — серия байтов данных с номерами и значениями контроллеров для этого канала.

MIDI- сообщения делятся на канальные — относящиеся к конкретному каналу, и системные — относящиеся к системе в целом. Кодировка MIDI-сообщений (шестнадцатеричная, n в первом байте обозначает номер канала):

Канальные сообщения:

Системные сообщения:

Инструменты, поддерживающие стандарты GM и GS, почти всегда имеют дополнительные средства управления синтезом и обработкой звука, расширяющие рамки стандарта. При этом используемые способы управления, как правило, сохраняются внутри одной линии инструментов и внутри инструментов одного производителя.

Описание работы контроллеров

Контроллеры Bank Select

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

По умолчанию устанавливается нулевой банк. После смены банка обязательна посылка сообщения Program Change для выбора тембра (инструмента).

Обработка устройством команды смены банка и инструмента может занять значительное время (десятки миллисекунд и более). Некоторые устройства при получении команд смены банков и инструментов гасят звучащие ноты в канале.

Контроллер Modulation

Задает глубину частотной модуляции в канале. Управление абсолютное. Значение 0 отключает модуляцию, значение 127 устанавливает максимальную глубину. Стандартное значение — 0. Действует на последующие и уже звучащие ноты.

Контроллер Portamento Time

Задает время плавного скольжения от частоты предыдущей ноты до частоты очередной ноты. Управление абсолютное. Значение 0 соответствует минимальному времени, 127 — максимальному. Стандартное значение не определено.

Контроллер Main Volume

Задает громкость звучания внутри канала. Управление абсолютное. Стандартное значение — обычно 100. Действует на последующие и уже звучащие ноты.

Контроллер Pan

Задает соотношение уровня стереоканалов (точку стереопанорамы) для канала. Управление абсолютное. Значение 0 — крайняя левая позиция, 64 — средняя, 127 — крайняя правая. Стандартное значение — 64. Действует на последующие и уже звучащие ноты.

Контроллер Expression

Задает степень выразительности звука. Управление абсолютное. На простых инструментах дублирует контроллер Main Volume и действует и на последующие, и на уже звучащие ноты. На инструментах с развитым синтезом управляет более тонкими параметрами выразительности, и действует только на последующие ноты. Стандартное значение — обычно 127.

Контроллер Harmonic Content

Задает добротность (глубину резонанса) фильтра канала, позволяющего подчеркнуть высокочастотные гармоники тембра. Увеличение добротности увеличивает крутизну характеристики фильтра в области среза, усиливая частоты, лежащие непосредственно ниже частоты среза. Управление относительное (0..64..127). Стандартное значение — 64.

Контроллер Release Time

Задает время концевого затухания звучания нот с момента отработки Note Off (явного или автоматического) до полного исчезновения звука. Управление относительное (0..64..127). Стандартное значение — 64.

Контроллер Attack Time

Задает время начальной атаки — нарастания громкости звучания нот с момента отработки Note On до максимального значения громкости. Управление относительное (0..64..127). Стандартное значение — 64.

Контроллер Brightness

Задает частоту среза фильтра канала, управляющую ослаблением высоких частот звука. Управление относительное (0..64..127). Стандартное значение — 64.

Контроллер Portamento Control

Задает номер ноты, от которой выполняется плавная перестройка частоты в режиме Portamento, и позволяет установить исходную высоту, отличную от определяемой последним сообщением Note On.

Контроллер Reverb Level

Задает глубину выбранного эффекта типа реверберации (основанного на постоянной задержке сигнала) — Room, Hall, Delay, Echo и т.п. Управление — абсолютное или относительное в зависимости от инструмента.

Контроллер Chorus Level

Задает глубину эффекта типа хорового (основанного на переменной задержке сигнала) — Chorus, Flanger, Phaser и т.п. Управление — абсолютное или относительное в зависимости от инструмента.

Контроллер Variation Level

Задает глубину эффекта, выбранного в качестве Variation. Управление — абсолютное или относительное в зависимости от инструмента.

Контроллер-переключатель Sustain

Во включенном состоянии вызывает удержание звучания для всех клавиш, отпущенных во время действия контроллера — по аналогии с правой педалью фортепиано. Иными словами, в режиме Sustain канал задерживает отработку последнего поступившего для каждой ноты сообщения Note Off. В момент отключения одновременно отрабатываются все задержанные таким образом Note Off; на явно удерживаемые в этот момент клавиши (для которых последним поступившим сообщением является Note On) отключение режима не влияет.

Контроллер-переключатель Sostenuto

Действует подобно Sustain, но удерживает звучание только тех нот, которые были нажаты на момент включения контроллера. Последующие нажатия и отпускания отрабатываются в обычном порядке. Иначе говоря, откладывается отработка Note Off только для тех нот, Note On для которых поступили до включения режима.

Контроллер-переключатель Soft

Контроллер-переключатель Portamento

При выключенном режиме каждая нажатая нота начинает звучать на частоте, определяемой высотой ноты и установленными на данный момент значениями контроллеров управления высотой (Pitch Bend Change и Coarse/Fine Tune и т.п.). При включенном режиме очередная нота начинает звучать на частоте, определяемой последним сообщением Note On или контроллером Portamento Control, затем ее высота плавно изменяется до нужной со скоростью, определяемой контроллером Portamento Time. Вне зависимости от того, было ли скольжение выполнено до конца или прервано по отпусканию ноты, последнее сообщение Note On всегда фиксируется в качестве исходной высоты для последующих нот. Это означает, что если, например, после ноты C2 была нажата нота C7, а затем — нота C4, то высота второй ноты будет плавно повышаться от C2 до C7, а высота третьей в то же время — понижаться от C7 до 50, и в качестве исходной для последующих нот будет принята нота 50. В момент нажатия C7 эта нота зазвучит в унисон с C2 и начнет скользить в сторону C7, а в момент нажатия ноты C4 та зазвучит с высотой C7 и начнет скользить к C4. Все скольжения выполняются независимо.

Контроллеры RPN, NRPN и Data Entry

Чувствительность Pitch Bend определяет количество полутонов, на которое смещается высота тона при получении сообщения Pitch Bend Change с предельным верхним или нижним значением параметра. По умолчанию принимается диапазон в два полутона в любую сторону.

RPN подстройки позволяют сместить строй инструмента в канале на заданное количество полутонов при грубой, или центов (сотых долей полутона) — при точной подстройке. За относительный нуль принимается значение 64.

Значения параметров задаются старшими байтами Data Entry.

Специальные канальные сообщения

Обязательными к реализации в General MIDI определены только контроллеры 121 и 123; реализация остальных перечисленных контроллеров определяется производителем. Кроме этого, многие устройства требуют, чтобы неиспользуемые значения контроллеров были нулевыми.

Сообщение All Notes Off имитирует выключение всех включенных нот и полностью эквивалентно посылке сообщения Note Off для каждой звучащей ноты; будет ли при этом прекращено звучание ноты — зависит от состояния режимов Sustain и Sostenuto. Сообщение All Sounds Off действует так же, но не зависит от режимов Sustain/Sostenuto; кроме того, оно немедленно прекращает звучание всех нот, находящихся в стадии концевого затухания (Release). Состояние самих режимов Sustain/Sostenuto эти сообщения не затрагивают.

Сообщение Reset All Controllers устанавливает все контроллеры в значения по умолчанию, и используется для начальной установки устройства перед проигрыванием партитуры.

Сообщение Local Control служит для запрета/разрешения управления устройством с локальной панели. Нулевое значение параметра запрещает управление с панели (устройство управляется только по MIDI), значение 127 разрешает его.

Сообщения Omni On/Off служат для включения/выключения режима Omni — реакции устройства на канальные сообщения. При включенном режиме Omni устройство обрабатывает сообщения для всех каналов, при отключенном — только сообщения для выбранного канала (Basic Channel). Это позволяет разделить устройства между каналами. Канал назначается устройству либо с его панели управления, либо при помощи сообщений SysEx. Режим Omni имеет смысл в основном для старых инструментов, имеющих один MIDI-канал и не поддерживающих разделение тембров.

Сообщения Mono/Poly служат для переключения одноголосного и многоголосного (полифонического) режимов. В одноголосном режиме в каждый момент времени может звучать только одна нота; включение новой ноты приводит к принудительному отключению предыдущей. В полифоническом режиме включение каждой новой ноты запускает очередной свободный генератор, а при исчерпании генераторов новые ноты либо игнорируются, либо приводят к принудительному выключению наиболее «старых» нот.

Значение nn в сообщении Mono воспринимается некоторыми устройствами, как количество MIDI-каналов, по которым, начиная с Basic Channel, распределяются ноты в одноголосном режиме при выключенном режиме Omni. Смысл этой группы каналов различен для передающих и принимающих устройств. Передающее устройство направляет первую ноту в Basic Channel, следующую за ней — в Basic Channel + 1, и так далее, затем очередная нота снова направляется в Basic Channel, и цикл повторяется. Приемное устройство воспринимает канальные сообщения только внутри заданной группы каналов, каждый из которых работает в одноголосном режиме. Такой прием позволяет реализовать многоголосное исполнение на синтезаторах, имеющих жесткую привязку голосов (генераторов) к MIDI-каналам.

Контроллеры Omni, Mono и Poly вызывают также отработку контроллера All Sounds Off.

Большинство современных устройств работает в mode 3 — полифонический режим с независимой работой каналов.

Program Change (pp — номер тембра или инструмента)

Служит для смены инструмента в канале. Параметр задает номер инструмента (0–127) в текущем выбранном банке. Стандартом General MIDI определены 128 основных мелодических и 47 ударных инструментов, собранных в нулевом банке; устройства с расширенным набором инструментов имеют дополнительные банки, а также могут иметь частично измененный основной набор.

Стандартные мелодические инструменты General MIDI разделены на 16 групп по 8 инструментов в каждой группе:

PianoChrom Percussion
0 Acoustic Grand Piano8 Celesta
1 Bright Acoustic Piano9 Glockenspiel
2 Electric Grand Piano10 Music Box
3 Honky-tonk Piano11 Vibraphone
4 Electric Piano 112 Marimba
5 Electric Piano 213 Xylophone
6 Harpsichord14 Tubular Bells
7 Clavinet15 Dulcimer
OrganGuitar
16 Drawbar Organ24 Acoustic Guitar (nylon)
17 Percussive Organ25 Acoustic Guitar (steel)
18 Rock Organ26 Electric Guitar (jazz)
19 Church Organ27 Electric Guitar (clean)
20 Reed Organ28 Electric Guitar (muted)
21 Accordion29 Overdriven Guitar
22 Harmonica30 Distortion Guitar
23 Tango Accordion31 Guitar Harmonics
BassStrings
32 Acoustic Bass40 Violin
33 Electric Bass (finger)41 Viola
34 Electric Bass (pick)42 Cello
35 Fretless Bass43 Contrabass
36 Slap Bass 144 Tremolo Strings
37 Slap Bass 245 Pizzicato Strings
38 Synth Bass 146 Orchestral Harp
39 Synth Bass 247 Timpani
EnsembleBrass
48 String Ensemble 156 Trumpet
49 String Ensemble 257 Trombone
50 Synth Strings 158 Tuba
51 Synth Strings 259 Muted Trumpet
52 Choir Aahs60 French Horn
53 Voice Oohs61 Brass Section
54 Synth Voice62 Synth Brass 1
55 Orchestra Hit63 Synth Brass 2
ReedPipe
64 Soprano Sax72 Piccolo
65 Alto Sax73 Flute
66 Tenor Sax74 Recorder
67 Baritone Sax75 Pan Flute
68 Oboe76 Bottle Blow
69 English Horn77 Shakuhachi
70 Bassoon78 Whistle
71 Clarinet79 Ocarina
Synth LeadSynth Pad
80 Lead 1 (square)88 Pad 1 (new age)
81 Lead 2 (sawtooth)89 Pad 2 (warm)
82 Lead 3 (calliope)90 Pad 3 (polysynth)
83 Lead 4 (chiff)91 Pad 4 (choir)
84 Lead 5 (charang)92 Pad 5 (bowed)
85 Lead 6 (voice)93 Pad 6 (metallic)
86 Lead 7 (fifths)94 Pad 7 (halo)
87 Lead 8 (bass + lead)95 Pad 8 (sweep)
Synth EffectsEthnic
96 FX 1 (rain)104 Sitar
97 FX 2 (soundtrack)105 Banjo
98 FX 3 (crystal)106 Shamisen
99 FX 4 (atmosphere)107 Koto
100 FX 5 (brightness)108 Kalimba
101 FX 6 (goblins)109 Bagpipe
102 FX 7 (echoes)110 Fiddle
103 FX 8 (sci-fi)111 Shanai
PercussiveSound Effects
112 Tinkle Bell120 Guitar Fret Noise
113 Agogo121 Breath Noise
114 Steel Drums122 Seashore
115 Woodblock123 Bird Tweet
116 Taiko Drum124 Telephone Ring
117 Melodic Tom125 Helicopter
118 Synth Drum126 Applause
119 Reverse Cymbal127 Gunshot

Стандартные ударные инструменты General MIDI доступны в канале 10:

35 Acoustic Bass Drum59 Ride Cymbal 2
36 Bass Drum 160 High Bongo
37 Side Kick61 Low Bongo
38 Acoustic Snare62 Mute High Conga
39 Hand Clap63 Open High Conga
40 Electric Snare64 Low Conga
41 Low Floor Tom65 High Timbale
42 Closed High-Hat66 Low Timbale
43 High Floor Tom67 High Agogo
44 Pedal High Hat68 Low Agogo
45 Low Tom69 Cabasa
46 Open High Hat70 Maracas
47 Low-Mid Tom71 Short Whistle
48 High-Mid Tom72 Long Whistle
49 Crash Cymbal 173 Short Guiro
50 High Tom74 Long Guiro
51 Ride Cymbal 175 Claves
52 Chinese Cymbal76 High Wood Block
53 Ride Bell77 Low Wood Block
54 Tambourine78 Mute Cuica
55 Splash Cymbal79 Open Cuica
56 Cowbell80 Mute Triangle
57 Crash Cymbal 281 Open Triangle
58 Vibraslap

Pitch Bend Change (ll — младший, mm — старший байт значения)

Системные сообщения

System Exclusive (SysEx)

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

Шестнадцатеричные идентификаторы наиболее известных производителей:

Sequential Circuits01
Big Briar02
Octave / Plateau03
Moog04
Passport Designs05
Lexicon06
PAIA11
Simmons12
Gentle Electric13
Fairlight14
Bon Tempi20
S.I.E.L.21
SyntheAxe23
Kawai40
Roland41
Korg42
Yamaha43

SysEx «General MIDI On» (переключение в режим GM для устройств, поддерживающих дополнительные стандарты): F0 7E 7F 09 01 F7.

SysEx «General Synth On» (переключение в режим Roland GS для устройств, поддерживающих этот стандарт): F0 41 10 42 12 40 00 7F 00 41 F7.

SysEx «XG System On» (переключение в режим Yamaha XG для устройств, поддерживающих этот стандарт): F0 43 1n 4C 00 00 7E 00 F7, где n — номер устройства в сети (устанавливается по-разному для разных устройств, по умолчанию 0).

Ряд устройств требует, чтобы включение режимов GS и XG выполнялось из режима GM. Переключение между режимами обычно занимает несколько десятков миллисекунд и вызывает также полный сброс MIDI-системы устройства.

Tune Request

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

Song Position Pointer (ll — младший, mm — старший байт)

Служит для установки позиции в партитуре для устройств, имеющих встроенный секвенсор, автоаккомпанемент или ритм-блок. Задается номером четвертной (quarter) ноты с начала партитуры.

Song Select (ss — условный номер партитуры)

Определяет, какая из существующих партитур будет проигрываться при получении сообщения Start.

Start

Запускает прогрывание или запись выбранной партитуры с начала.

Останавливает проигрывание или запись партитуры.

Continue

Запускает проигрывание или запись партитуры с прерванного места, либо с позиции, установленной с помощью Song Position Pointer.

Timing Clock

Служит для синхронизации устройств и передается с частотой 6 сообщений на четвертную ноту. Генерация этого сообщения не является обязательной для передающего устройства.

Active Sensing

Используется для проверки наличия связи внутри MIDI-сети. Генерация сообщения не является обязательной для передающих устройств. В случае получения этого сообщения каждое приемное устройство переходит в режим слежения за MIDI-потоком, и в случае отсутствия любых сообщений в течение 300 мс автоматически отрабатывает контроллеры All Notes Off, All Sounds Off и Reset All Controllers. Это позволяет прекратить работу в случае нарушения связи в сети. Однако до первого прохождения этого сообщения по сети устройства не следят за длительностью пауз между сообщениями.

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

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

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

В основном применяется формат 1, позволяющий хранить одно произведение в файле.

Кроме MIDI-событий, файл содержит также «фиктивные события» (Meta Events), используемые только для оформления файла и не передаваемые по интерфейсу — информация о метрике и темпе, описание произведения, названия партий, слова песни и т.п.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *