Цифровой интерфейс MIDI в музыке | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 30 ноября, печатный экземпляр отправим 4 декабря.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №47 (442) ноябрь 2022 г.

Дата публикации: 28.11.2022

Статья просмотрена: 104 раза

Библиографическое описание:

Лукьянов, Д. В. Цифровой интерфейс MIDI в музыке / Д. В. Лукьянов. — Текст : непосредственный // Молодой ученый. — 2022. — № 47 (442). — С. 14-17. — URL: https://moluch.ru/archive/442/96857/ (дата обращения: 22.11.2024).



В статье описывается история интерфейса передачи звука музыкальных инструментов MIDI.

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

  1. История

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

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

О разработке MIDI

В 1980 году компания Roland представила интерфейс DIN sync для синхронизации различных электронных музыкальных инструментов. Через год Roland показала шину цифрового управления (DCB).

Её основной функцией было позволять синтезаторам воспроизводиться на секвенсорах (устройствах, запоминающими наигранную мелодию). Она использовала интерфейс в параллельном стиле, который был быстрым, но дорогим в реализации.

Поэтому компании-производители договорились о разработке и поддержке единого стандарта на интерфейс управления синтезаторами — MIDI, который и появился в 1982 году.

Идеология стандарта подразумевала разделение органов управления и аппаратуры синтеза звука . Интерфейс MIDI фактически стал средством отдельной передачи положения клавиш и положения регуляторов от музыкальной клавиатуры к аппаратуре синтеза звука.

Теперь музыкант мог с одной клавиатуры управлять несколькими синтезаторами разных типов и фирм-изготовителей. Более того, цифровой формат передачи позволил дополнить саму музыкальную аппаратуру секвенсорами без внешних устройств. [1]

Таблица 1

Значимые даты

Июнь 1981

На выставке NAMM (это ежегодное мероприятие в США, организованное Национальной ассоциацией музыкальных торговцев) произошел первый разговор на тему единого интерфейса между главами компаний Sequential Circuits, Roland и Oberheim

Осень 1981

Разработана первая версия интерфейса под названием UMI (Universal Musical Interface)

Июнь 1982

На выставке NAMM были представлены результаты международной разработки. Ввиду возможных юридических проблем от названия UMI пришлось отказаться в пользу MIDI

Осень 1982

Закончена предварительная спецификация MIDI

Зима 1982

Выпущен первый синтезатор, оборудованный MIDI-интерфейсом — Sequencial Circuits Prophet 600

1983

Cформированs комитетs по MIDI-стандартам (JMSC), международная группа пользователей MIDI (IMUG), выпущена спецификация MIDI 1.0

1984

сформирована ассоциация MIDI-производителей (MMA)

  1. Стандарты MIDI :

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

General MIDI Level 1:

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

General MIDI 2:

Спустя пару лет технологии синтезаторов сильно развились, и вскоре после этого 128 звуков стало недостаточно, чтобы удовлетворить звуковые потребности современного музыканта. Некоторые производители MIDI-оборудования добавили свои собственные наработки, чтобы предложить больше звуков, больше функций в своем оборудовании. Чуть позже MMA начал процесс создания стандарта General MIDI Level 2, чтобы учесть новые функции, поскольку большинство производителей уже добавили намного больше, чем было доступно в стандарте GM level 1. GM Level 2 добавляет такие вещи, как переключение банков (чтобы иметь разные банки звуковых патчей), RPN (номер зарегистрированного параметра), чтобы обеспечить больший контроль над выразительностью звука, и NRPN (номера незарегистрированных параметров), чтобы производители могли добавлять свои собственные сочетания специальных функций. GM Level 2 полностью соответствует GM Level 1.

Стандарт Roland GS:

Как только был установлен GM Level 2, Roland создала собственный бренд подстандартов (особенно в системных эксклюзивных данных) и NRPN, которые с тех пор внедряются во все новое MIDI-оборудование. По сути, стандарт Roland GS — это уровень GM 2, а также специальные функции и функции Roland.

Стандарт Yamaha XG:

Как и Roland, Yamaha также создала свой собственный набор специфических функций NRPN и Sysex, чтобы придать своему MIDI-оборудованию собственное сочетание специфических функций.

  1. ВОЗМОЖНОСТИ MIDI:

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

Все типы midi-сообщений делятся на две большие группы:

Деление MIDI сообщений

Рис. 1. Деление MIDI сообщений

Системные midi-сообщения (System message) передают команды, которые воздействуют на общие параметры и режимы работы всех устройств-получателей. Например, синхронизация тактов, между устройствами, урегулирование темпа и другое.

Канальные midi-сообщения (Channel message) включают в себя номер midi-канала и передают сообщения на каждый midi-канал индивидуально. Этот тип сообщения используется для непосредственно звукообразования.

Канальные midi -сообщения можно разделить на голосовые (Voice message) и режимные (Mode message). [5]

Таблица 2

Н екоторые канальные сообщения из General MIDI Level 1

Note Off

выключение ноты

Note On

включение ноты

Key Pressure

давление на клавишу

Program Change

смена программы (тембра, инструмента)

Голосовые и режимные сообщения

Рис. 2. Голосовые и режимные сообщения

  1. Физическое устройство MDI:

Физически интерфейс MIDI представляет собой вариацию последовательного интерфейса UART.

Каждый инструмент имеет три соединительных разъема: In (вход), Out (выход) и Thru (копия сигнала с In через буфер). Контакты 1 и 3 разъёма не используются. [6]

MIDI соединение

Рис. 3. MIDI соединение

Разъём USB — B

Рис. 4. Разъём USB — B

С течением времени логику интерфейса перенесли на разъём USB A — USB B. И данный интерфейс используется повсеместно на современных музыкальных инструментах.

  1. Написание программ для работы с MIDI

Для работы с midi форматом, а именно подключением инструментов и вводом/выводом, программистами было создано несколько различных библиотек. В частности среди них:

С++

— PortMidi [2]

— RtMIDI [3]

Python

— Mido (базируется на PortMidi)

— JythonMusic [4]

Данные библиотеки предусматривают подключение midi-устройств, считывание с них информации и её обработку.

Литература:

  1. Мэннинг, Питер. Электронная и компьютерная музыка. 1985.
  2. Оф.сайт PortMidi — https://github.com/PortMidi/portmidi/
  3. Оф. сайт RtMidi — http://www.music.mcgill.ca/~gary/rtmidi/
  4. Оф. сайт проекта JythonMusic — https://jythonmusic.me/
  5. Живайкин.П. Л. Midi-технология в картинках и таблицах, 2006.
  6. Музыченко.Е.В Описание интерфейса MIDI, 1996.
Основные термины (генерируются автоматически): MIDI, NRPN, USB, MMA, NAMM, UMI, DCB, DIN, IMUG, оцифрованный звук.


Ключевые слова

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

Похожие статьи

Исследование методов отслеживания изменений в операционной системе семейства Windows

В статье автор пытается определить методы отслеживания изменений в ОС Windows.

Программно-аппаратный комплекс для генерации аппликатуры с использованием цифрового пианино

В статье автор представляет разработку приложения на ОС Windows которое поможет пользователям правильно расставлять пальцы при игре на пианино.

Абстрактные и динамически сгенерированные контроллеры в ASP.NET

В данной статье будет рассмотрен подход автоматически сгенерированных контроллеров в одной из самых популярных технологий для написания веб-сайтов — ASP.NET Core MVC.

Обзор инструментов для построения бизнес-процессов в различных нотациях

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

Использование графических решений в разработке мобильных приложений под управлением операционной системы Android-12

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

Восстановление данных с Flash-накопителей

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

Анализ технологий разработки веб-интерфейсов

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

Исследование процессов внутри виртуальной машины Java

В статье подробно описываются процессы виртуальной машины Javа, на что выделяется память, как устроена JVM, как в нее попадает код и как он исполняется.

Основные этапы создания видеоигр

В статье рассматриваются основные этапы создания видеоигр от проектирования до выпуска на рынок. Также приводится обзор одного из самых востребованных игровых движков Unity.

Система контроля управления доступом (СКУД)

В статье авторы пытаются рассказать об актуальности разработки СКУД.

Похожие статьи

Исследование методов отслеживания изменений в операционной системе семейства Windows

В статье автор пытается определить методы отслеживания изменений в ОС Windows.

Программно-аппаратный комплекс для генерации аппликатуры с использованием цифрового пианино

В статье автор представляет разработку приложения на ОС Windows которое поможет пользователям правильно расставлять пальцы при игре на пианино.

Абстрактные и динамически сгенерированные контроллеры в ASP.NET

В данной статье будет рассмотрен подход автоматически сгенерированных контроллеров в одной из самых популярных технологий для написания веб-сайтов — ASP.NET Core MVC.

Обзор инструментов для построения бизнес-процессов в различных нотациях

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

Использование графических решений в разработке мобильных приложений под управлением операционной системы Android-12

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

Восстановление данных с Flash-накопителей

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

Анализ технологий разработки веб-интерфейсов

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

Исследование процессов внутри виртуальной машины Java

В статье подробно описываются процессы виртуальной машины Javа, на что выделяется память, как устроена JVM, как в нее попадает код и как он исполняется.

Основные этапы создания видеоигр

В статье рассматриваются основные этапы создания видеоигр от проектирования до выпуска на рынок. Также приводится обзор одного из самых востребованных игровых движков Unity.

Система контроля управления доступом (СКУД)

В статье авторы пытаются рассказать об актуальности разработки СКУД.

Задать вопрос