Пошаговый ввод MIDI данных
Пошаговый ввод, или пошаговая запись, позволяет вам вводить ноты или аккорды, не беспокоясь о точности ввода во времени. Это бывает нужно, когда вы хотите записать партию, которую не в состоянии сами сыграть.
Процедура
- Активируйте Пошаговый ввод на панели инструментов.
- С помощью кнопок, расположенных справа, определите, какие свойства будут учитываться при вводе нот.
Например, вы можете разрешить запись велосити включения и выключения проигрываемых нот. Также вы можете отключить запись высоты тона, в таком случае всем нотам будет присвоена высота C3 вне зависимости от того, что вы играете.
Текущая позиция пошагового ввода отображается в виде синей линии на нотном дисплее.
Позиции вставленных нот будут кратны значению Квантизация , а длительность — соответствовать параметру Квантизация длительности .
Если в меню Квантизация длительности выбран пункт Квант. связь , длительность ноты также будет определяться значением квантизации .
Нота или аккорд появятся в редакторе, а синяя линия, означающая позицию ввода, переместится вперёд на один шаг в соответствии с сеткой квантизации.
Если активирован режим Вставка со сдвигом , все ноты, находящиеся справа от позиции вставки, будут сдвинуты, чтобы дать место вставленной ноте или аккорду.
Для изменения шага и длительности нот вы можете варьировать значения параметров Квантизация и Квантизация длительности . Также вы можете поменять текущую позицию пошагового ввода, щёлкнув мышью в любом месте на нотном дисплее.
Чтобы вставить паузу, нажмите клавишу Стрелка вправо на компьютерной клавиатуре. В результате позиция ввода сместится на один шаг вперёд.
Источник
Midi ввод по одной ноте
M usical Instrument Digital Interface — цифровой интерфейс музыкальных инструментов. Создан в 1983 году ведущими производителями электронных музыкальных инструментов — Yamaha, Roland, Korg, E-mu и др. Изначально был предназначен для замены принятого в то время управления музыкальными инструментами при помощи аналоговых сигналов управлением при помощи информационных сообщений, передаваемых по цифровому интерфейсу. Впоследствии стал стандартом де-факто в области электронных музыкальных инструментов и компьютерных модулей синтеза.
MIDI представляет собой так называемый событийно-ориентированный протокол связи между инструментами. Всякий раз, когда исполнитель производит какое-либо воздействие на органы управления (нажатие/отпускание клавиш, педалей, изменение положений регуляторов и т.п., инструмент формирует соответствующее MIDI-сообщение, в тот же момент посылаемое по интерфейсу. Другие инструменты, получая сообщения, отрабатывают их так же, как и при воздействии на их собственные органы управления. Таким образом, поток MIDI-сообщений представляет собой как бы слепок с действий исполнителя, сохраняя присущий ему стиль исполнения — динамику, технические приемы и т.п. При записи на устройства хранения информации MIDI-сообщения снабжаются временнЫми метками, образуя своеобразный способ представления партитуры. При воспроизведении по этим меткам полностью и однозначно восстанавливается исходный MIDI-поток.
C пецификация 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 — экран. Соединение экрана с корпусом желательно только со стороны выхода (Out и Thru). Полярность сигналов дается относительно источника тока: контакт 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 — сообщения делятся на канальные — относящиеся к конкретному каналу, и системные — относящиеся к системе в целом. Кодировка MIDI-сообщений (шестнадцатеричная, n в первом байте обозначает номер канала):
Описание канальных сообщений:
Note On (nn — номер ноты, vv — скорость (velocity) нажатия)
Note Off (nn — номер ноты, vv — скорость отпускания)
C ообщает о включении/выключении звучания ноты. MIDI-клавиатура генерирует эти сообщения при нажатии/отпускании клавиш, MIDI-синтезатор запускает или останавливает работу соответствующего генератора звука.
Н омер ноты задается абсолютным номером полутона в диапазоне 0..127, при этом центральной фортепианной клавише — ноте «До» первой октавы — соответствует десятичный номер 60 (в MIDI принята нумерация октав с нуля, поэтому она обозначается как C-5).
С корость нажатия/отпускания задается числом в диапазоне 0..127, отражающим скорость перемещения клавиши (обычно используется логарифмическая шкала). Скорость нажатия косвенно отражает силу удара по клавише. Чувствительная к скорости нажатия (динамическая) клавиатура выдает реальные значения, нечувствительная должна выдавать десятичные значения 64. Значение 0 в сообщении Note On полностью эквивалентно сообщению Note Off для этой же клавиши — это позволяет при передаче только нажатий и отпусканий использовать режим Running Status.
П ростые синтезаторы используют скорость нажатия для управления громкостью извлекаемого звука, более сложные — также для управления фильтрами (более громким звукам соответствует более звонкое звучание) либо выбора разных самплов, пропорции смешивания нескольких самплов, и т.п.
П ри поступлении повторного сообщения Note On для уже нажатой ноты различные инструменты ведут себя по-разному: одни автоматически отрабатывают перед этим Note Off, прекращая звучание «зависшей» ноты; другие запускают отдельный генератор, оставляя зависшую ноту звучать. Звучание зависшей ноты в этом случае может быть прекращено только командами All Sounds Off или Reset.
Channel Pressure (pp — величина давления)
Key Pressure (nn — номер ноты, pp — величина давления)
C ообщает об изменении силы давления (After Touch — после прикосновения (нажатия)) на всю клавиатуру или отдельную клавишу. Наиболее простые клавиатуры не имеют датчика давления; клавиатуры средней сложности имеют общий датчик для всех клавиш, посылая сообщения Channel Pressure по результатам усреднения давления на все нажатые клавиши; наиболее сложные клавиатуры имеют отдельные датчики для каждой клавиши, посылая изменения в состоянии каждого датчика.
П оведение синтезатора в ответ на эти сообщения стандартом не определено. Обычно синтезаторы с поддержкой Aftertouch имеют команды для привязки сообщений к выбранным параметрам синтеза (громкости, модуляции, фильтрам, эффектам и т.п.).
Control Change (cc — номер, vv — значение контроллера)
С ообщает об изменении состояния органов управления (контроллеров). MIDI-контроллеры делятся на непрерывные (continuous) — рукоятки, движки, имеющие диапазон непрерывного изменения, и переключатели (switches) — педали, кнопки, тумблеры, имеющие два дискретных состояния (On/Off — включено/выключено). Значения 0..63 означают выключенное состояние переключателя, значения 64..127 — включенное.
О сновным стандартом (MIDI level 1) принята следующая нумерация контроллеров:
Н а самом деле практически никто не следует предложенной схеме распределения, за исключением контроллеров 120..127 (специальные канальные сообщения), которые везде имеют одинаковое значение.
С тандартом MIDI рекомендована следующая нумерация контроллеров:
П оддержка устройством конкретных видов контроллеров определяется спецификацией устройства или стандарта, в рамках которого оно разработано.
О бычно, когда непрерывный контроллер используется для плавного управления каким-либо параметром звука, этот параметр пропорционально зависит от значения контроллера. Используются два основных способа управления параметрами звука: абсолютный и относительный. При абсолютном способе параметр полностью зависит от установленного значения контроллера; при относительном способе имеется некоторое стандартное значение параметра, соответствующее «нейтральному» значению контроллера — 64. Изменение значений контроллера вверх или вниз пропорционально изменяет значение выбранного параметра относительно стандартного значения, которое, вообще говоря, может быть различным для разных режимов, тембров и т.п. Для глобальных параметров, таких, как громкость или панорама в канале, используется абсолютный способ управления; для локальных — глубина реверберации, частота среза фильтра и т.п. — относительный, хотя интерпретация различными инструментами может не совпадать.
Специальные канальные сообщения
З адаются контроллерами 120..127 и управляют обработкой сообщений в каналах:
М ногие устройства требуют, чтобы неиспользуемые значения контроллеров были нулевыми.
С ообщение 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.
О т различных сочетаний режимов Omni, Poly и Mono происходят четыре основных режиме работы (mode) MIDI-устройств:
Б ольшинство современных устройств работает в mode 3 — полифонический режим с независимой работой каналов.
Program Change (pp — номер тембра)
С лужит для смены программы синтеза (чаще называемой тембром или инструментом) в канале. Параметр задает номер тембра (0..127) в текущем выбранном банке. Последующие ноты будут исполняться выбранным тембром, тембр уже звучащих в канале нот не изменяется.
Pitch Bend Change (ll — младший, mm — старший байт значения)
З адает смещение высоты тона для всех нот в канале — как звучащих, так и последующих. Значение, образованное двумя 7-разрядными величинами, изменяется в диапазоне 0..16383; среднее значение — 8192 — принимается за относительный нуль, что дает условный диапазон изменения -8192..8191. Чувствительность Pitch Bend может изменяться при помощи RPN 0; по умолчанию принимается предельное смещение на два полутона в любую сторону.
System Exclusive (SysEx)
С лужат для передачи специальной информации определенным устройствам. В сообщении SysEx может передаваться любое количество байтов. Признаком конца сообщения служит байт F7. Первые три байта SysEx обычно содержат идентификатор производителя устройства (присваивается Ассоциацией Производителей MIDI-устройств — MMA), номер устройства в сети (задается с пульта) и код модели устройства (присваивается производителем). В остальном формат сообщений определяется производителем — это могут быть команды, параметры, оцифрованные инструменты, партитуры и т.п.
Ш естнадцатеричные идентификаторы наиболее известных производителей:
C пециальные идентификаторы сообщений, помещаемые в первый байт SysEx:
П редписывает выполнить автоматическую подстройку устройствам, нуждающимся в ней. Обычно это относится к аналоговым синтезаторам, строй которых может смещаться из-за нестабильности управляющих элементов.
Song Position Pointer (ll — младший, mm — старший байт)
С лужит для установки позиции в партитуре для устройств, имеющих встроенный секвенсор, автоаккомпанемент или ритм-блок. Задается номером четвертной (quarter) ноты с начала партитуры.
Song Select (ss — условный номер партитуры)
О пределяет, какая из существующих партитур будет проигрываться при получении сообщения Start.
З апускает прогрывание или запись выбранной партитуры с начала.
О станавливает проигрывание или запись партитуры.
З апускает проигрывание или запись партитуры с прерванного места, либо с позиции, установленной с помощью Song Position Pointer.
С лужит для синхронизации устройств и передается с частотой 6 сообщений на четвертную ноту. Генерация этого сообщения не является обязательной для передающего устройства.
И спользуется для проверки наличия связи внутри MIDI-сети. Генерация сообщения не является обязательной для передающих устройств. В случае получения этого сообщения каждое приемное устройство переходит в режим слежения за MIDI-потоком, и в случае отсутствия любых сообщений в течение 300 мс автоматически отрабатывает контроллеры All Notes Off, All Sounds Off и Reset All Controllers. Это позволяет прекратить работу в случае нарушения связи в сети. Однако до первого прохождения этого сообщения по сети устройства не следят за длительностью пауз между сообщениями.
Описание работы контроллеров
Контроллеры Bank Select
М ногие устройства могут работать с большим количеством встроенных и дополнительных тембров (инструментов) и звуковых эффектов, которые для удобства объединены в банки. В каждый момент времени в одном канале может использоваться только один банк; для переключения банков служат контроллеры:
О дни устройства требуют для переключения банков только один из этих контроллеров, другие требуют оба. Поведение некоторых устройств в этом отношении может изменяться в различных режимах работы.
П о умолчанию устанавливается нулевой банк (в устройствах, совместимых с General MIDI, он содержит мелодические тембры GM). После смены банка обязательна посылка сообщения Program Change для выбора тембра (инструмента).
О бработка устройством команды смены банка и инструмента может занять значительное время (десятки миллисекунд и более). Некоторые устройства при получении команд смены банков и инструментов гасят звучащие ноты в канале.
З адает глубину частотной модуляции в канале. Управление абсолютное. Значение 0 отключает модуляцию, значение 127 устанавливает максимальную глубину. Стандартное значение — 0. Действует на последующие и уже звучащие ноты.
Контроллер Breath Control
П ередает воздействия на духовой контроллер, обычно выполняемый в виде мундштука — значение отражает силу воздушного потока, вдуваемого в мундштук. Духовой контроллер может быть как автономным, так и совмещенным с другим MIDI-устройством (MIDI-саксофон, MIDI-флейта).
Контроллер Foot Pedal
П ередает воздействия на ножную педаль — значение пропорционально силе давления на педаль или глубине ее погружения.
Контроллер Portamento Time
З адает время плавного скольжения от частоты предыдущей ноты до частоты очередной ноты. Управление абсолютное. Значение 0 соответствует минимальному времени, 127 — максимальному. Стандартное значение не определено.
Контроллер Main Volume
З адает громкость звучания внутри канала. Управление абсолютное. Стандартное значение — обычно 100. Действует на последующие и уже звучащие ноты.
З адает соотношение уровня стереоканалов (точку стереопанорамы) для канала. Управление абсолютное. Значение 0 — крайняя левая позиция, 64 — средняя, 127 — крайняя правая. Стандартное значение — 64. Действует на последующие и уже звучащие ноты.
З адает степень выразительности звука. Управление абсолютное. На простых инструментах дублирует контроллер 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.
З адает частоту среза фильтра канала, управляющую ослаблением высоких частот звука. Управление относительное (0..64..127). Стандартное значение — 64.
Контроллер Portamento Control
З адает номер ноты, от которой выполняется плавная перестройка частоты в режиме Portamento, и позволяет установить исходную высоту, отличную от определяемой последним сообщением Note On.
Контроллер Reverb Level
З адает глубину выбранного эффекта типа реверберации (основанного на постоянной задержке сигнала) — Room, Hall, Delay, Echo и т.п. Управление — абсолютное или относительное в зависимости от инструмента.
Контроллер Chorus Level
З адает глубину эффекта типа хорового (основанного на переменной задержке сигнала) — Chorus, Flanger, Phaser и т.п. Управление — абсолютное или относительное в зависимости от инструмента.
Контроллер Variation Level
З адает глубину эффекта, выбранного в качестве Variation. Управление — абсолютное или относительное в зависимости от инструмента.
В о включенном состоянии вызывает удержание звучания для всех клавиш, отпущенных во время действия контроллера — по аналогии с правой педалью фортепиано. Иными словами, в режиме Sustain канал задерживает отработку последнего поступившего для каждой ноты сообщения Note Off. В момент отключения одновременно отрабатываются все задержанные таким образом Note Off; на явно удерживаемые в этот момент клавиши (для которых последним поступившим сообщением является Note On) отключение режима не влияет.
Д ействует подобно Sustain, но удерживает звучание только тех нот, которые были нажаты на момент включения контроллера. Последующие нажатия и отпускания отрабатываются в обычном порядке. Иначе говоря, откладывается отработка Note Off только для тех нот, Note On для которых поступили до включения режима.
П о аналогии с левой педалью фортепиано, вызывает смягчение звучания для нот, нажатых во время действия режима. Способ реализации — простое уменьшение громкости или более тонкое управление — определяется инструментом.
П ри выключенном режиме каждая нажатая нота начинает звучать на частоте, определяемой высотой ноты и установленными на данный момент значениями контроллеров управления высотой (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
Д ополнительно для расширенного управления синтезом введены зарегистрированные (Registered Parameter Number — RPN) и незарегистрированные (Non-Registered Parameter Number — NRPN) номера параметров, передаваемые при помощи контроллеров:
У стройство запоминает однажды переданные ему RPN или NRPN, после которых могут передаваться значения выбранного параметра при помощи контроллеров:
Н а сообщения, передающие значение старшего или младшего байта параметра, устройства реагируют немедленно, используя в качестве недостающего байта либо ранее переданное, либо установленное по умолчанию значение. Это можно использовать для передачи значений, отличающихся только одним байтом, передавая только изменившийся байт.
Д ля отмены ранее зафиксированных номеров RPN и NRPN служит резервный номер RPN 16383 — после посылки контроллеров 100 и 101 со значениями 127 контроллеры Data Entry отключаются от ранее назначенных RPN и NRPN.
Т аким образом, механизм представляет собой «контроллер в контроллере». Стандартом General MIDI определена интерпретация только трех RPN, значения которых задаются старшими байтами параметров Data Entry:
Ч увствительность Pitch Bend определяет количество полутонов, на которое смещается высота тона при получении сообщения Pitch Bend Change с предельным верхним или нижним значением параметра. По умолчанию принимается диапазон в два полутона в любую сторону.
RPN подстройки позволяют сместить строй инструмента в канале на заданное количество полутонов при грубой, или центов (сотых долей полутона) — при точной подстройке. За относительный нуль принимается значение 64.
И нтерпретация остальных параметров стандартом GM не определена. В ряде инструментов для раздельной подстройки отдельных инструментов в различных банках используются также два дополнительных RPN:
Стандарты MIDI-систем
Стандарт General MIDI (MMA)
С тандарт General MIDI (единый MIDI, GM) разработан ассоциацией MIDI-производителей (MMA) в 1991 году в целях обеспечения частичной совместимости выпускаемых MIDI-устройств и облегчения переноса партитур между устройствами различных производителей. Устройство, совместимое с GM Level 1, должно удовлетворять следующим требованиям:
- полифония не менее 24 голосов;
- наличие 128 мелодических и 47 ударных тембров;
- раздельный выбор тембров по всем 16 MIDI-каналам;
- поддержка специальных канальных контроллеров 121 и 123;
- выделение канала 10 для ударных тембров, остальных каналов — для мелодических тембров.
М елодическим и ударным тембрам присвоены постоянные номера. Мелодические тембры распределены по 16 группам с 8 тембрами в каждой и выбираются сообщением Program Change в каналах 1-9 и 11-16:
П олифония в 24 голоса устанавливается либо общей для всех каналов, либо с разделением на 16 голосов для мелодических каналов и 8 — для ударных. Поведение системы при исчерпании свободных голосов стандартом не определено.
В GM обязательна поддержка следующих контроллеров:
К онтроллер Main Volume служит для долговременной установки громкости в канале, а Expression — для управления громкостью звучания отдельных нот или партий.
Д ля устройств, поддерживающих, кроме GM, другие стандарты синтеза, введен SysEx «General MIDI On» для переключения в режим GM: F0 7E 7F 09 01 F7.
Стандарт General Synthesis (Roland)
С тандарт General Synthesis (единый синтез, GS) разработан фирмой Roland в 1991 году, практически одновременно с GM. Целью создания стандарта было обеспечение совместимости не только базового набора тембров и способов управления, но и более тонких методов воздействия на звук. Требования к устройству, поддерживающему GS:
- поддержка стандарта GM Level 1;
- поддержка 98 дополнительных тембров и 8 наборов ударных;
- приоритетное назначение голосов каналам — вначале 10, далее с 1;
- назначение дополнительных ударных каналов через SysEx;
- резервирование голосов в канале через SysEx;
- наличие управляемого резонансного фильтра в каждом канале;
- поддержка эффектов Reverb, Chorus и Delay.
В ыбор банков осуществляется передачей старшего байта номера (контроллер 0). Младший байт (контроллер 32) при этом либо не используется, либо переключает режимы совместимости (например, SC55/SC88). Основной набор тембров (General MIDI) выбирается банком 0. Дополнительны мелодические тембры и звуковые эффекты распределены по 12 банкам, именуемым Variation Tones: 1..9, 16, 24 и 32. Дополнительные наборы ударных и набор звуковых эффектов имеют нумерацию (начиная с нуля):
C тандартом введены дополнительные контроллеры: а также — набор NRPN для управления генераторами огибающих и резонансными фильтрами (номера NRPN даны в виде значений старшего и младшего байтов): и для раздельной настройки параметров ударных инструментов (nn — номер ноты инструмента):
З начения параметров задаются старшими байтами Data Entry (контроллер 6).
И нструменты, поддерживающие стандарты GM и GS, почти всегда имеют дополнительные средства управления синтезом и обработкой звука, расширяющие рамки стандарта. При этом используемые способы управления, как правило, сохраняются внутри одной линии инструментов и внутри инструментов одного производителя.
У стройства, совместимые с GS, должны поддерживать SysEx «General Synth On» (переключение в режим Roland GS): F0 41 10 42 12 40 00 7F 00 41 F7.
Стандарт Extended General (Yamaha)
С тандарт Extended General (расширенный единый, XG) разработан фирмой Yamaha в 1994 году в виде расширения стандарта GS. Целью расширения ния стандарта было в первую очередь внесение развитого управления эффект-процессором и значительное увеличение количества тембров. Устройства, удовлетворяющие XG, способны самостоятельно создавать достаточно современное звучание без применения дополнительных тонгенераторов и модулей обработки, и к тому же гарантируют переносимость партитур с младших моделей на старшие практически без доработки. Требования к устройству, поддерживающему базовый уровень XG (Level 1):
- 32-голосная полифония;
- поддержка стандартов GM и GS;
- наличие 676 мелодических тембров и 21 набора ударных/эффектов;
- независимая подстройка высоты каждой ступени звукоряда;
- поддержка плавного скольжения высоты тона (портаменто);
- управление чувствительностью тембра к силе удара (Velocity);
- синхронное и независимое управление высотой и амплитудой звука,
- частотой среза фильтра от нескольких MIDI-контроллеров;
- наличие трех эффект-процессоров — Reverb, Chorus и Variation.
В озможные расширения XG:
- до 64 MIDI-каналов (до четырех раздельных MIDI-портов с возможностью управления всем устройством по любому из них);
- до 64 AD-каналов — аналоговых каналов с АЦП на входе, сигналы с которых поступают на обработку эффект-процессорами;
- дополнительный трехполосный эквалайзер;
- дополнительные эффект-процессоры — Distortion, Harmonizer и т.п.
Н абор тембров состоит из двух перекрывающихся наборов: 480/10 в режиме XG и 579/11 в режиме TG300B (GS).
В режиме GM доступны 128 стандартных мелодических тембров, стандартный набор ударных и стандартные контроллеры/RPN. В режиме XG доступны дополнительные банки, контроллеры, NRPN и SysEx.
В ыбор банков осуществляется передачей обоих байтов номера; при этом старший байт (контроллер 0) задает тип банка, а младший байт (контроллер 32) — номер банка указанного типа. В XG определено четыре типа банков:
Л юбой MIDI-канал путем выбора банка может быть установлен в мелодический или ударный режим.
В режиме XG доступны 44 банка мелодических тембров: 9 банков ударных тембров: и 2 банка звуковых эффектов:
В режиме TG300B/GS раскладка банков и инструментов совпадает с GS.
С тандартом XG введены контроллеры, дополнительные к GS:
П очти все контроллеры, стандартизированные в XG, до этого успели стать стандартом де-факто во многих инструментах.
С тандартом также введены дополнительные к GS NRPN для ударных:
Т ри эффект-процессора являются полностью независимыми, каждый из них может обрабатывать сигнал от произвольного количества каналов. Reverb и Chorus являются системными (System) эффектами — через них проходит сигнал от каждого канала с возможностью независимой регулировки глубины эффекта. Variation может работать в режиме как системного, так и выделенного (Insertion) эффекта, когда процессор обрабатывает сигнал только одного канала.
XG Level 1 определяет по 8 эффектов типа Reverb и Chorus и 36 эффектов типа Variation, в число которых также входит по 8 таких же типов Reverb и Chorus. Параметры каждого из трех выбранных эффектов управляются посредством набора SysEx.
У стройства, совместимые с XG, должны поддерживать SysEx «XG System On» (переключение в режим Yamaha XG): F0 43 1n 4C 00 00 7E 00 F7, где n — номер устройства в сети (устанавливается по-разному для разных устройств, по умолчанию 0). Для полной инициализации MIDI-системы необходима подача этого сообщения из режима GM.
Совместмость стандартов по звучанию
О бщность инструментов внутри стандарта и между ними чаще всего подразумевает только совпадение номеров и основных звуковых характеристик. «Одинаковые» тембры на различных инструментах почти всегда имеют различную окраску, динамику, яркость, громкость по умолчанию и другие особенности, а «синтетические» тембры могут совершенно отличаться друг от друга. Кроме этого, у разных инструментов различается зависимость характера звука от силы удара по клавише, динамика работы MIDI-контроллеров, положения контроллеров по умолчанию и прочие «тонкие» параметры. Поэтому MIDI-партитура, подготовленная для конкретного инструмента, на других инструментах (даже внутри стандарта) часто звучит совершенно по-другому, и это необходимо учитывать при переносе партитур с между инструментами различных моделей. Единственным исключением из этого является стандарт XG, специально ориентированный на повторение особенностей звучания тембров во всех моделях устройств.
О сновное применение MIDI — хранение и передача музыкальной информации. Это может быть управление электронными музыкальными инструментами в реальном времени, запись MIDI-потока, формируемого при игре исполнителя, на носитель данных с последующим редактированием и воспроизведением (так называемый MIDI-секвенсор), синхронизация различной аппаратуры (синтезаторы, ритм-машины, магнитофоны, блоки обработки звука, световая аппаратура, дымогенераторы и т.п.).
У стройства, предназначенные только для создания звука по MIDI-командам, не имеющие собственных исполнительских органов, называются тон-генераторами. Многие тон-генераторы имеют панель управления и индикации для установки основных режимов работы и наблюдения за ними, однако создание звука идет под управлением поступающих MIDI-команд.
У стройства, предназначенные только для формирования MIDI-сообщений, не содержащие средств синтеза звука, называются MIDI-контроллерами. Это может быть клавиатура, педаль, рукоятка с несколькими степенями свободы, ударная установка с датчиками способа и силы удара, а также — струнный или духовой инструмент с датчиками и анализаторами способов воздействия и приемов игры. Тон-генератор с достаточными возможностями по управлению может весьма точно воспроизвести оттенки звучания инструмента по сформированному контроллером MIDI-потоку.
Д ля хранения MIDI-партитур на носителях данных разработаны форматы SMF (Standard MIDI File — стандартный MIDI-файл) трех типов:
0 — непосредственно MIDI-поток в том виде, в каком он передается по интерфейсу.
1 — совокупность параллельных «дорожек», каждая из которых обычно представляет собой отдельную партию произведения, исполняемую на одном MIDI-канале.
2 — совокупность нескольких произведений, каждое из которых состоит из нескольких дорожек.
В основном применяется формат 1, позволяющий хранить одно произведение в файле.
К роме MIDI-событий, файл содержит также «фиктивные события» (Meta Events), используемые только для оформления файла и не передаваемые по интерфейсу — информация о метрике и темпе, описание произведения, названия партий, слова песни и т.п.
Источник