OscPocketO - карманный синтезатор и драм-машина
Компоненты и расходные материалы
| × | 1 | ||||
| × | 1 | ||||
| × | 2 | ||||
| × | 2 |
Необходимые инструменты и машины
|
Об этом проекте
Загрузите последний код и инструкции по сборке:https://oscillator.se/arduino!
Вдохновленный другими портативными музыкальными машинами, я прочитал об отличной библиотеке Mozzi. Разве не было бы полезно иметь возможность сделать несколько синтезаторов и драм-машин и уметь синхронизировать их по темпу? Так родилась OscPocketO - портативная музыкальная студия, использующая только Arduino и ЖК-клавиатуру!
TheOscPocketO управляется переключением в разные режимы с помощью кнопки SELECT. Используйте кнопку ВВЕРХ для увеличения значения, ВНИЗ для уменьшения значения и ВЛЕВО и ВПРАВО для перемещения курсора.
Встроенный светодиодный индикатор Arduino мигает каждый раз, когда OscPocketO воспроизводит ноту.
Помните, что подключение OscPocketO напрямую к домашней стереосистеме может привести к ее перегрузке! Используйте наушники или микшер.
Если ЖК-дисплей неисправен, нажмите несколько раз для перехода в меню «Инструменты» - ЖК-дисплей будет сброшен.
Демо:
OscPocketO Synth
Режимы:
НАЧАЛО . Запускает и останавливает секвенсор.
СИНХРОНИЗАЦИЯ . Устанавливает режим синхронизации. НЕТ =сигналы синхронизации не принимаются и не передаются. INT =internal, используются встроенные часы OscPocketO и отправляются сигналы синхронизации (режим проводника). EXT =external, секвенсор OscPocketO управляется внешним сигналом, но сигналы синхронизации по-прежнему отправляются (режим Player).
ШАБЛОН . Выберите текущий узор.
ИЗМЕНИТЬ . Отредактируйте текущий паттерн. Ноты сохраняются как значения MIDI в 1 такте (16 x 1/16 ноты).
СОСТОЯНИЕ . Отредактируйте состояние заметок:X =включено, O =выключено.
TEMPO . Установите темп секвенсора.
ВОРОТА . Установите гейт играемых нот. Гейт выражается с увеличением 1/16.
SHIFT . Транспонировать (ВВЕРХ / ВНИЗ) и сдвинуть последовательность (ВЛЕВО / ВПРАВО).
ВОЛНА . Установите форму волны (первого) осциллятора:SIN (синус), TRI (треугольник), SAW (пилообразная) и SQUARE (квадрат).
АТАКА . Установите время атаки в мс.
ВЫПУСК . Установите время выпуска в мс.
FILTERMODE . OscPocketO имеет фильтр нижних частот. Cutoff можно модулировать:
- ИСПРАВЛЕНО. Без модуляции, используйте значения Cutoff и Resonance.
- СЛУЧАЙНЫЙ. Случайная модуляция от 0 до значения Cutoff.
- МЕДЛЕННО. Модуляция примерно 4 бара от 0 до 255. Изменяет значение Cutoff.
- БЫСТРО. Модуляция на протяжении примерно 1 бара от 0 до 255. Изменяет значение Cutoff.
ВЫРЕЗАТЬ . Установите частоту среза фильтра (в виде числа от 0 до 255).
РЕЗОНАНС . Установите резонанс фильтра (в виде числа от 0 до 255).
WAVEFORM2 . Активируйте и установите форму волны второго осциллятора:NONE (выкл.), SIN (синус), TRI (треугольник), SAW (пилообразная) и SQUARE (квадрат).
DETUNE2 . Расстройка второго осциллятора относительно первого. Значение указывается в Гц и добавляется к частоте первого генератора.
ИГРАТЬ . Режим клавиатуры. Секвенсор останавливается (если он запущен), и 4 первые ноты текущего паттерна отображаются на ВЛЕВО, ВВЕРХ, ВНИЗ и ВПРАВО.
ИНСТРУМЕНТЫ . Утилиты. Активируйте с помощью ВВЕРХ.
- С. Сохраните настройки и паттерны синтезатора в EEPROM, чтобы их можно было вызвать после выключения питания.
- Л. Загрузите настройки синтезатора и паттерны из EEPROM.
- Р. Создать случайный узор.
- Б. Создайте паттерн Bassline на основе текущей ноты.
- К. Копировать текущий узор в следующую позицию шаблона.
Барабаны OscPocketO
OscPocketO Drumscan воспроизводит 5 одновременных звуков, созданных виртуальным аналоговым синтезатором благодаря библиотеке Mozzi:Kick, Snare, Hihat, Clap и Crash.
Режимы:
НАЧАЛО . Запускает и останавливает секвенсор.
СИНХРОНИЗАЦИЯ . Устанавливает режим синхронизации. НЕТ =сигналы синхронизации не принимаются и не передаются. INT =internal, используются встроенные часы OscPocketO и отправляются сигналы синхронизации (режим проводника). EXT =external, секвенсор OscPocketO управляется внешним сигналом, но сигналы синхронизации по-прежнему отправляются (режим Player).
ШАБЛОН . Выберите текущий узор.
ИЗМЕНИТЬ . Отредактируйте текущий паттерн. Значения нот создаются путем добавления значений, соответствующих различным звукам:
- Удар =1
- Малый барабан =2
- Hihat =4
- Хлопок =8
- Сбой =16
- Том =32
Пример:значение 17 означает, что на этом шаге будут воспроизводиться Kick (1) и Crash (16), 1 + 16 =17.
TEMPO . Установите темп секвенсора.
ВОРОТА . Установите затвор сигнала SYNC OUT. Гейт выражается с увеличением 1/16.
EDITKICK . Установите частоту удара, время затухания и крутизну (как быстро снижается частота звука), где большее значение =более быстрое падение.
EDITSNARE . Установите частоту малого барабана, время восстановления и крутизну (как быстро звук падает по частоте), где большее значение =более быстрое падение.
ЭДИТИХАТ . Установите частоту с некоторыми интересными шаговыми значениями и временем восстановления.
EDITCLAP . Установите время выпуска.
EDITCRASH. Установите время выпуска.
РЕДАКТИРОВАТЬ . Установите частоту тома, время восстановления и крутизну (как быстро звук падает по частоте), где большее значение =более быстрое падение.
ИГРАТЬ . Сольный режим. ВЛЕВО =бочка, ВВЕРХ =малый барабан, ВНИЗ =Том и ВПРАВО =сбой.
ИНСТРУМЕНТЫ . Утилиты. Активируйте с помощью ВВЕРХ.
- С. Сохраняйте шаблоны в EEPROM, чтобы их можно было вызывать после выключения питания.
- Л. Загрузите шаблоны из EEPROM.
- Р. Создать случайный узор.
- Б. Создайте повторяющийся узор на основе текущей заметки.
- К. Копировать текущий узор в следующую позицию шаблона.
Синхронизация нескольких машин OscPocketO
Один OscPocketO должен быть проводником. Это машина, которая отправляет данные синхронизации другим OscPocketO:s, именуемым Player.
1.Настройка
Подключите GND (землю) всех подключенных OscPocketO:s. См. Инструкцию по сборке, чтобы узнать, как сделать подходящий кабель.
Дирижер. Пуск:Стоп. Синхронизация:Внутренний.
Игрок (и). Старт:Стоп. Синхронизация:Внешний. Начало:Играть. (Порядок важен.)
Подключите SYNC OUT от проводника к SYNC IN первого игрока.
Если у вас несколько игроков, подключите SYNC OUT от первого игрока к SYNC IN на втором плеере. Повторите для каждого игрока.
2. Играть
Дирижер. Начало:Играть.
Вы можете настраивать звуки и шаблоны переключения на всех OPO. Вы меняете темп (только) на дирижере.
Сборка оборудования
1.ЖК-экран клавиатуры
Перед установкой экрана ЖК-клавиатуры мы должны убедиться, что он не подключен к контакту 10 (D10) на Arduino. D10 обычно используется для управления подсветкой (яркостью) ЖК-дисплея. Но мы собираемся использовать D10 для аудио.
Чтобы это сработало, вам нужно согнуть штифт на щите, который входит в D10 на Arduino. Бендить на 90 градусов.
На этом изображении задней панели Arduino показан изогнутый штифт экрана (1) и аудиосвязь с Arduino (2), которую мы собираемся исправить в следующем шаге.
Теперь прикрепите экран ЖК-клавиатуры.
ЖК-дисплей и кнопки подключены к Arduino щитом:
- ЖК-дисплей:D4, D5, D6, D7, D8, D9
- Кнопки:A1
Кнопка RST (Reset) сбрасывает (перезапускает) Arduino и не используется программным обеспечением.
2. аудиоразъем
Аудиоразъем подключается к D10 и GND на Arduino. Библиотека Mozzi обычно работает с D9, но поскольку это соединение используется экраном ЖК-клавиатуры, мы должны внести некоторые изменения в библиотеку Mozzi. Это описано в разделе «Программное обеспечение» позже.
Припаяйте цветной провод к «кончику» аудиоразъема (сигнальный), а черный провод к муфте (GND =земля).
Припаяйте цветной провод к D10 Arduino. Поскольку мы уже прикрепили экран, используйте пайку D10 на задней панели Arduino. Припаяйте черный провод к GND Arduino, который находится на верхней части экрана.
3.Синхронизация
Разрежьте соединительные кабели «мама-мама» пополам и припаяйте одну часть к D11 (SYNC IN), одну часть к D12 (SYNC OUT) и одну часть к GND.
4. Поместите его в коробку
Для надежности поместите OscPocketO в коробку и закрепите кабели и аудиоразъем.
5. Изготовление кабеля / провода для заземления синхронизации
Возьмите длинный соединительный кабель «папа-вилка», удалите часть изоляции в середине и припаяйте отрезанный вилочный кабель. Теперь все три (или более) концевых штифта соединяются.
Установка программного обеспечения
Подключите Arduino к компьютеру, на котором запущена Arduino IDE.
Установите и настройте библиотеку Mozzi
Загрузите и установите Mozzi, следуя инструкциям на Mozzisite:https://sensorium.github.io/Mozzi/download/.
Если вам нужно, узнайте больше об установке библиотек Arduino:https://www.arduino.cc/en/Guide/Libraries.
По умолчанию Mozzi выводит сигнал на D9, но поскольку этот вывод используется экраном LCDKeypad Shield, мы должны изменить его на D10.
В папке библиотек Mozzi найдите и откройте AudioConfigStandardPlus.h в текстовом редакторе.
Измените A на B и B на A в следующих четырех строках, чтобы они выглядели так:
// Используется внутри. Если бы был канал 2, это был бы OCR1B. #Define AUDIO_CHANNEL_1_OUTPUT_REGISTER OCR1B # define AUDIO_CHANNEL_2_OUTPUT_REGISTER OCR1A (...) #define AUDIO_CHANNEL_1_PIN TIMER1_B_PIN // определенный в TimerOne / config / known_16bit_timers.hd
Установите эскиз OscPocketO
Выберите OscPocketO, который вы хотите попробовать:синтезатор или ударные. Откройте thecode_synth / code_synth.ino или code_drums / code_drums.ino в среде Arduino IDE и загрузите их на свой Arduino.
Код
- Код для синтезатора и драм-машины.
Код для синтезатора и драм-машины. Arduino
Нет предварительного просмотра (только загрузка).
Схема
Производственный процесс
- О сверлильных и нарезных станках
- Ленточнопильный станок и промышленная революция
- Ленточнопильный станок и производительность
- 5-осевая обработка и многозадачность
- Мельничный станок и его различные подкатегории
- Токарный центр и технология станков
- Что такое расточно-фрезерный станок?
- Что такое токарно-фрезерный станок с ЧПУ?
- Разновидности токарных станков и их классификация
- Сверлильный станок с механической и ручной подачей