Что такое вывод данных midi
midi-технология в картинках и таблицах
Павел Живайкин
Появившаяся в начале восьмидесятых годов midi-технология вскоре получила новый импульс в связи с широким распространением персональных компьютеров. И хотя еще в 1991 году мне попалась какая-то статья, где почти со злорадством перечислялись ее недостатки и предсказывалась скорая кончина, до настоящего времени альтернативной идеи и альтернативной технологии создано не было.
Основными недостатками midi считаются низкая скорость передачи информации, узкий диапазон изменения параметров и ограниченная сфера применения. В то время как одно из главных ее достоинств — небольшой объем файлов — в последнее время уже потеряло решающее значение: цены на пишущие CD-приводы и “болванки” для записи становятся все доступнее. А с появлением широких возможностей по использованию при создании музыки готовых, заранее записанных музыкальных фраз с CD-качеством (всякие “лупы”, “сэмплы” и т.п.) многие “артисты” вообще решили, что таких проблем, как обучение нотной грамоте, владению инструментом, midi-технология и пр. для них не существует.
Следуя этой логике, запись музыки банальными нотами и диезами должна была уйти в небытие с появлением фонографа Эдисона. Вот когда настоящий прогресс пришел на смену устаревшей технологии и беспросветному консерватизму! Как подумаешь, что и Бах, и Шнитке пользовались одними и теми же пятью нотными линейками, то такие понятия, как “секвенсор” или “контроллер” уже не кажутся столь древними.
Однако если принять во внимание, что midi-технология изначально предназначалась не для записи или воспроизведения музыки, а только лишь для управления на некоем расстоянии (в пространстве и времени) синтезаторами, звуковыми модулями и прочими “железными” ящиками, то многие претензии к ней будут сняты. Это все равно, что упрекать виолончель за плохое звучание во флейтовом регистре. Научись правильной аранжировке, а иначе и Ростропович не поможет!
Итак, чтобы закончить мысль о достоинствах и недостатках midi, сделаем несколько предварительных выводов. Во-первых, midi-технология остается ведущей в компьютерной и аппаратно-студийной области. Во-вторых, она совершенствуется, учитывает новые требования и новые технические возможности. Об этом говорит последовательное появление стандартов GM, GS и XG. В-третьих, идея оказалась настолько удачной, что midi-технология вовлекает в сферу своего влияния все новые и новые области, для которых она и не предназначалась, — управление магнитофонами, устройствами звуковой обработки, микшерскими пультами (не говоря уже о мультимедийных продуктах и компьютерных играх).
Здесь же хочу затронуть еще одну близкую мне тему. В музыкальном обучении качество звучания уже не играет столь значительной роли, как в звукозаписи или концертной деятельности. Зато возможность воспроизводить изучаемый опус в любом темпе и (тут вокалисты и духовики должны затаить дыхание) в любой тональности делают midi-технологию незаменимой в музыкальных школах и училищах. Смешно сказать, но для этого достаточен 286-й компьютер со звуковой картой за 40 долл. Я думаю, недалеко то время, когда некий аппарат, подобными характеристиками станет распространенней метронома. А вместо толстых нотных сборников люди будут покупать дискеты с этюдами Черни или Шопена.
Не учиться, не учиться и еще раз не учиться
Здесь его подстерегают первые неприятности. В течение многих лет разные наши авторы пишут о midi в различных журналах, а иногда и в книгах. Это по-настоящему хорошо, потому что никакого другого учебника или пособия нет. Трудно судить о зарубежных изданиях, которые усиленно рекламируются в американских и английских музыкальных журналах. Переводить их — сплошное мучение из-за горючей смеси компьютерных, музыкальных и “жаргонно-тусовочных” терминов. Вполне возможно, что такой переводчик еще не родился.
О второй очереди неприятностей многие сразу и не догадываются. Дело в том, что эти пособия пишут не музыканты и преподаватели, а инженеры, программисты и дилеры. Не кажется странным, что учебник по теории музыки написан не Полом Маккартни или Владимиром Спиваковым, а скромным профессиональным педагогом. Я не думаю обижать или обвинять кого-нибудь из авторов. Спрос есть, и писать об этом надо. Но, к сожалению, и логика изложения, и форма, и прочие невинные педагогические приемы во всех материалах отсутствуют.
Рано или поздно об этом догадывается любой читатель. Он прочитывает страницу за страницей один раз, потом второй, третий… И, наконец, приходит к одному из трех выводов.
“Мне никогда этого не одолеть”, — решает он, и это порой справедливо. Сведения не систематизированы, изложены в произвольном порядке, отрывочны, и не все термины объяснены.
“Ну и черт с ним, проживу без этих премудростей”, — может подумать уставший читатель. И здесь я соглашусь — о смертельных исходах от незнания midi что-то пока не слыхать!
А если ему совсем не повезет, он решит, что нечего тратить время и деньги на книги и журналы, благо у всякой программы есть руководство и хэлп. И хотя я знаю книгу об одной популярной музыкальной программе, содержащую по пять-шесть ошибок на страницу в логике, фактах, в английском, а иногда и в русском языке — тут я с ним не соглашусь никогда.
Во-первых, эти руководства и хэлпы создают те же программисты с их “особенным” видением мира. Если бы этих руководств было достаточно, компьютерные отделы книжных магазинов не сияли бы такой глянцевой пестротой.
Во-вторых, ни в одном руководстве я не видел ничего похожего на фразу: “Здесь наша программа должна сделать то-то, но почему-то она этого не делает”. Столько полезного можно найти в журналах, что порой кажется, будто производители заранее договариваются с журналистами о том, какие они наделают “бяки” в программах, а уж писатели на радость читателям будут их на этом ловить.
На основании всего вышесказанного хочу обратиться к любому человеку, будь он музыкант, звукорежиссер, разработчик мультимедийных программ или простой любитель покопаться в музыкальных программах: midi-технология не устарела, не так уж и сложна и не будет тормозом в вашем творчестве — смелее!
В этом материале будут рассмотрены самые первые, и, пожалуй, самые главные темы — назначение midi и типы midi-сообщений.
Назначение midi и подключение midi-устройств
Что такое midi-технология
midi — Musical Instrument Digital Interface — компьютерный протокол (иногда говорят — язык), предназначенный для связи одного музыкального устройства с другим. Оба эти устройства должны обладать любого вида микропроцессором или программой, которые поддерживают midi-протокол.
Рис. 1. Пример использования midi. На синтезаторе вы можете играть ноты, выбирать новый тембр инструмента, менять громкость, но сам он сейчас не звучит. Все перечисленные действия передаются по midi-кабелю (красного цвета) в виде команд на звуковой модуль. Последний выполняет все эти действия (звучат сыгранные ноты, меняется тембр и громкость) и выдает звук через обычные динамики. Красная стрелка показывает направление потока midi-сообщений |
Какая информация передается с помощью midi
Примечание 1. midi-сообщение передает не сам звук (аудиоинформацию) или какие-то его характеристики, а только управляющие команды, которые выполняются устройством-получателем.
Примечание 2. Сам процесс передачи midi-сообщения может осуществляться в реальном времени (во время исполнения или воспроизведения музыки), но может быть и разорванным во времени. В этом случае midi-сообщение записывается в виде файла на дискету или хард-диск компьютера, а потом считывается устройством-получателем.
Какие музыкальные устройства могут получать и принимать информацию по midi
Технология midi с самого начала была предназначена для связи между самыми различными устройствами (синтезаторами, звуковыми модулями, компьютерами, устройствами цифровой обработки звука и многими другими).
midi-разъемы
Таблица 1. Виды midi-разъемов.
midi Out | midi-выход. Через этот разъем устройство посылает midi сообщение на другое устройство |
midi In | midi-вход. Через этот разъем устройство получает midi сообщение от другого устройства |
midi Thru | Сквозной. Через этот разъем посылается точная копия любого midi-сообщения, которое поступило на разъем midi In |
Рис. 2. midi-разъем. Контакт 2 — земля, контакты 4 и 5 — сигнальные, контакты 1 и 3 — не используются.midi-кабель соответственно должен иметь три провода, которые соединяют контакты 1, 4 и 5 на обоих его концах. Соединение midi-устройств между собойРис. 3. По одному IDI-кабелюсинтезатор передает midi-сообщение на звуковой модуль. Затем (но не одновременно) по другому midi-кабелю этот модуль может послать свое midi-сообщение на синтезатор |
Рис. 4. Компьютер посылает midi-сообщения для синтезатора и звукового модуля через свой midi-выход. Они оба поступают на midi-вход синтезатора, оба выходят через его разъем midi Thru. Синтезатор не может добавить никакую свою информацию, поэтому эти midi-сообщения в неизмененном виде поступают на midi-вход звукового модуля. Каждое из устройств-получателей само определяет, какие команды, находящиеся в midi-сообщениях, ему следует выполнять. Кривые линии красного цвета изображают midi-кабели, прямые линии красного цвета — схематический путь midi-информации |
midi-сообщение
Как записывается midi-сообщение
midi-сообщение — это управляющая команда, использующая особый язык (протокол) midi.
midi-сообщение (как и любое компьютерное сообщение) записывается в битах, то есть выглядит как последовательность цифр 1 или 0 — 10011010 00101110… Но так как такая запись выглядит очень громоздкой, то для чтения и редактирования midi-сообщений применяется шестнадцатеричный способ записи иединица измерения — байт.
Записать число | ||
В байтах (в шестнадцатеричном виде) | В байтах (в двоичном виде) | В байтах (в десятичном виде) |
00 | 0000 0000 | 0 |
01 | 0000 0001 | 1 |
02 | 0000 0010 | 2 |
03 | 0000 0011 | 3 |
04 | 0000 0100 | 4 |
05 | 0000 0101 | 5 |
06 | 0000 0110 | 6 |
07 | 0000 0111 | 7 |
08 | 0000 1000 | 8 |
09 | 0000 1001 | 9 |
0A | 0000 1010 | 10 |
0B | 0000 1011 | 11 |
0C | 0000 1100 | 12 |
0D | 0000 1101 | 13 |
0E | 0000 1110 | 14 |
0F | 0000 1111 | 15 |
10 | 0001 0000 | 16 |
11 | 0001 0001 | 17 |
12 | 0001 0010 | 18 |
… | … | … |
FF | 1111 1111 | 127 |
Типы midi-сообщений
Все типы midi-сообщений делятся на две большие группы (рис. 5). Системные midi-сообщения (System message) передают команды, которые воздействуют на общие параметры и режимы работы всех устройств-получателей.
Рис. 5. Разделение всех типов midi-сообщений на две группы |
Канальные midi-сообщения (Channel message) включают в себя номер midi-канала и передают сообщения на каждый midi-канал индивидуально. Всего для одного (и каждого) устройства midi-технология предусматривает 16 midi-каналов.
midi-каналы
midi-каналы предназначены для того, чтобы один синтезатор или звуковой модуль мог играть несколькими разными тембрами одновременно, причем каждый тембр (инструмент) исполняет свою независимую партию.
Когда одно устройство передает канальные midi-сообщения на другое, внешне это выглядит так, как если бы они были соединены шестнадцатью кабелями (и по каждому следуют указания о том, какие ноты каким тембром играть).
Типы сообщений из группы Channel
Рис. 7. midi-сообщения из группы Channel. Все режимные сообщения по типу (а не по функциям, как они разделены на этом рисунке) являются midi-сообщениями типа Control Change, поэтому изображены одним цветом и обведены пунктиром
Голосовые сообщения несут информацию о нотах, тембре и других характеристиках, которые должно учитывать устройство-получатель для конкретного midi-канала.
Режимные сообщения тоже делятся на две группы. Первая группа воздействует на конкретный midi-канал (эти сообщения устанавливают канал в состояние по умолчанию — сбрасывают все ноты, настраивают канал на стандартную высоту звука и пр.).
Сообщения второй режимной группы воздействуют на все midi-устройство в целом, другими словами, устанавливают режим его работы.
midi-сообщения группы System
Но по своему функциональному назначению их делят на три подгруппы (рис. 8). К первой из них (System Real Time) относятся сообщения, связанные с синхронизацией работы двух midi-устройств.
Сообщения третьей группы (System Exclusive) являются одними из самых важных и самых неформализованных в midi-технологии. Они носят название “эксклюзивные”, потому что содержание данных определяется для каждого midi-устройства своей фирмой-производителем и не может быть распознано устройством другой модели или фирмы. Среди этих сообщений могут быть команды о настройке всего устройства целиком или отдельных его модулей. Другие сообщения управляют процессом передачи данных сэмплов или каких-то специальных файлов (Sample Dump, File Dump).
Структура midi-сообщения
Некоторые midi-сообщения (например, Program Change) не имеют второго байта данных.
Если midi-сообщение является канальным, то его первый байт (кроме статуса) содержит номер midi-канала. Второй и третий байты midi-сообщения называются Байт данных 1 (Data byte 1) и Байт данных 2 (Data byte 2). Байты данных содержат конкретную информацию, которую несет это midi-сообщение. Например, для сообщения “Взять ноту” Байт данных 1 указывает, какую именно ноту, а Байт данных 2 — с какой громкостью.
Рис. 10. Возможные виды midi-сообщений типа System messageКак определяется тип midi-сообщенияИтак, midi-информация, которую одно устройство передает другому, может быть в форме какого-либо из этих восьми типов. Некоторые из них понятны без комментариев (нажатие и снятие ноты), другие нуждаются в небольших пояснениях. Любое midi-устройство не обязано посылать или отрабатывать обязательно все типы сообщений. Каждая фирма-производитель исходит из соображений целесообразности. Из этого следует, что различные midi-устройства, например синтезаторы, в одинаковых условиях могут вести себя по-разному (хотя с этим идет борьба). Самые простые домашние синтезаторы (с уменьшенными клавишами) не воспринимают, например, силу удара по клавише — громкость можно менять только ручкой и для всего инструмента сразу. Это напоминает игру на аккордеоне, только у него громкость зависит от величины разведения мехов. А на практике?Знания нужны или потому, что что-то не работает (а может быть оно, кстати, и не должно работать), или для того, чтобы применить их в каком-то творческом процессе. Во втором случае вам придется подробней разобраться в тонкостях midi-технологии, но, конечно, в рамках необходимости. Абсолютно сведущих специалистов, возможно, вообще нет, так как процессом развития этой области занимаются многие фирмы в разных концах земного шара. Для иллюстрации же первого случая разберем простой пример. Посмотрите еще раз на рис. 1. Вы правильно соединили проверенным midi-кабелем два устройства (то есть midi Out синтезатора с midi In звукового модуля), а звука в колонках нет, хотя демонстрационные пьесы самого модуля играют. И сам по себе синтезатор тоже играет. Налицо факт отсутствия понимания между устройствами. Все это верно и при подключении синтезатора к компьютеру, только в роли звукового модуля будет выступать установленная на компьютере программа. И последнее. На стандартном синтезаторе колесико или рычажок слева от клавиатуры посылает midi-сообщения типа Pitch Bend (изменение высоты звука). Колесико или рычажок, называемый Modulation, посылает сообщение Control Change (см. рис. 9, первый байт данных равен единице, что и означает модуляцию, второй байт равен глубине модуляции). Ручка или движок громкости тоже посылает сообщение Control Change (первый байт данных равен семи, что означает громкость, второй байт сообщает о силе громкости). Кнопки или ручки, меняющие громкость, посылают midi-сообщение типа Program Change (оно имеет только первый байт данных — номер тембра). Мы рассказываем о гитарахО технике и культуре акустической и электрогитарыMIDI интерфейс — как организована работаMusical Instrument Digital Interface, более известный как MIDI — это язык, с помощью которого компьютеры, виртуальные инструменты и аппаратные сэмплеры (синтезаторы) могут общаться между собой. MIDI является цифровым интерфейсом музыкальных инструментов, это способ, чтобы передать данные для создания музыки в программном обеспечении, например Cubase, Sonar. Даже многие современные планшеты умеют понимать и генерировать MIDI данные. Сам интерфейс появился еще в 70-е годы, но до сих пор остается одним из основных интерфейсов для работы с музыкальными инструментами или созданием музыки. Давайте разберем несколько основных понятий в мире MIDI интерфейсов. Сам по себе midi — это не звук, который можно воспринять ухом. Это общепринятый стандарт для передачи музыкальных данных — информации. Он включает в себя как аппаратную, так и программную реализацию. Хотя при этом его можно использовать и для передачи другой информации, например для контроля освещения света в театре. Структура его следует четко установленным инструкциям, иначе отклонение от правил приведет к тому, что музыкальное оборудование не будет понимать, что от него хотят. 2. Где появился MIDI? Первая коммерческая реализация появилась в начале 1980 годов, когда производители электронных инструментов США и Японии признали, что инструменты должны быть в состоянии говорить друг с другом. Позднее были введены стандарты на интерфейс и он стал встраиваться в электронные схемы оборудования, что позволило одному инструменту понимать другой. 3. Как работает MIDI? Передача данных в этом интерфейсе передачи данных состоит из серии сигналов, называемых битами. Они представляют собой бинарные цифры, которые передаются по каналу, например через кабель. Или через виртуальный порт. Эти данные передаются на вход программы, которая интерпретирует их как определенный логический ряд инструкций и далее преобразует в электрические импульсы, которые в свою очередь, преобразуются через динами в звуковые колебания. 4. Как генерировать midi последовательности? Есть два способа. Первый включает в себя создание музыки на компьютере или подобном устройстве (например цифровой станции DAW), обычно с помощью программы записи музыки. Далее данные из программы уже передаются через контроллер миди далее, например в музыкальное оборудование. Причем, обычно можно создавать множество midi виртуальных устройств-портов. Второй способ — это генерация миди последовательностей непосредственно на инструменте, через специальный миди-контроллер, который на аппаратном уровне преобразует электрические импульсы в бинарные данные. 5. Как можно визуализировать? Обычно, программы работающие с данным интерфейсом представляют миди данные как последовательность точек, установленных для конкретного музыкального инструмента. В программе уже можно редактировать миди трек, добавляя или удаляя данные. 6. Какая разница между MIDI контроллером, аппаратным синтезатором, и виртуальным инструментом? MIDI-контроллер — аппаратные решения, которые нужны для приема или передачи данных т других устройств, поддерживающих midi. Через него могут приниматься-передаваться данные на компьютер, на котором будут с ними работать виртуальные инструменты. Миди- контроллер может иметь клавиатуру, клавишы или сенсорный ввод для создания миди потока. Аппаратный синтезатор — электронное устройство, которое может иметь или не иметь клавиш или иных устройств для ввода данных, но при этом способно преобразовывать аналоговый сигнал от музыкальных инструментов в цифровой поток данных midi. Виртуальный инструмент — представляет из себя модуль программы, который существует только в цифровом виде. Это программа, написанная для генерации или одного или нескольких музыкальных инструментов в виде миди потока (Z3TA+ 2, Lounge Lizard, and Addictive Drums). 7.Какая разница между MIDI интерфейс и интерфейсом Audio? 8. Что такое миди сообщения? Это сообщения, которые указывают программе или оборудованию, что необходимо делать при получении определенных миди данных. К ним относятся, например: 9. Могу ли я конвертировать аудио в MIDI и MIDI аудио? На текущий момент программные решения уже далеко шагнули, в некоторых программах можно просто перетянуть аудио файл в программу обработки миди и она автоматически сделает преобразование его в миди поток с разбивкой инструментов. Подробнее о +CubozoaRuРазработка, изготовление уникальных, программируемых блоков питания для педалей эффектов гитар.
|