Синтезатор своими руками ардуино

Амперка / Блог

Если вы уверены, что DIY-электроника — удел технарей, вынуждены вас в срочном порядке разочаровать: представители творческих профессий — дизайнеры и музыканты — давно успешно освоили платформы Arduino, вооружились паяльниками и клепают одну за другой невероятно крутые и забавные штуковины:

Guitarduino

Некоторые с помощью Arduino расширяют возможности уже существующих инструментов. Эта гитара увешана тач-панелями и кнопками, как новогодняя ёлка: с их помощью музыкант может использовать огромный комплекс электронных эффектов, не прибегая к помощи гитарных педалей. На этой Гитардуине даже своя драм-машина есть! Здесь автор проекта подробно рассказывает о том, как работает его детище.

APPLECASTER

Эти ребята отбросили от электрогитары всё лишнее, оставив только гриф со струнами. Прикрутили к этому Arduino Mega, кое-какую обвязочку, и — «Тадам!» — получили отменную 8-битную гитару.

Sonora Boards

Ребята из Sonora Boards специализируются на всяческих MIDI-девайсах из скейтбордов. Если вы, вдруг, мечтали исполнить что-нибудь из Чайковского на своей старенькой доске, теперь это не проблема.

Cubetrument

Этот светящийся кубик с кнопками не самостоятельный инструмент, а MIDI-контроллер для iPhone, но очень уж здорово и необычно он выглядит. Посредством Bluetooth Кубертрумент связывается со смартфоном, который в свою очередь проигрывает нужные звуки из приложения GarageBand.

MusicalCubes

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

Flexfinger

С первого взгляда на эту перчатку представляешь такие же на руках у ребят из DaftPunk. Именно так должны выглядеть инструменты кибернетических диджеев из будущего.

Snake Charmer

В этом проекте музыкальные инструменты совсем обычные. В эти флейты не встроено ни какой электроники, но только посмотрите, что эти парни с ними вытворяют. Они используют определенные ноты для управления Змейкой из знаменитой игры на телефоне Nokia 6110i! Настоящие заклинатели электронных змей)

  • Вконтакте
  • Facebook
  • Twitter

Источник

Arduino-синтезатор

У Arduino есть возможность вывода звука при помощи библиотеки, под названием Tone Library.

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

Как это работает?

Звук создается путем проигрывания одних и тех же семплов (небольшие кусочки длительностью примерно от 1 до 50мс) снова и снова на очень высокой скорости. ‘Гранула’ состоит из двух треугольных волн с регулируемой частотой и скоростью затухания. Частота повторения устанавливается при помощи другого элемента управления.

Элементы и инструменты

Чтобы сделать этот проект, вам понадобятся следующие вещи.

Элементы:
5X Потенциометр 5кОм
5X Ручка для потенциометра
3X Светодиод
1X Тумблер
1X Фоторезистор с реакцией на свет
1X Arduino
1X Arduino Protoboard
1X Кнопка без фиксации
1X Корпус
1X 1/8″ Аудио разъем.
1X Много проводов.
1X Термоусадка
1X Макетная плата
1X Перемычки
3X Резистор 10кОм
3X Резистор 220 Ом
1X Батарея 9В
1X Разъем для батареи 9В.
1X Разъем питания размера М.

Инструменты:
Паяльник
Припой
Флюс
Клей
Мультиметр
Дрель

Программа, схема, и питание

К этой статье прилагается программа для Arduino. Что бы загрузить её на свою плату, вам понадобиться USB 2.0. После того, как вы загрузили программу с вашего компьютера, установите Proto Shield на Arduino.

Когда речь заходит о питании, есть много вариантов. Arduino может работать от адаптера 9В, или можно использовать 9В батарею с разъемом и разъемом для питания размера М. Также в качестве источника питания можно использовать USB кабель.

Схема была сделана в Fritzing, и она также прилагается к статье.

Использование макетной платы

Используйте макетную плату для первой сборки схемы, потом её можно перенести на Protoboard. Подключите провода GND и 5В к линиям + и — вашей макетной платы.

Затем подключите провода от средних выводов потенциометров к аналоговым входам 0-4 Arduino. Правые и левые контакты подключите к GND и + линиям макетной платы соответственно.

Подключенные потенциометры будут управлять ‘гранулами’, частотой и затуханием синтезатора.

Аналоговый вход 0: Уровень ‘гранулы’ 1
Аналоговый вход 1: Затухание ‘гранулы’ 2
Аналоговый вход 2: Затухание ‘гранулы’ 1
Аналоговый вход 3: Уровень ‘гранулы’ 2
Аналоговый вход 4: Частота повторения ‘гранулы’

Подключение аудио разъема

Припаяйте довольно длинные провода к вашему 1/8″ моно аудио разъему. Подключите сигнальный провод к ШИМ

3 Arduino. Между сигнальным проводом и Arduino установите резистор 10 кОм. GND разъем подключите к GND линии вашей макетной платы.

Подключение фоторезистора

Один вывод фоторезистора подключите непосредственно к +5В линии макетной платы и к аналоговому входу 5 Arduino. Другой контакт фоторезистора подключите к резистору 10кОм, а его к GND.

Подключение тумблера

Подключите сигнальный, средний контакт тумблера к цифровому выводу 02 Arduino. Остальные выводы соединены с GND, и через резистор 10кОм с линией +5В макетной платы.

Подключение кнопки

Кнопка без фиксации имеет четыре вывода. Установите её на плате. Подключите один из двух параллельных контактов к линии +5В макетной платы, а другой к GND через резистор 10кОм. Подключите оставшийся контакт к цифровому выводу 6 Arduino.

Подключение светодиодов

Проверьте его!
Вы завершили сборку на макетной плате. Протестируйте его, используя наушники или небольшие динамики. Если вы используете наушники, учитывайте, что у устройства моно выход, и звук будет громким. Не одевайте наушники прямо на уши при использовании этого синтезатора.

Корпус

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

Просверлите пять отверстий для потенциометров.
Просверлите 4 маленьких отверстий по углам квадрата для кнопки.
Просверлите три пары небольших отверстий для каждого из светодиодов.
Просверлите два небольших отверстия для фоторезистора.
Просверлите одно отверстие для аудио разъема.
Еще одно отверстие для тумблера.

Начните установку элементов в корпус

Вставьте пять потенциометров в просверленные для них отверстия и закрепите их. Потом установите светодиоды, тумблер, кнопку, аудио разъем и фоторезистор. Для монтажа используйте термоклей.

Подключение аудио разъема к Protoboard

Ниже описывается, как перенести схему с макетной платы на Protoboard. Так как все элементы смонтированы на корпусе, провести провода будет просто.

Припаяйте провода ко всем элементам в корпусе, используя красный и черный провода для обозначения + и GND соответственно.

На Protoboard, припаяйте провод к цифровому контакту 3 и к середине платы так, чтобы у вас было место для резистора 10 кОм. Перенесите его на Protoboard.
Когда вы пропаяли это место, убедитесь, что вы использовали достаточно припоя для соединения провода и резистора.

Пайка резисторов для фото резистора, кнопки и тумблера.

Припаяйте две перемычки от линии GND и одну от линии + на середину платы. После этого припаяйте резисторы 10 кОм.

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

Пайка светодиодов

Подключите 3 резистора 220 Ом к контактам 9-11 на Protoboard, и вставив их другие выводы в отверстия, припаяйте к ним провода от светодиодов.

Последовательно соедините GND светодиодов и потом припаяйте его к GND линии Protoboard.

Подключение потенциометров к Protoboard

Последовательное соедините + и GND провода от потенциометров и припаяйте их к соответствующим линиям на Protoboard.

Подключите сигнальные провода потенциометров к аналоговым контактам 0-4. Я разместил все потенциометры ‘гранула’ и частота в первом ряду, и потенциометр синхронизации под ними.

Значения потенциометров и их подключение не изменилось:
Аналоговый вход 0: Уровень ‘гранулы’ 1
Аналоговый вход 1: Затухание ‘гранулы’ 2
Аналоговый вход 2: Затухание ‘гранулы’ 1
Аналоговый вход 3: Уровень ‘гранулы’ 2
Аналоговый вход 4: Частота повторения ‘гранулы’

Прикрепите ручки на потенциометры

Выставьте все потенциометры на ноль, затем выровняйте ручки относительно нуля и, используя маленькую отвёртку, закрепите их.

Подключение Protoboard к Arduino

Припаяйте к коротким проводкам с платы длинные провода от корпуса. Припаяйте оставшиеся провода к линиям + и GND Protoboard соответственно.

Установите Protoboard на Arduiono.

Установите его и закройте корпус, и всё будет готово!

Играйте с ним!

Все переключатели и потенциометры полностью взаимозаменяемы! Вместо использования этих потенциометров, попробуйте заменить их фоторезисторами, или комбинировать это!

Ниже вы можете скачать проект в формате Fritzing и скетч для Arduino

Источник

Четырёхголосный синтезатор на Arduino Uno

Автор Instructables под ником rgco придумал четырёхголосный 1,5-октавный синтезатор на Arduino Uno. Для сравнения, широко распространённые детские синтезаторы, отличающиеся друг от друга только оформлением и выполненные одном и том же чипе — трёхголосные. Правда, они могут автоматически сопровождать музыку ритмом, запоминать одноголосные мелодии и имитировать голоса животных. Зато самоделка звучит приятнее. Почему?

Всё дело в параметрах. Частота дискретизации 31 кГц, разрядность 9 бит, 4 голоса, ЧМ-синтез с размахом, меняющимся во времени, ADSR-огибающая, 12 виртуальных инструментов, 18 клавиш, перекрывающих 1,5 октавы.

Схему синтезатора мастер составляет во Fritzing:

В нём же моделирует расположение компонентов на макетной плате типа breadboard и соединения между ними:

И собирает схему в реале:

Просто «залить скетч и пользоваться» — самое простое, что можно сделать с конструкцией. 18 клавиш (от ДО четвёртой октавы до ФА пятой) — чтобы играть, девятнадцатая переключает по кольцу виртуальные инструменты: пианино, ксилофон, гитару, цимбалы, колокольчики, фанки, вибрато, металл, скрипку, бас, трубу, гармошку. На характер звука влияет продолжительность нажатия клавиш, но не усилие, в отличие от профессиональных синтезаторов. Но разработчик хочет, чтобы вы тоже попробовали программировать свои виртуальные инструменты. Каждый из них задан десятью параметрами. Мастер рассказывает, от какого параметра что зависит.

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

pitch0 — сдвиг тона

Диапазон соответствует указанному выше, если задать этот параметр равным 12. Уменьшение сдвигает вниз, увеличение — вверх. Нулю соответствует сдвиг вниз ровно на одну октаву, 24 — вверх ровно на одну октаву.

ADSR_a — скорость нарастания громкости от нуля до максимума

Чем меньше, тем медленнее. Например, 8192 соответствует 4 мс, 256 — 128 мс.

ADSR_d — скорость уменьшения громкости от максимума до заданного параметром ADSR_s.

ADSR_s — значение, до которого громкость уменьшается при продолжительном нажатии клавиши

Например, 256 — громкость остаётся максимальной всё время, пока клавишу удерживают. 192 — громкость спадает до 80 процентов и остаётся таковой, пока клавишу удерживают. 0 — громкость уменьшается до нуля, даже если клавишу удерживают.

ADSR_r — скорость уменьшения громкости до нуля после отпускания клавиши

Принцип как у параметров ADSR_a и ADSR_d.

FM_inc — отношение частоты модуляции к тону

При значении 256 это отношение получается равным 1:1, при 512 — 2:1, при 128 — 1:2, остальное по аналогии. Если этот параметр задать не кратным 64, звучание получится ангармоническим.

FM_a1 — размах частотной модуляции в начале ноты

256 соответствует широкому спектру гармоник. При уменьшении тон получается чище, при увеличении гармоник становится больше.

FM_a2 — размах частотной модуляции в конце ноты

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

FM_dec — скорость перехода размаха частотной модуляции от заданного параметром FM_a1 до заданного параметром FM_a2

Принцип как у параметров ADSR_a, ADSR_d и ADSR_r.

Частота ШИМ, равная 31250 Гц, получается делением тактовой частоты (16 МГц) на 512. Программа составлена таким образом, чтобы привязка событий ко времени происходила без применения прерываний. Вместо этого задействован разряд переполнения таймера. Чтобы программа успевала проделывать всё, что от неё требуется, используются только целые числа длиной в 8 и 16 бит. Синусоида представлена в виде таблицы из 8-битных чисел. Вспомогательные операции — считывание состояний клавиш, смена виртуальных инструментов, выбор голосов, расчёт параметров нот, меняющихся во времени — распределены между 15 процедурами, выполнение которых в общей сложности занимает 0,48 мс. В это время некоторые операции выполняются с 32-разрядной точностью, что необходимо для перемножения двух 16-разрядных двоичных чисел.

Источник

Читайте также:  Универсальные часы своими руками
Оцените статью