Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Свой MIDI-арпеджиатор на Arduino: модульная прошивка и евклидовы ритмы

Компоненты и материалы

Arduino Nano R3×1
Потенциометры (вращающиеся)×7
Тактильные кнопки 12 мм×7
MIDI-разъем (DIN-5)×1
Резистор 220 Ом×4
Светодиоды×2

О проекте

Обновление 11.03.2019

Создал новую прошивку — код полностью переписан. Теперь модульная структура позволяет запускать арпеджиатор на разных платформах, не только Arduino. Добавлены евклидовы ритмы. Подробности позже!

Репозиторий: github.com/raszhivin/arpeggio2

Железо осталось прежним, новые исходники совместимы с приведенным ниже чертежем Fritzing.

Обновление 25.06.2019

Собрал новый вариант железа, см. видео.

Введение

Электронная музыка — мое хобби, играю на Korg Volca Keys. Нашел веб-приложение «Chord Progression Arpeggiator» — впечатлила сила и простота музыкальных алгоритмов. Вручную вбивать ноты арпеджио в Volca долго и негибко.

Как разработчик ПО, решил сделать Arduino-устройство, генерирующее арпеджио в виде MIDI-сообщений и отправляющее их через DIN (MIDI) порт. Арпеджиатор работает с любым硬件 или софтовым синтезатором, но у меня только Volca Keys.

Свой MIDI-арпеджиатор на Arduino: модульная прошивка и евклидовы ритмы

Основы музыкальной теории

(Адаптировано с reddit, автор kmmeerts)

Звук — это волны. Основная частота определяет высоту тона. Два инструмента на одной ноте звучат разным тембром, но мы слышим одну ноту. Октава — интервал между нотой и нотой с удвоенной частотой. Нота, разделенная на 12 полутонов: [A, A#, B, C, C#, D, D#, E, F, F#, G, G#]. После 12 повторяется.

Из 12 нот строятся гаммы (масштабы). Арпеджиатор использует гептатонические диатонические режимы (7 нот). Каждый режим — это шаблон тонов и полутонов. Мажор (Ионийский): [T T S T T T S] (T — тон, S — полутон). От каждой ступени строим аккорд: берем ноту, пропускаем одну в гамме, берем следующую — триада. Арпеджио — это последовательное воспроизведение нот аккорда.

Аккордовая прогрессия определяет песню. Композитор выбирает режим, тонику, последовательность аккордов. Арпеджиатор автоматизирует генерацию нот по выбранной прогрессии.

Схемы

Схема проста: 7 потенциометров, 7 кнопок, MIDI-порт, 2 светодиода, 4 резистора. Собирается на макетке. Новичкам рекомендую пройти базовые уроки Arduino:

Свой MIDI-арпеджиатор на Arduino: модульная прошивка и евклидовы ритмы

Управление

Потенциометры:

Кнопки: нажатие запускает соответствующую аккордовую прогрессию.

Демонстрация

Видео 1: обзор функционала и органов управления.
Видео 2: джем-сессия с арпеджиатором.

Синхронизация

Можно синхронизировать темп с Korg Volca: соедините аудиоджек арпеджиатора с «SYNC OUT» синтезатора. В коде arpeggiator.ino раскомментируйте нужный вариант:

// Синхронизация: выберите один вариант:
#define EXT_SYNC
//#define INT_SYNC

EXT_SYNC — синхро по SYNC IN, INT_SYNC — темп от потенциометра.

Рад любому фидбэку и идеям по улучшению!

Удачи и веселья!

Код

Исходный код

https://github.com/raszhivin/arpeggiator

Схемы (Fritzing)

arpeggiator_LICtzK2a2Q.fzz

Производственный процесс

  1. Цифровые кости на Arduino: генератор случайных чисел с LCD-дисплеем и кнопкой
  2. Unopad: Бесшовный Arduino MIDI-контроллер для Ableton Live
  3. Строим Iron Man на Arduino: компоненты, сенсоры и пошаговый гайд
  4. Find Me: Умный поисковик вещей на Arduino и Bluetooth
  5. USB-BLE MIDI-адаптеры на Arduino: беспроводное подключение инструментов к iOS
  6. Сборка функционального 3D-печатного манипулятора на Arduino: пошаговое руководство
  7. DIY-контроллер увлажнителя на Arduino с реле: безопасная работа с высоким напряжением
  8. Бесконтактный термометрический шлюз для быстрого и точного скрининга
  9. NeoPixel Matrix Pong на Arduino Nano: неоновая игра Pong на матрице 15×10
  10. Своё рулевое управление (джойстик) для игр на Arduino