Mundarija:

Arduino MIDI Chiptune sintezatori: 7 qadam (rasmlar bilan)
Arduino MIDI Chiptune sintezatori: 7 qadam (rasmlar bilan)

Video: Arduino MIDI Chiptune sintezatori: 7 qadam (rasmlar bilan)

Video: Arduino MIDI Chiptune sintezatori: 7 qadam (rasmlar bilan)
Video: AVR MIDI NES-style chiptune synthesizer test 2024, Noyabr
Anonim
Arduino MIDI Chiptune sintezatori
Arduino MIDI Chiptune sintezatori

8-bitli chiptune sintezatori yordamida kompyuter o'yinlarining dastlabki zavqlanishidan zavqlaning, siz MIDI-ni har qanday zamonaviy DAW dasturidan boshqarishingiz mumkin.

Bu oddiy sxema 1980-yillarning ovozini qayta tiklash uchun AY-3-8910 dasturlashtiriladigan ovoz generatori chipini (yoki uning klonlaridan birini) haydash uchun Arduino-dan foydalanadi. Musiqani tahrir qilish uchun maxsus dasturiy ta'minot kerak bo'lgan ko'plab dizaynlardan farqli o'laroq, bu standart USB MIDI qurilmasiga o'xshaydi. Sintezatorda aqlli algoritm mavjud bo'lib, u musiqaga eng mos yozuvlarni ijro etishga harakat qiladi; ko'p hollarda siz MIDI fayllarini to'g'ridan-to'g'ri tashlab yuborishingiz mumkin, va ohang darhol chiqadi. Umumiy xarajat taxminan 20 funt bo'lishi kerak.

1 -qadam: Sizga kerak bo'lgan narsalar

Sizga kerak bo'ladigan narsalar
Sizga kerak bo'ladigan narsalar
Sizga kerak bo'ladigan narsalar
Sizga kerak bo'ladigan narsalar
Sizga kerak bo'ladigan narsalar
Sizga kerak bo'ladigan narsalar

Buning to'liq qismlari ro'yxati, rasmlarda ko'rib turganingizdek, quyidagicha:

  • Sparkfun Pro Micro klon (5V, 16MGts variant). Men buni Amazonda ishlatganman.
  • Yamaha YM2149F PSJ chipi. Men o'zimni eBay -dan oldim.
  • 2 x 100nF sopol kondansatörler
  • 75R, 1K va 100K rezistorlarning har biri 1 ta (1/4 vatt ko'rsatkichi yaxshi).
  • 4.7nF seramika diskli kondansatör
  • 1uF elektrolitik kondansatör (kuchlanish darajasi> 5V).
  • 40 pinli 0,6 dyuymli DIP IC uyasi
  • 2 x 12 tomonlama 0,1 dyuymli sarlavhalar (bu CPCdan)
  • Prototiplash taxtasi, taxminan 3 "dan 2" gacha. Men Amazon -dan yana bir to'plamini sotib oldim.
  • PCB -ga o'rnatiladigan fono soket
  • Miniatyurali qattiq yadroli sim (shunga o'xshash).

Bundan tashqari, sizga lehimlantiruvchi temir, lehim, sim kesgichlar, qisqichlar va simlarni ajratuvchi kerak bo'ladi.

2 -qadam: muqobil qismlar

Muqobil qismlar
Muqobil qismlar
Muqobil qismlar
Muqobil qismlar
Muqobil qismlar
Muqobil qismlar

Alternativ dasturlashtiriladigan ovoz generatorlari chiplari

Men ishlatgan YM2149-bu AY-3-8910 IC umumiy asboblarining klonidir. (Birinchi prototipda men eBay-dan sotib olgan AY-3-8910 ishlatilgan, lekin oq shovqin generatori ishlamayotgani ma'lum bo'ldi. G'amgin yuz). Siz ushbu loyihani o'zgartirmasdan ishlatishingiz mumkin.

General Instruments AY-3-8912 va AY-3-8913 variantlarini ham ishlab chiqargan, ular kichikroq paketlar ichida bir xil kremniy bo'lib, qo'shimcha kiritish-chiqarish pimlari bo'lmagan. Bu pinlar hech qanday audio maqsadda kerak emas va bu loyiha ularni ishlatmaydi. Siz AY-3-8912 yoki -8913 dan foydalanishingiz mumkin, faqat yuqorida ko'rsatilgan pinoutlarga rioya qiling.

Muqobil Arduino

Men ishlatgan "Pro Micro" - bu Sparkfun Pro Micro kartasining nusxasi. Agar siz Arduino kodiga ishonchingiz komil bo'lmasa, bunga amal qilish yaxshiroqdir; Agar siz dizaynni moslashtirishdan xursand bo'lsangiz, sizga quyidagi xususiyatlar kerak bo'ladi

  • ATmega 16u4 yoki 32u4 qurilmasi (USB MIDI qurilmasi vazifasini bajarish uchun kerak; ATmega 168 yoki 328 buni qila olmaydi).
  • 5V ish (AY-3-8910 5V da ishlaydi) va soat tezligi 16 MGts.
  • Kamida 13 ta raqamli kiritish -chiqarish liniyasi.

    PB5 portli pin ulanishi kerak (u 1 MGtsli soat signalini ishlab chiqarish uchun ishlatiladi). Pro Micro -da bu D9 I/U pin sifatida ishlatiladi

Arduino Leonardo va Micro taxtalari ham loyihaga mos keladi, lekin men ularni sinab ko'rmaganman.

Boshqa komponentlar

Bu erda ishlatiladigan rezistorlar va kondansatörler, ayniqsa, alohida emas. To'g'ri qiymatning har qanday qismlari (taxminan) ishlashi kerak.

3 -qadam: O'chirish kartasini yotqizish

O'chirish kartasini yotqizish
O'chirish kartasini yotqizish

Devrenni qurish uchun rozetkalarni joylashtirishdan boshlash yaxshidir, keyin rezistorlar va kondansatkichlarni qo'shing. Keyingi bosqichda biz ularni bir -biriga ulashni ko'rib chiqamiz.

Qo'llanma sifatida yuqoridagi rasmdan foydalanib, 40-pinli IC rozetkasini joylashtiring, taxtani ag'daring va avval qarama-qarshi ikkita burchak pimiga lehimlang. Agar rozetka taxtaga tekkizilmagan bo'lsa, u yoki boshqa pinni qayta lehimlash orqali tuzatish oson. Yaxshi bo'lganda, qolganlarini lehimlang.

12-pinli ikkita rozetkani joylashtiring, so'ngra Arduino-ni lehim paytida vertikal va barqaror ushlab turish uchun joylashtiring. Shunga qaramay, har bir uchida ikkita pinni lehimlash, oxirgi lehimdan oldin tekshirishga imkon beradi.

Ovoz chiqish rozetkasi uchun men PCB teshiklarini kattalashtirish uchun kichik matkapdan foydalandim, chunki o'rnatish teglari juda katta.

4 -qadam: simni ulash

Ulanish
Ulanish
Ulanish
Ulanish

Asosiy komponentlar joylashtirilgandan so'ng, yuqoridagi sxemaga muvofiq, ularni taxtaning orqa tomoniga ulash mumkin.

Ovoz chiqish komponentlari (R2, R3, C2, C3) va ajratuvchi kondansatörler (C1, C4) qattiq yadroli sim bilan ulanishi mumkin (yoki komponent simlarining uzilishi). Endi Arduinodan PSG chipiga (rasmda qizil va qora simlar) er va quvvat ulanishlari amalga oshirilishi mumkin.

Pro Micro-ning turli xil chiqishlari AY-3-8910 ga quyidagicha ulanadi (pin tayinlash uchun ulash qo'llanmasiga qarang):

Signal Arduino AY-3-8910 pinli

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 (orqali R1, 75 ohm)

5 -qadam: Arduino IDE yordamida dasturlash

Arduino IDE yordamida dasturlash
Arduino IDE yordamida dasturlash

Agar siz Arduino -da yangi bo'lsangiz, men asoslar bo'yicha ko'plab darsliklardan birini sinab ko'rishni tavsiya qilaman. Sparkfun -ni ulash bo'yicha qo'llanma to'liq ma'lumot beradi. "Blinkies" qo'llanmasiga amal qilib, asosiy dasturlash ishlayotganini tekshirishingiz mumkin. Arduinosni "bootloader" rejimiga ko'ndirish biroz qiyin bo'lishi mumkin (bu erda siz yangi eskizlarni yuklashingiz mumkin), shuning uchun oddiy misol bilan ozgina mashq qilish foydali bo'ladi.

Xursand bo'lganingizdan so'ng, ushbu sahifaga biriktirilgan chiptunes.ino faylini yuklab oling va uni tuzing va yuklang. (Agar siz Sparkfun platasini qo'llab -quvvatlashni o'tkazib yubormoqchi bo'lsangiz, "eskiz uchun" Arduino/Genuino Micro "taxtasi turini ishlatish to'g'ri ekanligini aniqladim).

E'tibor bering, agar siz Mac -da bo'lsangiz, eskizni birinchi marta yuklaganingizdan so'ng, "Port" sozlamasini o'zgartirish kerak bo'ladi. "Bo'sh" Arduino bilan (yoki Blinky eskiz yordamida), yuqoridagi rasmda ko'rsatilgandek, /dev/cu.usbmodemXXXX kabi ko'rinadi. USB MIDI qurilmasi faol bo'lsa (chiptunes.ino eskizida ishlatilgandek) u /dev/cu.usbmodemMID1 bo'ladi.

6 -qadam: Synth -ni sinab ko'rish va ishlatish

Sinxronizatsiyani sinab ko'rish va ishlatish
Sinxronizatsiyani sinab ko'rish va ishlatish
Sinxronizatsiyani sinab ko'rish va ishlatish
Sinxronizatsiyani sinab ko'rish va ishlatish
Sinxronizatsiyani sinab ko'rish va ishlatish
Sinxronizatsiyani sinab ko'rish va ishlatish

Arduino dasturlashtirilgandan so'ng, sizning ish stantsiyangiz uni avtomatik ravishda USB MIDI qurilmasi sifatida tan olishi kerak. U "Arduino Micro" nomi bilan paydo bo'ladi - siz buni Windows -dagi Device Manager yoki Mac OS -dagi "System Information" ilovasida ko'rishingiz kerak.

Mac -da, asosiy testni o'tkazish uchun Audio MIDI Setup ilovasidan foydalanishingiz mumkin. Ilovani ishga tushiring, so'ng Oyna -> MIDI Studio -ni ko'rsatish -ni tanlang. Bu MIDI Studio oynasini ochadi - sizning barcha MIDI interfeyslaringiz biroz tasodifiy tartibda paydo bo'ladi - umid qilamanki "Arduino Micro" qurilmasini o'z ichiga oladi. Agar siz asboblar panelidagi "Testni sozlash" belgisini bosgan bo'lsangiz va Arduino Micro qurilmasidagi pastdagi o'qni (rasmga qarang) bosganingizda, dastur MIDI yozuvlarini sintezga yuboradi. (Bu ayniqsa soz emas!) Sintez bu vaqtda tasodifiy tovushlar chiqarishi kerak.

Siz "Arduino Micro" ni raqamli audio ish stantsiyasining MIDI sozlamalariga chiqish qurilmasi sifatida qo'shishingiz va o'ynashni boshlashingiz mumkin!

  • Synth MIDI kanallarida 1 dan 4 gacha javob beradi. Har bir kanalning ovozi har xil (yaxshi, boshqa konvertli konvert).
  • MIDI yozuvlari 24 dan 96 gacha (C1-C7) qabul qilinadi; bu diapazondan tashqaridagi eslatmalar e'tiborga olinmaydi.
  • MIDI 10 -kanal baraban tovushlarini ijro etadi. 35 dan 50 gacha raqamlarga e'tibor bering

    www.midi.org/specifications-old/item/gm-level-1-sound-set) qabul qilinadi.

  • AY-3-8910da uchta ovozli kanal mavjud. Synth dasturiy ta'minoti eng oxirgi yuborilgan eslatmani ijro etishga harakat qiladi, ayni paytda so'ralayotgan eng yuqori va eng past eslatmalar saqlanib qoladi. Agar kerak bo'lsa, boshqa notalar (odatda akkordning o'rta notalari) kesiladi.

Va bu haqida. Maza qiling!

7 -qadam: Izohlar

Demo qo'shiq haqida

Demo -soz - Motsartning mashhur "Qirolicha malikasi" ariyasi - Internetda topilgan MIDI faylidan juda tez yaratilgan (https://www.midiworld.com/mozart.htm). Hamma mashaqqatli ishni boshqa birov qildi!

Men Mac -da Presonus Studio One -dan foydalanayapman va MIDI fayli to'rtta alohida trekka import qilingan. Qo'shiq yozuvlari asosiy ohangdan yuqori bo'lgan va notalar orasidagi eng yoqimsiz nosozliklarni olib tashlash uchun oz miqdordagi tahrir kerak edi.

Klipda eshitiladigan audio to'g'ridan-to'g'ri sintezatordan, faqat EQ va to'yinganlikdan iborat bo'lib, unga "arja mashinasi" past ovozli tuyg'usini beradi.

Tavsiya: