Cuprins:

Sintetizator Arduino MIDI Chiptune: 7 pași (cu imagini)
Sintetizator Arduino MIDI Chiptune: 7 pași (cu imagini)

Video: Sintetizator Arduino MIDI Chiptune: 7 pași (cu imagini)

Video: Sintetizator Arduino MIDI Chiptune: 7 pași (cu imagini)
Video: Arduino MIDI chord player 2024, Noiembrie
Anonim
Sintetizator Arduino MIDI Chiptune
Sintetizator Arduino MIDI Chiptune

Retrăiește distracția muzicii timpurii a jocurilor pe computer cu un sintetizator chiptune autentic pe 8 biți, pe care îl poți controla prin MIDI din confortul oricărui software DAW modern.

Acest circuit simplu folosește un Arduino pentru a conduce un cip generator de sunet programabil AY-3-8910 (sau una dintre numeroasele sale clone) pentru a recrea sunetul din anii 1980. Spre deosebire de numeroasele modele care necesită software specializat pentru a edita muzică, acesta arată ca un dispozitiv USB MIDI standard. Sintetizatorul are un algoritm inteligent care încearcă să păstreze cele mai relevante note muzicale; în multe cazuri puteți arunca direct fișiere MIDI neditate și melodia iese imediat. Costul total ar trebui să fie de aproximativ 20 GBP.

Pasul 1: Lucruri de care ai nevoie

Lucruri de care ai nevoie
Lucruri de care ai nevoie
Lucruri de care ai nevoie
Lucruri de care ai nevoie
Lucruri de care ai nevoie
Lucruri de care ai nevoie

Lista completă a pieselor pentru aceasta, după cum vedeți în imagini, este următoarea:

  • Clonă Sparkfun Pro Micro (5V, opțiune 16MHz). L-am folosit pe Amazon.
  • Cip Yamaha YM2149F PSG. Am primit-o pe a mea de la eBay.
  • 2 x condensatori ceramici 100nF
  • 1 fiecare din rezistențe 75R, 1K și 100K (valoarea nominală de 1/4 wați este bună).
  • Condensator cu disc ceramic de 4,7 nF
  • Condensator electrolitic 1uF (tensiune nominală> 5V).
  • Priză IC 40 DIP 0.6 "cu 40 pini
  • 2 x 12 direcții de 0,1 "antet (acesta de la CPC)
  • Placă de prototipare, 3 "pe 2" aprox. Am cumpărat un pachet vrac din acestea, din nou pe Amazon.
  • Priză fono montată pe PCB
  • Sârmă miniatură cu miez solid (ca aceasta).

Veți avea nevoie, de asemenea, de un fier de lipit, de lipit, de tăietori de sârmă, de clește și de o sârmă.

Pasul 2: Piese alternative

Piese alternative
Piese alternative
Piese alternative
Piese alternative
Piese alternative
Piese alternative

Generatoare de sunet programabile alternative

YM2149 pe care l-am folosit este o clonă a originalului IC General Instruments AY-3-8910. (Primul prototip a folosit un AY-3-8910 pe care l-am cumpărat de pe eBay, dar sa dovedit că generatorul de zgomot alb nu funcționa. Față tristă). Puteți utiliza fie pentru acest proiect, fără modificări.

General Instruments a realizat, de asemenea, variante AY-3-8912 și AY-3-8913, care era același siliciu în pachete mai mici, fără niște pini I / O în plus. Acești pini nu sunt necesari în niciun scop audio, iar acest proiect nu le folosește. Puteți utiliza un AY-3-8912 sau -8913, trebuie doar să urmați pinouturile de mai sus.

Arduino alternativ

„Pro Micro” pe care l-am folosit este o copie a plăcii Pro Micro de la Sparkfun. Dacă nu aveți încredere în codul Arduino, cel mai bine este să respectați acest lucru; dacă doriți să adaptați designul, veți avea nevoie de următoarele specificații

  • Dispozitiv ATmega 16u4 sau 32u4 (necesar pentru a acționa ca un dispozitiv USB MIDI; ATmega 168 sau 328 nu poate face acest lucru).
  • Funcționare de 5V (AY-3-8910 funcționează la 5V) și viteza de ceas de 16 MHz.
  • Cel puțin 13 linii I / O digitale.

    Pinul de port PB5 trebuie să fie conectat (este utilizat pentru a genera un semnal de ceas de 1 MHz). Pe Pro Micro acesta este folosit ca pin D9 I / O

Ambele plăci Arduino Leonardo și Micro se potrivesc facturii, deși nu le-am încercat.

Alte componente

Rezistențele și condensatoarele utilizate aici nu sunt deosebit de speciale. Orice părți de (aproximativ) valoarea corectă ar trebui să funcționeze.

Pasul 3: Dispunerea plăcii de circuit

Dispunerea plăcii de circuit
Dispunerea plăcii de circuit

Pentru a construi circuitul, cel mai bine este să începeți prin poziționarea prizelor, apoi să adăugați rezistențe și condensatoare. Vom acoperi cablarea acestora împreună în pasul următor.

Folosind imaginea de mai sus ca ghid, poziționați priza IC cu 40 de pini, întoarceți placa și lipiți mai întâi în doi pini de colț opuși. Dacă soclul nu este așezat plat pe tablă, este ușor de remediat prin revânzarea unuia sau a altui știft. Când este OK, lipiți restul.

Poziționați cele două prize cu 12 pini, apoi introduceți Arduino în ele pentru a le menține verticale și stabile în timpul lipirii. Din nou, lipirea a două pini la fiecare capăt mai întâi va permite o verificare înainte de lipirea finală.

Pentru mufa de ieșire audio, am folosit un burghiu mic pentru a mări găurile PCB, deoarece etichetele de montare sunt destul de mari.

Pasul 4: Cablarea

Cablare
Cablare
Cablare
Cablare

Odată ce componentele majore sunt poziționate, acestea pot fi conectate pe spatele plăcii, urmând circuitul de mai sus.

Componentele de ieșire audio (R2, R3, C2, C3) și condensatoarele de decuplare (C1, C4) pot fi conectate cu un fir solid (sau întreruperi ale cablurilor componente). Conexiunile de masă și de alimentare de la Arduino la cipul PSG (fire roșii și negre, în imagine) pot fi făcute acum.

Diversele ieșiri ale Pro Micro sunt conectate la AY-3-8910 după cum urmează (consultați ghidul de conectare pentru atribuirea pinilor):

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

Pasul 5: Programarea utilizând Arduino IDE

Programare folosind IDE-ul Arduino
Programare folosind IDE-ul Arduino

Dacă sunteți nou în Arduino, v-aș recomanda să încercați unul dintre numeroasele tutoriale de bază. Ghidul de conectare al Sparkfun oferă detalii complete. Puteți verifica dacă programarea de bază funcționează urmând tutorialul „Blinkies”. Arduino-urile pot fi un pic dificil de convins în modul „bootloader” (unde puteți încărca schițe noi), așa că este util un pic de practică cu un exemplu simplu.

După ce vă bucurați, descărcați fișierul chiptunes.ino atașat la această pagină și creați-l și încărcați-l. (Am constatat că utilizarea tipului de placă „Arduino / Genuino Micro” este OK pentru această schiță, dacă doriți să ignorați instalarea suportului pentru placă Sparkfun).

De asemenea, rețineți că, dacă sunteți pe un Mac, setarea „Port” va trebui modificată după ce ați încărcat schița pentru prima dată. Cu un Arduino „gol” (sau folosind schița Blinky) va apărea ca ceva de genul /dev/cu.usbmodemXXXX, așa cum se arată în imaginea de mai sus. Când dispozitivul USB MIDI este activ (așa cum este utilizat de schița chiptunes.ino), acesta va fi /dev/cu.usbmodemMID1.

Pasul 6: Testarea și utilizarea Synth

Testarea și utilizarea Synth
Testarea și utilizarea Synth
Testarea și utilizarea Synth
Testarea și utilizarea Synth
Testarea și utilizarea Synth
Testarea și utilizarea Synth

Odată ce Arduino este programat, stația dvs. de lucru ar trebui să o recunoască automat ca dispozitiv USB MIDI. Va apărea cu numele „Arduino Micro” - ar trebui să puteți vedea acest lucru în Device Manager în Windows sau în aplicația „Informații de sistem” din Mac OS.

Pe un Mac, puteți utiliza aplicația Audio MIDI Setup pentru a rula un test de bază. Porniți aplicația, apoi alegeți Window -> Show MIDI Studio. Aceasta va afișa fereastra MIDI Studio - toate interfețele MIDI vor apărea într-un aranjament ușor aleatoriu - care, sperăm, va include dispozitivul „Arduino Micro”. Dacă faceți clic pe pictograma „Test Setup” din bara de instrumente, apoi faceți clic pe săgeata în jos (a se vedea imaginea) de pe dispozitivul Arduino Micro, aplicația va trimite note MIDI către synth. (Acestea nu sunt deosebit de plăcute!) În acest moment, sintetizatorul ar trebui să scoată câteva sunete aleatorii.

Apoi, puteți adăuga „Arduino Micro” ca dispozitiv de ieșire la configurarea MIDI a stației dvs. de lucru Digital Audio și începeți să redați!

  • Sintetizatorul răspunde pe canalele MIDI de la 1 la 4. Fiecare canal are un sunet diferit (bine, un volum diferit).
  • Se acceptă note MIDI între 24 și 96 (C1-C7); notele în afara acestui interval sunt ignorate.
  • Canalul MIDI 10 redă sunete de tobe. Notați numerele între 35 și 50 (a se vedea

    www.midi.org/specifications-old/item/gm-level-1-sound-set) sunt acceptate.

  • Există trei canale vocale pe AY-3-8910. Firmware-ul synth încearcă să redea cea mai recentă notă trimisă, păstrând în același timp cele mai mari și mai mici note solicitate în prezent. Alte note (de obicei notele de mijloc într-o coardă) sunt tăiate dacă este necesar.

Și cam atât. A se distra!

Pasul 7: Note de subsol

Despre melodia demo

Melodia demo - celebra arie a reginei nopții a lui Mozart - a fost creată destul de repede dintr-un fișier MIDI pe care l-am găsit pe internet (https://www.midiworld.com/mozart.htm). Altcineva a făcut toată truda!

Folosesc Presonus Studio One pe un Mac, iar fișierul MIDI a fost importat pe patru piese separate. A fost necesară o cantitate mică de editare în cazul în care notele de însoțire sunt mai mari decât melodia principală și pentru a elimina unele dintre problemele mai inacceptabile dintre note.

Sunetul pe care îl auziți pe clip este direct de la sintetizator, cu o simplă atingere de EQ și saturație pentru a-i oferi o senzație low-fi de „mașină arcadă”.

Recomandat: