Indholdsfortegnelse:
- Trin 1: Deleliste
- Trin 2: Konstruktion
- Trin 3: Software
- Trin 4: Links
- Trin 5: Brug af Sparkfun Board med Adafruit Libraries
Video: Micro Midi Synthesizer: 5 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:30
Denne instruerbare demonstrerer brugen af VLSI VS1053b Audio og Midi DSP-chippen i sin real-time Midi-tilstand. I denne tilstand fungerer den som en 64 -stemme polyfonisk GM (General Midi) Midi -synthesizer. En selvstændig Arduino Uno -mikro styrer et OLED -display, tre knapper (funktionsvalg og op eller ned og sender Midi -datastrømmen videre til lyd -DSP. Musikkortet blev valgt Adafruit VS1053 codec breakout board, men et Sparkfun musik breakout board blev også testet. Adafruit VS1053b -bibliotekerne blev brugt i stedet for det meget større SFEMP3 -bibliotek (anbefalet af Sparkfun, selvom de også har deres eget sæt biblioteker), fordi jeg fandt Adafruit -koden lettere at forstå.
Det meste af koden, der blev brugt til at styre audio/midi DSP, blev udviklet ved hjælp af en Arduino Uno forbundet til audio/midi breakout boardet via et brødbræt. Efter at funktionerne viste sig at fungere tilfredsstillende, blev Uno brugt som programmerer til en selvstændig ATmega 328, som derefter blev sat på en lille 30x20 størrelse Veroboard sammen med 6N139 opto-isolator IC påkrævet på Midi-indgangsstikket (en 5-polet DIN). Tilsluttet var også et lille (64x48) OLED -skjold, tre knapper, en Midi -aktivitets -LED og et +5 volt tønde -stik til strøm og lydstereo -udgangsstik tilføjet. Strømkravene er meget beskedne - cirka 20 mA ved 5 volt.
Trin 1: Deleliste
ATmega328 Micro 28 pin DIP + 28 pin DIP socket 6N138 eller 6N139 optoisolator + 4 pin DIP socket Wemos 64x48 I2C OLED Display eller lignendeAdafruit VS1053b Codec breakout board3 miniature trykknapper 5 pin DIN Midi socket PCB mount foretrukket Små LED enhver farve. stik til tilslutning til en forstærker eller hovedtelefoner Modstande: 7 x 10k, 2 x 470 ohm, 2 x 220 ohm Kondensatorer: 0.1uF 50v plast, 10uf 25v elektrolytisk, 2 x 27 pF keramik Små stykker Veroboard (30 strimler med 20 søjler og 4 strimler 16 søjler), ABS -plastkabinet ca 85x55x25mm, ledninger og et par skruer møtrikker og skiver.
Trin 2: Konstruktion
Låget på kabinettet huser OLED -displayet, de tre knapper, der er monteret på et andet lille stykke Veroboard, og tønde -strømstikket. Det vigtigste Vero -printkort har to huller til at fastsætte Music breakout -kortet over ATmega328. For tilslutningsoplysninger henvises til Fritzing strip board diagrammet.
Den programmerede ATmega328 (se det næste afsnit for koden) indsættes derefter i stikket efterfulgt af 6N139, og alt er forbundet.
LED'en bruges som Midi -aktivitetsindikator og blev monteret på forsiden af kabinettet. Den er forbundet til D2 -udgangen på ATmega328 via en 470 ohm modstand.
OLED -skærmen bruger 3,3 volt udgang fra Adafruit -kortet til strøm - det kræver mindre end 20 mA.
Prøv at skifte de to Midi Din -forbindelser, hvis du ikke hører nogen lyd, når du først bruger synth.
Trin 3: Software
Detaljer om skitsen, der skal uploades til ATmega328, er angivet i MidA.ino. Der er syv funktioner til rådighed:
Mulighed P: Skift program - skift GM Midi -instrumentet fra 1 til 128 (jeg brugte 0 til 127), f.eks. Et klaver eller en Synth -lyd. Valg B: Skift instrumentbank mellem Melodic (Bank 0) og Percussion (Bank 1). Mulighed V: Juster lydstyrken fra 1 til 10. Valg C: Skift den Midi -kanal, som Synth vil reagere på. Valgmulighederne er Kanal 0, kanal 1, kanal 9 (slagtøj), kanal 0 og 9 og kanal 1 og 9. Valg R: Slå rumklangseffekten til eller fra Alternativ S: Gem de aktuelle parametre i Eeprom -hukommelse (op) eller Læs (ned) tilbage fra Eeprom -hukommelsen. Dette skyldes, at indstillinger ellers ikke gemmes, når der slukkes. Valg X: Send en meddelelse om alle noter fra (Midi Reset).
En ottende mulighed er endnu ikke implementeret - dette vil omgå ATmega som et Midi -filter og forbinde optoisolatorens output direkte til Rx -stiften på DSP -kortet.
Bemærk, at VS1053b starter i en real -time Midi -tilstand ved at indlæse en 1039 byte komprimeret patch under opstart - dette øger også størrelsen på Midi -bufferen og filtrerer systemets eksklusive Midi -databyte. Detaljer om denne patch findes på VLSI -webstedet.
En lidt modificeret version af Adafruit Graphics -biblioteket var blevet brugt til at tage højde for opløsningen på 64 x 48 pixel på OLED -skærmen - se de links, der blev givet til sidst for hr. Mcauser. En liste over de nødvendige biblioteker er angivet i skitsekoden.
Det er vigtigt, når skitsen udføres for første gang på ATmega328, uanset om den er på en Uno eller standalone, indlæser koden parameterforudindstillinger fra ATmega328 Eeprom, der muligvis ikke er gyldige. I så fald kan du enten skrive alle nuller til Eeprom ved hjælp af X -indstillingen med ned -knappen eller kommentere linjen i hulrumsopsætningsfunktionen, der indlæser værdier fra Eeprom, når den først startes, justere dine instrumenter osv. Til din kan lide, og gem derefter dine forudindstillinger med knappen S op.
Kredit gives til alle de personer og enheder, der er nævnt for deres kode og biblioteker.
Trin 4: Links
VLSI:
Adafruit:
Github VS1053b:
Github-grafik:
Oled:
Sparkfun:
Trin 5: Brug af Sparkfun Board med Adafruit Libraries
Tabellen på billedet forklarer, hvordan du enten forbinder Adafruit eller Sparkfun Music Boards for at bruge et andet bibliotek.
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 MIDI Chiptune Synthesizer: 7 trin (med billeder)
Arduino MIDI Chiptune Synthesizer: Genoplev det sjove ved tidligt computerspil 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 køre en AY-3- 8910 programmerbare lydgener
Quad Speaker Synthesizer: 10 trin (med billeder)
Quad Speaker Synthesizer: Her er en simpel synthesizer, der har: 22 taster volumenkontrol ændret forskellig lydeffektspan (til højttalerne) fire højttalere lys (til højttalerne) Alle kan bygge det, undtagen de elektroniske komponenter, alt andet kan findes derhjemme