Наличие данной библиотеки и блока в FLProg позволит вам собирать на базе ардуино различные MIDI устройства, способные взаимодействовать посредством стандартных MIDI команд с практически любым музыкальным ПО на вашем или любым другим ПК. А так же взаимодействовать миди устройствам между собой. Нотные миди команды исходящие основываются на стандартной нотной карте, где каждая нота имеет свой номер. Вы можете собрать как синтезатор с учётом чувствительности на нажатие клавиш, барабанную установку, которая так же будет передавать параметр чувствительности к удару, так и любой другой муз инструмент, работающий с командой SysEx, MIDI.sendNoteON, MIDI.sendNoteOFF. Вы так же можете собрать любое управляющее устройство которая работает с миди протоколом,
вот один из примеров применения библиотеки.
Библиотека MIDI умеет отправлять , принимать и работать с сквозными сообщениями. А так же работать с этими сообщениями на различных каналах, их всего 16.
MIDI контроллеры не обязательно должны быть клавишными инструментами. Это могут быть, MIDI-гитары и бас-гитары, MIDI-фейдеры, MIDI-саксофоны, тромбоны, аккордеоны, мандолины и т. д. На выставке музыкального оборудование NAMM фирмой WaveAccess был представлен WaveRider. Он подсоединяется к вашему телу, снимает данные мышечной, сердечной, кожной активности и биотоки мозга, и переводит их в MIDI-данные (например, ритм сердца - в темп песни).
MIDI может помочь в управлении громкостью, панорамой и другими параметрами звуков различных MIDI-инструментов. Многие компьютерные секвенсоры имеют для этих целей специальные редакторы, воспроизводящие на экране монитора реальные регуляторы (например, MIDI Manager в Steinberg Cubase). Некоторые пульты (например, Soundcraft Spirit Auto или Mackie CR 1604 с системой OTTO) позволяют аналогичным образом управлять громкостью своих каналов, таким образом, контролируя обычные инструменты.
Когда вы нажимаете клавишу C 3 (нота До третьей октавы) на одном синтезаторе, ваши действия переводятся в MIDI-сообщение, которое поступает на MIDI-выход (MIDI Out) этого инструмента. Если его MIDI-выход соединен с MIDI-входом (MIDI In) другого инструмента, то тот принимает это сообщение и выполняет те же действия, как будто клавиша была нажата на его клавиатуре, то есть воспроизводит ноту C 3.
Представим себе, что мы имеем три синтезатора (во всяком случае, попытаемся) и хотим с одного из них управлять двумя другими. Здесь вступает в действие третий разъем с веселым названием MIDI Thru (сквозной). Его задача - дублировать все сообщения, которые поступают на MIDI-вход данного инструмента. Таким образом, мы берем еще один MIDI-кабель, подключаем его к MIDI Thru второго синтезатора (так как именно на его MIDI-вход поступают сообщения) и к MIDI In третьего. Теперь вся информация, выходящая из MIDI-выхода первого инструмента, поступает на MIDI-вход второго и дублируется через сквозной MIDI-разъем на MIDI-вход третьего. Теоретически можно подключать бесконечное число инструментов таким образом, но на практике при соединении более трех происходят задержки сигнала и прочие неприятности. Если все же необходимо подключить несколько MIDI-инструментов, следует воспользоваться специальными устройствами: MIDI Thru Box или MIDI Patch Bay.
Отправлено спустя 7 минут 9 секунд:
MIDI-каналы
Если мы нажмем клавишу на первом инструменте, нота будет звучать одновременно на всех трех. Если это и была наша цель, то она достигнута. А если мы хотим, чтобы звучал только один синтезатор? Кроме того, большинство современных синтезаторов - мультитембральные, то есть могут воспроизводить несколько тембров (звуков) одновременно.
Чтобы отделить MIDI-сообщения, предназначенные для одного синтезатора (или для одного тембра на этом синтезаторе), от сообщений другого, существуют 16 MIDI-каналов. Вы устанавливаете на первом синтезаторе звук пианино на MIDI-канале 2 (о том, как это делается, следует прочитать в руководстве пользователя для каждого инструмента), на втором синтезаторе - звуки баса и струнных на MIDI-каналах 5 и 8, а на третьем - барабаны на канале 10 (каналы можно устанавливать в любом порядке). Теперь вам надо переключать MIDI-каналы, по которым передает информацию первый синтезатор: включили на канал 2 - звучит пианино с первого синтезатора, на канал 10 - барабаны с третьего и т. д.
Собственно говоря, при таком раскладе нам вообще не нужны клавиатуры на втором и третьем синтезаторах. Это соображение и привело к широкому распространению звуковых модулей - синтезаторов без клавиатуры, а также к появлению отдельных клавиатур для управления несколькими инструментами (MIDI Master Keyboard).
Запись MIDI-событий
MIDI-события можно не только передавать и принимать, но и записывать. Для этого существуют специальные устройства - секвенсоры.
Секвенсор записывает не звук, а управляющую MIDI-информацию (например: на второй доле первого такта по MIDI-каналу 10 передано сообщение о нажатии клавиши C 3). Вы можете затем изменить звук на десятом MIDI-канале и воспроизвести записанную информацию с новым звуком. Вы можете даже заменить синтезатор на другой и, если вы установите один из его звуков на MIDI-канал 10, то сможете воспроизвести вашу игру звуками нового инструмента.
Кроме того, секвенсоры позволяют редактировать записанную информацию. Можно стирать, копировать и перемещать части вашей песни; транспонировать партии или отдельные ноты, изменять ритмическую позицию событий (квантизировать) и многое, многое другое.
Библиотека доступна через Arduino IDE