Taula de continguts:

Sintetitzador Arduino MIDI Chiptune: 7 passos (amb imatges)
Sintetitzador Arduino MIDI Chiptune: 7 passos (amb imatges)

Vídeo: Sintetitzador Arduino MIDI Chiptune: 7 passos (amb imatges)

Vídeo: Sintetitzador Arduino MIDI Chiptune: 7 passos (amb imatges)
Vídeo: Four-note polyphony for the AVR ATmega328 synthesiser (2-operator FM) 2024, Juliol
Anonim
Sintetitzador Arduino MIDI Chiptune
Sintetitzador Arduino MIDI Chiptune

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

Coses que necessitaràs
Coses que necessitaràs
Coses que necessitaràs
Coses que necessitaràs
Coses que necessitaràs
Coses que necessitaràs

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

Parts alternatives
Parts alternatives
Parts alternatives
Parts alternatives
Parts alternatives
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

Disposició del tauler de circuits
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

Cablatge
Cablatge
Cablatge
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

Programació mitjançant l'IDE Arduino
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

Prova i ús del sintetitzador
Prova i ús del sintetitzador
Prova i ús del sintetitzador
Prova i ús del sintetitzador
Prova i ús del sintetitzador
Prova i ús del 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: