Что такое ввод данных midi
Конфигурация USB: RNDIS, MTP, PTP, MIDI. Что это такое на телефоне Android?
В режиме разработчика на смартфоне Андроид пользователь может найти массу крайне интересных пунктов меню, которые зачастую вызывают большой интерес. В этой статье мы рассмотрим подраздел «Конфигурация USB» и узнаем, что обозначают пункт этого подраздела.
Для начала откроем режим разработчика. Пример на базе смартфона Samsung. Идем в настройки.
Далее находим раздел «Параметры разработчика» или «Режим разработчика. Если он у вас вдруг отключен, включите его с помощью нашей инструкции.
Включаем режим при необходимости и находим пункт «Конфигурация USB» или «Конфигурация USB по умолчанию» или «Выбор настройки USB», например:
Видим следующее (Samsung):
Что значит этот подраздел? С его помощью вы можете выбрать, какое действие используется при подключению смартфона к компьютеру или ноутбуку. К примеру, вы можете включить передачу файлов, а можете — только передачу изображений и видео.
Теперь пройдемся по каждому пункту.
Пункты меню
Передача файлов (MTP или Media Transfer Protocol). Передача любых доступных файлов, будь то музыка, видео, фотографии, документы и т.д.
Передача изображений (MTP или Picture Transfer Protocol ). В этом режиме при подключении смартфона к компьютеру или ноутбуку и после разблокировки экрана становится доступна передача изображений, а также видеороликов.
USB-модем (RNDIS или USB Ethernet). Подключается как USB-модем, то есть вы можете использовать смартфон как точку доступа для ПК или ноутбука.
MIDI. Позволяет использовать ваш смартфон как MIDI-устройство.
Аудиоисточник. Использование вашего смартфона как источник вывода звука.
Только зарядка. В этом случае доступ к данным после разблокировки экрана не осуществляется, смартфон лишь заряжается от вашего ПК или ноутбука.
Есть один нюанс. Некоторые смартфоны при выборе одного из режимов используют выбранный вами пункт по умолчанию постоянно. Так, если вы выбрали «Только зарядка», то при подключении смартфона к ПК или ноутбуку каждый раз будет использовать именно указанный вариант подключения. Если выбрали «Передача файлов», то после подключения и разблокировки рабочего стола каждый раз будет доступна файловая система смартфона и для любого компьютера, что может быть опасно в некоторых случаях. Будьте внимательны.
Друзья! Если наш сайт помог вам или просто понравился, вы можете помочь нам развиваться и двигаться дальше. Для этого можно:
Что такое MIDI?
Intro…
Поэтому, сейчас в рамках использования инструментов и компьютерных устройств MIDI воспринимается как простейшая командная система и все надстройки над этим стандартом, разработанные ранее просто теряются. Командная система MIDI уникальна и сейчас используется не только в музыке, но и в реализации программного управления любыми техническими процессами. Например, в робототехнике довольно известна фирма MediaMation (http://mediamat.com/), которая производит оборудование для обеспечения дистанционного программного управления с помощью MIDI-интерфейсов. Помимо этого протокол MIDI использовался для обеспечения интерактивности в системах виртуальной реальности. Всему виной простота, распространенность и низкая стоимость этих устройств.
Второй плюс MIDI состоит в том, что в этом стандарте изначально закладывалась полифония. То есть можно было без труда использовать несколько инструментов.
Сейчас возможности сложной аппаратной MIDI коммутации используются довольно редко, в основном в больших аппаратных студиях. Распайка MIDI-кабелей в данном случае выглядит следующим образом:
MIDI-сообщения
При этом между блоком преобразования сигнала с датчиков и блоком синтеза существует свой поток данных (если мы говорим об аналоговых синтезаторах, то это будет аналоговый сигнал, созданный определенным образом). Теперь обратим внимание на устройство 2. Допустим, что это современная MIDI-клавиатура. В этом устройстве информация с датчиков преобразуется и поступает в MIDI-интерфейс, который конвертирует аналоговый сигнал в цифровой поток, включающий набор команд и передает его на любое MIDI-совместимое устройство (сэмплер, РС, цифровой синтезатор). В результате получается универсальная модель коммутации. Обратите внимание на то, что наш аналоговый синтезатор тоже можно подключить к MIDI, для этого достаточно перевести MIDI-сообщения в аналоговые сигналы управления, понятные для аналогового блока синтеза.
С внедрением MIDI ситуация на рынке синтезаторов изменилась. Получили распространения устройства, именуемые звуковыми модулями, а, по сути, они представляли собой синтезатор или сэмплер, но без клавиатуры. Такие модули управляются по MIDI.
Стандартный банк General MIDI предусматривал практически все инструменты, использующиеся в реальной индустрии, начиная от скрипок и заканчивая некоей эмуляцией современных органов.
Помимо этого, предусмотрен ряд стандартных эффектов, таких как реверберация, хорус, вибрато и т.п.
Таким образом, предполагалось, что музыкант создав аранжировку на своем синтезаторе, сможет без труда перенести ее на устройство от другого производителя и прослушать в нормальном качестве. Но не тут-то было. Производители отказывались делать однотипные по звучанию устройства, и, к тому же со временем набора GM стало просто не хватать. Остановимся сейчас на первом моменте.
В 1999 году появился стандарт GM2, имеющий большее количество инструментов, но это не спасло ситуацию. Параллельно с этим, раньше или позже появились стандарты GS, XG, XS, DLS, которые расширили возможности как непосредственно управления по MIDI, так и по улучшению качества звучания и увеличения набора инструментов. Но, развитие сэмплерных технологий, а также появление виртуальных программных инструментов VSTi и DXi поставило над всеми этими попытками жирную точку. И этот факт показал, что стандартизации такого глобального уровня в индустрии быть не может.
Второй тип явно иллюстрирует недостаток MIDI, поскольку, по сути, является надстройкой, говорящей о том, что каждый производитель может использовать MIDI-сообщения по своему усмотрению, исходя из специфичности своего оборудования. Например, если синтезатор от одного производителя имеет эффект дисторшна и это зафиксировано в файле, то модель от другого разработчика может не понять или проигнорировать это сообщение. Поэтому любители MIDI, сами перепрограммируют SysEx (системные эксклюзивные сообщения) для того, чтобы добиться максимальной совместимости. К каждому устройству поставляется руководство MIDI Implementation, в котором производитель указывает на особенности построения SysEx-сообщений. Для всех верно одно, что эти сообщения начинаются с символа F0, следующим символом будет код фирмы-производителя, после этого идет идентификационный номер устройства в сети (устанавливается системой) и код самого синтезатора, который присваивается производителем. После этого идут команды и значения, количество символов в строке может быть каким угодно. Все данные берутся из того же руководства MIDI Implementation от производителя. SysEx сообщение заканчивается символом F7.
Но, вместе с тем, SysEx дает и множество плюсов, поскольку с его помощью можно описать любые возможности любого MIDI-устройства. Например, с современными моделями синтезаторов и в новом ПО поставляется просто огромное количество SysEx-банков. По сути их можно считать неким аналогом драйверов, действующих в рамках MIDI-систем. При этом для каждой аранжировки можно создавать, изменять и сохранять собственный поток SysEx-сообщений. Это могут делать практически все программные редакторы, работающие с MIDI (Cubase, SONAR, Nuendo…). Помимо этого стоит отметить, что такие стандарты как DS или XG являются в своей основе не более чем SysEx-надстройкой, использующей за основу стандартизацию MIDI и документированные особенности небольшого количества оборудования от нескольких производителей.
С приходом программных виртуальных инструментов все стало намного проще, и мы оперируем только канальными MIDI-сообщениями, программными пресетами и внутренним наполнением файлов.
Во всех секвенсорах и их аппаратных и/или программных реализациях существуют генераторы временного кода, которые производят MIDI-сообщение под названием MIDI Clock. Оно служит для синхронизации аппаратных устройств и программного обеспечения. Группа MIDI-сообщений, использующихся для синхронизации, называется MIDI Time Code или MTC и является одним из основных современных стандартов в синхронизации. MTC поддерживают не только MIDI-устройства, но и обычные цифровые магнитофоны и большинство современного ПО.
Выводы о MIDI
Стандарт MIDI выживает за счет своей распространенности. При этом со временем мы получили огромное количество надстроек над ним, часть из которых уже превратилось в историю.
Синхронизация
Но вместе с тем, звукорежиссер может столкнуться с проблемами синхронизации при работе с менее современным оборудованием (или очень дорогим оборудованием). Поэтому мы сейчас рассмотрим основные принципы реализации синхронизации.
Нужно отметить, что проблема их синхронного воспроизведения решалась с помощью использования перфорационной дорожки на магнитной ленте, которая соответствовала такой же на кинопленке. В результате мы имели вариант физической синхронизации. Система приводилась в движение с помощью одного двигателя, что позволяло автоматизировать процесс. Хотя были и варианты с двумя двигателями отдельно для звука и для кинопленки, скорости вращения которых необходимо было синхронизировать, но проблема в данном случае решалась также просто, поскольку эти скорости находились в прямой зависимости от частоты переменного тока.
С приходом видеоиндустрии и развитием телевидения ситуация кардинально изменилась. Появилась необходимость в протоколах синхронизации, и они были созданы. В 1971 году Обществом Кино- и Видеоинженеров (Society of Motion Picture and Television Engineers, SMPTE) США был принят стандарт SMPTE (читается как «симпти»). Через некоторое время он был поддержан со стороны Европейского Союза Вещателей (European Broadcast Union, EBU) и в результате получившегося слияния принял статус мирового протокола. Поскольку SMPTE был разработан для видеомагнитофонов, то он нес в себе временную информацию, содержащую больше временную информацию, а именно часы (0… 23), минуты (0… 60), секунды (0… 60), кадры (0… 24, 25 или 30). Эта информация называется временным или тайм-кодом.
Еще следует отметить стандарт MIDI Clock, с помощью которого внешним секвенсорам и ритм-машинам сообщается темп по типу метронома.
Лучшие интерфейсы MIDI-USB для подключения ваших музыкальных инструментов
Интерфейс MIDI используется с 80-х годов, и многие музыканты продолжают использовать его для подключения своих музыкальных инструментов к ПК, но порт MIDI не является одним из самых распространенных портов, поэтому необходимо покупать внешнее оборудование, которое предоставляет ему необходимый интерфейс MIDI для ПК. Если у вас есть инструменты с интерфейсом MIDI или вы хотите начать заниматься музыкой, следуйте нашему руководству по интерфейсам MIDI-USB.
В мире вычислительной техники мы видели, как несколько портов появлялись и исчезали либо потому, что появились гораздо более совершенные замены, либо потому, что они потерпели настоящее фиаско, но MIDI-соединение продолжает сохраняться после почти сорока лет его появления на рынке и того, что потому что многие музыканты продолжают использовать этот интерфейс.
Мы решили разделить статью на две части, в первой части мы объясним, что такое Формат MIDI и почему он все еще используется сегодня после стольких лет. Во втором мы дадим вам список лучших MIDI-USB интерфейсы так что вы можете подключить свои инструменты к ПК, независимо от того, хотите ли вы начать с этого или вам нужен новый интерфейс.
Что такое формат MIDI?
Проблема, с которой столкнулись музыканты, заключалась в том, что в 1980-е годы память была дорогой, но очень дорогой, и было очень трудно сохранить звуковую дорожку в цифровом виде. Обычные для нас форматы, такие как MP3, в то время еще не были изобретены, а используемые ЦП были недостаточно быстрыми, чтобы распаковывать эти форматы в реальном времени.
Вот почему был изобретен формат MIDI, который не хранит звуковую информацию, а хранит то, как этот звук генерируется, поэтому мы имеем дело с процедурным аудиоформатом.
Как работает формат MIDI?
Одним из преимуществ этого является то, что, если мы записываем обычный аудиофайл, он будет записан как есть и в форме волны. Но это не относится к формату MIDI, поэтому это будет так же просто, как отредактировать эту «двоичную партитуру» в программе редактирования звука на вашем ПК, избегая необходимости повторно записывать все инструменты.
В настоящее время, спустя почти четыре десятилетия, формат MIDI был обновлен до версии 2.0, которая сняла 7-битное ограничение точности старого MIDI.
Типы MIDI-подключений
Лучшие интерфейсы MIDI-USB на рынке
Вот список лучших интерфейсов MIDI-USB на рынке. Эти интерфейсы работают как интерфейс MIDI-IN, обрабатывают звук и отправляют его на ПК через порт USB.
MIDI-USB интерфейс Behringer U-PHORIA UMC202HD
Roland Rubix22 MIDI-USB интерфейс
Особенности интерфейса Roland MIDI-USB 2 порта MIDI-IN на передней и 2 порта MIDI-OUT сзади, все в прочном металлическом корпусе.
Интерфейс MIDI-USB Steinberg UR22 mkII
это Интерфейс USB 2.0 и имеет особенность, что он может общаться с IPad если мы хотим редактировать из Apple планшет. Он также включает лицензию на программу Cubase AI.
Интерфейс MIDI-USB Scarlett Focusrite Solo 3-го поколения
Существует несколько моделей интерфейса MIDI-USB от Scarlett Focusrite, но мы решили сосредоточиться на простейшем, который имеет единственный вход MIDI-IN и не имеет MIDI-OUT. Если вы новичок в этом, у вас есть только один инструмент. а вам нужно простое в использовании устройство, мы рекомендуем этот интерфейс MIDI-USB.
MIDI-USB интерфейс M-Audio AIR 192 | 6
Описание интерфейса 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 инструментов в каждой группе:
Piano | Chrom Percussion |
---|---|
0 Acoustic Grand Piano | 8 Celesta |
1 Bright Acoustic Piano | 9 Glockenspiel |
2 Electric Grand Piano | 10 Music Box |
3 Honky-tonk Piano | 11 Vibraphone |
4 Electric Piano 1 | 12 Marimba |
5 Electric Piano 2 | 13 Xylophone |
6 Harpsichord | 14 Tubular Bells |
7 Clavinet | 15 Dulcimer |
Organ | Guitar |
16 Drawbar Organ | 24 Acoustic Guitar (nylon) |
17 Percussive Organ | 25 Acoustic Guitar (steel) |
18 Rock Organ | 26 Electric Guitar (jazz) |
19 Church Organ | 27 Electric Guitar (clean) |
20 Reed Organ | 28 Electric Guitar (muted) |
21 Accordion | 29 Overdriven Guitar |
22 Harmonica | 30 Distortion Guitar |
23 Tango Accordion | 31 Guitar Harmonics |
Bass | Strings |
32 Acoustic Bass | 40 Violin |
33 Electric Bass (finger) | 41 Viola |
34 Electric Bass (pick) | 42 Cello |
35 Fretless Bass | 43 Contrabass |
36 Slap Bass 1 | 44 Tremolo Strings |
37 Slap Bass 2 | 45 Pizzicato Strings |
38 Synth Bass 1 | 46 Orchestral Harp |
39 Synth Bass 2 | 47 Timpani |
Ensemble | Brass |
48 String Ensemble 1 | 56 Trumpet |
49 String Ensemble 2 | 57 Trombone |
50 Synth Strings 1 | 58 Tuba |
51 Synth Strings 2 | 59 Muted Trumpet |
52 Choir Aahs | 60 French Horn |
53 Voice Oohs | 61 Brass Section |
54 Synth Voice | 62 Synth Brass 1 |
55 Orchestra Hit | 63 Synth Brass 2 |
Reed | Pipe |
64 Soprano Sax | 72 Piccolo |
65 Alto Sax | 73 Flute |
66 Tenor Sax | 74 Recorder |
67 Baritone Sax | 75 Pan Flute |
68 Oboe | 76 Bottle Blow |
69 English Horn | 77 Shakuhachi |
70 Bassoon | 78 Whistle |
71 Clarinet | 79 Ocarina |
Synth Lead | Synth 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 Effects | Ethnic |
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 |
Percussive | Sound Effects |
112 Tinkle Bell | 120 Guitar Fret Noise |
113 Agogo | 121 Breath Noise |
114 Steel Drums | 122 Seashore |
115 Woodblock | 123 Bird Tweet |
116 Taiko Drum | 124 Telephone Ring |
117 Melodic Tom | 125 Helicopter |
118 Synth Drum | 126 Applause |
119 Reverse Cymbal | 127 Gunshot |
Стандартные ударные инструменты General MIDI доступны в канале 10:
35 Acoustic Bass Drum | 59 Ride Cymbal 2 |
36 Bass Drum 1 | 60 High Bongo |
37 Side Kick | 61 Low Bongo |
38 Acoustic Snare | 62 Mute High Conga |
39 Hand Clap | 63 Open High Conga |
40 Electric Snare | 64 Low Conga |
41 Low Floor Tom | 65 High Timbale |
42 Closed High-Hat | 66 Low Timbale |
43 High Floor Tom | 67 High Agogo |
44 Pedal High Hat | 68 Low Agogo |
45 Low Tom | 69 Cabasa |
46 Open High Hat | 70 Maracas |
47 Low-Mid Tom | 71 Short Whistle |
48 High-Mid Tom | 72 Long Whistle |
49 Crash Cymbal 1 | 73 Short Guiro |
50 High Tom | 74 Long Guiro |
51 Ride Cymbal 1 | 75 Claves |
52 Chinese Cymbal | 76 High Wood Block |
53 Ride Bell | 77 Low Wood Block |
54 Tambourine | 78 Mute Cuica |
55 Splash Cymbal | 79 Open Cuica |
56 Cowbell | 80 Mute Triangle |
57 Crash Cymbal 2 | 81 Open Triangle |
58 Vibraslap |
Pitch Bend Change (ll — младший, mm — старший байт значения)
Системные сообщения
System Exclusive (SysEx)
Служат для передачи специальной информации определенным устройствам. В сообщении SysEx может передаваться любое количество байтов. Признаком конца сообщения служит байт F7. Первые три байта SysEx обычно содержат идентификатор производителя устройства (присваивается Ассоциацией Производителей MIDI-устройств — MMA), номер устройства в сети (задается с пульта) и код модели устройства (присваивается производителем). В остальном формат сообщений определяется производителем — это могут быть команды, параметры, оцифрованные инструменты, партитуры и т.п.
Шестнадцатеричные идентификаторы наиболее известных производителей:
Sequential Circuits | 01 |
---|---|
Big Briar | 02 |
Octave / Plateau | 03 |
Moog | 04 |
Passport Designs | 05 |
Lexicon | 06 |
PAIA | 11 |
Simmons | 12 |
Gentle Electric | 13 |
Fairlight | 14 |
Bon Tempi | 20 |
S.I.E.L. | 21 |
SyntheAxe | 23 |
Kawai | 40 |
Roland | 41 |
Korg | 42 |
Yamaha | 43 |
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), используемые только для оформления файла и не передаваемые по интерфейсу — информация о метрике и темпе, описание произведения, названия партий, слова песни и т.п.