Cuprins:
- Pasul 1: Lista pieselor
- Pasul 2: Construcție
- Pasul 3: Software
- Pasul 4: Link-uri
- Pasul 5: Utilizarea plăcii Sparkfun cu bibliotecile Adafruit
Video: Sintetizator Micro Midi: 5 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:46
Acest instructiv demonstrează utilizarea cipului VLSI VS1053b Audio și Midi DSP în modul său Midi în timp real. În acest mod acționează ca un sintetizator Midi polifonic GM (General Midi) cu 64 de voci. Un micro Arduino Uno independent controlează un afișaj OLED, trei butoane (funcția Selectare și Sus sau Jos și trece fluxul de date Midi prin DSP audio. Placa muzicală aleasă a fost placa Adafruit VS1053 codec breakout, dar o placă Sparkfun muzică a fost, de asemenea, testat cu succes. Bibliotecile Adafruit VS1053b au fost utilizate în locul Bibliotecii SFEMP3 mult mai mari (recomandată de Sparkfun, deși au și propriul set de biblioteci), deoarece am găsit codul Adafruit mai ușor de înțeles.
Majoritatea codului folosit pentru a controla DSP audio / midi a fost dezvoltat folosind un Arduino Uno conectat la placa audio / midi breakout printr-o placă de verificare. După ce funcțiile s-au dovedit a fi satisfăcătoare, Uno a fost folosit ca programator pentru un ATmega 328 independent, care a fost apoi pus pe un Veroboard de dimensiuni mici de 30x20 împreună cu IC optoizolator 6N139 necesar pe mufa de intrare Midi (un DIN cu 5 pini). De asemenea, a fost conectat un mic ecran OLED (64x48), trei butoane, un LED de activitate Midi și un conector cu butoi de +5 volți pentru alimentare și s-a adăugat conectorul de ieșire stereo audio. Cerințele de alimentare sunt foarte modeste - aproximativ 20 mA la 5 volți.
Pasul 1: Lista pieselor
ATmega328 Micro 28 pini DIP + 28 pini DIP soclu 6N138 sau 6N139 optoizolator + 4 pini DIP Wemos 64x48 I2C OLED Display sau similar Adafruit VS1053b Codec breakout board3 butoane miniaturale 5 pini DIN Midi soclu PCB preferat LED mic oricare culoare. mufa pentru conectarea la un amplificator sau căști Rezistoare: 7 x 10k, 2 x 470 ohm, 2 x 220 ohm Condensatoare: plastic 0.1uF 50v, electrolitic 10uf 25v, 2 x 27 pF ceramică Mici bucăți de Veroboard (30 benzi pe 20 coloane și 4 benzi cu 16 coloane), carcasă din plastic ABS de aproximativ 85x55x25mm, cablare și câteva șuruburi piulițe și șaibe.
Pasul 2: Construcție
Capacul carcasei găzduiește afișajul OLED, cele trei butoane montate pe o altă bucată mică de Veroboard și conectorul de alimentare al butoiului. Placa de circuite Vero principală are două găuri pentru fixarea plăcii Music Breakout deasupra ATmega328. Pentru detalii legate de conexiune, vă rugăm să consultați diagrama plăcii de bandă Fritzing.
ATmega328 programat (vă rugăm să consultați secțiunea următoare pentru cod) este apoi introdus în soclul său, urmat de 6N139 și totul este conectat.
LED-ul este folosit ca indicator de activitate Midi și a fost montat pe partea frontală a incintei. Este conectat la ieșirea D2 a ATmega328 printr-un rezistor de 470 ohmi.
Afișajul OLED utilizează ieșirea de 3,3 volți de pe placa Adafruit pentru alimentare - necesită mai puțin de 20 mA.
Încercați să schimbați cele două conexiuni Midi Din dacă nu auziți niciun sunet la prima utilizare a sintetizatorului.
Pasul 3: Software
Detalii despre schița care ar trebui încărcată pe ATmega328 sunt date în MidA.ino. Există șapte funcții disponibile:
Opțiunea P: Schimbați programul - schimbați instrumentul GM Midi de la 1 la 128 (am folosit de la 0 la 127), cum ar fi un sunet de pian sau de sintetizare. Opțiunea V: Reglați volumul de la 1 la 10. Opțiunea C: Modificați canalul Midi la care va răspunde Synth. Opțiunile sunt Canalul 0, canalul 1, canalul 9 (percuție), canalul 0 și 9 și canalul 1 și 9. Opțiunea R: Activați sau dezactivați efectul de reverberare Opțiunea S: Salvați parametrii curenți în memoria Eeprom (sus) sau Citiți-l (jos) din memoria Eeprom. Acest lucru se datorează faptului că altfel setările nu sunt salvate la oprire. Opțiunea X: Trimiteți un mesaj pentru toate notele (Midi Reset).
A opta opțiune nu este încă implementată - aceasta va ocoli ATmega ca filtru Midi și va conecta ieșirea optoizolatorului direct la pinul Rx al plăcii DSP.
Rețineți că VS1053b pornește într-un mod Midi în timp real, încărcând un patch comprimat de 1039 octeți în timpul pornirii - aceasta crește, de asemenea, dimensiunea tamponului Midi și filtrează octeții de date Midi exclusivi ai sistemului. Detalii despre acest patch pot fi găsite pe site-ul web VLSI.
O versiune ușor modificată a bibliotecii Adafruit Graphics a fost utilizată pentru a satisface rezoluția de 64x48 pixeli a ecranului OLED - vă rugăm să consultați linkurile date la sfârșit pentru domnul Mcauser. O listă a bibliotecilor necesare este dată în codul schiței.
Important, când schița este executată pentru prima dată pe ATmega328, indiferent dacă este pe un Uno sau independent, codul va încărca presetările parametrilor din ATmega328 Eeprom care ar putea să nu fie valabile. În acest caz, puteți fie să scrieți toate zero-urile pe Eeprom folosind opțiunea X cu butonul în jos, fie să comentați linia din funcția de configurare nulă care încarcă valori de la Eeprom la prima pornire, reglați instrumentele etc. și apoi salvați presetările cu opțiunea S butonul Sus.
Se acordă credit tuturor persoanelor și entităților menționate pentru codul și bibliotecile lor.
Pasul 4: Link-uri
VLSI:
Adafruit:
Github VS1053b:
Grafică Github:
Oled:
Sparkfun:
Pasul 5: Utilizarea plăcii Sparkfun cu bibliotecile Adafruit
Tabelul din imagine explică cum să conectați fie Adafruit, fie Sparkfun Music Boards pentru a utiliza o altă bibliotecă.
Recomandat:
Sintetizator de apă cu MakeyMakey și Scratch: 6 pași (cu imagini)
Sintetizator de apă cu MakeyMakey și Scratch: Folosirea MakeyMakey pentru a transforma diferite materiale în comutatoare sau butoane și astfel a declanșa mișcări sau sunete pe computer este o afacere fascinantă. Se învață ce material conduce impulsul curent slab și poate inventa și experimenta cu i
Sintetizator analogic / organ minunat folosind numai componente discrete: 10 pași (cu imagini)
Sintetizator analogic / organ minunat folosind doar componente discrete: sintetizatoarele analogice sunt foarte interesante, dar și destul de dificil de realizat. am nevoie de câteva sub-circuite de bază: un oscilator simplu cu rezistență
Primul meu sintetizator: 29 de pași (cu imagini)
Primul meu sintetizator: sintetizatorul pentru copii a apărut în timp ce stăteam ghemuit peste o mizerie încurcată de fire de sintetizator. Prietenul meu Oliver a venit, a evaluat situația și a spus: „Știi că ai reușit să faci cea mai complicată jucărie pentru copii din lume”. În timp ce r-ul meu inițial
Phono-Chronoxyle - un sintetizator de 360 de grade: 3 pași (cu imagini)
Phono-Chronoxyle - un sintetizator de 360 de grade: sculptor Julien Signolet din Paris și muzicianul Mathias Durand m-a abordat pentru o instalație sonoră interactivă la Parc Floral din Paris pentru Nuit Blanche 2019. Instalația ar fi pe ușă și nu aș fi prezent în
Sintetizator Arduino MIDI Chiptune: 7 pași (cu imagini)
Sintetizator Arduino MIDI Chiptune: retrăiește distracția muzicii timpurii a jocurilor pe computer cu un sintetizator autentic Chiptune 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 AY-3- 8910 genuri de sunet programabile