Taula de continguts:

Sintetitzador Micro Midi: 5 passos (amb imatges)
Sintetitzador Micro Midi: 5 passos (amb imatges)

Vídeo: Sintetitzador Micro Midi: 5 passos (amb imatges)

Vídeo: Sintetitzador Micro Midi: 5 passos (amb imatges)
Vídeo: ✨Теплый, уютный и очень удобный женский кардиган на пуговицах спицами! Расчет на любой размер!Часть1 2024, De novembre
Anonim
Sintetitzador Micro Midi
Sintetitzador Micro Midi
Sintetitzador Micro Midi
Sintetitzador Micro Midi
Sintetitzador Micro Midi
Sintetitzador Micro Midi

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ó

Construcció
Construcció
Construcció
Construcció
Construcció
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

Ús del tauler Sparkfun amb les biblioteques Adafruit
Ús del 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: