Indholdsfortegnelse:
- Trin 1: Ting du skal bruge
- Trin 2: Alternative dele
- Trin 3: Udlægning af printkortet
- Trin 4: Tilslutning
- Trin 5: Programmering ved hjælp af Arduino IDE
- Trin 6: Test og brug af syntesen
- Trin 7: Fodnoter
Video: Arduino MIDI Chiptune Synthesizer: 7 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
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
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 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
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
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
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
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:
Awesome Analog Synthesizer/Organ Brug kun diskrete komponenter: 10 trin (med billeder)
Awesome Analog Synthesizer/Organ Brug kun diskrete komponenter: Analoge synthesizere er meget seje, men også ret vanskelige at lave.Så jeg ville lave en så enkel som den kan få, så dens funktion kan være let forståelig.For at den skal fungere, kan du har brug for et par grundlæggende underkredsløb: En simpel oscillator med resis
Modular Synthesizer Strømforsyning: 10 trin (med billeder)
Modular Synthesizer Power Supply: Hvis du bygger en modulær synthesizer, er en ting du helt sikkert har brug for en strømforsyning. De fleste modulære syntetikere kræver et dobbeltskinnesystem (0V, +12V og -12V er typiske), og det kan også være praktisk at have en 5V -skinne også, hvis du planlægger
Keytar Hero (Brug af en Wii Guitar Controller som en synthesizer): 7 trin (med billeder)
Keytar Hero (Brug af en Wii Guitar Controller som en synthesizer): Guitar Hero -spillene var alle raseri for et dusin år siden, så der er sikkert en masse gamle guitarcontrollere, der ligger og samler støv. De har mange knapper, knapper og håndtag, så hvorfor ikke bruge dem igen? Guitarkontrollen
Arduino Synthesizer: 20 trin (med billeder)
Arduino Synthesizer: Arduino er i stand til at udsende lyd gennem et bibliotek, der er udviklet kaldet Tone Library. Ved at oprette en grænseflade og et program, der kan kalde bestemte værdier til at blive udsendt til en lydudgang, er Arduino Synthesizer et robust værktøj til
Micro Midi Synthesizer: 5 trin (med billeder)
Micro Midi Synthesizer: Denne instruerbare demonstrerer brugen af VLSI VS1053b Audio og Midi DSP-chippen i sin Midi-tilstand i realtid. I denne tilstand fungerer den som en 64 -stemme polyfonisk GM (General Midi) Midi -synthesizer. En Arduino Uno standalone mikro styrer et OLED -display