Меню
Бесплатно
Главная  /  Образование  /  Какой информации не содержат сообщения midi. MIDI – это стандарт цифровой звукозаписи на формат взаимодействия и обмена данными между музыкальными инструментами электронного типа

Какой информации не содержат сообщения midi. MIDI – это стандарт цифровой звукозаписи на формат взаимодействия и обмена данными между музыкальными инструментами электронного типа

Глава 4 Интерфейс MIDI

MIDI расшифровывается как Musical Instruments Digital Interface (Цифровой интерфейс музыкальных инструментов). Это стандартный цифровой интерфейс обмена данными между электронными музыкальными инструментами. По MIDI передается не сам звуковой сигнал, а различные управляющие сигналы: нажатие и отпускание клавиши, сила удара по клавише, громкость, вибрато, плавное изменение высоты звука, а также – для обеспечения синхронизации – информация о времени (тайм-коды, коды времени) и даже цифровая звуковая информация (семплы) и т. п. Простейший случай использования MIDI – генерация главным устройством (MIDI-секвенсором) управляющих команд и передача их в управляемое устройство (чаще всего синтезатор). Сигналы передаются как цифровая последовательность, разбитая на байты. В отличие от цифровой записи звуковой информации запись MIDI-последовательности чзанимает небольшой объем памяти. Отдельное MlDl-сообщение обычно состоит из одного, двух или трех байтов (кроме исключительных системных сообщений). Когда вы берете на клавиатуре или слушаете записанный в секвенсор аккорд, все ноты аккорда передаются и воспроизводятся по очереди. Однако мы слышим цельный аккорд, так как достаточно высока скорость передачи команд. На слух запаздывание звуков незаметно, и MIDI-интерфейс способен передать подавляющее большинство нюансов игры музыканта.

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

Среди всего многообразия MIDI-сообщений можно выделить те, которые передаются только по своему MIDI-каналу. Это Channel Messages (Сообщения канала): команды Note On (Взять ноту) и Note Off (Отпустить), различные MIDI-контроллеры, команды переключения звуков и смены режимов Program Change (Смена программы). Помимо этого, существуют сообщения, которые передаются без привязки к конкретным каналам – System Messages (Системные сообщения). Это System Real Time Messages (Сообщения реального времени): Timing Clock (MIDI-системная тактовая частота), ряд других команд, служащих для поддержания стабильной работы системы, и System Exclusive Messages (Исключительные системные сообщения) – обособленная от всех остальных группа MIDI-сообщений.

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

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

В последнее время получил распространение также стандарт General MIDI. Он предполагает, что в музыкальных устройствах различных производителей сходные по звучанию тембры имеют одинаковые номера. Например, обычный рояль – тембр № 1, литавры – тембр № 49, и т. д. Таким образом, если имеется MIDI-последовательность, записанная на General MIDI-устройствах, ее можно воспроизводить на любых устройствах, поддерживающих этот стандарт. Звуковой результат при этом будет лишь незначительно отличаться от исходного материала.

Итак, чисто технически MIDI – это последовательный интерфейс. Но при работе с MIDI удобнее представлять эту систему в «параллельном» виде, то есть в виде одновременно существующих шестнадцати каналов.

Из книги Время - деньги. Создание команды разработчиков программного обеспечения автора Салливан Эд

Из книги Музыкальный центр на компьютере автора Леонтьев Виталий Петрович

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

Из книги Linux для пользователя автора Костромин Виктор Алексеевич

Глава 7. Графический интерфейс Хотя Linux представляет собой очень мощную и развитую операционную систему, но, если работать с ней только через интерфейс командной строки, она довольно трудна в обращении и "недружелюбна" к пользователю. Все необходимые операции выполняются

Из книги Sound Forge 9 автора Квинт Игорь

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

Из книги ArchiCAD 11 автора Днепров Александр Г

Глава 2 Интерфейс Sound Forge 9.0 Устройство главного окна программыОкна рабочей областиПанели инструментовЭлементы управленияИспользование мыши и горячих клавишВеликое множество инструментов и функций, которыми располагает программа Sound Forge, требует удобного

Из книги 3ds Max 2008 автора Верстак Владимир Антонович

Работа с MIDI Как известно, Sound Forge предназначена для работы с цифровым звуком, однако программа содержит также некоторые дополнительные MIDI-функции, которые могут пригодиться в работе над звуком. Например, можно заставить приложение работать в качестве устройства

Из книги Adobe InDesign CS3 автора Завгородний Владимир

Глава 2 Интерфейс ArchiCAD 11 Меню Панели инструментов Палитры Настройка рабочей среды Система помощиЛюбая программа, какие бы мощные и замечательные «внутренние» функции она ни имела, не будет оценена по достоинству, если в ней отсутствуют удобные средства

Из книги Первые шаги с Windows 7. Руководство для начинающих автора Колисниченко Денис Н.

Глава 1 Интерфейс программы Элементы интерфейса Подключаемые модули Настройка программыЗнакомство с такой сложной и объемной программой, как 3ds Max 2008, логично начать с изучения ее интерфейса и возможностей. Глубокое знание приложения существенно облегчают

Из книги 3ds Max 2008 на 100 % автора Верстак Владимир Антонович

Глава 6 Установка и интерфейс программы Прежде всего, для работы с программой Adobe InDesign нам потребуется сама программа Adobe InDesign. Тем из наших читателей, у которых на компьютере программа уже установлена, повезло, и они могут с чистой совестью пропустить эту главу.Вместе с

Из книги Компьютерная обработка звука автора Загуменнов Александр Петрович

Глава 3 Интерфейс пользователя 3.1. О чем эта глава? Наверное, нет такого пользователя компьютера, который бы не умел работать с Windows. Что ни говори, а Windows стала настоящим стандартом дефакто на пользовательских компьютерах (я говорю об обычных компьютерах, а не о

Из книги FictionBook Editor V 2.66 Руководство автора Izekbis

Глава 1 Интерфейс программы? Элементы интерфейса? Подключаемые модули? Настройка программыПочему важно изучение интерфейса программы? Интерфейс обеспечивает доступ к управлению всеми возможностями приложения. Многие пользователи, пренебрегая его изучением,

Из книги автора

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

Из книги автора

Стандарт General MIDI General MIDI (Обобщенный MIDI), или просто GM, – это результат соглашения между производителями MIDI-оборудования, в соответствии с которым любой совместимый с General MIDI инструмент должен отвечать неким минимальным требованиям, перечисленным ниже.Должна быть

Из книги автора

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

Из книги автора

Исключительно MIDI http://www.midi.ru – содружество российских midi-сайтов MIDI.RU. Авторская MIDI-музыка, тексты популярных песен, все о караоке, христианская MIDI-музыка, клуб музыкальных MIDI-страниц, музыкальные компьютерные программы, музыка из фильмов, музыкальные

Первая часть цикла статей, подробно рассказывающих о протоколе MIDI.

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

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

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

Протокол MIDI разрабатывался как простое, недорогое и надежное средство для управления одним синтезатором с другого.

Это нужно вспоминать всякий раз, когда возникают вопросы и недоумения "а почему в MIDI это сделано именно так?". Тем более, вспоминать основное предназначение MIDI нужно перед тем, как критиковать протокол. А критиковали MIDI с самого его рождения и критикуют до сих пор, особенно по поводу слишком медленной передачи данных и ритмической неточности. Тем более в свете современных технологий. Достоинства и недостатки протокола, способы их преодоления и альтернативы MIDI - настолько обширная тема для обсуждения, что этому будет посвящена отдельная статья.

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

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

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

Синтезаторы в то время были полностью аналоговые, все внутренние их блоки (звуковые генераторы, генераторы огибающей, фильтры) управлялись напряжением. Например, звуковой генератор инструмента при подаче напряжения в 1 В мог давать высоту тона 100 Гц, 2 В - 200 Гц, 3 В - 400 Гц и так далее. Очевидно, что для внешнего управления таким прибором мог использоваться только аналоговый интерфейс. Он имел название CV/Gate. На вход CV подавалось управляющее напряжение (Control Voltage), пропорциональное высоте ноты, на вход Gate - импульс (trigger), от которого стартовала и выключалась нота.

Существовало несколько вариантов CV/Gate-интерфейса. Наиболее широко использовался вариант, предложенный фирмой Roland. В нем CV-напряжение увеличивалось на 1 В при увеличении высоты тона на октаву. Gate-сигнал, называемый Voltage Trigger (V-Trigger), представлял собой положительный импульс с шириной, равной времени удержания ноты в нажатом состоянии. Этот вариант наряду с Roland использовали в своих инструментах фирмы Sequential Circuits и ARP. В синтезаторах Moog использовался другой тип Gate-сигнала, который назывался S-Trigger. Существовали инструменты и с другими параметрами CV/Gate-сигналов. Часто управляющее напряжение изменялось по закону 1,2 В на октаву.

Применялся также сигнал под названием Trigger, представлявший собой короткий импульс. Многие синтезаторы с арпеджиатором имели специальный вход для таких сигналов (clock input). Как только на вход поступал импульс, запускалась очередная нота арпеджио. Генерировали сигнал Trigger многие драм-машины и аналоговые секвенсоры (чаще всего каждую 8-ю или 16-ю ноты, но иногда расстояние между импульсами можно было задавать произвольно). Сигнал Trigger мог быть подан и на вход Gate синтезатора.

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

В середине 70-х компания Oberheim выпустила первый доступный по цене полифонический синтезатор Two Voice. Инструмент был прост в использовании, имел встроенную клавиатуру, полифонию в два голоса и несложный набор органов управления, с помощью которых можно было быстро создавать красивые, богатые звуки. Инструмент имел, в отличие от своих предшественников, небольшие размеры и простой способ программирования. Вскоре после этого начали появляться полифонические инструменты других фирм: Sequential Circuits, Yamaha, Moog, Roland, ARP. Они стали очень популярны в растущей массе электронных музыкантов.

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

До появления памяти каждый инструмент нужно было программировать заранее, а во время концерта он мог производить только один звук. Поэтому на концертах таких музыкантов, как Keith Emerson и Rick Wakeman, можно было увидеть огромные "стеллажи" из клавиатур. Для подготовки всего этого добра к концерту и объединения в рабочий ансамбль требовались часы работы. Когда память стала доступна, один инструмент мог быть запрограммирован на несколько звуков, а нужный звук выбирался нажатием одной кнопки прямо во время концерта.

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

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

Все эти приемы служили одной цели - выжать максимум из новых инструментов. Наслоение звуков различных синтезаторов стало одним из исполнительских приемов, визитной карточкой многих музыкантов того времени.

В конце 70-х годов в синтезаторах начала широко применяться цифровая электроника, что было вызвано удешевлением микропроцессоров и массовым производством интегральных схем. Многие блоки синтезаторов было выгоднее производить из компактных, дешевых и более стабильных во времени цифровых компонентов. Естественно, вопрос об управлении инструментами возник с новой силой: аналоговые CV/Gate интерфейсы совсем уже не подходили под новые цифровые технологии формирования звука. В результате, в начале 80-х синтезаторы стали оснащаться цифровым интерфейсом.

Появились такие инструменты, как Oberheim OB-X (1981) и Rhodes Chroma (1982), которые могли быть подсоединены к другому инструменту той же модели и фирмы. Например, Oberheim OB-X можно было подключить к другому Oberheim OB-X (всего до трех инструментов одновременно). Когда музыкант играл на клавиатуре одного из них, оба инструмента звучали одновременно. Это был огромный прогресс - ведь для получения многослойных звуков можно было играть на одной клавиатуре. Однако главная проблема по-прежнему не была решена: как соединить друг с другом инструменты разных производителей и разных моделей.

Herbie Hancock, например, пытался решить этот вопрос собственными силами. Он дорабатывал свои синтезаторы цифровыми интерфейсами, выполненными на заказ. И они работали!

В то же время все больше и больше музыкантов обращалось к производителям синтезаторов с просьбой сделать для них собственный цифровой интерфейс. Масло в огонь подлило и появление первых цифровых секвенсоров, таких как Roland MC 4 Micro Composer и Oberheim DSX. Если бы инструменты разных производителей были совместимыми, музыкант мог бы "забить" партии в эти секвенсоры, а потом воспроизвести, используя целую группу синтезаторов. Но, увы...

Незадолго до появления MIDI фирма Roland разработала цифровой интерфейс DCB, который использовался только в двух синтезаторах (Juno 60 и Jupiter 8) и секвенсоре MSQ 700. Интерфейс DCB обеспечивал базовые возможности по извлечению звуков посредством команд взятия и снятия ноты.

Нужно отметить, что наряду с попытками соединения синтезаторов друг с другом, еще в 60-х годах предпринимались попытки подключения синтезатора к компьютеру. Но они не приводили к заметным практическим результатам из-за колоссальной стоимости компьютеров. В конце 70-х - начале 80-х существовало несколько несовместимых между собой интерфейсов, производимых кустарно или мелкими фирмами. Только разработчик такой компьютерной системы мог написать программное обеспечение для нее. Обычно подобные системы создавались путем добавления в компьютер специальных плат, которые либо напрямую генерировали звук (сравните с современными виртуальными синтезаторами!), либо генерировали несколько каналов управляющего напряжения для модульных синтезаторов.

Рождение MIDI
Итак, к началу 80-х годов прошлого века потребность создания универсального интерфейса была осознана многими ведущими производителями. Задача стояла такая: разработать стандарт передачи действий исполнителя в цифровой форме между всеми типами электромузыкальных инструментов. Первый обмен мнениями на эту тему, в котором участвовали Ikutaro Kakehashi (президент Roland), Tom Oberheim (Oberheim) и Dave Smith (президент Sequential Circuits), произошел в июне 1981 года на выставке NAMM.

Dave Smith начал работу с изучения литературы по компьютерным сетям. При разработке сетевых протоколов составлялись две спецификации - аппаратного соединения устройств и формата передаваемых по сети сообщений. При этом внутренняя работа компьютера оставалась обособленной, он представлялся для других участников сети чем-то вроде "черного ящика", который реагировал на сообщения в соответствии со стандартом. Такой подход был выбран и для соединения музыкальных инструментов. В результате удалось избежать зависимости языка общения инструментов от их устройства. Это основной принцип MIDI, и он остался с тех пор неизменным. Именно благодаря ему протокол продолжает свою непомерно долгую, по компьютерным меркам, жизнь.

К осени 1981 года Smith подготовил первую версию своего протокола под названием USI (Universal Synthesizer Interface). В октябре того же года на выставке в Японии произошла встреча представителей фирм Sequential, Roland, Korg, Yamaha и Kawai, на которой USI была представлена японцам, а в ноябре на конгрессе AES в Нью-Йорке Dave Smith официально представил спецификацию. Японские производители работали в то время над собственным стандартом, который был сложнее USI.

В январе 1982 года на выставке NAMM фирма Sequential Circuits организовала встречу, которую посетили большинство производителей синтезаторов. На встрече выяснилось, что остальные американские компании по разным причинам не хотят участвовать в создании единого интерфейса. После встречи, Sequential Circuits и японские фирмы (Roland, Korg, Yamaha, Kawai) решили продолжать совместную работу независимо от остальных. Пять месяцев спустя, на июньской выставке NAMM были представлены плоды этой международной разработки. Пришло время для официального названия интерфейса. USI было отвергнуто, поскольку слово "universal" (универсальный, всеобщий) могло вызвать юридические проблемы. Японцы предложили UMII (Universal Music Instrument Interface). Но поскольку это название также содержало слово "universal", Dave Smith предложил исправить его на MIDI, с чем все и согласились.

В октябре 1982 года была закончена предварительная спецификация MIDI. В декабре вышел Sequential Circuits Prophet 600 - первый синтезатор, оборудованный MIDI-интерфейсом. А в январе 1983 года на выставке NAMM произошло соединение Prophet 600 и Roland Jupiter 6 по MIDI. В марте появился Roland JX 3 P, а в июне - Yamaha DX 7.

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

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

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

Тем не менее, было необходимо скоординировать работы по MIDI инструментам, и в середине 1983 года в Японии был сформирован комитет по MIDI-стандартам (JMSC). В августе того же года была обнародована спецификация MIDI 1.0. Также в 1983 году была сформирована международная группа пользователей MIDI (IMUG - International MIDI Users Group), которая впоследствии превратилась в IMA - международную MIDI-ассоциацию. Однако она представляла пользователей, а не производителей, и не могла оказывать на них серьезное влияние. Поэтому в июне 1984 года была сформирована ассоциация MIDI-производителей (MMA - MIDI Manufacturers Association).

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

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

В 1984 году Jim Miller выпустил программу Personal Composer для IBM PC, которая представляла собой MIDI-секвенсор и позволяла распечатывать ноты. Фирмы Passport Designs и Sequential Circuits представили четырех- и восьмидорожечные программы-секвенсоры для компьютеров Apple II и Commodore 64. Фирма Roland выпустила гитарный MIDI-контроллер GR 700, а также синхронизатор и SMPTE-интерфейс SBX 80, который произвел революцию в деле синхронизации драм-машин и секвенсоров с аналоговыми магнитофонами. Yamaha представила цифровую задержку D 1500 - первый процессор эффектов, пресеты которого можно было менять посредством MIDI-сообщения Program Change. В приборе Emulator II фирмы Emu впервые сочетаются MIDI-, SMPTE- и компьютерное управление.

1985 год ознаменовался захватом европейского рынка компьютерами Atari, имеющими встроенные MIDI-порты. Фирмы MOTU и Opcode выпускают программные MIDI-секвенсоры под Macintosh. В это же время Yamaha разрабатывает аппаратный секвенсор QX 1 с памятью на 80000 нот и возможностью редактирования списка MIDI-событий. В следующем году компьютеры PC начинают завоевывать рынок. Для PC появляется множество программ, использующих MIDI. Фирма Lexicon выпускает ревербератор PCM 70 - первый процессор эффектов, параметрами пресетов которого можно управлять по MIDI.

Сам протокол также не стоит на месте. Разработанный с учетом на дальнейшее расширение, он пополняется новыми возможностями. В марте 1987 года добавлен MIDI Time Code (синхросигнал для взаимодействия MIDI-устройств с магнитофонами и другим оборудованием, работающими с таймкодом SMPTE), в мае 1987 - Sample Dump Standard (протокол передачи семплов по MIDI). В декабре 1988 появляется сообщение Reset all controllers (обнулить все контроллеры), в апреле 1990 - сообщение Bank Select (выбор банка).

В 1990 году фирма Opcode выпускает MIDI-аудиосеквенсор Studio Vision для Macintosh, а также программу Galaxy - универсальный редактор/библиотекарь MIDI-устройств. В мае 1991 протокол пополняется сообщением All sounds off (снять все звуки), в июле 1991 - командами управления световыми и пиротехническими приборами MIDI Show Control, а также форматом стандартных MIDI-файлов (SMF - Standard MIDI Files) для платформо-независимого хранения и обмена данными секвенсоров. В октябре 1991 появляется стандарт General MIDI, в котором определены некоторые минимальные требования к GM-совместимым устройствам и названия звуков закреплены за номерами пэтчей. Появляется и первый GM-совместимый звуковой модуль Roland SC 55 Sound Canvas. Фирма Opcode выпускает MIDI-расширение OMS (Opcode Music System) для операционной системы компьютера Macintosh.

В декабре 1991 выходит MIDI Tuning Specification - способ тонкого управления строем инструментов. В январе 1992 протокол MIDI окончательно интегрируется в студию звукозаписи - появляется стандарт MIDI Machine Control, который позволяет управлять по MIDI транспортными функциями записывающих устройств.

С приходом Microsoft Windows 3.1 у пользователей PC появляется поддержка MIDI на уровне операционной системы. Выходит программа Cakewalk для Windows, программа Cubase, ранее выпускавшаяся для Atari и Macintosh, становится доступна на PC. 1993 год - начало бума мультимедиа. Для PC появляются звуковые платы с MIDI-интерфейсом. MIDI-технология активно эксплуатируется в двух секторах рынка: профессиональном и любительском.

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

В мае 1996 года выходит спецификация Downloadable Sounds (DLS) Level 1, которая позволяет дополнять собственными звуками наборы имеющихся в устройстве пэтчей General MIDI.

За последние пять лет организация MMA выпустила более десятка новых спецификаций. Январь 1998 - SMF Lyrics Specification (текст к песням в стандартных MIDI-файлах), январь 1999 - MIDI Tuning Bank and Dump Extensions (новые сообщения для тонкой подстройки инструментов) и спецификация DLS Level 1 версии 1.1, июнь 1999 - SMF Language and Display Extensions (хранение и отображение символов в MIDI-файлах), сообщения SMF Device Name and Program Name (воспроизведение MIDI-файла на нескольких устройствах одновременно), ноябрь 1999 - General MIDI 2.

В феврале 2000 года предложен новый формат RMID, который позволяет объединить в одном файле данные стандартного MIDI-файла и DLS-файла. В октябре 2000 – MIDI Media Adaptation Layer for IEEE-1394 (способ передачи MIDI-сообщений по протоколу FireWire), в августе 2001 – спецификация DLS Level 2.1, в ноябре 2001 – General MIDI Lite (для мобильных применений и портативных устройств), а также спецификация XMF (eXtensible Music Format), которая предлагается взамен формата RMID.

Последним дополнением (май 2002) является Scalable Polyphony MIDI Specification - способ, позволяющий воспроизводить один и тот же MIDI-файл максимально корректно вне зависимости от доступной полифонии.

Несмотря на все эти добавления, MIDI спецификация по-прежнему имеет версию 1.0.

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

На самом деле протокол MIDI не конкретизирует состав взаимодействующих устройств и не требует наличия живого исполнителя. Суть протокола в том, что в некой системе, состоящей из нескольких устройств, одно устройство (мастер) генерирует команды управления, а все другие устройства (подчиненные) выполняют эти команды. Если подчиненные устройства являются источниками звука (синтезаторы, звуковые модули, семплеры, драм-машины, одним словом, тон-генераторы), то они управляются командами, связанными со звукообразованием: например, "взять ноту До первой октавы" или "переключить тембр на номер 5". Если подчиненные устройства выполняют другие функции, например, обработку аудиосигнала, то и команды для них будут несколько иными. Как бы там ни было, прибор, получает команды управления через свой MIDI-вход (MIDI In).

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

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

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

MIDI является выраженным клавишно-ориентированным протоколом.

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

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

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


MIDI (Musical Instrument Digital Interface) - проще говоря, цифровой интерфейс музыкальных инструментов . Если все равно не понятно, то слушайте мой рассказ.
Когда в музыку стали проникать компьютеры, то разработчики электронных инструментов подумали: "А не возложить ли нам часть сложного управления электромузыкальными инструментами (ЭМИ) на ЭВМ?" Что это сулило? Как Вам известно, составы музыкальных команд с течением времени все уменьшались в своем количестве и уменьшались. Это, конечно, дает свободу творчеству, но композитор хочет использовать при аранжировке своей песни не один, а пару десятков разных инструментов. Кроме того он не хочет ждать репитиции большого оркестра, чтобы услышать свою новую идею. Зачастую у него и нет никакого оркестра. Значит неплохо было бы поиметь возможность запрограммировать партитуры, а потом автоматически их воспроизвести.
Всяких разных ЭМИ к тому времени было просто валом. Даже к некоторым из них можно было проводом подключить "электрического музыканта" (этакий ящичек с лампочками и кнопочками, называемый секвенсером ) специальным проводом, который посылал команды типа "нажать определенную ноту". Но главная проблема была в том, что "музыкант" от одной модели инструмента не подходил к другой.
Тогда было решено, создать единый интерфейс (заранее оговоренный набор команд управления и способ соединения между устроиствами) подключения электронных музыкальных инструментов к секвенсерам и между собой. Таким интерфейсом и стал MIDI. Теперь мы можем присоединить синтезатор Yamaha к секвенсеру Roland, и это будет работать. Кстати сейчас в основном в качестве секвенсера применяют компьютер.

Теперь рассмотрим, что еще позволяет нам делать MIDI, кроме передачи команд на нажатие нот.

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

    Например, мы создавали-создавали звуки на нашем синтезаторе и заполнили всю его память. Что нам теперь делать? По MIDI мы сможем передать содержимое памяти инструмента (или любого другого MIDI-устройства) в компьютер в виде блока данных (MIDI bulk dump ) и сохранить на жестком диске. По MIDI-же мы сможем загрузить данные с машины обратно в синтезатор.

    Есть еще проблема. MIDI - общие для всех инструментов команды. Но все возможные команды предусмотреть при разработке этого стандарта было невозможно, да и отведенного количества количества контроллеров может не хватить, поэтому была оставлена лазейка - SYSX (System Exclusive Messages - эксклюзивные -особые - для каждой модели MIDI-устройств сообщения неопределенной длины). Они имеют только стандартное начало (заголовок, header) и окончание, а в середине каждый разработчик пишет, что хочет.

Наверное Вы не раз уже встречали термин GENERAL MIDI ? Это стандарт, в котором оговорены номера контроллеров (ручка громкости у всех инструментов, отвечающих этому стандарту, всегда имеет номер 7, ручка "ревербератор" - 91 и т.д.), набор и порядок следования патчей (patch , звуков - например пианино имеет всегда номер 1, а церковный орган -20). Это не значит, что все синтезаторы, сделанные по стандарту General MIDI, будут играть одинаковыми звуками. Нет. На разных инструментах патч под номером 1 будет содержать пианино, но с разным качеством звучания. Иногда настолько плохим, что даже экспертам в этом вопросе трудно догадаться, что это за звук. В основном этот стандарт применяется для создания музыкального сопровождения к играм.
Кроме того, еще есть более расширенные по набору звуков стандарты GENERAL SOUND и XG .

Если мы имеем компьютер и несколько синтезаторов, на которых хотим играть в одной песне разные партии (ударные, соло, бас, фон), то все они должны быть подключены к одному MIDI-кабелю. Секвенсер (программа работающая на компьютере) передает в этот кабель команды для всех инструментов. Каким-же образом, спросите Вы, каждый из синтезаторов будет отличать команды, предназначенные лично ему? Для этого и существуют MIDI-каналы (MIDI channel).
Принцип действия, примерно, как в радиоприемнике. Ваш приемник принимает только ту радиостанцию, на которую Вы его настроите. Вот и представьте, MIDI-канал - это частота радиостанции (типа 104 и 4 FM), на которую настраивается приемник. В компьютере стоит 16 радиостанций с разными частотами, каждая из которых передает партию только своего инструмента, а в каждом синтезаторе - приемник, настроенный на радиостанцию, которая передает его партию. Радиоволны же идут не по воздуху, а через провод.
В общем-то, можно передавать любую партию по любому каналу. Правда в General MIDI принято для партии ударных использовать 10-й MIDI-канал.
В действительности же MIDI-каналы создаются безо всякого участия радиоволн. Мы присваиваем синтезатору адрес (номер MIDI-канала). А в начале каждой MIDI-команды передается номер канала синтезатора, которому она предназначена. Синтезатор принимает все команды, но выполняет только те, которые содержат номер его канала.

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

Слова

FF 05 len text

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

Отметим, что величина len представляется в виде значения переменной длины.

Маркер

FF 06 len text

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

Отметим, что величина len представляется в виде значения переменной длины.

Точка входа Cue Point

FF 07 len text

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

Отметим, что величина len представляется в виде значения переменной длины.

Канал MIDI

FF 20 01 cc

Это необязательное мета-событие обычно располагается в начале MTrk сообщения перед первой ненулевой временной меткой и перед первым мета-событием, исключая мета-событие номера последовательности. Мета-событие «канал MIDI» устанавливает значение MIDI-канала с которым будут связаны все последующие мета-события и события SYSEX. Байт данных cc - это номер MIDI-канала, величине 0 соответствует первый канал.

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

На одном MIDI-треке можно использовать более одного мета-сообщения «канал MIDI», если события этого трека нужно распределить между несколькими каналами MIDI.

Порт MIDI

FF 21 01 pp

Это необязательное событие, которое как правило располагается в начале записи MTrk перед первым ненулевым временем дельта и перед первым MIDI-событием, которое определяет, с каким MIDI-портом (или устройством) связаны события данного MTrk сообщения. Байт данных pp - это номер порта, нулевому значению pp соответствует первое MIDI-устройство в системе.

Спецификация MIDI предусматривает лишь 16 каналов на один входной или выходной порт (устройство, разъем, инструмент - терминология может быть различной) MIDI. Номер MIDI-канала каждого события MIDI содержится в статус байте события, где он занимает четыре младших бита. Таким образом, номер канала всегда представляет собой число в пределах от 0 до 15. Иногда система позволяет осуществлять работу более чем с 16 каналами MIDI, возникает необходимость преодолеть ограничения, накладываемые малым количеством каналов MIDI, и расширить возможности обмена MIDI-данными, сделать обмен информацией со внешними MIDI-устройствами более эффективным, то есть позволить музыканту работать более чем с 16 каналами. Некоторые секвенсоры также позволяют осуществлять работу более чем с 16 MIDI-каналами на входе и выходе одновременно. К сожалению, протокол MIDI не предусматривает возможность использования более чем 16 MIDI-каналов в рамках статус байта в событии MIDI. Поэтому необходим дополнительный метод, который позволяет различать события, которые соответствуют первому каналу на первом MIDI-порте от событий, соответствующих, скажем, первому каналу на втором MIDI-порте. Описываемой мета-событие позволяет секвенсору определить на какой MIDI-порт посылать события данного MTrk сообщения.


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

Musical Instrument Digital Interface (MIDI)

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

Musical Instrument Digital Interface (MIDI) - цифровой интерфейс музыкальных инструментов. Стандарт на интерфейс создан ведущими производителями музыкальных инструментов: Yamaha, Roland, Korg, E-mu и др.

Различают аппаратный MIDI-интерфейс и формат MIDI-данных. Аппаратный интерфейс используется для физического соединения источника и приемника сообщений, формат данных - для создания, хранения и передачи MIDI-сообщений. Вопросы, связанные с форматом данных, мы рассмотрим в разд. 1.2, а сейчас познакомимся с аппаратной составляющей MIDI-интерфейса.

MIDI-интерфейс - это старт-стопный последовательный асинхронный интерфейс "токовая петля".

Словосочетание "старт-стопный" означает, что в каждом передаваемом сообщении обязательно должны содержаться признаки того, что процесс передачи начат (сигнал "Старт") и завершен (сигнал "Стоп").

В последовательном интерфейсе двоичные данные передаются не одновременно, а поочередно (последовательно).

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

Структура элементарного MIDI-сигнала

Активный передатчик формирует токовую посылку с силой тока 5 мА. Токовая посылка соответствует логическому нулю, бестоковая - логической единице. Структура элементарного MIDI-сигнала (рис. 1.1) характеризуется следующими признаками: 7 битов данных, один бит (старший) статусный, один бит старта, один бит стопа. Проверка на четность отсутствует.

Вы видите, что столовый бит - единичный, а не нулевой. То есть в состоянии "Стоп" ток в цепи не течет. Это очень разумно. Экономится энергия и ресурсы элементов интерфейса. Ведь основную часть времени в M1DI-системе никаких событий не происходит: в среднем протяженность пауз значительно больше, чем протяженность тех интервалов времени, когда вы играете на MIDI-клавиатуре. Правда, ток может отсутствовать в цепи не только потому, что нет сообщений, но и из-за ее обрыва. Для своевременного выявления неисправного состояния MIDI-сети предусмотрена периодическая передача специального тестового сигнала. Если по прошествии определенного времени приемник его не обнаружит, то это будет считаться аварией, после чего MIDI-система отработает заранее обусловленную последовательность действий.

Рис. 1.1.Структура элементарного MIDI-сигнала:

Пропускная способность MIDI-канала 3,125 кбайт/с. Команды могут быть одно-, двух- и трехбайтными. Первый байт - статусный. Он определяет действие команды. За ним могут следовать 1 - 2 байта данных. Старший бит статусного байта 1, а байта данных - 0.

Соединительные MIDI-разъемы и MIDI-кабель

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

Рис. 1.2. Схема распайки разъемов MIDI-кабеля:

Для соединения используется двужильный экранированный кабель. Соединение разъемов на двух концах кабеля - прямое (2-2, 4-4, 5-5). Схема распайки разъёмов MIDI-кабеля представлена на рис. 1.2.

Принцип соединения MIDI-устройств

Принцип соединения двух MIDI-устройств показан на рис. 1.3. Контакт передатчика, с которого во внешнюю цепь снимается сигнал, называется MIDI TXD (Transmitter Data). Контакт приемника, на который из внешней цепи должен поступать сигнал, - MIDI RXD (Receiver Data).

Рис. 1.3. Принцип соединения двух MIDI-устройств:

Аппаратная часть интерфейса MIDI замечательна тем, что разработчики предусмотрели в ней несколько мер, направленных на снижение уровня шума и помех. К простейшим, но достаточно эффективным мерам относится обязательное экранирование кабелей, соединяющих MIDI-устройства. Экран представляет собой проволочную оплетку, которая защищает проводники от проникновения в них электромагнитных волн, несущих помехи. И, что не менее важно, экран предотвращает излучение электромагнитных волн в окружающее пространство самим MIDI-кабелем. Посредством экрана помехи не проникают с одного инструмента на другой, так как в соответствии со стандартом MIDI исключено электрическое соединение экрана с корпусами одновременно двух MIDI-устройств. Самое главное, помехи не могут попасть с одного инструмента на другой еще и потому, что даже сигнальные провода не имеют непосредственной (говорят: гальванической) связи одновременно и с прибором-передатчиком, и с прибором-приемником MIDI-сообщений. Разумеется, здесь нет парадокса: если по проводам передается информация, значит, связь есть, но эта связь в действительности не гальваническая, а оптическая. Во входной цепи интерфейса MIDI включена пара оптоэлектронных приборов. Светодиод начинает светиться, когда по кабелю передается логический ноль, и гаснет, если передается логическая единица. Свет направлен на фотодиод, ток через который тем сильнее, чем сильнее этот прибор освещен. Цепочка преобразования сигналов такова: электрический ток - свет - электрический ток. Таким способом создается непреодолимое препятствие на пути протекания токов, несущих в себе помехи (величины этих токов недостаточно, чтобы светодиод стал излучать свет), в то же время цифровые сигналы проходят совершенно свободно.

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

Рис. 1.4. Подключение MIDI-устройств к звуковой карте:

MIDI-сигналы в разъеме игрового порта звуковой карты

Следует заметить, что у звуковых карт, как правило, отсутствуют стандартные MIDI-разъемы. Это связано с тем, что габариты не позволяют разместить их в прорезях на задней стенке компьютера, предназначенных для закрепления плат расширения. "Полуфабрикаты" MIDI-сигналов (MIDI RXD и MIDI TXD) выводятся на контакты разъема игрового порта (рис. 1.5).

Для правильной ориентации в номерах контактов нужно учесть, что разъем показан таким, каким он представлялся бы наблюдателю, сидящему внутри компьютера. Не очень удобная точка наблюдения, но именно ей соответствует рисунок, обычно приводимый в описании звуковой карты. Чтобы не запутать вас, на рис. 1.5 мы не стали менять направления взгляда.

Рис. 1.5. Назначение некоторых контактов разъема игрового порта:

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

  • 4, 5 - соединенные с общим проводом блока питания компьютера или, как иногда говорят, с корпусом, с землей (на схемах это соединение обозначают GND);
  • 1, 8, 9 - соединенные с выводом +5 В источника питания компьютера;
  • 15 - на который из внешних цепей должен поступать сигнал MIDI RXD (Receiver Data);
  • 12 - с которого во внешнюю цепь снимается сигнал MIDI TXD (Transmitter Data).
Наличие контактов 12 и 15, а также соответствующих им сигналов позволяет производителям и продавцам утверждать, что данная звуковая карта снабжена интерфейсом MIDI. Однако на деле сигналы MIDI TXD и MIDI RXD следует рассматривать как полуфабрикаты настоящих MIDI-сигналов. С их помощью можно принимать и передавать информацию, представленную стандартными для компьютеров значениями напряжения (говорят, уровнями транзисторно-транзисторной логики - TTL). И даже если заменить один из пятиконтактных разъемов MIDI-кабеля на разъем, соответствующий тому, что изображен на рис. 1.8, то подключить через этот кабель синтезатор к звуковой карте не удастся. Дело в том, что сигнал MIDI TXD не будет правильно восприниматься светодиодом, с помощью которого в интерфейсе MIDI передают полезные сигналы и прерывают гальваническую связь MIDI-устройств друг с другом.

Для подключения звуковой карты к MlDI-устройствам необходим переходной кабель-адаптер, содержащий оптронную развязку. При соединении MIDI-устройств нужно придерживаться несложного правила: кабель не должен соединять одноименные разъемы двух устройств, т. е. нельзя соединять MIDI Out одного устройства с MIDI Out другого, также MIDI In с MIDI In. Однако если вы случайно ошиблись, ничего страшного не случится: в схеме MIDI-интерфейса есть необходимая защита.

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

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

Подключение к звуковой карте MIDI-клавиатуры и MIDI-синтезатора

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

Рис. 1.6. Подключение MIDI-клавиатуры к звуковой карте:

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

При проигрывании композиции внешний синтезатор с клавиатурой можно использовать как дополнение к звуковой карте и извлекать из него звуки тех инструментов, которые отсутствуют в палитре звуковой карты. Для реализации этой возможности выход MIDI Out адаптера следует соединить со входом MIDI In синтезатора (рис. 1.7).

Рис. 1.7. Схема подключения внешнего синтезатора к звуковой карте:

Решение проблемы самовозбуждения MIDI-системы

При некорректном выборе режима работы музыкального редактора соединение по схеме, приведенной на рис. 1.7, может вызвать неприятный эффект: поданное с клавиатуры сообщение, например нажатие клавиши, поступит на звуковую карту, а оттуда вновь в синтезатор, а с синтезатора вновь на звуковую карту... И так до бесконечности. Система зациклится, возбудится и перегрузится. Звуки будут слышны неинтересные. Что следует сделать, чтобы избежать этого?

Из рис. 1.7 следует, что оба устройства - и звуковая карта и синтезатор - одновременно оказываются и MIDI-приемниками и MIDI-передатчиками. Это недопустимо. Тривиальный выход - отключить второй кабель на время использования синтезатора в качестве MIDI-клавиатуры и подключить его при воспроизведении записанной ранее мелодии, - крайне неудобен. Все эти отключения, подключения, поверьте, кончатся плохо. Проще и безопасней для аппаратуры и вашего кошелька выполнить необходимую коммутацию на логическом уровне. Делается это или непосредственно в синтезаторе (выключателем Local Off), или в музыкальном редакторе.

Однако было бы правильнее решить проблему зацикливания, манипулируя опциями ретрансляции MIDI-сообщений. Суть дела состоит в том, что MIDI-информация, поступающая на вход устройства (или программы, в нашем случае Cubase SX), транслируется на его выход. Рассмотрим классический пример, когда синтезатор звуковой карты используется совместно с внешним синтезатором, который, в свою очередь, еще и выполняет функции MIDI-клавиатуры. Зацикливание неминуемо возникнет в том случае, если вы выберете трек, у которого в качестве портов ввода/вывода заданы порты, физически подключенные к внешнему синтезатору. Последовательность возникновения нежелательного эффекта зацикливания такова:

1. Вы нажимаете на синтезаторе клавишу, синтезатор воспроизводит соответствующую ноту.
2. MIDI-сообщение типа Note On (см. разд. 1.2.1) поступает в звуковой редактор.
3. В звуковом редакторе, благодаря ретрансляции MIDI-сообщений, это же сообщение передается на входной порт синтезатора.
4. Синтезатор, получив сообщение Note On, отрабатывает его, воспроизводя соответствующую ноту (заметьте, уже не в первый раз).
5. В синтезаторе тоже работает ретрансляция MIDI-сообщений (можно ли ее отключить и как это сделать - ищите в руководстве пользователя), поэтому дальше см. п. 2.

Чтобы разорвать эту цепочку, следует отключить ретрансляцию MIDI-сообщений или в синтезаторе, или в программе (как правило, в музыкальных редакторах эта опция по умолчанию включена). В Cubase SX следует поступить так: откройте меню File , выберите команду Preferences . Откроется диалоговое окно Preferences . В дереве, находящемся в левой части окна, выберите ветвь MIDI. На открывшейся вкладке MIDI сбросьте флажок MIDI Thru Active . Теперь зацикливания не будет. Убедиться в этом можно, нажав ОК , после чего диалоговое окно Preferences закроется. Можно также нажать кнопку Apply , окно Preferences останется открытым, а изменения, внесенные вами, будут применены.

При сброшенном флажке MIDI Thru Active теряется возможность использовать внешний синтезатор в качестве MIDI-клавиатуры для управления встроенным синтезатором звуковой карты.