Сервис для
сео - оптимизаторов

Найди ошибки на сайте
Ошибки мешают продвижению сайта
Исправь ошибки на сайте
Сайт без ошибок продвигать легче
Получи новых клиентов
Новые клиенты принесут больше прибыль

Воспроизведение MIDI

  1. Цель
  2. Эта проблема
  3. Решение № 1
  4. Решение № 2
  5. ПО для преобразования последовательных в MIDI
  6. Программное обеспечение виртуального порта MIDI
  7. Виртуальный MIDI-контроллер / программное обеспечение для воспроизведения
  8. меры
  9. Поиск проблемы
  10. кредит

Теперь, когда у нас есть Arduino, отправляющий MIDI-данные, пришло время превратить эти данные в музыку!

Цель

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

Эта проблема

Arduino связывается с ПК через последовательный порт, но мы хотим общаться с помощью MIDI. Нам нужен способ преобразовать последовательный выход в то, что ПК понимает как порт MIDI. Есть два способа решения этой проблемы, и оба имеют свои плюсы и минусы:

  1. Создайте MIDI-порт на Arduino - это позволяет подключить Arduino к компьютеру с MIDI-USB-кабель ,
    • Плюсы:
      • Компьютеры мгновенно распознают Arduino как MIDI-устройство - виртуальное MIDI-программное обеспечение не требуется (что означает меньшую настройку перед воспроизведением и меньшую задержку).
    • Минусы:
      • Нет беспроводной связи: вы привязаны к компьютеру.
  2. Используйте программное обеспечение для преобразования Serial в MIDI для отправки последовательных данных, поступающих с Arduino, на виртуальный MIDI-порт.
    • Плюсы:
      • Работает с любыми входящими последовательными данными из любого источника (USB, Bluetooth, WiFi и т. Д.).
    • Минусы:
      • Требуется установить две программы и запускать их каждый раз, когда вы хотите играть.

Взвесив оба варианта, я решил, что наличие беспроводного варианта для меня важнее, чем простые возможности plug-n-play, поэтому я выбрал вариант 2. Как уже говорилось, это вариант, который я буду развивать в этом учебном пособии. Если вы предпочитаете Вариант 1 для своего проекта, вы должны просто следить за сайтом Arduino. MIDI-учебник чтобы эта опция работала.

Тебе понадобится:

Решение № 1

Если вы предпочитаете вариант 1 для вашего проекта, все, что вам нужно, это следовать MIDI-учебник на сайте Arduino и все должно быть сделано - когда вы подключаете MIDI-кабель от MIDI-разъема Arduino к компьютеру, компьютер должен автоматически распознавать его как MIDI-порт и получать MIDI-данные.

Вам также понадобится:

  • MIDI-USB кабель
  • PIN-код MIDI-разъема
  • Резисторы 2x220 Ом
  • Проволочные перемычки

MIDI-USB кабель   PIN-код MIDI-разъема   Резисторы 2x220 Ом   Проволочные перемычки

Идти дальше: Shiftmore демонстрирует, как интегрировать MIDI <-> USB-кабель в кабеле в Arduino. Теоретически, с помощью этого метода можно создать MIDI-устройство plug-n-play, которое будет работать на любом компьютере с любым кабелем USB. Я лично не пробовал, потому что я предпочел бы получить свой аккордеон беспроводная передача MIDI-данных через Bluetooth , который не сможет отправлять данные в формате MIDI. Я посмотрел на беспроводные приемопередатчики MIDI и они могут быть довольно дорогими ,

Решение № 2

Для решения преобразования Serial в MIDI на стороне компьютера нам потребуется три компонента программного обеспечения:

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

ПО для преобразования последовательных в MIDI

Эта программа принимает последовательный порт (в данном случае наш выход Arduino) и подключает его к виртуальному MIDI-порту, чтобы компьютер распознавал данные как MIDI. Вот пара вариантов:

Я решил пойти с Безволосый миди потому что он обеспечивает простой способ отладки MIDI-сообщений, а на сайте есть хорошая документация. Он также совместим с Windows, OSX и Linux.

Программное обеспечение виртуального порта MIDI

Виртуальный порт MIDI используется вместо физического порта USB, чтобы сообщить компьютеру, что данные MIDI из внутренней программы могут использоваться с программным обеспечением вывода MIDI. К счастью для пользователей OSX и Linux, он уже встроен в операционную систему и может использоваться с некоторой конфигурацией (см. Инструкции OSX , Linux (Debian / Ubuntu) инструкции ). Однако пользователям Windows не так повезло, и им придется устанавливать стороннее программное обеспечение виртуального порта MIDI. Вот несколько вариантов для пользователей Windows:

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

Виртуальный MIDI-контроллер / программное обеспечение для воспроизведения

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

Если у вас нет программы виртуального контроллера MIDI и вы не хотите раскошелиться на дорогой ОУПЖ Я рекомендую использовать Виртуальная фортепианная клавиатура MIDI (VMPK) Он бесплатный, совместим с Windows / Mac / Linux и поставляется с драйвером MIDI OUT FluidSynth, который для пользователей Windows значительно превосходит Microsoft GS Wavetable Synth как по качеству звука, так и по времени отклика.

меры

После того, как все программное обеспечение установлено, выполните следующие шаги, чтобы подключить все:

  1. Загрузите свой MIDI-код в Arduino (см. предыдущий урок для деталей).
  2. Запустите ваш виртуальный MIDI-порт (если он еще не запущен).
  3. Откройте вашу программу Serial-to-MIDI:
    • Выберите ваш порт Arduino в качестве последовательного порта
    • Выберите виртуальный MIDI-порт, созданный на шаге 2, в качестве MIDI Out.
  4. В программе MIDI-контроллера создайте MIDI-соединение с виртуальным MIDI-портом. Этот шаг сильно зависит от вашей программы; вот как это сделать в Reason и VMPK:

Конфигурация ВПМК

Конфигурация причины

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

Следующий: Как сопоставить пользовательский ввод с выходом MIDI.

Поиск проблемы

«Я не могу загрузить изменения кода в Arduino».

  • Вы не можете обновить код Arduino, когда COM-порт используется последовательным мостом MIDI <->, поэтому вы должны отключить его (включая сообщения отладки) при загрузке нового кода в Arduino.
  • Если вы попытаетесь быстро загрузить его после подключения, иногда не удается найти COM-порт. Чаще всего кажется, что отсоединение и повторное подключение USB-кабеля делают свое дело.

кредит

Спасибо тебе: