Midi что это
В своих статьях о переходе на российский микроконтроллер К1986ВЕ92QI я ни раз рассказывал о генерации звука средствами микроконтроллера. Тогда передо мной стояла задача лишь воспроизвести данные. Для создания этих самих данных, получаемых из MIDI файлов, использовались весьма экзотические методы, например, как в этой статье. Да, подобные методы имеют право на жизнь, если требуется получить данные для воспроизведения пару раз в жизни. Но так как я достаточно часто сталкиваюсь с задачами, когда на контроллере нужно получить достаточно сложный звук, или же звук — лишь дополнительная опция, то задача преобразовывать MIDI файлы такими экзотическими способами, становится весьма нетривиальной. В этой небольшой серии статей я поставил для себя задачу создать (а за одно и подробно рассказать о процессе создания) универсальную программу для преобразования MIDI файлов в приемлемый для микроконтроллера формат, а так же генерирующую все необходимые для микроконтроллера данные инициализации.
Итогом данной статьи станет реализация основного функционала программы: создание массивов нота-длительность, созданного из MIDI файла. Кто заинтересовался — прошу под кат.
Структура статьи
- Выработка требований к программе.
- Определение способа реализации.
- Общие сведения о MIDI.
- Заголовок.
- Блок MIDI файла.
- События.
- Разбор полученных данных.
- Заключение.
Выработка требований к программе
Как уже говорилось выше, основной задачей нашей программы будет преобразование данных из MIDI формата в наш собственный. Иначе говоря, перед нами не стоит задачи учитывать силу нажатия клавиш, использование редких инструментов или же использования эффектов, предусмотренных стандартом MIDI. Всю эту и подобную ей ненужную информацию мы должны игнорировать. По окончании работы программы, мы должны получить N-е число массивов, в каждом из которых в текущий момент времени будет играть лишь одна клавиша (это нужно для упрощения программы в микроконтроллере). Иначе говоря, мы должны получить список массивов с полифонией в одну ноту.
Определение способа реализации
Общие сведения о MIDI
Многие знакомы с MIDI форматом, или, по крайне мере, о нем наслышаны. В этом формате удобно хранить, например, ноты музыкальных произведений, с возможностью прослушать их. Именно для этой цели, чаще всего, MIDI и используется в современном мире. Но когда-то в него пытались запихать достаточно много всяких дополнительных функций. Так из чего состоит MIDI файл?
- Заголовка файла (он начинается с четырех символов, составляющих слово MThd).
- Блоков файла (начинающихся с символов MTrk).
Заголовок
Разберем, из чего состоит заголовок MIDI файла.
Итак, считываем заголовок.
- Для работы нам нужно создать Windows Forms приложение (WPF тут без надобности, но если хотите, то никто не запрещает).
- Внутри формы создадим button и richTextBox (у меня они имеют имена button1 и richTextBox1 соответственно), а так же окно для открытия файла openFileDialog (у меня, опять же, имеет имя openFileDialogMIDI).
- Создадим событие, привязанное к нажатию на кнопку, в котором очистим richTextBox от старых данных. Так же получим путь к MIDI файлу и передадим его функции, которая откроет его. (openMIDIFile)
Вступление от Очень злого редактора:
Аббревиатура MIDI расшифровывается как Musical Instrument Digital Interface. Впрочем, если для Вас это — открытие, то дальше читать особого смысла нет. :)
Чем же интересна эта статья, от нашего постоянного автора, Сергея Котова, специализирующегося на обзорах профессионального MIDI-оборудования? В отличие от тысячи подобных материалов данная статья не цитирует спецификации по электрическому строению сигналов или соответствия номеров именам GM-инструментов. Вместо этого читателю (компьютерному музыканту или просто любителю экспериментов с MIDI-файлами), предлагается ознакомится с некоторыми конкретными практическими сведениями и рекомендациями.
Практически все современные электронные музыкальные инструменты (в том числе и звуковые карты) имеют управление по MIDI. Подробно об этом цифровом интерфейсе уже неоднократно писалось и в печатных изданиях и в электронных ресурсах. Смотрите, например, статью Описание интерфейса MIDI на сайте iXBT. Тем не менее, обычно рассматривается лишь один из существующих стандартов — General MIDI (GM), в то время как уже довольно давно существуют два расширения этой спецификации: GS, предложенный фирмой Roland и XG от фирмы Yamaha. Кроме того, начинает продвигаться новый общий стандарт GM2, предложенный в 1999 году MMA (MIDI Manufacturers Association).
Целью данной справочной статьи является сравнение возможностей, предоставляемых каждой из перечисленных спецификаций, что поможет заинтересованному читателю полнее использовать их особенности или наоборот, создавать MIDI-файлы, совместимые со всеми стандартами. Возможно, эта статья поможет сделать более разумный выбор при покупке музыкального оборудования из спектра, представленного сегодня на рынке. Предполагается, что читатель знаком с основами формата MIDI.
General MIDI (GM)
Первый общий стандарт был предложен в 1991 году ассоциацией производителей MIDI-оборудования. Он объединил изделия разношерстных производителей под именем General MIDI (System) Level 1. Сейчас его поддерживает абсолютное большинство моделей электронных синтезаторов, звуковых карт и клавиатур. Так как требования этого стандарта уже давно морально устарели, то, обычно, современные электронные инструменты поддерживают его лишь для базовой совместимости.
GM-файлы звучат на различных моделях существенно по разному. Дело в том, что определяя количество и состав мелодических инструментов не были точно описаны тембровые характеристики GM-инструментов. Поэтому, если для легкой музыки с традиционным составом оркестра звучание более-менее схоже, то, если задействуются инструменты из таких групп, как Synth Pad, Sound Effects и некоторых других, конечный результат может быть обескураживающим.
GS и XG
Два похожих друг на друга стандарта предложили фирмы Roland и Yamaha. GS начал развиваться в 1991 году сразу за GM и в последующем неоднократно расширялся в связи с выпуском новых продвинутых моделей. XG от Ямахи начал активно продвигаться в 1996 году и при его разработке видимо были учтены наработки Роланда. Спецификация XG отличается огромным количеством настроек эффект-процессора.
General MIDI 2 (GM2)
Несколько мифов
Общие характеристики
GM | GM System On | F0 7E 7F 09 01 F7 |
GS | GS Reset | F0 41 10 42 12 40 00 7F 00 41 F7 |
XG | XG System On | F0 43 10 4C 00 00 7E 00 F7 |
GM2 | GM2 System On | F0 7E 7F 09 03 F7 |
Ниже в таблице сведены глобальные характеристики указанных стандартов:
Для GS и XG возможны различные значения параметров в зависимости от конкретной реализации MIDI-устройства, например, количество доступных каналов может достигать 32, количество инструментов у старших моделей — свыше тысячи.
Список контроллеров (Control Changes)
В таблице обозначены:
X — реакция на функцию (контроллер) предусмотрена стандартом;
O — функция (контроллер) не задействована;
* — не для всех моделей (минимальная конфигурация не предусматривает).
Интерпретация функций контроллеров выбора банка MSB и LSB в стандартах GS и XG различна. По контроллеру с номером 0 (Выбор банка по MSB) в GS можно выбрать одну из вариаций основного GM-инструмента, а в XG это выбор дополнительного, часто нестандартного банка инструментов (здесь обычно располагаются инструменты PLG, дополнительные наборы ударных и т. д.). По контроллеру 32 (Выбор банка по LSB) в GS можно выбрать один из основных моделей GS тон-генератора (SC-55, SC-88, SC-88Pro, SC-8820).
Выбор конкретной модели обусловлен тем, что разные версии инструментов от Роланда могут звучать немного по разному (например Grand Piano SC-55 заметно отличается от Grand Piano SC-8820). В XG по контроллеру 32 выбирается дополнительные вариации основных GM-инструментов. А в остальном, современный GS отличается от XG только наличием управления вибрато, которое в XG вынесено в NRPN и реакцией на контроллер 75, управляющий временем спада (decay) после фазы атаки звука.
В таблице обозначены:
X — реакция на функцию (параметр) предусмотрена стандартом;
O — функция (параметр) не задействована.
В таблице обозначены:
X — реакция на функцию (параметр) предусмотрена стандартом;
O — функция (параметр) не задействована;
* — параметры повторяют одноименные контроллеры;
xx — номер ударного инструмента.
GM2 не предусматривает управление по NRPN (на то и название!). В XG, в отличие от GS, добавили тонкие, но вполне востребованные настройки для ударных инструментов.
В таблице обозначены:
X — реакция на функцию предусмотрена стандартом;
O — функция не задействована;
* — не для всех моделей (минимальная конфигурация не предусматривает);
** — реализовано недостаточно полно.
В строки Variation & Insertion включены все эффекты, не относящиеся по типу к реверберациям и хорусам (дисторшн, тремоло и пр.).
Как уже говорилось выше, XG отличается массой настроек эффект-процессора, но последние GS модели (8820, 8850) довольно близко подошли к спецификации от Ямахи.
GM2 обеспечивает базовую функциональность управления реверберацией и хорусом. Другие типы эффектов не предусмотрены.
Выводы
Спецификация GM давно устарела. Все современные модели звукосинтезирующих устройств, носящие логотип GM, так или иначе её превосходят, особенно в части управления эффектами. Спецификация GM2 зафиксировала существующее положение дел и вполне может использоваться при проектировании недорогих SamplePlayBack-устройств.
GS и XG по управлению довольно близки друг к другу, но состав инструментов у них существенно различен, что мешает переносимости GS и XG MIDI-файлов. Только несколько моделей от Корга (!) совмещают в себе стандарты GS и XG (N1, 5, 5ex).
Спецификации MIDI прямо не влияют на качество звука. Нужно только учитывать, что и GS, и XG имеют общность управления и тембров для разного спектра моделей, от дешевых до дорогих. Это позволяет, начав работу (развлечение) с малого, затем перейти на более стоящие вещи, не растеряв багаж своих наработок.
Почему-то каждый год, когда на горизонте начинает маячить начало ноября, я вспоминаю композицию November Rain.
Я не большой фанат хард-рока, но это отличная песня, успех которой Guns N’ Roses не смогли превзойти за 27,5 лет, прошедших с тех пор, как она стала самой раскрученной на радио. Это самая длинная песня, попавшая в десятку лучших хитов Billboard Hot 100 – длиннее, чем American Pie. Много лет она была эталоном популярной музыки.
Видеоклип был самым крутым из того, что показывали на MTV – и, несколько десятилетий спустя, стал одним из самых популярных видеоклипов в истории YouTube.
Она длится девять минут. И повествует об опыте длиною в жизнь – если ваша жизнь похожа на жизнь Эксла Роуза.
Но, какой бы она ни была потрясающей, она ещё более удивительна в формате файла MIDI – в таком формате её распространяли в интернете в году этак 1996 – поскольку ему удаётся точно передать дух песни, занимая при этом меньше 50 Кб (в зависимости от вашей звуковой карты).
Сегодня мы вспоминаем слишком краткий период времени, в течение которого MIDI-файлы были значительной частью интернета.
Как браузерные войны помогли популяризации MIDI
В 1981 году несколько заинтересованных в электронной музыке лиц выпустили научную работу, изменившую процесс создания музыки.
Формат 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).
Они звучат, как музыкальная капсула времени, и вызывают воспоминания о том периоде у многих веб-сёрферов того времени.
Однако чего у них не было, так это постоянства. Когда MIDI-файлы стали популярными из-за звуковых карт, качество последних очень серьёзно отличалось. Sound Blaster ввёл некую базовую линию, однако гарантии постоянства у MIDI-файлов в конце 90-х не было. Вероятно, что MIDI-файл на безымянной звуковой карточке в дешёвой системе от Packard Bell с б/ушными компонентами звучал не так хорошо, как на Sound Blaster AWE32, настолько максималистской звуковой карте, что у неё были собственные разъёмы для расширения памяти.
MIDI-файлы продаются на дискетах – даже в 2019-м
Стоит отметить, что к моменту появления MIDI-файлов в браузерах их использование в качестве инструмента для распространения контента уже не было чем-то новым. В 1983 году компания Synth-Bank – управляемая Брайаном Беллом, сотрудничавшим с Сантаной и Херби Хэнкоком – первой реализовала идею распространения музыкальных файлов по модему, используя такие ранние онлайн-сервисы, как GE Link и AppleLink. Предполагалось, что сервисом будут пользоваться профессиональные музыканты для облегчения совместной работы.
Были попытки продавать MIDI на коммерческом рынке. Наиболее примечательным было пианино Disklavier от Yamaha, использовавшее дискеты и CD с DRM-защитой для работы с MIDI-файлами. А если вам не нужно было всё пианино, то Roland продавал устройство с динамиком, проигрывавшее файлы MIDI с дискет. Однако ключевая аудитория была такой узкой, а дискеты – такими редкими, что извлечь файлы MIDI вопреки DRM-защите для редактора журнала Hackaday стало по-настоящему трудной задачей.
Как вы можете догадаться, файлы MIDI делались и продавались с той же коммерческой целью, что и обычная музыка – однако их редко настолько тщательно изучали, как их старшего брата, MP3.
Довольно странно думать об этом, но в то время мы могли распространять файлы 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 (Musical Instrument Digital Interface) — это стандарт обмена данными между цифровыми музыкальными инструментам. Он позволяет обмениваться такой информацией, как номер ноты, скорость нажатия, таймкод и др. MIDI поддерживает большинство выпускаемых музыкальных девайсов, исключения составляют многие модули модульных систем (например, Eurorack), а также такие специфичные вещи, как Monome.
1 Предпосылки
Необходимость в таком стандарте возникла примерно к концу 70-х годов. В то время синтезаторы управлялись напряжением с помощью интерфейса CV/Gate. Существовало несколько его видов, однако, наибольшую популярность получил вариант, предложенный фирмой Roland: в нем при увеличении напряжения на 1 В, частота генерируемого тона увеличивалась на одну октаву. Главным недостатком такого интерфейса является то, что с помощью него можно управлять только одним голосом полифонии. Для извлечения дополнительной ноты нужно добавлять еще один интерфейс CV/Gate. Кроме того, таким способом передается только сам факт нажатия клавиши и ее высота, чего однозначно мало для выразительной игры.
Другим недостатком синтезаторов того времени была сложность настройки. Для каждого нового звука музыкантам приходилось настраивать инструмент заново, что было очень не удобно на живых выступлениях. На концертах тех времен часто можно было увидеть целые стеллажи из синтезаторов — так музыканты выходили из ситуации. Со временем в инструменты были встроены мини-компьютеры, с помощью которых можно было сохранять положения ручек в пресеты.
Однако, есть еще один момент, который оказал большое влияние на разработку MIDI.
Несомненно, у каждого синтезатора свой характер звучания, каждый из них был силен в определенных типах звуков. Поэтому многие музыканты того времени практиковали игру сразу на двух инструментах, как бы используя лучшее из разных моделей. Наслоение звуков из различных синтезаторов стало исполнительским приемом, визитной карточкой многих музыкантов. [1]
2 История появления
К началу 80-х большинство производителей осознали необходимость создания единого интерфейса. Задача стояла такая: разработать стандарт передачи действий исполнителя в цифровой форме между всеми типами электромузыкальных инструментов. [1]
- Июнь 1981 — на выставке NAMM произошел первый разговор на тему единого интерфейса между главами Sequential Circuits, Roland и Oberheim.
- Осень 1981 — первая версия интерфейса под названием UMI (Universal Musical Interface).
- Июнь 1982 — на выставке NAMM были представлены плоды международной разработки. Ввиду возможных юридических проблем от названия UMI пришлось отказаться в пользу MIDI.
- Октябрь 1982 — закончена предварительная спецификация MIDI.
- Декабрь 1982 — выпушен первый синтезатор, оборудованный MIDI-интерфейсом — Sequencial Circuits Prophet 600.
- 1983 — сформированы комитет по MIDI-стандартам (JMSC), международная группа пользователей MIDI (IMUG), выпущена спецификация MIDI 1.0.
- 1984 — сформирована ассоциация MIDI-производителей (MMA).
3 Основы
Сам протокол состоит из трех частей [1]: спецификация формата данных, аппаратная спецификация интерфейса и спецификация хранения данных. В данной статье будет идти речь только о первой части.
4 Недостатки
Часть 2. Open Sound Contol
Пока оставим технические подробности и начнем с самого начала, с истории.
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].
- Языки программирования: C/C++, Java, Php, Python, Ruby.
- Среды визуального программирования и синтеза: Bidule, Chuck, Common Music CPS, Intakt, Max/MSP, Open Sound World, Pd, SuperCollider, Reaktor, VVVV.
- Устройства для работы с сенсорами: EtherSense, Gluion, IpSonLab Kroonde, Lemur, Smart, Controller, Teabox, Toaster.
- Другие программы: EyesWeb, Picker, SonART, SpinOSC.
2 Особенности
/synth1/noteoff 54
/synth1/noteon 60
Фактически они могут прийти в обратном порядке:
/synth1/noteoff 60
/synth1/noteon 54
4 Pattern matching
- "?" — соответствует любому одному символу.
- "*" — соответствует последовательности из нуля или любого другого числа символов.
- Символы в квадратных скобках (например, "[string]") — соответствует любому символу в строке. В квадратных скобках дефис (-) и восклицательный знак (!) имеют специальное значение:
дефис между двумя символами означает диапазон чисел в ASCII последовательности (дефис в конце строки не имеет специального значения);
Читайте также: