Indholdsfortegnelse:

Arduino MIDI Chiptune Synthesizer: 7 trin (med billeder)
Arduino MIDI Chiptune Synthesizer: 7 trin (med billeder)

Video: Arduino MIDI Chiptune Synthesizer: 7 trin (med billeder)

Video: Arduino MIDI Chiptune Synthesizer: 7 trin (med billeder)
Video: Arduino synthesizer projects - ESP32 etc. - a compilation of the stuff of this channel from the past 2024, Juli
Anonim
Arduino MIDI Chiptune Synthesizer
Arduino MIDI Chiptune Synthesizer

Genoplev det sjove ved tidlig computerspilmusik med en autentisk 8-bit chiptune-synthesizer, som du kan styre over MIDI fra komforten med enhver moderne DAW-software.

Dette enkle kredsløb bruger en Arduino til at drive en AY-3-8910 programmerbar lydgeneratorchip (eller en af dens mange kloner) til at genskabe den lyd fra 1980'erne. I modsætning til de mange designs, der har brug for specialiseret software til at redigere musik, ligner dette en standard USB MIDI -enhed. Synthesizeren har en smart algoritme, der forsøger at holde de mest musikalsk relevante noter i spil; i mange tilfælde kan du smide uredigerede MIDI-filer lige på den, og melodien kommer lige ud. De samlede omkostninger bør være omkring £ 20.

Trin 1: Ting du skal bruge

Ting du skal bruge
Ting du skal bruge
Ting du skal bruge
Ting du skal bruge
Ting du skal bruge
Ting du skal bruge

Den fulde deleliste til dette, som du ser på billederne, er som følger:

  • Sparkfun Pro Micro -klon (5V, 16MHz option). Jeg brugte denne på Amazon.
  • Yamaha YM2149F PSG -chip. Jeg fik min fra eBay.
  • 2 x 100nF keramiske kondensatorer
  • 1 hver med 75R, 1K og 100K modstande (1/4 watt rating er fint).
  • 4.7nF keramisk disk kondensator
  • 1uF elektrolytkondensator (spændingsværdi> 5V).
  • 40 pin 0,6 "DIP IC stik
  • 2 x 12 vejs 0,1 "headers (denne fra CPC)
  • Prototypebord, 3 "x 2" ca. Jeg købte en massepakke af disse igen på Amazon.
  • PCB -montering phono stik
  • Miniature solid-core wire (som denne).

Du skal også bruge et loddejern, loddemetal, trådskærere, tang og en trådstripper.

Trin 2: Alternative dele

Alternative dele
Alternative dele
Alternative dele
Alternative dele
Alternative dele
Alternative dele

Alternative programmerbare lydgeneratorchips

YM2149 jeg brugte er en klon af det originale General Instruments AY-3-8910 IC. (Den første prototype brugte en AY-3-8910, jeg købte fra eBay, men det viste sig, at den hvide støjgenerator ikke fungerede. Trist ansigt). Du kan bruge enten til dette projekt uden ændringer.

General Instruments lavede også AY-3-8912 og AY-3-8913 varianter, som var det samme silicium inde i mindre pakker, uden nogle ekstra I/O-ben. Disse pins er ikke nødvendige til lydformål, og dette projekt bruger dem ikke. Du kan bruge en AY-3-8912 eller -8913, bare følg pinouts vist ovenfor.

Alternative Arduinos

"Pro Micro", jeg brugte, er en kopi af Sparkfun's Pro Micro -kort. Hvis du ikke er sikker på Arduino -kode, er det bedst at holde sig til dette; Hvis du er glad for at tilpasse designet, skal du bruge følgende specifikationer

  • ATmega 16u4 eller 32u4 enhed (nødvendig for at fungere som en USB MIDI -enhed; ATmega 168 eller 328 kan ikke gøre dette).
  • 5V drift (AY-3-8910 kører ved 5V) og 16MHz clockhastighed.
  • Mindst 13 digitale I/O -linjer.

    Portstift PB5 skal være tilsluttet (det bruges til at generere et 1MHz urssignal). På Pro Micro bruges dette som D9 I/O pin

Arduino Leonardo og Micro boards passer begge til regningen, selvom jeg ikke har prøvet dem.

Andre komponenter

De modstande og kondensatorer, der bruges her, er ikke specielt specielle. Alle dele af (cirka) den rigtige værdi skal fungere.

Trin 3: Udlægning af printkortet

Udlægning af printkortet
Udlægning af printkortet

For at bygge kredsløbet er det bedst at starte med at placere stikkontakterne og derefter tilføje modstande og kondensatorer. Vi dækker tilslutning af disse sammen i det næste trin.

Brug billedet ovenfor som en vejledning, placer den 40-benede IC-fatning, drej brættet om og lod bare i to modsatte hjørnestifter først. Hvis stikkontakten ikke ligger fladt mod brættet, er det let at reparere ved at løse en eller anden pin. Når det er ok, loddes resten.

Placer de to 12-polede stik, og sæt derefter Arduino i dem for at holde dem lodrette og stabile under lodning. Igen vil lodning af to stifter i hver ende først muliggøre en kontrol før endelig lodning.

Til lydudgangsstikket brugte jeg en lille boremaskine til at forstørre PCB -hullerne, da monteringskoderne er ret store.

Trin 4: Tilslutning

Kabelføring
Kabelføring
Kabelføring
Kabelføring

Når hovedkomponenterne er placeret, kan de forbindes på bagsiden af brættet efter kredsløbet ovenfor.

Lydudgangskomponenterne (R2, R3, C2, C3) og afkoblingskondensatorer (C1, C4) kan tilsluttes med solid-core wire (eller afskæringer af komponentledninger). Jord- og strømforbindelserne fra Arduino til PSG -chippen (røde og sorte ledninger, på billedet) kan nu laves.

Pro Micros forskellige udgange er forbundet til AY-3-8910 som følger (se tilslutningsguiden for pin-tildelinger):

Signal Arduino AY-3-8910 pin

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)

Trin 5: Programmering ved hjælp af Arduino IDE

Programmering ved hjælp af Arduino IDE
Programmering ved hjælp af Arduino IDE

Hvis du er ny på Arduino, vil jeg stærkt anbefale at prøve en af de mange selvstudier om det grundlæggende. Sparkfun's tilslutningsguide giver alle detaljer. Du kan kontrollere, at den grundlæggende programmering fungerer ved at følge vejledningen "Blinkies". Arduinos kan være lidt vanskelige at overtale til 'bootloader' -tilstand (hvor du kan indlæse nye skitser), så lidt øvelse med et enkelt eksempel er nyttigt.

Når du er glad, kan du downloade filen chiptunes.ino, der er vedhæftet denne side, og bygge og uploade den. (Jeg har fundet ud af, at brugen af "Arduino/Genuino Micro" -korttypen er OK til denne skitse, hvis du vil springe over installationen af Sparkfun -kortstøtten).

Bemærk også, at hvis du er på en Mac, skal indstillingen "Port" ændres, når du har indlæst skitsen for første gang. Med en 'blank' Arduino (eller ved hjælp af Blinky -skitsen) vil den fremstå som noget /dev/cu.usbmodemXXXX, som vist på billedet ovenfor. Når USB MIDI -enheden er aktiv (som brugt af chiptunes.ino -skitsen) vil den være /dev/cu.usbmodemMID1.

Trin 6: Test og brug af syntesen

Test og brug af syntesen
Test og brug af syntesen
Test og brug af syntesen
Test og brug af syntesen
Test og brug af syntesen
Test og brug af syntesen

Når Arduino er programmeret, skal din arbejdsstation automatisk genkende den som en USB MIDI -enhed. Det vises med navnet 'Arduino Micro' - du skal kunne se dette på Enhedshåndtering i Windows eller appen "Systeminformation" i Mac OS.

På en Mac kan du bruge appen Audio MIDI Setup til at køre en grundlæggende test. Start appen, og vælg derefter Vindue -> Vis MIDI Studio. Dette åbner MIDI Studio -vinduet - alle dine MIDI -grænseflader vises i et lidt tilfældigt arrangement - som forhåbentlig vil indeholde 'Arduino Micro' -enheden. Hvis du klikker på ikonet 'Testopsætning' i værktøjslinjen og derefter klikker på pil ned (se billede) på Arduino Micro -enheden, sender appen MIDI -noter til synthen. (Disse er ikke særlig stemningsfulde!) Synthen skulle lave nogle tilfældige lyde på dette tidspunkt.

Du kan derefter tilføje 'Arduino Micro' som en outputenhed til din Digital Audio Workstation's MIDI -opsætning og begynde at spille!

  • Synthen reagerer på MIDI -kanaler 1 til 4. Hver kanal har en anden lyd (vel, en anden volumenkonvolut).
  • MIDI-noter mellem 24 og 96 (C1-C7) accepteres; noter uden for dette område ignoreres.
  • MIDI kanal 10 afspiller trommelyde. Bemærk tal mellem 35 og 50 (se

    www.midi.org/specifications-old/item/gm-level-1-sound-set) accepteres.

  • Der er tre stemmekanaler på AY-3-8910. Synthes-firmwaren forsøger at afspille den senest sendte note, samtidig med at de højeste og laveste aktuelt efterspurgte noter stadig spilles. Andre noter (normalt midternoterne i en akkord) skæres om nødvendigt af.

Og det handler om det. Hav det sjovt!

Trin 7: Fodnoter

Om demoen

Demonteringen - Mozarts berømte Queen Of The Night -aria - blev skabt rimelig hurtigt fra en MIDI -fil, jeg fandt på Internettet (https://www.midiworld.com/mozart.htm). En anden gjorde alt det hårde arbejde!

Jeg bruger Presonus Studio One på en Mac, og MIDI -filen blev importeret til fire separate spor. En lille mængde redigering var nødvendig, hvor akkompagnementerne var højere end hovedmelodien, og for at fjerne nogle af de mere stødende fejl mellem noterne.

Den lyd, du hører på klippet, er direkte fra synthen, med blot et strejf af EQ og mætning for at give det lidt af en 'arkademaskine' lav-fi-følelse.

Anbefalede: