Особенность представления звуковой информации

Сущность цифрового интерфейса музыкальных инструментов. Особенность способа обмена данными между устройствами. Изменение параметров в реальном времени. Синхронизация и запись MIDI-событий. Анализ преобразования значений двух контроллеров в одно число.

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык русский
Дата добавления 16.12.2014
Размер файла 676,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

1. Что такое MIDI?

MIDI расшифровывается, как Musical Instruments Digital Interface (цифровой интерфейс музыкальных инструментов). В В конце 70-х годов индустрия уже имела в арсенале множество инструментов и устройств обработки, но они никак не были связаны между собой. Со стороны производителей было предложено несколько вариантов взаимодействий, но общей стандартизации не было.

На выставке NAMM 1981 года между Икутаро Какехаши (Roland), Томом Оберхеймом (Oberheim) и Дэйвом Смитом (президент Sequential Circuits) состоялся первый разговор на эту тему. В результате, общими усилиями был разработан интерфейс MIDI. Официальной датой его возникновения считается 1982 год. Для поддержки этого стандарта в 1983-1984 гг были сфомированы комитет по MIDI стандартам (JMSC), Ассоциация MIDI Производителей (MMA) и Международная MIDI Ассоциация (IMA), задачей которых было осуществление скоординированных действий между производителями, а также пользователями.

За прошедшее время в стандартизацию MIDI 1.0 было добавлено несколько новых полезных команд и функций, но сейчас мы пользуемся в основном тем, что было разработано в начале 80-х. При этом за прошедший период было выпущено столько аппаратуры, поддерживающей Musical Instrument Digital Interface, что уход этого стандарта видится невозможным. Его постоянно пытаются заменить и придумать что-то новое, но изобретаемые стандарты должны обязательно быть совместимыми с MIDI - иначе их не примет рынок.

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

Можно сказать, что это некий набор команд, который дает понять звуковому устройству понять, какой звук какой длины и тембра нужно воспроизвести. Стандартный интерфейс MIDI позволяет передавать сообщения по 16 каналам для одного порта (в современных аппаратных решениях портов может использоваться несколько, а интерфейсы называются мультипортовыми). В числе таковых сообщений можно перечислить информацию о ноте, инструменте и его смене, повороте колеса питча (изменения тона), скорости нажатия клавиши, длительности нажатия и т.п. Передача данных по MIDI протоколу осуществляется в одном направлении со скоростью 31250 б/с в шестнадцатеричном коде. Каждый байт данных начинается стартовым и заканчивается стоповым битом, так что фактически скорость передачи получается равной 3125 байт/с. MIDI-данные содержат только набор команд и не подразумевают наличие непосредственно аудиоданных.

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

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

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

2. MIDI-разъемы

При нажатии клавиши C 3 (нота До третьей октавы) на одном синтезаторе, действия переводятся в MIDI-сообщение, которое поступает на MIDI-выход (MIDI Out) этого инструмента. Если его MIDI-выход соединен с MIDI-входом (MIDI In) другого инструмента, то тот принимает это сообщение и выполняет те же действия, как будто клавиша была нажата на его клавиатуре, то есть воспроизводит ноту C 3.

3. MIDI-каналы

Если нажать клавишу на первом инструменте, нота будет звучать одновременно на всех трех. Но, необходимо чтобы звучал только один синтезатор. Кроме того, большинство современных синтезаторов - мультитембральные, то есть могут воспроизводить несколько тембров (звуков) одновременно.

Чтобы отделить MIDI-сообщения, предназначенные для одного синтезатора (или для одного тембра на этом синтезаторе), от сообщений другого, существуют 16 MIDI-каналов. На первом синтезаторе устанавливается звук пианино на MIDI-канале 2, на втором синтезаторе - звуки баса и струнных на MIDI-каналах 5 и 8, а на третьем - барабаны на канале 10 .Теперь необходимо переключать MIDI-каналы, по которым передает информацию первый синтезатор: включили на канал 2 - звучит пианино с первого синтезатора, на канал 10 - барабаны с третьего и т. д.

При таком варианте вообще не нужны клавиатуры на втором и третьем синтезаторах. Это привело к широкому распространению звуковых модулей - синтезаторов без клавиатуры, а также к появлению отдельных клавиатур для управления несколькими инструментами (MIDI Master Keyboard).

4. Запись MIDI-событий

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

В отличии от магнитофона, секвенсор записывает не звук, а управляющую MIDI-информацию (например: на второй доле первого такта по MIDI-каналу 10 передано сообщение о нажатии клавиши C 3). Вы можете затем изменить звук на десятом MIDI-канале и воспроизвести записанную информацию с новым звуком. Вы можете даже заменить синтезатор на другой и, если вы установите один из его звуков на MIDI-канал 10, то сможете воспроизвести вашу игру звуками нового инструмента.

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

5. Синхронизация

Скажем, мы записали все синтезаторные партии для нашей песни. Теперь неплохо бы что-нибудь спеть и может быть сыграть на акустических инструментах, типа гитары или саксофона. Можно, конечно, включить наш многодорожечный магнитофон, запустить секвенсор и записать все, что он воспроизведет, на пленку. Но, во-первых, это займет минимум две дорожки, а если мы хотим впоследствии изменять громкость или панораму отдельных партий, то по дорожке на каждый звук (а если звук стерео?); а во-вторых, мы уже не сможем изменить звуки.

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

После записи всех необходимых партий пора приступить к окончательному сведению. Здесь MIDI может помочь в управлении громкостью, панорамой и другими параметрами звуков различных MIDI-инструментов. Многие компьютерные секвенсоры имеют для этих целей специальные редакторы, воспроизводящие на экране монитора реальные регуляторы (например, MIDI Manager в Steinberg Cubase). Некоторые пульты (например, Soundcraft Spirit Auto или Mackie CR 1604 с системой OTTO) позволяют аналогичным образом управлять громкостью своих каналов, таким образом, контролируя обычные инструменты.

6. Что еще может MIDI?

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

Если у вас есть два инструмента, соответствующих стандарту MIDI Sample Dump (чаще всего это семплеры), вы можете передавать между ними семплы по MIDI. Это происходит довольно медленно, и вы не сможете передать пэтчи полностью (область клавиш, динамическое реагирование, огибающую), а только сами семплы. Тем не менее, и это может быть очень полезно.

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

Если вы когда-нибудь записывали песню с одним звуковым модулем, а воспроизводили с другим, то уже поняли, о чем пойдет речь. Дело в том, что номера звуков и расположение барабанов на клавиатуре не совпадают в разных инструментах. Решить эту проблему призвано General MIDI. Инструмент, соответствующий этой системе, должен быть минимум 24-голосным, 16-мультитембральным, иметь 128 звуков, которые должны быть одинаково организованы по номерам. То есть звук номер 001 всегда акустическое фортепиано, номер 036 - безладовый бас, номер 126 - вертолет и т. д. Кроме того, барабаны должны находиться на MIDI-канале 10, и их звуки должны соответствовать определенным MIDI-номерам нот (см. статью "General MIDI - в чем тут обман?").

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

7. MIDI-коммутация устройств

Для того чтобы установить MIDI-коммутацию между музыкальными устройствами, обычно применяют трехжильные кабели с разъемами типа DIN (такими же разъемами пользовались ранее в отечественной аудиотехнике). В MIDI-соеди-нениях используются контакты № 2, 4 и 5 (рис. 3.1). Подойдет, естественно, и «универсальный» пятижильный кабель, так как в нем указанные контакты также задействованы.

Рис 1 Стандартный MIDI-разъем и его распайка

В устройствах со стандартным MIDI-интерфейсом имеется три разъема, обозначаемых как MIDI IN, MIDI OUT и MIDI THRU.

Разъем MIDI IN - это входной разъем, через который поступает MIDI-информа-ция с других устройств. MIDI OUT - выходной разъем, через который устройство передает информацию о производимых на нем действиях. И наконец, MIDI THRU - это тоже выходной разъем, через который устройство в неизменном виде пересылает информацию, полученную через MIDI IN.

Поскольку начинающие пользователи часто путают назначение двух выходных разъемов, давайте взглянем на них еще раз. Итак, информация о всех действиях, которые производятся на устройстве (нажатия клавиш и т. п.) всегда выходит только через разъем MIDI OUT и НЕ выходит через разъем MIDI THRU. А информация, полученная по MIDI (через разъем MIDI IN) в неизменном виде отправляется дальше через разъем MIDI THRU, но обычно НЕ выходит через MIDI OUT.

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

Поэтому на звуковых картах обычно весь MIDI-интерфейс выводится на один 15-контактный разъем, объединенный с портом для подключения джойстика (рис. 2).

Рис. 2. MIDI-разъем звуковой карты

Для соединения такого разъема со стандартными MIDI-устройствами необходим специальный переходной кабель. К некоторым звуковым картам он прилагается, но зачастую производители предлагают приобрести его отдельно. Перед покупкой переходного кабеля обязательно нужно удостовериться, что он будет работать с вашими моделями звуковой карты и устройств, так как многие производители «учитывают индивидуальные особенности» данной звуковой карты, а совместимость с другими картами при этом не гарантируется. Цена же таких кабелей обычно бывает достаточно высока, она может достигать $40 и выше.

Теперь давайте рассмотрим несколько примеров коммутации MIDI-устройств. Сначала самый простой случай - управление с одной MIDI-клавиатуры двумя MIDI-устройствами. В этом случае следует разъем MIDI OUT клавиатуры соединить с разъемом MIDI IN первого устройства, а разъем MIDI THRU первого с разъемом MIDI IN второго устройства (рис. 3). Так же следует поступить, если устройство с MIDI-клавиатурой имеет встроенный секвенсер, с которым идет работа.

Рис. 3. Управление двумя MIDI-устройствами от одной MIDI-клавиатуры

Теперь представим себе, что секвенсер имеет не клавиатура, а одно из управляемых устройств. В таком случае MIDI OUT клавиатуры надо соединить с MIDI IN устройства с секвенсером, его MIDI THRU (при записи) или MIDI OUT (при воспроизведении) соединить с MIDI IN второго управляемого устройства, а если устройство-клавиатура также используется в качестве звукогенератора, то разъем MIDI THRU второго управляемого устройства следует соединить с MIDI IN клавиатуры (рис. 4.).

Рис. 4. Управление двумя MIDI-устройствами (в том числе секвенсером) от MIDI-клавиатуры

В случае работы с компьютером, имеющим звуковую карту, но без использования каких-либо внешних звуковых модулей нужно просто присоединить выход (MIDI OUT) MIDI-клавиатуры к разъему MIDI IN звуковой карты (как правило, такое соединение осуществляется с помощью специального переходного кабеля, как говорилось выше). Если же используются несколько внешних модулей, то разъем MIDI OUT компьютера присоединяется к MIDI IN первого из них, а далее соединение идет «по цепочке», причем разъем MIDI THRU каждого из используемых модулей, кроме последнего, соединяется с разъемом MIDI IN следующего (рис. 5).

Рис. 5. MIDI-коммутация с использованием компьютера

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

Примерно по такой же схеме развиваются события и при MIDI-закольцовке. Звука, правда, при этом не возникает, но вся система «виснет», и единственный способ вернуться к нормальной работе в такой ситуации - перезагрузка. Обычно заколь-цовка возникает, когда какое-либо устройство при некоторых условиях начинает «пропускать» сигналы напрямую с MIDI IN на MIDI OUT. Поскольку это не полностью соответствует требованиям стандарта, такие случаи всегда бывают отражены в документации на оборудование (еще раз настоятельно рекомендую прежде, чем приступать к работе с любым электронным устройством, внимательно ознакомиться с документацией к нему, даже если вы на 101% уверены, что разберетесь во всем интуитивно). Обычно возможность пропускания сигнала с MIDI IN на MIDI OUT предусматривается в случае отсутствия у устройства разъема MIDI THRU.

При работе с компьютером с помощью MIDI разъем MIDI THRU также обычно не используется, вместо этого функция MIDI THRU может быть программно назначена (или не назначена) на MIDI OUT.

Вообще говоря, звуковые карты часто имеют несколько параллельных MIDI-выходов, хотя, как правило, только один из них является внешним. Кроме него встречаются MIDI-выходы на встроенный WT-синтезатор/сэмплер, встроенный FM-синтезатор и специальный MIDI-интерфейс, совместимый с Roland MPU-401. Переключение этих выходов обычно осуществляется программно.

MIDI-сообщения и MIDI-файлы

Типы MIDI-сообщений

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

Начнем с самого распространенного типа MIDI-сообщений - нажатия клавиши (Note On или Key On). Это сообщение несет в себе информацию о двух параметрах: номере нажатой клавиши и силе удара по ней.

Здесь необходимо сделать небольшое пояснение. Дело в том, что большинство параметров MIDI могут принимать значения от 0 до 127 (почему так, будет объяснено ниже). Поэтому размер полной MIDI-клавиатуры составляет 128 клавиш, которые пронумерованы в восходящем порядке. Поскольку для музыкантов привычнее оперировать с названиями нот и номерами октав, в MIDI-стандарте описано соответствие между номером клавиши и его «интуитивным» значением. Однако номера октав здесь отличаются от принятых на традиционных акустических инструментах.

Нота, которая на рояле обычно называется «до» первой октавы, то есть расположенная в центре клавиатуры (middle С, центральная «до» ), в MIDI-терми-нологии обычно называется «до» третьей октавы, что соответствует клавише номер 60. Сами октавы нумеруются от минус второй до восьмой. Клавиша номер 0 соответствует «до» минус второй октавы, а клавиша номер 127 - «соль» восьмой октавы. При этом надо помнить, что реальная высота звуков зависит от того, каким образом построен тот «инструмент», которым мы управляем по MIDI, и номер MIDI-октавы - это всего лишь вспомогательное значение. Конечно, далеко не все устройства имеют клавиатуру из 128 клавиш. Как правило, сама клавиатура имеет меньшие физические размеры: от трех- и четырехоктавной (37 и 49 клавиш соответственно) до «полной фортепианной» (88 клавиш); при этом номера клавиш для передаваемых MIDI-сообщений молено настроить с помощью ручек управления или кнопок. Например, в четырехоктавных клавиатурах по умолчанию передаются номера клавиш в диапазоне от 36 до 84 (от «до» первой до «до» пятой октавы), но можно включить режим, при котором диапазон передаваемых номеров будет от 24 до 72 (транспозиция на -1 октаву) или, например, от 0 до 48. Многие клавиатуры имеют также возможность транспозиции на нецелое число октав, например, в нашем случае это может быть диапазон от 34 до 82 (транспозиция на -2 полутона, при этом вы играете как бы в строе «си-бемоль»). Сила удара по клавише измеряется как скорость ее движения вниз при нажатии, поэтому этот параметр принято называть по-английски velocity или velocity on. Он имеет также 128 градаций. Максимальная сила нажатия соответствует значению 127, а минимальная - 1. Значение, равное 0, используется особым образом, об этом будет рассказано чуть ниже.

Только очень качественные MIDI-клавиатуры обеспечивают 128 градаций при измерении velocity on. Многие устройства измеряют этот параметр более грубо, используя, например, 32 или 16 градаций (в последнем случае выходными значениями могут быть 7, 15, 23, 31, 39, 47, 55, 63, 71, 79, 87, 95, 103, 111, 119 и 127). Такое измерение приводит к менее точной передаче и записи исполнения, и при выборе MIDI-клавиатуры на это следует обратить особое внимание. Правда, ситуацию усложняет тот факт, что данная особенность устройств далеко не всегда документируется.

Некоторые дешевые MIDI-клавиатуры (обычно встроенные в устаревшие синтезаторы) вообще не измеряют силу нажатия, передавая по MIDI все время одно и то же значение, например 64. Однако в последнее время такие устройства уже не производятся.

Итак, MIDI-сообщение «нажатие клавиши» содержит в себе информацию о номере нажатой клавиши и силе удара по ней (velocity). Теперь рассмотрим другой важный тип MIDI-сообщения - отпускание клавиши (Note Off или Key Off). Важно понимать, что отпускание клавиши - это совершенно самостоятельное MIDI-событие, никак не связанное с нажатием клавиши (кроме как по смыслу). Устройство, получившее по MIDI сообщение о нажатии клавиши, начинает воспроизводить соответствующий звук и «держит» его до тех пор, пока не получит сообщение об отпускании той же самой клавиши. Несмотря на то что во многих MIDI-редакторах для удобства использования введено понятие «длина ноты» (note length), всегда полезно помнить, что на самом деле по MIDI не передается никакая «длина», а есть только «нажатие» и «отпускание» клавиши, звук же мы будем слышать на временном промежутке между ними.

MIDI-сообщение «отпускание клавиши», подобно предыдущему, содержит в себе информацию о номере отпускаемой клавиши и о скорости ее отпускания (velocity off). Если отпускаемая клавиша не совпадает по номеру ни с одной из ранее нажатых, то ничего не происходит, хотя при реальном исполнении на MIDI-клавиатуре такая ситуация возникнуть не может. Скорость отпускания клавиши редко влияет на звучание (это зависит от «инструмента»), однако в некоторых случаях этот параметр может иметь большое значение. Тем не менее многие MIDI-клавиатуры вообще не измеряют скорость отпускания клавиши, передавая по MIDI некоторое стандартное значение этого параметра (обычно 64).

Более того, иногда устройства вообще не передают (или «не понимают» при приеме) MIDI-сообщение «отпускание клавиши». В этом случае вместо него используется сообщение «нажатие клавиши» со скоростью 0 (значение параметра velocity on равно 0). В последнее время для унификации стандарта практически все MIDI-устройства способны воспринимать в качестве команды отпускания клавиши и собственно «отпускание клавиши», и «нажатие клавиши» при velocity=0. Однако в некоторых случаях все же необходимо явным образом установить соответствующий переключатель (обычно в программных настройках устройства). цифровой интерфейс музыкальный синхронизация

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

Сообщение «смена программы» (Program Change) определяет, какой «инструмент» будет использоваться для выполнения всех последующих действий. Как уже говорилось, одно устройство может содержать в себе большое число различных «инструментов». Каждому из них присваивается свой номер, который и используется в данном MIDI-сообщении. Сообщение «смена программы» пересылается устройством при переключении «инструмента», однако обычно его выставляют в каком-либо редакторе MIDI-секвенсера.

Соответствие номера «инструмента» реальному тембру зависит от устройства и долгое время не было унифицировано. Однако эту проблему отчасти решило введение стандарта General MIDI (см. раздел «Стандарт General MIDI и его "близнецы"»).

В MIDI-сообщении «смена программы» используются значения номера «инструмента» от 0 до 127. Таким образом, если устройство содержит 128 «инструментов» или менее, мы имеем возможность легко переключать их этим MIDI-сообщением. Но что делать, если устройство содержит более 128 «инструментов»?

Ранее для решения этой проблемы в настройки устройства помещалась специальная MIDI-карта (MIDI map), где задавалось соответствие значения «смены программы» реальному номеру «инструмента» в устройстве. Сама же MIDI-карта могла быть передана в виде исключительного системного MIDI-сообщения (см. ниже в этом же разделе). Такая схема была реализована, например, в знаменитом синтезаторе ProTeus.

В современных устройствах, как правило, используется другая схема. Все имеющиеся «инструменты» объединяют в несколько групп по 128 в каждой. Такие группы называют банками. При этом MIDI-сообщение «смена программы» переключает «инструменты» в текущем банке, а смена банка осуществляется с помощью другого MIDI-сообщения - «выбор банка» (один из видов «смены значения контроллера», см. ниже в этом же разделе). Как будет показано, количество банков, доступных для переключения по MIDI, может достигать 16 384, а максимальное количество «инструментов» оказывается равным 2 097 152. Обычно реальные устройства на сегодняшний день содержат от 1 до 20 банков. MIDI-сообщение «смена значения контроллера» (Control Change) является очень важным для контроля за исполнением. С его помощью можно контролировать различные параметры исполнения - громкость, выразительность, вибрато, пространственную локализацию и пр. Реализована эта возможность следующим образом. В данном MIDI-сообщении содержатся два параметра. Первый, Controller Number, так называемый номер контроллера, указывает, какой параметр исполнения мы . изменяем, а второй, Controller Value, значение контроллера, указывает, каким образом этот параметр изменяется. Например, чтобы установить максимальную громкость, нужно установить номер контроллера 7 (что означает абсолютную громкость), а значение - 127.

Номера контроллеров возможны также в диапазоне от 0 до 127. Вообще говоря, соответствие номера контроллера реальному параметру исполнения может определяться в каждом конкретном устройстве немного по-разному. Имеется, однако, стандартный набор контроллеров, которые обычно совпадают по номеру во всех современных MIDI-устройствах. Но прежде чем перейти к рассмотрению стандартного назначения контроллеров, необходимо понять некоторые общие положения.

Контроллеры с номерами от 0 до 31 являются так называемыми основными контроллерами, значения которых могут изменяться в диапазоне от 0 до 127. Однако в некоторых случаях необходимо осуществить более тонкую их настройку. Для этого предусмотрены контроллеры с номерами от 32 до 63, значения которых являются младшими байтами (LSB) контроллеров № 0-31. Таким образом, если необходимо тонко настроить значение контроллера с некоторым номером X, нужно использовать его значение в комбинации со значением контроллера номер Х+32. При этом количество возможных градаций возрастает до 16 384. Каким образом это происходит, показано на схеме (рис. 6). Такая настройка возможна только для контроллеров с номерами от 0 до 31 и используется крайне редко (кроме контроллера № 0, см. далее).

Рис. 6. Схема преобразования значений двух контроллеров в одно число

Контроллеры с номерами от 64 до 79 являются переключателями, то есть могут принимать только два значения - 0 и 127. Исключения составляют некоторые «нестандартные» контроллеры. Следующие сорок контроллеров (№ 80-119) снова способны принимать любые значения в диапазоне 0-127, а последние десять (№ 120-127) имеют служебное назначение и будут рассмотрены отдельно.

Теперь перейдем к практическому назначению контроллеров. Контроллер № О имеет назначение «выбор банка> (Bank Select). Как уже говорилось выше, банки объединяют в себе по 128 «инструментов», каждый из которых может быть выбран впоследствии с помощью «смены программы» (Program Change). Для выбора текущего банка и применяется контроллер № 0, причем всегда в комбинации с контроллером № 32. Значения этих двух контроллеров вместе составляют номер банка, причем значение контроллера № 0 определяет его старшие разряды. Например, если контроллер № 0 имеет значение 0, а № 32 - 4, то выбирается банк № 4. Если же значение контроллера № 0 равно 1, а № 32 - 0, то будет выбран банк с номером 128. В общем случае при значении 0-го контроллера, равном А, и значении 32-го, равном В, номер банка будет равен 128А+В.

Контроллер № 1 называется «вибрато» (Vibrato) или иногда «модуляция» (Modulation или Modulation Wheel). В стандартных «инструментах» с его помощью контролируется глубина вибрато (хотя иногда бывает, что вместо глубины этот контроллер изменяет скорость вибрато или вообще какой-нибудь другой параметр).

При значении этого контроллера, равном 0, вибрато отсутствует, а при значении 127 достигает максимальной глубины. Плавно изменяя значение данного контроллера (особенно в сочетании с контроллером № 7), можно добиться большой выразительности исполнения. При «живом исполнении» значения этого контроллера изменяются специальным «колесом модуляции», обычно расположенным слева от клавиатуры (не путайте его с «колесом высоты» - pitch bender, о котором речь пойдет ниже). Кроме того, на многих MIDI-клавиатурах имеется один или несколько ползунковых регуляторов, которые можно использовать для изменения значения любого MIDI-контроллера.

Контроллер № 2 - это «контроллер дыхания», Breath Control. При исполнении его значения обычно регулируются с помощью специального «MIDI-мундштука», сила дуновения в который соответствует более высокому значению контроллера. Влияет он обычно на «яркость» звука, иногда в сочетании с громкостью. Употребляется не очень часто.

Контроллер № 4 - ножной контроллер, Foot Control. Его значения регулируются специальной педалью, причем в различных устройствах действия контроллера варьируются.

Контроллер № 5 - время скольжения, Portamento Time. Значение его определяет время, за которое высота звука достигает высоты, определенной нажатой клавишей при включенном режиме скольжения (Portamento). Подробнее об этом - в описании контроллера № 65.

Контроллер № 6 - ввод данных, Data Entry. Применяется он в случае необходимости ввода каких-либо дополнительных данных, например, в некоторых устройствах определяет режим эффект-процессора.

Контроллер № 7 - абсолютная громкость, Main Volume. Это наиболее употребительный контроллер, определяющий уровень громкости. Важно не путать его действие с действием параметра velocity (сила удара по клавише) из MIDI-сообще-ния «нажатие клавиши». Velocity обычно определяет сразу много параметров - громкость, время атаки, яркость и пр., а контроллер № 7 - только громкость, причем он позволяет изменять ее в любое время после нажатия на клавиши. Например, если необходимо, чтобы звук постепенно нарастал «из ниоткуда», достаточно перед нажатием клавиши сделать значение контроллера № 7 равным 0, а после нажатия постепенно изменять его значение, увеличивая на единицу каждые несколько десятков миллисекунд. Максимальная громкость звучания достигается при значении 127, а при нулевом значении этого контроллера звук отсутствует вообще.

Контроллер № 10 - пространственная локализация, Pan. Этот контроллер перемещает звук по стереобазе (влево - вправо). Центральное положение звука соответствует значению 64, положение слева - значению 0, а положение справа - значению 127. Контроллер может принимать любое из промежуточных значений. Обычно контроллер действует на все уже звучащие и последующие звуки, однако в некоторых более старых моделях устройств пространственное расположение звука устанавливается до нажатия на клавишу и уже не может быть изменено в процессе звучания. Правда, это тоже открывает некоторые интересные возможности.

Контроллер № 11 - выразительность исполнения, Expression. В хорошо сделанных «инструментах» он затрагивает много звуковых параметров сразу, однако в более простых моделях зачастую дублирует контроллер громкости.

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

Контроллер № 65 - включение режима скольжения (Portamento Switch). Если этот режим включен, то при нажатии клавиши звук начинает звучать на высоте, заданной предыдущей нажатой клавишей, и затем скользит (глиссандирует), постепенно достигая высоты, определяемой нажатой в данный момент клавишей. Например, если мы нажмем клавишу «ре» третьей октавы, затем включим режим скольжения и нажмем клавишу «фа» третьей октавы, то в момент ее нажатия услышим снова «ре», от которого начнется глиссандо вверх до звука «фа». Скорость этого глиссандо определяется контроллером № 5 (Portamento Time). Если же необходимо, чтобы начальная высота звука (перед скольжением) отличалась от высоты предыдущей ноты, нужно ее определить отдельно с помощью специального контроллера № 84 (Portamento Control).

Контроллер № 66 - задерживающая педаль, Sostenuto Pedal. Действие этого контроллера очень похоже на действие демпферной педали (№ 64), но при его включении задерживается отпускание только тех клавиш, которые уже были нажаты в момент включения, а все последующие не Задерживаются. Другими словами, этот контроллер действует аналогично средней педали рояля.

Контроллер № 67 - смягчающая педаль, Soft Pedal. Действует переключатель аналогично фортепианной левой педали. В разных моделях устройств это может быть реализовано по-разному, например простым снижением громкости или же комбинацией из снижения громкости, «срезания» верхних частот спектра и уменьшения действия эффект-процессора.

Контроллер № 70 не имеет стандартного значения, однако в «инструментах», допускающих переключение так называемых патчей (различных сочетаний-слоев инструмента) обычно для этого и применяется. Количество его возможных значений варьируется в зависимости от числа возможных патчей. Например, в сэмпле-рах Ensoniq, где каждый «инструмент» может содержать до четырех патчей, 70-й контроллер может принимать 4 значения.

Контроллер № 84 - контроллер глиссандо, Portamento control. Его назначение уже описывалось выше.

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

Контроллер № 120 - отключить звук (All Sound Off). Он эквивалентен передаче по всем MIDI-каналам набора MIDI-событий, обеспечивающих мгновенное прекращение звучания. Однако «мгновенность» здесь довольно условная, так как для передачи/обработки такого количества информации любому устройству потребуется некоторое время. Поэтому, как правило, вместо него используется контроллер «отпускание всех клавиш» (см. далее).

Контроллер № 123 - отпускание всех клавиш (All Notes Off). Он используется при возникновении различных ошибок, приводящих к непрекращающемуся «гудению» отдельных звуков. При этом эмулируется отпускание всех клавиш на всех MIDI-каналах. Обычно применение данного контроллера приводит к решению проблемы, «лишние» звуки исчезают.

Наконец, четыре последних контроллера переключают различные режимы MIDI-устройств. Большинство этих устройств могут работать как в режиме «multi» (раздельная обработка сообщений для различных MIDI-каналов, о MIDI-каналах см. раздел «MIDI-каналы и многотембровость»), так и в режиме «omni», когда информация о MIDI-каналах игнорируется. Контроллер № 124 включает режим «multi», а № 125 - «omni». Кроме того, иногда устройство допускает переход в режим одноголосия (mono mode). Этот режим включается контроллером № 126, а контроллер № 127 возвращает устройство в обычный режим (многоголосие, poly mode).

Несмотря на то что все перечисленные контроллеры имеют стандартные назначения, нужно иметь в виду, что конкретное воздействие их на звучание определяется настройками звучащего «инструмента». Следовательно, в отдельных случаях возможны некоторые несовпадения со стандартным назначением. Более того, вы найдете очень небольшое количество устройств, поддерживающих все перечисленные выше контроллеры (это относится и к MIDI-событиям вообще). Поэтому, прежде чем использовать тот или иной контроллер, полезно заглянуть в документацию устройств. Обычно в конце описания любого MIDI-устройства приводится сводная таблица поддерживаемых MIDI-сообщений (MIDI implementation chart).

MIDI-сообщение «изменение высоты» (Pitch Bend) регулируется так называемым «колесом высоты», обычно находящимся слева от клавиатуры. Это колесо изменяет высоту воспроизводимого звука, увеличивая или уменьшая скорость его проигрывания. Максимальное отклонение от основной высоты определяется в настройках «инструмента» и может составлять от 1 до 12 полутонов. По MIDI передаются сообщения обо всех промежуточных положениях этого колеса, которые измеряются довольно точно (для него определены 16 384 градации). Однако большое количество устройств (особенно старых и недорогих) неспособно передавать движения колеса с такой точностью. Например, в синтезаторе Yamaha SHS-10 колесо высоты имеет всего 24 градации. Предпочтительнее пользоваться устройствами, позволяющими более точно позиционировать колесо высоты, так как они дают возможность очень плавного и гибкого ее изменения.

Нормальным положением колеса высоты считается среднее, соответствующее MIDI-значению 8192. Положение, соответствующее максимальному понижению звука, передается по MIDI значением 0, а максимально «высокое» положение - значением 16 383. Иногда в MIDI-редакторах среднее положение обозначают как О, нижнее как -8192 и верхнее как 8191.

MIDI-сообщение «изменение давления» (Aftertouch) передает по MIDI любое изменение давления на клавишу после ее нажатия. На самом деле оно существует «в двух экземплярах». Строго говоря, это два разных типа MIDI-сообщений, однако одновременно может поддерживаться только один из них.

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

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

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

Поскольку эти сообщения, предназначенные для одного устройства, не могут быть применены к остальным, в начале таких сообщений обязательно указывают идентификационные коды производителя и модели устройства. Если они не совпадают с имеющимися в устройстве, то вся остальная часть сообщения будет проигнорирована. Сами же исключительные системные сообщения иногда могут быть довольно длинными (помню случай, когда одно такое сообщение, содержащее волновые формы сэмплов и параметры их воспроизведения, передавалось почти 40 минут!).

Есть и еще некоторые типы MIDI-сообщений. Например, сообщение «пуск» (Start) начинает воспроизведение MIDI-секвенции (секвенцией называют последовательность MIDI-событий и временных промежутков между ними) сначала. Сообщение «стоп» (Stop) останавливает воспроизведение. Сообщение «продолжить» (Continue) начинает воспроизведение секвенции с места его остановки. Сообщение «выбор пьесы» (Song Select) позволяет переключиться с одного загруженного в секвенсер произведения на другое. Сообщение «установка курсора» (Song Position) меняет положение текущей позиции в секвенции.

8. MIDI-каналы и многотембровость

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

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

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

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

Размещено на Allbest.ru


Подобные документы

  • Суть MIDI-технологии и типы музыкальных программ. Основные возможности программ: редакторов цифрового аудио, секвенсоров (программ для написания музыки), анализаторов и реставраторов аудио, трекеров. Копирование и сжатие цифрового звука с компакт-дисков.

    реферат [21,1 K], добавлен 27.02.2009

  • ISDN как цифровая сеть с интеграцией обслуживания для совместимости услуги телефонной связи и обмена данными. Передача звукового сигнала в цифровой форме. Повышение скорости обмена данными по обычной телефонной сети. Минимальное число двоичных разрядов.

    лекция [230,6 K], добавлен 15.04.2014

  • Кодирование как процесс представления информации в виде кода. Кодирование звуковой и видеоинформации, характеристика процесса формирования определенного представления информации. Особенности универсального дружественного интерфейса для пользователей.

    контрольная работа [20,3 K], добавлен 22.04.2011

  • Программа Enhanced Converter для преобразования мультимедийных файлов. Процедура инициализации приложения, очистки текстовых полей, проверки ввода данных, по вычислению значений в "реальном времени". Внешний вид окна приложения с введенными данными.

    лабораторная работа [60,9 K], добавлен 31.05.2009

  • Изучение процесса обмена данными между приложениями в среде MS Office, используя при этом разные форматы хранения и представления информации. Создание файла исходных данных формата CSV по шаблону. Выполнение тестов, расчетов с исходным набором данных.

    курсовая работа [3,4 M], добавлен 27.01.2015

  • Анализ процесса оцифровки зависимости интенсивности звукового сигнала от времени. Характеристика технологии создания музыкальных звуков в современных электромузыкальных цифровых синтезаторах. Изучение основных звуковых форматов, способов обработки звука.

    курсовая работа [2,3 M], добавлен 23.11.2011

  • Особенность формирования реляционной модели данных. Создание таблиц в программе. Характеристика разработки web-интерфейса. Анализ вывода информации о каждом сотруднике. Образование листинга программных кодов. Суть удаления и редактирования извещений.

    курсовая работа [621,5 K], добавлен 14.01.2018

  • Проведение исследования опыта взаимодействия в сети. Методы улучшения согласования с пользователем web-сервиса. Особенность проектирования онлайн-приложения. Изучение разработки контроллеров и моделей. Характеристика создания интерфейса программы.

    дипломная работа [1,3 M], добавлен 11.08.2017

  • Алгоритмы планирования мультипрограммных операционных систем. Оценка возможности выполнения двух процессов в реальном времени. Организация доступа к критической секции с использованием передачи сообщений. Обнаружение блокировок в вычислительной системе.

    курсовая работа [858,7 K], добавлен 24.03.2015

  • Особенности работы микро ЭВМ, которая сопровождается интенсивным обменом информацией между МП, ЗУ и УВВ. Характеристика функций интерфейса: дешифрация адреса устройств, синхронизация обмена информацией, согласование форматов слов, дешифрация кода команды.

    контрольная работа [183,1 K], добавлен 22.08.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.