Mündəricat:

Arduino MIDI Chiptune Sintezatoru: 7 addım (şəkillərlə)
Arduino MIDI Chiptune Sintezatoru: 7 addım (şəkillərlə)

Video: Arduino MIDI Chiptune Sintezatoru: 7 addım (şəkillərlə)

Video: Arduino MIDI Chiptune Sintezatoru: 7 addım (şəkillərlə)
Video: ЧИПТЮН & MIDI GAME BOY - ARDUINO BOY | TEENSY BOY | RETROPLUG VST 2024, Noyabr
Anonim
Arduino MIDI Chiptune Sintezatoru
Arduino MIDI Chiptune Sintezatoru

Hər hansı bir müasir DAW proqramının rahatlığından MIDI-ni idarə edə biləcəyiniz orijinal 8 bitlik çipton sintezatoru ilə erkən kompüter oyunu musiqisinin əyləncəsini yaşayın.

Bu sadə sxem, 1980-ci illərin səsini yenidən yaratmaq üçün AY-3-8910 proqramlaşdırıla bilən səs generatoru çipini (və ya çoxlu klonlarından birini) idarə etmək üçün Arduino istifadə edir. Musiqini redaktə etmək üçün xüsusi proqrama ehtiyacı olan bir çox dizayndan fərqli olaraq, bu standart USB MIDI cihazına bənzəyir. Sintezatorun ən musiqi ilə əlaqəli qeydləri çalmağa çalışan ağıllı bir alqoritmi var; bir çox hallarda redaktə edilməmiş MIDI fayllarını birbaşa oraya ata bilərsiniz və melodiyalar dərhal çıxır. Ümumi xərc təxminən 20 funt sterlinq olmalıdır.

Addım 1: Ehtiyac duyacağınız şeylər

Ehtiyac duyacağınız şeylər
Ehtiyac duyacağınız şeylər
Ehtiyac duyacağınız şeylər
Ehtiyac duyacağınız şeylər
Ehtiyac duyacağınız şeylər
Ehtiyac duyacağınız şeylər

Şəkillərdə gördüyünüz kimi bunun tam hissə siyahısı belədir:

  • Sparkfun Pro Micro klonu (5V, 16MHz seçimi). Bunu Amazonda istifadə etdim.
  • Yamaha YM2149F PSG çipi. EBay -dan aldım.
  • 2 x 100nF keramika kondansatörləri
  • 75R, 1K və 100K rezistorlardan hər biri (1/4 vat dərəcəsi yaxşıdır).
  • 4.7nF keramika disk kondansatörü
  • 1 uF elektrolitik kondansatör (gərginlik dərəcəsi> 5 V).
  • 40 pin 0,6 "DIP IC yuvası
  • 2 x 12 yollu 0.1 "başlıqlar (bu CPC -dən)
  • Prototip lövhəsi, təxminən 3 "x 2" Yenidən Amazon -da bunların toplu paketini aldım.
  • PCB montajlı fono yuvası
  • Miniatür bərk nüvəli tel (bu kimi).

Ayrıca bir lehimləmə dəmiri, lehim, tel kəsicilər, kəlbətinlər və tel çıxarıcıya ehtiyacınız olacaq.

Addım 2: Alternativ hissələr

Alternativ hissələr
Alternativ hissələr
Alternativ hissələr
Alternativ hissələr
Alternativ hissələr
Alternativ hissələr

Alternativ proqramlaşdırıla bilən səs generatoru çipləri

İstifadə etdiyim YM2149, orijinal Ümumi Alətlər AY-3-8910 IC-nin bir klonudur. (İlk prototip eBay-dən aldığım AY-3-8910 istifadə etdi, amma ağ səs-küy generatorunun işləmədiyi üzə çıxdı. Kədərli üz). Bu layihə üçün heç bir dəyişiklik etmədən istifadə edə bilərsiniz.

General Instruments, kiçik I/O pinləri olmadan kiçik paketlərdə eyni silikon olan AY-3-8912 və AY-3-8913 variantlarını da hazırladı. Bu sancaqlar heç bir audio məqsəd üçün lazım deyil və bu layihə onlardan istifadə etmir. Bir AY-3-8912 və ya -8913 istifadə edə bilərsiniz, sadəcə yuxarıda göstərilən pinoutlara əməl edin.

Alternativ Arduino

İstifadə etdiyim "Pro Micro", Sparkfun Pro Micro lövhəsinin bir nüsxəsidir. Arduino kodundan əmin deyilsinizsə, buna əməl etməyiniz daha yaxşıdır; dizaynı uyğunlaşdırmaqdan xoşbəxtsinizsə, aşağıdakı xüsusiyyətlərə ehtiyacınız olacaq

  • ATmega 16u4 və ya 32u4 cihazı (USB MIDI cihazı kimi fəaliyyət göstərmək üçün lazımdır; ATmega 168 və ya 328 bunu edə bilməz).
  • 5V əməliyyat (AY-3-8910 5V-də işləyir) və 16MHz saat sürəti.
  • Ən azı 13 rəqəmsal I/O xətti.

    Port pin PB5 bağlanmalıdır (1MHz saat siqnalı yaratmaq üçün istifadə olunur). Pro Micro -da bu D9 I/O pin kimi istifadə olunur

Arduino Leonardo və Micro lövhələri qanun layihəsinə uyğundur, baxmayaraq ki, mən sınamamışam.

Digər komponentlər

Burada istifadə olunan rezistorlar və kondansatörler xüsusilə xüsusi deyil. Doğru dəyərin (təxminən) hər hansı bir hissəsi işləməlidir.

Addım 3: Dövrə lövhəsinin qoyulması

Dövrə lövhəsinin çəkilməsi
Dövrə lövhəsinin çəkilməsi

Dövrəni qurmaq üçün prizləri yerləşdirərək başlamaq daha yaxşıdır, sonra rezistorları və kondansatörləri əlavə edin. Növbəti addımda bunları bir araya gətirəcəyik.

Yuxarıdakı şəkli bələdçi olaraq istifadə edərək, 40 pinli IC yuvasını yerləşdirin, lövhəni çevirin və əvvəlcə iki əks künc pinində lehimləyin. Rozet taxtaya söykənməyibsə, bir və ya digər pimi yenidən sataraq düzəltmək asandır. Yaxşı olduqda, qalanını lehimləyin.

İki 12 pinli yuvanı yerləşdirin, sonra lehimləmə zamanı şaquli və sabit tutmaq üçün Arduino'yu daxil edin. Yenə hər bir ucunda iki sancağın lehimlənməsi, son lehimdən əvvəl yoxlamaya imkan verəcəkdir.

Audio çıxış yuvası üçün montaj etiketləri olduqca böyük olduğu üçün PCB deliklərini genişləndirmək üçün kiçik bir matkap istifadə etdim.

Addım 4: Kabel çəkmə

Bağlama
Bağlama
Bağlama
Bağlama

Əsas komponentlər yerləşdirildikdən sonra yuxarıdakı dövrə uyğun olaraq lövhənin arxasına bağlana bilər.

Səs çıxışı komponentləri (R2, R3, C2, C3) və ayıran kondansatörlər (C1, C4) qatı nüvəli tellə (və ya komponentlərin kəsilmələri) birləşdirilə bilər. Arduinodan PSG çipinə torpaq və güc əlaqələri (şəkildəki qırmızı və qara tellər) artıq edilə bilər.

Pro Micro-nun müxtəlif çıxışları AY-3-8910-a aşağıdakı kimi bağlanır (pin tapşırıqları üçün bağlama təlimatına baxın):

Siqnal 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 SAAT D9 22 (vasitəsilə R1, 75 ohm)

Addım 5: Arduino IDE -dən istifadə edərək proqramlaşdırma

Arduino IDE istifadə edərək proqramlaşdırma
Arduino IDE istifadə edərək proqramlaşdırma

Arduino ilə yenisinizsə, əsaslarla bağlı bir çox dərsdən birini sınamağı şiddətlə məsləhət görürəm. Sparkfun bağlama bələdçisi tam məlumat verir. "Blinkies" dərsini izləyərək əsas proqramlaşdırmanın işlədiyini yoxlaya bilərsiniz. Arduinos 'bootloader' rejiminə (yeni eskizlər yükləyə bilərsiniz) inandırmaq bir az çətin ola bilər, buna görə sadə bir nümunə ilə bir az təcrübə etmək faydalıdır.

Xoşbəxt olduqdan sonra bu səhifəyə əlavə edilmiş chiptunes.ino faylını yükləyin və qurun və yükləyin. (Sparkfun lövhəsi dəstəyinin quraşdırılmasını atmaq istəyirsinizsə, "Arduino/Genuino Micro" lövhə tipinin bu eskiz üçün uyğun olduğunu gördüm).

Həm də unutmayın ki, Mac -da olsanız, eskizi ilk dəfə yüklədikdən sonra "Liman" ayarı dəyişdirilməlidir. 'Boş' bir Arduino ilə (və ya Blinky eskizindən istifadə edərək) yuxarıdakı şəkildə göstərildiyi kimi /dev/cu.usbmodemXXXX kimi bir şey görünəcək. USB MIDI cihazı aktiv olduqda (chiptunes.ino eskizində istifadə edildiyi kimi) /dev/cu.usbmodemMID1 olacaq.

Addım 6: Synth -in sınanması və istifadəsi

Synth -in sınanması və istifadəsi
Synth -in sınanması və istifadəsi
Synth -in sınanması və istifadəsi
Synth -in sınanması və istifadəsi
Synth -in sınanması və istifadəsi
Synth -in sınanması və istifadəsi

Arduino proqramlaşdırıldıqdan sonra iş stansiyanız onu avtomatik olaraq USB MIDI cihazı kimi tanımalıdır. 'Arduino Micro' adı ilə görünəcək - bunu Windows -da Cihaz Menecerində və ya Mac OS -də "Sistem Məlumatı" tətbiqində görə bilməlisiniz.

Mac -da, əsas testi yerinə yetirmək üçün Audio MIDI Setup tətbiqindən istifadə edə bilərsiniz. Tətbiqi başladın, sonra Pəncərə -> MIDI Studiyasını göstər seçin. Bu MIDI Studio pəncərəsini açacaq - bütün MIDI interfeysləriniz bir az təsadüfi bir şəkildə görünəcək - inşallah 'Arduino Micro' cihazını ehtiva edəcək. Alətlər çubuğundakı 'Test Quraşdırması' simgesini tıklayırsınızsa və sonra Arduino Micro cihazındakı aşağı oxu (şəkilə baxın) tıklayırsınızsa, proqram MIDI qeydlərini synthə göndərir. (Bunlar xüsusilə uyğun deyil!) Synth bu nöqtədə təsadüfi səslər çıxarmalıdır.

Daha sonra Digital Audio İş İstasyonunuzun MIDI quruluşuna bir çıxış cihazı olaraq 'Arduino Micro' əlavə edə və oynamağa başlaya bilərsiniz!

  • Synth MIDI kanallarında 1 -dən 4 -ə cavab verir. Hər kanalın fərqli bir səsi var (yaxşı, fərqli bir həcmli zərf).
  • MIDI qeydləri 24 ilə 96 arasında (C1-C7) qəbul edilir; bu aralığın xaricində olan qeydlər nəzərə alınmır.
  • MIDI kanal 10, nağara səslərini ifa edir. 35 ilə 50 arasındakı rəqəmləri qeyd edin (bax

    www.midi.org/specifications-old/item/gm-level-1-sound-set) qəbul edilir.

  • AY-3-8910-da üç səs kanalı var. Synth firmware, ən son göndərilən notu çalmağa çalışır, halbuki tələb olunan ən yüksək və ən aşağı notları hələ də oynayır. Digər notlar (ümumiyyətlə akkorddakı orta notlar) lazım gələrsə kəsilir.

Və bu barədə. Əylənin!

Addım 7: Dipnotlar

Demo mahnısı haqqında

Demo melodiyası - Motsartın məşhur Kraliçası Gecə ariyası - İnternetdə tapdığım bir MIDI faylından (https://www.midiworld.com/mozart.htm) kifayət qədər tez yaradıldı. Bütün ağır işləri başqası etdi!

Mac -da Presonus Studio One istifadə edirəm və MIDI faylı dörd ayrı parçaya idxal edildi. Notların əsas melodiyadan daha yüksək olduğu və notlar arasındakı ən xoşagəlməz qüsurları aradan qaldırmaq üçün az miqdarda düzəlişə ehtiyac var idi.

Klipdə eşitdiyiniz səs, bir az 'arcade maşın' aşağı səs hissi vermək üçün yalnız EQ və doyma ilə bir yerdədir.

Tövsiyə: