Taula de continguts:
- Pas 1: coses que necessitareu
- Pas 2: parts alternatives
- Pas 3: Disposició del tauler de circuits
- Pas 4: Cablatge
- Pas 5: Programació mitjançant l'IDE Arduino
- Pas 6: provar i utilitzar el sintetitzador
- Pas 7: notes al peu
Vídeo: Sintetitzador Arduino MIDI Chiptune: 7 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:13
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 xip generador de so programable AY-3-8910 (o un dels seus molts clons) per recrear el so dels anys 80. A diferència dels molts dissenys que necessiten programari especialitzat per editar música, sembla un dispositiu MIDI USB estàndard. El sintetitzador té un algorisme intel·ligent que tracta de fer reproduir les notes musicalment més rellevants; en molts casos, podeu llançar directament fitxers MIDI sense editar i la melodia surt immediatament. El cost total hauria de ser d’uns 20 lliures.
Pas 1: coses que necessitareu
La llista completa de parts, com veieu a les imatges, és la següent:
- Clon Sparkfun Pro Micro (opció de 5 V, 16 MHz). He utilitzat aquest a Amazon.
- Xip Yamaha YM2149F PSG. Tinc el meu d’Ebay.
- 2 condensadors ceràmics de 100nF
- 1 cadascuna de resistències 75R, 1K i 100K (la qualificació de 1/4 de watt està bé).
- Condensador de disc ceràmic de 4,7 nF
- Condensador electrolític 1uF (tensió nominal> 5V).
- Endoll IC DIP de 40 pins de 0,6"
- Capçaleres de 2 x 12 vies de 0,1 "(aquesta de CPC)
- Tauler de prototipatge, 3 "per 2" aprox. Vaig comprar un paquet massiu d'aquests, de nou a Amazon.
- Connector fono muntat en PCB
- Cable de nucli sòlid en miniatura (com aquest).
També necessitareu un soldador, soldador, talladores de filferro, alicates i un filferro.
Pas 2: parts alternatives
Xips alternatius de generador de so programable
El YM2149 que he fet servir és un clon de l'IC General Instruments AY-3-8910 original. (El primer prototip feia servir un AY-3-8910 que vaig comprar a eBay, però va resultar que el generador de soroll blanc no funcionava. Cara trista). Podeu utilitzar qualsevol d'aquest projecte sense cap canvi.
General Instruments també va fer variants AY-3-8912 i AY-3-8913, que era el mateix silici dins de paquets més petits, sense alguns pins d'E / S addicionals. Aquests pins no són necessaris per a cap propòsit d'àudio i aquest projecte no els fa servir. Podeu utilitzar un AY-3-8912 o un -8913, només cal que seguiu els pinouts que es mostren més amunt.
Arduinos alternatius
El "Pro Micro" que he fet servir és una còpia de la placa Pro Micro de Sparkfun. Si no esteu segurs del codi Arduino, és millor que us quedeu amb això; si voleu adaptar el disseny, necessitareu les següents especificacions
- Dispositius ATmega 16u4 o 32u4 (necessaris per actuar com a dispositius MIDI USB; els ATmega 168 o 328 no poden fer-ho).
- Funcionament de 5 V (l'AY-3-8910 funciona a 5 V) i velocitat de rellotge de 16 MHz.
-
Almenys 13 línies d'E / S digitals.
El pin PB5 del port ha d'estar connectat (s'utilitza per generar un senyal de rellotge d'1 MHz). Al Pro Micro s’utilitza com a pin E / S D9
Les taules Arduino Leonardo i Micro s’adapten a la factura, tot i que no les he provat.
Altres components
Les resistències i condensadors que s’utilitzen aquí no són particularment especials. Qualsevol part del valor correcte (aproximadament) hauria de funcionar.
Pas 3: Disposició del tauler de circuits
Per construir el circuit, és millor començar posicionant els endolls, i després afegir les resistències i els condensadors. Cobrirem el cablejat junts al següent pas.
Utilitzant la imatge anterior com a guia, col·loqueu el sòcol IC de 40 pins, gireu el tauler i torneu a soldar primer en dos pins d’angle oposats. Si el sòcol no està estirat contra el tauler, és fàcil de solucionar tornant a soldar un o altres passadors. Quan estigui bé, soldeu la resta.
Col·loqueu els dos endolls de 12 pins i, a continuació, introduïu-hi l'Arduino per mantenir-los verticals i estables durant la soldadura. Una vegada més, soldar dos passadors a cada extrem primer permetrà una comprovació abans de la soldadura final.
Per al sòcol de sortida d'àudio, he utilitzat un trepant petit per ampliar els forats del PCB, ja que les etiquetes de muntatge són bastant grans.
Pas 4: Cablatge
Un cop posicionats els components principals, es poden connectar a la part posterior de la placa, seguint el circuit anterior.
Els components de sortida d'àudio (R2, R3, C2, C3) i els condensadors de desacoblament (C1, C4) es poden connectar amb un cable de nucli sòlid (o talles de cables derivats de components). Ara es poden fer les connexions de terra i alimentació des de l’Arduino fins al xip PSG (cables vermells i negres, a la imatge).
Les diverses sortides del Pro Micro estan connectades a l'AY-3-8910 de la següent manera (vegeu la guia de connexió per a assignacions de pins):
Pin Arduino Signal AY-3-8910
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)
Pas 5: Programació mitjançant l'IDE Arduino
Si no coneixeu Arduino, us recomanaria que proveu un dels molts tutorials bàsics. La guia de connexió de Sparkfun proporciona detalls complets. Podeu comprovar que la programació bàsica funciona si seguiu el tutorial "Blinkies". Els arduinos poden ser una mica difícils de convèncer al mode 'bootloader' (on podeu carregar esbossos nous), de manera que és útil una mica de pràctica amb un exemple senzill.
Quan estigueu contents, descarregueu el fitxer chiptunes.ino adjunt a aquesta pàgina i creeu-lo i pengeu-lo. (He comprovat que l'ús del tipus de placa "Arduino / Genuino Micro" està bé per a aquest esbós, si voleu ometre la instal·lació del suport de la placa Sparkfun).
Tingueu en compte també que, si utilitzeu un Mac, cal canviar la configuració "Port" un cop hàgiu carregat l'esbós per primera vegada. Amb un Arduino "en blanc" (o amb l'esbós Blinky) apareixerà com una cosa com /dev/cu.usbmodemXXXX, tal com es mostra a la imatge superior. Quan el dispositiu USB MIDI estigui actiu (tal com utilitza l'esbós chiptunes.ino), serà /dev/cu.usbmodemMID1.
Pas 6: provar i utilitzar el sintetitzador
Un cop l'Arduino està programat, l'estació de treball hauria de reconèixer-lo automàticament com a dispositiu MIDI USB. Apareixerà amb el nom "Arduino Micro": hauríeu de poder veure-ho al Gestor de dispositius a Windows o a l'aplicació "Informació del sistema" a Mac OS.
En un Mac, podeu utilitzar l’aplicació Audio MIDI Setup per fer una prova bàsica. Inicieu l'aplicació i trieu Finestra -> Mostra MIDI Studio. Això farà aparèixer la finestra MIDI Studio (totes les interfícies MIDI apareixeran en una disposició lleugerament aleatòria), que amb sort inclourà el dispositiu 'Arduino Micro'. Si feu clic a la icona "Configuració de la prova" a la barra d'eines i, a continuació, feu clic a la fletxa cap avall (vegeu la imatge) al dispositiu Arduino Micro, l'aplicació enviarà notes MIDI al sintetitzador. (Aquests no són especialment melòdics!) El sintetitzador hauria de fer alguns sons aleatoris en aquest moment.
A continuació, podeu afegir "Arduino Micro" com a dispositiu de sortida a la configuració MIDI de l'estació de treball d'àudio digital i començar a jugar.
- El sintetitzador respon als canals MIDI 1 a 4. Cada canal té un so diferent (bé, un embolcall de volum diferent).
- S’accepten notes MIDI entre 24 i 96 (C1-C7); les notes fora d’aquest interval s’ignoren.
-
El canal MIDI 10 reprodueix sons de bateria. Tingueu en compte els números entre 35 i 50 (vegeu
www.midi.org/specifications-old/item/gm-level-1-sound-set) s’accepten.
- Hi ha tres canals de veu a l'AY-3-8910. El microprogramari del sintetitzador intenta reproduir la nota enviada més recentment, mentre manté les notes més altes i les més baixes sol·licitades actualment. Altres notes (generalment les notes centrals d’un acord) es tallen si cal.
I això és tot. Diverteix-te!
Pas 7: notes al peu
Sobre la melodia de demostració
La melodia de demostració, la famosa ària de la reina de la nit de Mozart, es va crear raonablement ràpidament a partir d’un fitxer MIDI que vaig trobar a Internet (https://www.midiworld.com/mozart.htm). Algú més va fer tot el treball dur!
Estic fent servir Presonus Studio One en un Mac i el fitxer MIDI s’ha importat a quatre pistes separades. Es necessitava una petita quantitat d'edició quan les notes d'acompanyament fossin superiors a la melodia principal i per eliminar alguns dels problemes més desagradables entre notes.
L’àudio que escolteu al clip és directament del sintetitzador, amb només un toc d’equalitzador i saturació per donar-li una sensació de baixa fi de “màquina arcade”.
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
El sintetitzador Arduino: 20 passos (amb imatges)
El sintetitzador Arduino: Arduino és capaç d’emetre so a través d’una biblioteca que s’ha desenvolupat anomenada Biblioteca de tons. En crear una interfície i un programa que pot cridar certs valors per a la sortida d’una sortida d’àudio, el sintetitzador Arduino és una eina robusta per
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
Sintetitzador Micro Midi: 5 passos (amb imatges)
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