» » » Мидирование синтезатора на примере Korg Monotron

 

Мидирование синтезатора на примере Korg Monotron

Автор: admin от 15-07-2015, 10:40, посмотрело: 788

Мидирование синтезатора на примере Korg Monotron

Мидирование — модификация, позволяющая управлять синтезатором с помощью стандартных midi-комманд, передаваемых с внешнего источника. Это дает возможность подключить midi-клавиатуру или какой-то другой midi-контроллер в качестве устройства ввода.

Как-то раз ко мне в руки попал самый настоящий аналоговый синтезатор Korg monotron. Не смотря на свои игрушечные очертания, устройство содержало на борту весь минимум настроек, позволяющий погрузиться в мир аналогового синтеза. Так вот проводя вечера за вращением ручек и экспериментами с LFO-генератором и cuttoff фильтром, я стал ловить себя на мысли, что чего-то тут явно не хватает. Действительно, выполняющая роль клавиатуры резистивная пленка — весьма оригинальное и компактное решение. Но любые попытки исполнить на инструменте какую-то осмысленную партию обречены на провал. Выходит, и применять такой синт можно только как пищалку. С другой стороны, ситуацию могли бы спасти наличие MIDI порта и подключение внешней клавиатуры, но он, увы, отсутствовал.

Как оказалось, мидировать синтезатор не так уж и сложно.



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

Мидирование синтезатора на примере Korg Monotron

Для тех, кто не знает: CV/Gate (Control Voltage/Gate) — это один из распространенных методов управления аналоговыми синтезаторами. Управляющее напряжение (CV) задавало высоту тонаглубину эффекта, ну а триггер (Gate) управлял выводом звука в зависимости от того, нажата ли нота. Нужен только небольшой переходник, читающий midi-команду и конвертирующий ее в управляющее напряжение. Что я, собственно, реализовал.

Железо

Все достаточно банально: я решил сильно не заморачиваться и использовать для управления любимый и ненавистный многими arduino. Под руку подвернулась валявшаяся без дела платка arduino nano. Был, конечно, соблазн использовать миниатюрный pro mini или вовсе поставить 328 мегу с минимальным обвесом, но, предвидя геморрой с отладкой и допиливанием прошивки, решил не жадничать и остановился на nano.

CV OUTPUT

По SPI я подключил валявшийся без дела 12-битый ЦАП mcp4921, который в дальнейшем должен управлять напряжением, задающим высоту тона осциллятора (PITCH).

Мидирование синтезатора на примере Korg Monotron

MIDI INPUT

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

Мидирование синтезатора на примере Korg Monotron

Осталось повесить GATE на любой свободный пин.

Мидирование синтезатора на примере Korg Monotron
В результате получился такой вот переходник.

Теперь пришло время прокачать сам синтезатор. По сути, требуется просто вывести 4 пина:
PITCH, GATE, GND и +5 для питания. Как не странно, на этом этапе я наткнулся на самое большое количество граблей. Изначально идея была хорошая: вывести разъем под 4-хконтактный миниджек. На деле же я узнал много нового для себя. Сначала стандартный джек оказался коротковат и наотрез отказался целиком заходить в разъем. В итоге разъем пришлось подрезать. Поиск места для разъема тоже оказался не такой просто задачей, но пути назад уже не было. Как я уже говорил, сами точки пайки заботливо выведены инженерами korg на обратную сторону платы.

Мидирование синтезатора на примере Korg Monotron

Где-то на этапе отладки кода сочувствующие люди сделали мне 3D модель корпуса, который позже был напечатан в Лаборатории трехмерной печати. По-моему, вышло очень даже неплохо.

Мидирование синтезатора на примере Korg Monotron

Прошивка

Весь процесс написания ардуино-скетча описывать не хотелось бы, да и по устройству midi протокола и без того статей немало. Остановлюсь лишь на моменте настройки выходных значений ЦАПа. Чтобы посылаемая MIDI нота соответствовала выходному значение на ЦАПе. Чтобы справиться с этой задачей, я устанавливал различные значения на ЦАПе и анализировал получаемую с синтезатора в Ableton Live спектрограмму (там есть прекрасный инструмент Spectrum, отображающий, кроме всего прочего, соответствующую частоте ноту). Возможно, есть более удобное решение, но это было первое, что пришло в голову. Также стоит отметить, что зависимость управляющего напряжения от выдаваемой частоты линейна, поэтому реализация алгоритма не составляет особого труда.

Напоследок приложу еще одну фотографию синтезатора и MIDI2DAC конвертора.

Мидирование синтезатора на примере Korg Monotron

Видео устройств в работе:


Ссылка на github со скетчем для arduino

Источник: Хабрахабр

Категория: Железо » Сделай Сам

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

Добавление комментария

Имя:*
E-Mail:
Комментарий:
Полужирный Наклонный текст Подчеркнутый текст Зачеркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
Введите два слова, показанных на изображении: *