Innholdsfortegnelse:
- Trinn 1: Ting du trenger
- Trinn 2: Alternative deler
- Trinn 3: Legge ut kretskortet
- Trinn 4: Tilkobling
- Trinn 5: Programmering ved hjelp av Arduino IDE
- Trinn 6: Testing og bruk av syntesen
- Trinn 7: Fotnoter
Video: Arduino MIDI Chiptune Synthesizer: 7 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
Gjenopplev moroa med tidlig dataspillmusikk med en autentisk 8-biters chiptune-synthesizer, som du kan kontrollere over MIDI fra komforten til enhver moderne DAW-programvare.
Denne enkle kretsen bruker en Arduino til å drive en AY-3-8910 programmerbar lydgeneratorbrikke (eller en av dens mange kloner) for å gjenskape lyden fra 1980-tallet. I motsetning til de mange designene som trenger spesialisert programvare for å redigere musikk, ser dette ut som en standard USB MIDI -enhet. Synthesizeren har en smart algoritme som prøver å holde de mest musikalsk relevante notatene i gang; i mange tilfeller kan du kaste uredigerte MIDI-filer rett på den, og melodien kommer rett ut. Total kostnad bør være omtrent £ 20.
Trinn 1: Ting du trenger
Hele delelisten for dette, som du ser på bildene, er som følger:
- Sparkfun Pro Micro -klon (alternativet 5V, 16MHz). Jeg brukte denne på Amazon.
- Yamaha YM2149F PSG -brikke. Jeg har fått min fra eBay.
- 2 x 100nF keramiske kondensatorer
- 1 hver med 75R, 1K og 100K motstander (1/4 watt rating er greit).
- 4.7nF keramisk skivekondensator
- 1uF elektrolytisk kondensator (spenningsvurdering> 5V).
- 40 -pinners 0,6 "DIP IC -kontakt
- 2 x 12 -veis 0,1 "overskrifter (denne fra CPC)
- Prototypebrett, 3 "x 2" ca. Jeg kjøpte en bulkpakke med disse, igjen på Amazon.
- PCB -montering phono -kontakt
- Miniatyr solid-core wire (som denne).
Du trenger også et loddejern, loddetinn, trådkuttere, tang og en wire stripper.
Trinn 2: Alternative deler
Alternative programmerbare lydgeneratorbrikker
YM2149 jeg brukte er en klon av den originale General Instruments AY-3-8910 IC. (Den første prototypen brukte en AY-3-8910 jeg kjøpte fra eBay, men det viste seg at den hvite støygeneratoren ikke fungerte. Trist ansikt). Du kan bruke enten for dette prosjektet uten endringer.
General Instruments laget også AY-3-8912 og AY-3-8913 varianter, som var det samme silisiumet i mindre pakker, uten noen ekstra I/O-pinner. Disse pinnene er ikke nødvendige for noen lydformål, og dette prosjektet bruker dem ikke. Du kan bruke en AY-3-8912 eller -8913, bare følg pinoutene vist ovenfor.
Alternative Arduinos
"Pro Micro" jeg brukte er en kopi av Sparkfun's Pro Micro -kort. Hvis du ikke er trygg på Arduino -koden, er det best å holde fast ved dette; Hvis du er glad for å tilpasse designet, trenger du følgende spesifikasjoner
- ATmega 16u4 eller 32u4 enhet (nødvendig for å fungere som en USB MIDI -enhet; ATmega 168 eller 328 kan ikke gjøre dette).
- 5V-drift (AY-3-8910 kjører ved 5V) og 16MHz klokkehastighet.
-
Minst 13 digitale I/O -linjer.
Portstift PB5 må være tilkoblet (den brukes til å generere et 1MHz klokkesignal). På Pro Micro brukes dette som D9 I/O -pinne
Arduino Leonardo og Micro -brettene passer begge til regningen, selv om jeg ikke har prøvd dem.
Andre komponenter
Motstandene og kondensatorene som brukes her er ikke spesielt spesielle. Alle deler av (omtrent) den riktige verdien skal fungere.
Trinn 3: Legge ut kretskortet
For å bygge kretsen, er det best å starte med å plassere kontaktene, og deretter legge til motstander og kondensatorer. Vi dekker kabling av disse sammen i neste trinn.
Bruk bildet ovenfor som en veiledning, plasser den 40-pinners IC-kontakten, snu brettet og lodd bare i to motsatte hjørnepinner først. Hvis kontakten ikke ligger flatt mot brettet, er det enkelt å fikse ved å løse en eller annen pin. Når det er ok, lodder du resten.
Plasser de to 12-pinners stikkontaktene, og sett deretter Arduino inn i dem for å holde dem vertikale og stabile under lodding. Igjen, lodding av to pinner i hver ende først vil tillate en sjekk før den endelige lodding.
For lydutgangen brukte jeg en liten drill for å forstørre PCB -hullene, ettersom monteringsmerkene er ganske store.
Trinn 4: Tilkobling
Når hovedkomponentene er plassert, kan de kobles til på baksiden av brettet, etter kretsen ovenfor.
Lydutgangskomponentene (R2, R3, C2, C3) og frakoblingskondensatorer (C1, C4) kan kobles til med solid-core ledning (eller avskjæringer av komponentledninger). Jord- og strømtilkoblingene fra Arduino til PSG -brikken (røde og svarte ledninger, på bildet) kan nå gjøres.
Pro Micros forskjellige utganger er koblet til AY-3-8910 som følger (se tilkoblingsguiden 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)
Trinn 5: Programmering ved hjelp av Arduino IDE
Hvis du er ny på Arduino, vil jeg sterkt anbefale å prøve en av de mange opplæringsprogrammene om det grunnleggende. Sparkfun's tilkoblingsguide gir alle detaljer. Du kan kontrollere at den grunnleggende programmeringen fungerer ved å følge veiledningen "Blinkies". Arduinos kan være litt vanskelig å overtale til "bootloader" -modus (hvor du kan laste inn nye skisser), så litt trening med et enkelt eksempel er nyttig.
Når du er fornøyd, laster du ned chiptunes.ino -filen som er vedlagt denne siden, og bygger og laster den opp. (Jeg har funnet ut at bruk av "Arduino/Genuino Micro" -korttype er OK for denne skissen, hvis du vil hoppe over installasjonen av Sparkfun -kortstøtten).
Vær også oppmerksom på at hvis du bruker en Mac, må "Port" -innstillingen endres når du har lastet skissen for første gang. Med en "tom" Arduino (eller bruk av Blinky -skissen) vil den se ut som noe /dev/cu.usbmodemXXXX, som vist på bildet ovenfor. Når USB MIDI -enheten er aktiv (som brukt av chiptunes.ino -skissen) vil den være /dev/cu.usbmodemMID1.
Trinn 6: Testing og bruk av syntesen
Når Arduino er programmert, bør arbeidsstasjonen automatisk gjenkjenne den som en USB MIDI -enhet. Det vil vises med navnet 'Arduino Micro' - du bør kunne se dette på Enhetsbehandling i Windows, eller "Systeminformasjon" -appen i Mac OS.
På en Mac kan du bruke Audio MIDI Setup -appen til å kjøre en grunnleggende test. Start appen, og velg deretter Vindu -> Vis MIDI Studio. Dette vil vise MIDI Studio -vinduet - alle dine MIDI -grensesnitt vil vises i et litt tilfeldig arrangement - som forhåpentligvis vil inkludere 'Arduino Micro' -enheten. Hvis du klikker på "Test Setup" -ikonet på verktøylinjen, og deretter klikker på nedoverpilen (se bildet) på Arduino Micro -enheten, sender appen MIDI -notater til synthen. (Disse er ikke spesielt stemningsfulle!) Synthen burde lage noen tilfeldige lyder på dette tidspunktet.
Du kan deretter legge til 'Arduino Micro' som en utgangsenhet i MIDI -oppsettet for Digital Audio Workstation, og begynne å spille!
- Synthen reagerer på MIDI -kanalene 1 til 4. Hver kanal har en annen lyd (vel, en annen volumkonvolutt).
- MIDI-notater mellom 24 og 96 (C1-C7) godtas; notater utenfor dette området ignoreres.
-
MIDI kanal 10 spiller trommelyder. Legg merke til tall mellom 35 og 50 (se
www.midi.org/specifications-old/item/gm-level-1-sound-set) godtas.
- Det er tre talekanaler på AY-3-8910. Synth-fastvaren prøver å spille den sist sendte notaten, samtidig som de høyeste og laveste notatene som nå blir etterspurt, fortsatt spilles. Andre noter (vanligvis midtnotene i et akkord) kuttes om nødvendig.
Og det er omtrent det. Ha det gøy!
Trinn 7: Fotnoter
Om demoen
Demolåten - Mozarts berømte Queen Of The Night -aria - ble laget rimelig raskt fra en MIDI -fil jeg fant på Internett (https://www.midiworld.com/mozart.htm). Noen andre gjorde alt det harde arbeidet!
Jeg bruker Presonus Studio One på en Mac, og MIDI -filen ble importert til fire separate spor. En liten mengde redigering var nødvendig der akkompagnementsnotatene er høyere enn hovedmelodien, og for å fjerne noen av de mer støtende feilene mellom notene.
Lyden du hører på klippet er rett fra synthen, med bare et snev av EQ og metning for å gi den litt av en "arkademaskin" lav-fi-følelse.
Anbefalt:
Keytar Hero (ved hjelp av en Wii -gitarkontroller som en synthesizer): 7 trinn (med bilder)
Keytar Hero (Bruke en Wii Guitar Controller som en synthesizer): Guitar Hero -spillene var alle raseri for et dusin år siden, så det vil sikkert være mange gamle gitarkontrollere som ligger og samler støv. De har mange knapper, knapper og spaker, så hvorfor ikke bruke dem igjen? Gitarkontrollen
Quad Speaker Synthesizer: 10 trinn (med bilder)
Quad Speaker Synthesizer: Her er en enkel synthesizer som har: 22 taster volumkontrolltone endret forskjellig lydeffektspan (for høyttalerne) fire høyttalere lys (for høyttalerne) Alle kan bygge den, bortsett fra de elektroniske komponentene, alt annet kan finnes hjemme
Arduino Synthesizer: 20 trinn (med bilder)
Arduino Synthesizer: Arduinoen kan sende ut lyd gjennom et bibliotek som er utviklet kalt Tone Library. Ved å lage et grensesnitt og et program som kan kalle visse verdier som skal sendes til en lydutgang, er Arduino Synthesizer et robust verktøy for
Laser Harp Synthesizer på Zybo Board: 10 trinn (med bilder)
Laser Harp Synthesizer på Zybo Board: I denne opplæringen vil vi lage en fullt funksjonell laserharpe ved hjelp av IR -sensorer med et serielt grensesnitt som lar brukeren endre tuning og tone på instrumentet. Denne harpen blir en nyinnspilling fra det 21. århundre av det gamle instrumentet. De
Micro Midi Synthesizer: 5 trinn (med bilder)
Micro Midi Synthesizer: Denne instruksen demonstrerer bruken av VLSI VS1053b Audio og Midi DSP-brikken i Midi-modus i sanntid. I denne modusen fungerer den som en 64 -stemme polyfonisk GM (General Midi) Midi -synthesizer. En frittstående Arduino Uno mikro kontrollerer en OLED -skjerm