Оглавление:

Многодорожечная MIDI-станция Arduino: 6 шагов
Многодорожечная MIDI-станция Arduino: 6 шагов

Видео: Многодорожечная MIDI-станция Arduino: 6 шагов

Видео: Многодорожечная MIDI-станция Arduino: 6 шагов
Видео: Как выбрать синтезатор? 2024, Июль
Anonim
Многодорожечная MIDI-станция Arduino
Многодорожечная MIDI-станция Arduino
Многодорожечная MIDI-станция Arduino
Многодорожечная MIDI-станция Arduino
Многодорожечная MIDI-станция Arduino
Многодорожечная MIDI-станция Arduino

Луп-станция или лупер - это, по сути, инструмент для воспроизведения в реальном времени ваших инструментальных риффов (лупов). Он не предназначен как носитель записи, а как инструмент, чтобы формировать вдохновение, не отвлекаясь (и, в конечном итоге, выступать вживую…).

Существует множество циклических станций для записи звука, как в виде специального оборудования (почти каждый производитель гитарных педалей имеет свой собственный продукт), так и компьютерного программного обеспечения (превосходный Linux Sooper Looper или Windows Mobius, если цитировать наиболее известные). Я смог найти только несколько проектов о DIY-не аудио, а о луперах MIDI, то есть инструменте для записи MIDI-событий и их немедленного воспроизведения в цикле; большинство этих проектов (я бы сказал, все они) заброшены или потеряны … ну, вот и готовый проект для всех!

Эта петлевая MIDI-станция Arduino просто отслеживает входящие MIDI-события и воспроизводит их. Вам нужно только нажать на педаль записи, создать свой лучший рифф и остановить запись, снова нажав на педаль. Супер просто:)

Этот проект основан на легко доступном открытом оборудовании (Arduino DUE), программном обеспечении (моя собственная прошивка и Arduino IDE) и может быть изменен в соответствии с вашими предпочтениями.

Давай сделаем это!

PS: да, это супер дешево!

Шаг 1. Ограничения

Прежде чем вы начнете приобретать аппаратные части для проекта, позвольте мне сказать вам, каковы его ограничения, чтобы вы могли решить, двигаться дальше или останавливаться на достигнутом.

- из-за аппаратных ограничений (по сути, памяти Aduino DUE) максимальная длина фразы, которую вы можете записать, по умолчанию ограничена 46 секундами.

- петли не могут быть сохранены и воспроизведены после выключения. Однако вы можете отправить их на ПК и сохранить.

- нет квантования нот.

- MIDI-часы поддерживаются, но в настоящее время на предварительном этапе.

- Записанные MIDI-сообщения включают включение и отключение ноты, изменения управления и изменение высоты звука; другие MIDI-сообщения, такие как после касания, изменения программы, SysEx и т. д., не принимаются во внимание.

- максимальная полифония по умолчанию установлена на 10 (опять же, ограничения памяти Aduino DUE).

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

Если жить с этими ограничениями кажется разумным (и это для меня), вы отлично проведете время с этой вещью;)

Шаг 2: как это работает

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

1) Выберите трек, на который вы хотите записать MIDI-последовательность. По умолчанию выбран трек «один», но вы можете изменить его, нажав одну из кнопок треков (по одной для каждого трека).

2) Когда вы нажимаете переключатель «REC» / ножную педаль в первый раз, включается петлитель. Загорится зеленый светодиод. Он будет ждать, пока не будет получена ваша первая нота, прежде чем начать запись фактической последовательности / рифа.

3) Когда вы закончите свою секвенцию, снова нажмите переключатель «REC» / ножную педаль, чтобы определить фактическую длину рифа. Зеленый светодиод погаснет. Лупер немедленно начнет воспроизводить вашу MIDI-последовательность. По достижении максимального времени запись автоматически остановится, и последовательность начнет воспроизводиться в цикле.

4) Теперь вы можете решить наложить последовательность на текущий трек или выбрать новый трек и записать на него, нажав переключатель «REC» / ножную педаль. В обоих случаях желтый светодиод загорится, даже если новая дорожка пуста, потому что это «подчиненная» дорожка (подчиненная самой первой записанной дорожке). Нажмите еще раз, чтобы остановить наложение (желтый светодиод погаснет).

Для тех из вас, кто умеет работать со станциями зацикливания звука, эта последовательность MIDI называется «REC / PLAY / OVERDUB» и является единственной поддерживаемой.

Если в какой-то момент вы почувствуете, что ваш последний наложенный наложенный файл не в порядке, вы можете удалить его, нажав кнопку «отменить» / ножную педаль. Вы можете полностью очистить текущий трек, удерживая педаль «REC» нажатой более 3 секунд; вы можете сбросить лупер (программный сброс), одновременно нажав кнопки первых трех треков или очистив все использованные треки.

Вы можете отключить / включить звук дорожки, нажав кнопку дорожки на текущей дорожке.

Вы можете отправить ПАНИКУ! сообщение нажатием тревожной кнопки. Вы даже можете отправить ПАНИКУ! сообщение, нажав одновременно кнопки первых двух треков.

Лупер имеет встроенный простой метроном: нота в сообщении MIDI для ноты номер «64» отправляется со скоростью 100 ударов в минуту по каналу 10 (канал, который, вероятно, слушает ваша драм-машина). Вы можете увеличивать или уменьшать темп, настраивая оптический кодировщик; нажав переключатель оптического кодировщика, вы можете включить / выключить метроном. Обратите внимание, что ваша драм-машина должна быть настроена на воспроизведение звука (малого барабана, баса или любого другого звука, который вы предпочитаете) при получении MIDI-ноты «64», иначе метроном будет отключен.

Базовая версия этой петлевой MIDI-станции может быть оснащена одним ножным переключателем для запуска и остановки записи. Удерживание переключателя нажатым более 3 секунд приведет к повторной инициализации кольцевой станции.

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

ВАЖНОЕ ПРИМЕЧАНИЕ: оборудование на моих фотографиях является прототипом. Я использовал больше розеток, чем нужно, но только четыре кнопки для треков. Это потому, что, когда я начал проект, я не был полностью уверен, каковы будут окончательные требования.

Кнопки и ножные переключатели являются электронными эквивалентами, и вы можете использовать одну вместо другой; для моих нужд, поскольку на полу всегда слишком мало места (чертовски красивые педали эффектов;)), я ограничил ножные педали одной функцией REC.

Шаг 3: Оборудование

Аппаратное обеспечение
Аппаратное обеспечение
Аппаратное обеспечение
Аппаратное обеспечение
Аппаратное обеспечение
Аппаратное обеспечение
Аппаратное обеспечение
Аппаратное обеспечение

Спецификация материалов:

Полнофункциональная 5-дорожечная петля MIDI-станции

1x Arduino DUE

7 кнопок мгновенного действия

1x пластиковый корпус (я использовал корпус 150 x 110 x 70 мм)

2x 5-контактных разъема MIDI для панельного монтажа с разъемом DIN

1x 6,3 мм гнездо для панельного монтажа

1x двусторонняя перфорированная плита 50x70 мм

5x 3 мм светодиод (зеленый)

1x 3 мм светодиод (желтый)

1x оптический кодировщик

1x оптопара H11L1

1x 1N4148 диод

3 резистора по 1000 Ом

3 резистора 220 Ом

10 резисторов по 470 Ом

Немного припоя, немного кабелей, паяльная станция… и свободное время:)

Время на выполнение проекта: 6-9 часов.

Почему не ООН?

Первые тесты (и начальный рабочий код) были написаны на «обычной» плате arduino UNO. У этой платы есть ограничения ОЗУ, которые заставили меня уменьшить полифонию до «4», максимальную длину до менее 4 секунд и максимальное разрешение 40 мс. Это без многоканальной обработки. Убрав также отслеживание скорости, я смог увеличить время записи до 7 секунд.

С UNO вы можете реализовать "рабочую" станцию петли MIDI, но с большими ограничениями.

Шаг 4: Программное обеспечение

Программное обеспечение в значительной степени полагается на библиотеку MIDI FortySevenEffects. Эта библиотека великолепна и делает проекты такого рода выполнимыми даже для таких гиков, не являющихся программистами, как я.

Arduino IDE и ее сообщество - еще одна важная часть этого «успеха».

Я не буду вдаваться в подробности того, как загрузить скетч на ваш Arduino DUE. Если это ваш первый опыт работы с Arduino IDE, прочтите сначала.

Я написал две разные версии кода, основанные на двух совершенно разных подходах.

Принцип работы версии 1 заключается в том, что во время записи или наложения Arduino DUE проверяет и сохраняет в своей (энергозависимой) памяти поддерживаемые MIDI-события (включение ноты, отключение ноты, изменение управления и изменение высоты звука); ось времени квантуется с шагом 20 мс, и полученные сообщения соответственно сохраняются в этих слотах. Во время воспроизведения сохраненные MIDI-сообщения отправляются обратно на синтезатор с соблюдением квантования времени.

Принцип работы версии 2, напротив, состоит в том, чтобы «просто» записывать событие midi и время, в которое событие должно быть инициировано. Версия 2 имеет другие ограничения, чем версия 1 (перечисленные на предыдущем шаге). попробуйте их оба и используйте тот, который вам больше подходит.

Также есть предварительная обработка Clock, но для ее правильной работы потребуются некоторые настройки. Код предполагает, что вы записываете петлю из 4/4 - 4 тактов (16 ударов).

Вы можете отключить внешние часы, удерживая нажатой кнопку «паника» при включении петлителя.

Коды загружены ЗДЕСЬ. Повсюду размещены комментарии, так что вы можете гнуть эти прошивки по своему желанию;)

Шаг 5: проводка

Проводки
Проводки
Проводки
Проводки
Проводки
Проводки

Цепи MIDI IN и MIDI OUT представлены на прилагаемых рисунках. Обратите внимание, что используются TX1 и RX1, а не TX0 и RX0.

Входные контакты Arduino DUE не могут обрабатывать 5 В, но 3,3 В; Вот почему используется оптрон H11L1 вместо более распространенного 6N138. У меня есть доказательства того, что использование 6N138 в сочетании с делителем напряжения для уменьшения напряжения сигнала, поступающего на TX1, как в моем первом прототипе, могло работать нестабильно в некоторых установках.

Светодиоды подключаются к выходным контактам Arduino DUE через резисторы 470 Ом. Вы можете использовать резисторы до 1 кОм, чтобы уменьшить ток, идущий на светодиоды, и уменьшить их яркость.

Кнопки / переключатели / разъемы напрямую подключены к входным контактам Arduino благодаря входным подтягивающим резисторам, активированным в скетче. Нет необходимости во внешних (понижающих) резисторах.

Оптический энкодер подключен к GND и + 5V. Он поступает на входные контакты Arduino, проходящие через резисторы на 2 480 Ом, по одному на каждый оптический выход данных.

Arduino DUE питается напрямую от вывода 5 В и заземляется через концентратор постоянного тока + 5 В.

Все площадки связаны между собой.

Прилагается таблица с подключениями контактов Arduino к периферийным устройствам IN / OUT. Номера контактов Arduino соответствуют таковым в моем аппаратном прототипе и могут выглядеть (они каким-то образом…) случайны. Вы можете легко изменить положение булавки на эскизе по своему желанию;)

Шаг 6: Что делать, если у меня более одного источника MIDI?

Что делать, если у меня более одного источника MIDI?
Что делать, если у меня более одного источника MIDI?

После непродолжительных поисков слияния MIDI я обнаружил, что наиболее практичным (и дешевым) решением был переключатель MIDI.

Коммутатор MIDI - это пассивное устройство, которое включает источник MIDI и отключает все другие источники. Просто как тот.

Сердце MIDI-переключателя - это многопозиционный (у меня 6-позиционный), 2-х полюсный переключатель. Очень важно, чтобы количество полюсов было «2», потому что каждый MIDI-разъем должен быть полностью отрезан, если не выбран, а не в связи с другими. Прилагаю фото того, что я придумал для себя.

По ЭТОЙ ССЫЛКЕ схема.

Рекомендуемые: