Оглавление:

Синтезатор MIDI Chiptune Arduino: 7 шагов (с изображениями)
Синтезатор MIDI Chiptune Arduino: 7 шагов (с изображениями)

Видео: Синтезатор MIDI Chiptune Arduino: 7 шагов (с изображениями)

Видео: Синтезатор MIDI Chiptune Arduino: 7 шагов (с изображениями)
Видео: КАК СОЗДАТЬ 8 БИТНУЮ МУЗЫКУ / Chiptune 2024, Июль
Anonim
Синтезатор MIDI Chiptune на Arduino
Синтезатор MIDI Chiptune на Arduino

Оживите удовольствие от ранней компьютерной игровой музыки с помощью аутентичного 8-битного синтезатора Chiptune, которым вы можете управлять по MIDI, не выходя из любого современного программного обеспечения DAW.

Эта простая схема использует Arduino для управления чипом программируемого звукового генератора AY-3-8910 (или одним из его многочисленных клонов) для воссоздания звука 1980-х годов. В отличие от многих проектов, которым требуется специальное программное обеспечение для редактирования музыки, это выглядит как стандартное устройство USB MIDI. У синтезатора есть умный алгоритм, который пытается сохранить наиболее важные музыкальные ноты; во многих случаях вы можете бросить прямо на него неотредактированные MIDI-файлы, и мелодия сразу же выйдет. Общая стоимость должна составлять около 20 фунтов стерлингов.

Шаг 1. Вещи, которые вам понадобятся

Вещи, которые вам понадобятся
Вещи, которые вам понадобятся
Вещи, которые вам понадобятся
Вещи, которые вам понадобятся
Вещи, которые вам понадобятся
Вещи, которые вам понадобятся

Полный список деталей для этого, как вы видите на изображениях, выглядит следующим образом:

  • Sparkfun Pro Micro clone (опция 5 В, 16 МГц). Я использовал это на Amazon.
  • Микросхема Yamaha YM2149F PSG. Я получил свой на eBay.
  • 2 керамических конденсатора по 100 нФ
  • По 1 резистору 75R, 1K и 100K (подойдет 1/4 Вт).
  • Керамический дисковый конденсатор 4,7 нФ
  • Электролитический конденсатор емкостью 1 мкФ (номинальное напряжение> 5 В).
  • 40-контактное гнездо DIP IC диаметром 0,6 дюйма
  • 2 x 12-сторонних 0,1-дюймовых заголовка (этот от CPC)
  • Макетная доска, 3 "на 2" прибл. Я купил их оптом, снова на Amazon.
  • Гнездо для фонокорректора на печатной плате
  • Миниатюрный одножильный провод (вот такой).

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

Шаг 2: альтернативные детали

Альтернативные части
Альтернативные части
Альтернативные части
Альтернативные части
Альтернативные части
Альтернативные части

Альтернативные программируемые микросхемы звукового генератора

YM2149, который я использовал, является клоном оригинальной микросхемы General Instruments AY-3-8910. (В первом прототипе использовался AY-3-8910, который я купил на eBay, но оказалось, что генератор белого шума не работает. Печальное лицо). Вы можете использовать любой из них для этого проекта без каких-либо изменений.

General Instruments также выпустила варианты AY-3-8912 и AY-3-8913, которые представляли собой тот же самый кремний внутри меньших корпусов, без некоторых дополнительных контактов ввода / вывода. Эти контакты не нужны ни для каких звуковых целей, и в этом проекте они не используются. Вы можете использовать AY-3-8912 или -8913, просто следуйте выводам, показанным выше.

Альтернативные Arduinos

Я использовал "Pro Micro" - это копия платы Pro Micro от Sparkfun. Если вы не уверены в коде Arduino, лучше придерживаться этого; если вы счастливы адаптировать дизайн, вам понадобятся следующие спецификации

  • Устройство ATmega 16u4 или 32u4 (необходимо для работы в качестве устройства USB MIDI; ATmega 168 или 328 не может этого сделать).
  • Работа 5 В (AY-3-8910 работает при 5 В) и тактовая частота 16 МГц.
  • Не менее 13 линий цифрового ввода / вывода.

    Контакт порта PB5 должен быть подключен (он используется для генерации тактового сигнала 1 МГц). На Pro Micro он используется как вывод ввода-вывода D9

Платы Arduino Leonardo и Micro подходят под все требования, хотя я их не пробовал.

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

Используемые здесь резисторы и конденсаторы не особо особенные. Любые части (приблизительно) правильного значения должны работать.

Шаг 3: Размещение печатной платы

Расположение печатной платы
Расположение печатной платы

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

Используя рисунок выше в качестве руководства, расположите 40-контактный разъем IC, переверните плату и просто припаяйте сначала два противоположных угловых контакта. Если разъем не прилегает к плате, это легко исправить, перепаяв тот или иной штифт. Когда все в порядке, припаяйте остальные.

Расположите два 12-контактных разъема, затем вставьте в них Arduino, чтобы удерживать их вертикально и устойчиво во время пайки. Опять же, припаивание сначала двух контактов на каждом конце позволит проверить перед окончательной пайкой.

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

Шаг 4: Подключение

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

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

Компоненты аудиовыхода (R2, R3, C2, C3) и развязывающие конденсаторы (C1, C4) могут быть соединены одножильным проводом (или отрезками выводов компонентов). Теперь можно выполнить заземление и подключение питания от Arduino к микросхеме PSG (красный и черный провода на рисунке).

Различные выходы Pro Micro подключаются к AY-3-8910 следующим образом (назначение контактов см. В руководстве по подключению):

Сигнал Arduino AY-3-8910 pin

DA0 D2 37 DA1 D3 36 DA2 D4 35 DA3 D5 34 DA4 D6 33 DA5 D7 32 DA6 D8 31 DA7 A0 / D18 30 BC1 D10 29 BC2 MOSI / D16 28 BDIR MISO / D14 27 RESET # SCLK / D15 23 CLOCK D9 22 (через R1, 75 Ом)

Шаг 5: Программирование с использованием Arduino IDE

Программирование с использованием Arduino IDE
Программирование с использованием Arduino IDE

Если вы новичок в Arduino, я настоятельно рекомендую попробовать одно из многих руководств по основам. Руководство по подключению Sparkfun дает полную информацию. Вы можете проверить, работает ли базовое программирование, следуя руководству "Blinkies". Arduinos может быть немного сложно убедить в режиме «загрузчика» (где вы можете загружать новые скетчи), поэтому немного попрактикуйтесь на простом примере.

Когда вы будете довольны, загрузите файл chiptunes.ino, прикрепленный к этой странице, создайте и загрузите его. (Я обнаружил, что использование платы типа «Arduino / Genuino Micro» подходит для этого скетча, если вы хотите пропустить установку поддержки платы Sparkfun).

Также обратите внимание, что если вы используете Mac, настройку «Порт» нужно будет изменить после первой загрузки скетча. С «пустым» Arduino (или с использованием скетча Blinky) он будет выглядеть как что-то вроде /dev/cu.usbmodemXXXX, как показано на рисунке выше. Когда USB-MIDI-устройство активно (используемое в скетче chiptunes.ino), это будет /dev/cu.usbmodemMID1.

Шаг 6: Тестирование и использование синтезатора

Тестирование и использование синтезатора
Тестирование и использование синтезатора
Тестирование и использование синтезатора
Тестирование и использование синтезатора
Тестирование и использование синтезатора
Тестирование и использование синтезатора

После программирования Arduino ваша рабочая станция должна автоматически распознать его как USB-MIDI-устройство. Он появится с именем «Arduino Micro» - вы должны увидеть это в диспетчере устройств в Windows или в приложении «Информация о системе» в Mac OS.

На Mac вы можете использовать приложение Audio MIDI Setup для запуска базового теста. Запустите приложение, затем выберите «Окно» -> «Показать MIDI Studio». Это вызовет окно MIDI Studio - все ваши MIDI-интерфейсы появятся в немного случайном порядке - которое, надеюсь, будет включать устройство Arduino Micro. Если вы щелкните значок «Test Setup» на панели инструментов, а затем щелкните стрелку вниз (см. Рисунок) на устройстве Arduino Micro, приложение отправит MIDI-ноты на синтезатор. (Они не особенно мелодичны!) На этом этапе синтезатор должен издавать несколько случайных звуков.

Затем вы можете добавить Arduino Micro в качестве устройства вывода к MIDI-настройкам вашей цифровой аудиосистемы и начать играть!

  • Синтезатор реагирует на MIDI-каналы с 1 по 4. Каждый канал имеет разный звук (ну, разную огибающую громкости).
  • Принимаются ноты MIDI от 24 до 96 (C1-C7); примечания вне этого диапазона игнорируются.
  • MIDI-канал 10 воспроизводит звуки ударных. Обратите внимание на числа от 35 до 50 (см.

    www.midi.org/specifications-old/item/gm-level-1-sound-set) принимаются.

  • В AY-3-8910 есть три голосовых канала. Прошивка синтезатора пытается воспроизвести последнюю отправленную ноту, сохраняя при этом самые высокие и самые низкие запрошенные в данный момент ноты. Другие ноты (обычно средние ноты в аккорде) при необходимости обрезаются.

Вот и все. Повеселись!

Шаг 7: сноски

О демо-мелодии

Демо-мелодия - знаменитая ария Моцарта «Королева ночи» - была создана достаточно быстро из MIDI-файла, который я нашел в Интернете (https://www.midiworld.com/mozart.htm). Кто-то другой сделал всю тяжелую работу!

Я использую Presonus Studio One на Mac, и файл MIDI был импортирован на четыре отдельных трека. Небольшой объем редактирования требовался там, где ноты аккомпанемента выше основной мелодии, а также для устранения некоторых наиболее нежелательных перебоев между нотами.

Звук, который вы слышите в клипе, исходит прямо из синтезатора, с легким прикосновением к эквалайзеру и насыщенности, чтобы придать ему ощущение low-fi «аркадной машины».

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