Съдържание:

Arduino MIDI Chiptune синтезатор: 7 стъпки (със снимки)
Arduino MIDI Chiptune синтезатор: 7 стъпки (със снимки)

Видео: Arduino MIDI Chiptune синтезатор: 7 стъпки (със снимки)

Видео: Arduino MIDI Chiptune синтезатор: 7 стъпки (със снимки)
Видео: Lo-Fi SAMD21 based mini chip tune synthesizer - Seeed Studio - Seeeduino XIAO arduino project 2024, Юли
Anonim
Arduino MIDI Chiptune синтезатор
Arduino MIDI Chiptune синтезатор

Преживейте забавлението на ранната музика на компютърни игри с автентичен 8-битов синтезатор за чиптън, който можете да контролирате над MIDI от комфорта на всеки съвременен софтуер DAW.

Тази проста схема използва Arduino за управление на AY-3-8910 програмируем чип за генератор на звук (или един от многото му клонинги), за да пресъздаде този звук от 80-те години. За разлика от многото дизайни, които се нуждаят от специализиран софтуер за редактиране на музика, това изглежда като стандартно USB MIDI устройство. Синтезаторът има интелигентен алгоритъм, който се опитва да поддържа най-подходящите за музика ноти; в много случаи можете да хвърлите нередактирани MIDI файлове направо върху него и мелодията излиза веднага. Общата цена трябва да бъде около 20 паунда.

Стъпка 1: Неща, от които се нуждаете

Нещата, от които се нуждаете
Нещата, от които се нуждаете
Нещата, от които се нуждаете
Нещата, от които се нуждаете
Нещата, от които се нуждаете
Нещата, от които се нуждаете

Пълният списък с части за това, както виждате на снимките, е следният:

  • Sparkfun Pro Micro клонинг (опция 5V, 16MHz). Използвах този в Amazon.
  • Yamaha YM2149F чип PSG. Взех моята от eBay.
  • 2 x 100nF керамични кондензатори
  • 1 всеки от 75R, 1K и 100K резистори (1/4 вата е добре).
  • 4.7nF керамичен дисков кондензатор
  • 1uF електролитен кондензатор (напрежение> 5V).
  • 40 пинов 0.6 "DIP IC контакт
  • 2 x 12 начин 0,1 "заглавки (този от CPC)
  • Прототипираща дъска, 3 "на 2" прибл. Купих насипна опаковка от тях, отново в Amazon.
  • Phono гнездо за монтаж на печатни платки
  • Миниатюрен твърдожилен проводник (като този).

Ще ви трябват и поялник, спойка, резачки за тел, клещи и машина за сваляне на тел.

Стъпка 2: Алтернативни части

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

Алтернативни програмируеми чипове за генератор на звук

Използваният от мен YM2149 е клонинг на оригиналния General Instruments AY-3-8910 IC. (Първият прототип използва AY-3-8910, който купих от eBay, но се оказа, че генераторът на бял шум не работи. Тъжно лице). Можете да използвате и двете за този проект без никакви промени.

General Instruments също така направи варианти AY-3-8912 и AY-3-8913, който беше един и същ силиций в по-малки опаковки, без някои допълнителни I/O щифтове. Тези щифтове не са необходими за никакви аудио цели и този проект не ги използва. Можете да използвате AY-3-8912 или -8913, просто следвайте изводите, показани по-горе.

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

"Pro Micro", който използвах, е копие на дъската Pro Micro на Sparkfun. Ако не сте уверени в кода на Arduino, най -добре е да се придържате към това; ако сте щастливи да адаптирате дизайна, ще ви трябват следните спецификации

  • ATmega 16u4 или 32u4 устройство (необходимо за действие като USB MIDI устройство; ATmega 168 или 328 не може да направи това).
  • 5V работа (AY-3-8910 работи при 5V) и 16MHz тактова честота.
  • Най -малко 13 цифрови I/O линии.

    Портът PB5 трябва да бъде свързан (използва се за генериране на тактов сигнал от 1MHz). На Pro Micro това се използва като D9 I/O щифт

Платките 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 щифт

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 ЧАСОВНИК D9 22 (чрез R1, 75 ома)

Стъпка 5: Програмиране с помощта на Arduino IDE

Програмиране с помощта на Arduino IDE
Програмиране с помощта на Arduino IDE

Ако сте нов в Arduino, силно препоръчвам да изпробвате един от многото уроци по основите. Ръководството за свързване на Sparkfun дава пълни подробности. Можете да проверите дали основното програмиране работи, като следвате урока "Blinkies". Arduinos може да бъде малко трудно да убедите в режим „bootloader“(където можете да зареждате нови скици), така че малко практика с прост пример е полезна.

След като сте доволни, изтеглете файла chiptunes.ino, прикачен към тази страница, и го създайте и качете. (Открих, че използването на типа платка "Arduino/Genuino Micro" е ОК за тази скица, ако искате да пропуснете инсталирането на поддръжката на дъската Sparkfun).

Също така имайте предвид, че ако сте на Mac, настройката "Port" ще трябва да бъде променена, след като заредите скицата за първи път. С „празен“Arduino (или с помощта на скицата на Blinky) той ще се появи като нещо като /dev/cu.usbmodemXXXX, както е показано на снимката по -горе. Когато USB MIDI устройството е активно (както се използва от скицата chiptunes.ino), то ще бъде /dev/cu.usbmodemMID1.

Стъпка 6: Тестване и използване на синтезатора

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

След като Arduino е програмиран, вашата работна станция трябва автоматично да го разпознае като USB MIDI устройство. Той ще се появи с името „Arduino Micro“- трябва да можете да го видите в Device Manager в Windows или приложението „System Information“в Mac OS.

На Mac можете да използвате приложението Audio MIDI Setup, за да изпълните основен тест. Стартирайте приложението, след което изберете Window -> Show MIDI Studio. Това ще отвори прозореца на MIDI Studio - всичките ви MIDI интерфейси ще се появят в малко случайно подреждане - което се надяваме да включва устройството „Arduino Micro“. Ако щракнете върху иконата „Тестова настройка“в лентата с инструменти и след това щракнете върху стрелката надолу (вижте снимката) на устройството 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: Бележки под линия

Относно демо мелодията

Демонстрационната мелодия - известната ария Queen of the Night на Моцарт - беше създадена сравнително бързо от MIDI файл, който намерих в интернет (https://www.midiworld.com/mozart.htm). Някой друг свърши цялата упорита работа!

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

Аудиото, което чувате в клипа, е направо от синтезатора, само с докосване на еквалайзер и наситеност, за да му придадете малко усещане за „аркадна машина“с ниско ниво на фий.

Препоръчано: