Taula de continguts:
- Pas 1: llista de peces
- Pas 2: construcció
- Pas 3: programari
- Pas 4: enllaços
- Pas 5: utilitzar el tauler Sparkfun amb les biblioteques Adafruit
Vídeo: Sintetitzador Micro Midi: 5 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:16
Aquest instructiu demostra l’ús del xip VLSI VS1053b Audio i Midi DSP en el seu mode Midi en temps real. En aquest mode, actua com a sintetitzador Midi polifònic de 64 veus GM (General Midi). Un micro independent Arduino Uno controla una pantalla OLED, tres botons (selecció de funcions i amunt o avall, i passa el flux de dades Midi al DSP d’àudio. La placa de música escollida va ser la placa de separació de còdecs Adafruit VS1053, però una placa de separació de música Sparkfun També es van provar amb èxit. Les biblioteques Adafruit VS1053b es van utilitzar en lloc de la biblioteca SFEMP3 molt més gran (recomanada per Sparkfun tot i que també tenen el seu propi conjunt de biblioteques), perquè el codi Adafruit em va resultar més fàcil d’entendre.
La majoria del codi utilitzat per controlar el DSP d’àudio / midi es va desenvolupar mitjançant un Arduino Uno connectat a la placa de sortida d’àudio / midi a través d’una placa de control. Després que les funcions funcionessin satisfactòriament, l’Uno es va utilitzar com a programador per a un ATmega 328 autònom que es va posar en un petit Veroboard de mida 30x20 juntament amb l’IC opto-aïllador 6N139 requerit a la presa d’entrada Midi (un DIN de 5 pins). També es va connectar un petit blindatge OLED (64x48), tres botons, un LED d'activitat Midi i un connector de barril de +5 volts per alimentar i el connector de sortida estèreo d'àudio afegit. Els requisits d’alimentació són molt modestos: uns 20 mA a 5 volts.
Pas 1: llista de peces
ATmega328 Micro 28 pin DIP + 28 pin Presa DIP 6N138 o 6N139 optoisolador + Presa DIP de 4 pins Wemos 64x48 ILED Display O2C o similar Adaptador VS1053b Tauler de separació de codecs 3 polsadors en miniatura 5 pins Socket DIN Midi Muntatge de PCB preferit LED petit de qualsevol color. presa per connectar-se a un amplificador o auriculars Resistors: 7 x 10k, 2 x 470 ohm, 2 x 220 ohm Condensadors: plàstic 0,1uF 50v, electrolític de 10uf 25v, ceràmica de 2x27 pF Petites peces de Veroboard (30 tires per 20 columnes i 4 tires) per 16 columnes), caixa de plàstic ABS d’uns 85x55x25mm, cablejat i uns cargols de rosques i femelles.
Pas 2: construcció
La tapa del recinte conté la pantalla OLED, els tres botons que es munten en un altre tros petit de Veroboard i el connector d'alimentació del barril. La placa de circuit principal Vero té dos forats per fixar la placa de sortida de música per sobre de l'ATmega328. Per obtenir informació sobre la connexió, consulteu el diagrama del tauler de tires Fritzing.
L'ATmega328 programat (si us plau, consulteu la secció següent per al codi) s'insereix al seu sòcol seguit del 6N139 i tot està connectat.
El LED s’utilitza com a indicador d’activitat Midi i es va muntar a la part frontal del recinte. Està connectat a la sortida D2 de l'ATmega328 mitjançant una resistència de 470 ohm.
La pantalla OLED utilitza la sortida de 3,3 volts de la placa Adafruit per alimentar-se; requereix menys de 20 mA.
Proveu de canviar les dues connexions Midi Din si no sentiu cap so quan utilitzeu el sintetitzador per primera vegada.
Pas 3: programari
Els detalls de l’esbós que s’ha de penjar a l’ATmega328 es donen a MidA.ino. Hi ha set funcions disponibles:
Opció P: Canviar programa: canvieu l’instrument GM Midi d’1 a 128 (he utilitzat de 0 a 127), com ara un so de piano o sintetitzador. Opció B: canvieu el banc d’instruments entre Melòdic (Banc 0) i Percussió (Banc 1). Opció V: ajusteu el volum de l’1 al 10. Opció C: canvieu el canal Midi al qual respondrà Synth. Les opcions són Canal 0, canal 1, canal 9 (percussió), canal 0 i 9 i canal 1 i 9. Opció R: Activa o desactiva l’efecte Reverb Opció S: desa els paràmetres actuals a la memòria Eeprom (amunt) o Torneu a llegir-lo (avall) des de la memòria Eeprom. Això es deu al fet que la configuració no es desa en apagar-se. Opció X: enviar un missatge de totes les notes (Midi Reset).
Encara no s’ha implementat una vuitena opció: això evitarà l’ATmega com a filtre Midi i connectarà la sortida de l’optoisolador directament al pin Rx de la placa DSP.
Tingueu en compte que el VS1053b arrenca en mode Midi en temps real carregant un pegat comprimit de 1039 bytes durant l’arrencada - això també augmenta la mida del buffer Midi i filtra els bytes de dades Midi exclusius del sistema. Els detalls d’aquest pegat es poden trobar al lloc web de VLSI.
S'ha utilitzat una versió lleugerament modificada de la biblioteca de gràfics Adafruit per atendre la resolució de 64x48 píxels de la pantalla OLED. Consulteu els enllaços que es donen al final per al senyor Mcauser. Es mostra una llista de les biblioteques necessàries al codi d'esbós.
És important destacar que quan l’esbós s’executa per primera vegada a l’ATmega328, ja sigui en un Uno o en autònom, el codi carregarà els paràmetres predefinits de l’ATmega328 Eeprom que potser no siguin vàlids. En aquest cas, podeu escriure tots els zeros a l’Eeprom mitjançant l’opció X amb el botó avall o bé comentar la línia de la funció de configuració del buit que carrega els valors de l’Eeprom quan s’inicia, ajusteu els instruments, etc. i, a continuació, deseu els paràmetres predeterminats amb l'opció S botó Amunt.
Es dóna crèdit a totes les persones i entitats esmentades pel seu codi i biblioteques.
Pas 4: enllaços
VLSI:
Adafruit:
Github VS1053b:
Gràfics Github:
Oled:
Sparkfun:
Pas 5: utilitzar el tauler Sparkfun amb les biblioteques Adafruit
La taula de la imatge explica com connectar l'Adafruit o els Sparkfun Music Boards per utilitzar una altra biblioteca.
Recomanat:
Sintetitzador d'aigua amb MakeyMakey i Scratch: 6 passos (amb imatges)
Sintetitzador d'aigua amb MakeyMakey i Scratch: utilitzar MakeyMakey per transformar diferents materials en interruptors o botons i, per tant, activar moviments o sons a l'ordinador és un assumpte fascinant. S’aprèn quin material condueix l’impuls de corrent feble i es pot inventar i experimentar amb
Impressionant sintetitzador analògic / òrgan que utilitza només components discrets: 10 passos (amb imatges)
Increïble sintetitzador analògic / òrgan que utilitza només components discrets: els sintetitzadors analògics són molt divertits, però també són molt difícils de fabricar. necessito alguns sub-circuits bàsics: un oscil·lador senzill amb resis
Font d'alimentació del sintetitzador modular: 10 passos (amb imatges)
Font d'alimentació del sintetitzador modular: si esteu construint un sintetitzador modular, definitivament necessiteu una font d'alimentació. La majoria dels sintetitzadors modulars requereixen un sistema de doble carril (0V, + 12V i -12V són típics), i també pot ser útil tenir un carril de 5V també si esteu planejant
Sintetitzador Arduino MIDI Chiptune: 7 passos (amb imatges)
Sintetitzador MIDI Chiptune Arduino: reviu la diversió de la música dels primers jocs d’ordinador amb un autèntic sintetitzador Chiptune de 8 bits, que podeu controlar mitjançant MIDI des de la comoditat de qualsevol programari DAW modern. Aquest senzill circuit utilitza un Arduino per conduir un AY-3-. 8910 gèneres de so programables
Controlador de llum de tira LED 5V MIDI per al Spielatron o un altre sintetitzador MIDI: 7 passos (amb imatges)
Controlador de llum de tira LED 5V MIDI per a Spielatron o un altre sintetitzador MIDI: aquest control parpelleja llums de tires LED tricolors per 50 mS per nota. Blau per a G5 a D # 6, vermell per a E6 a B6 i verd per a C7 a G7. El controlador és un dispositiu MIDI ALSA perquè el programari MIDI pugui emetre als LED alhora que un sintetitzador MIDI