INHOUDSOPGAWE:

Arduino MIDI Chiptune Synthesizer: 7 stappe (met foto's)
Arduino MIDI Chiptune Synthesizer: 7 stappe (met foto's)

Video: Arduino MIDI Chiptune Synthesizer: 7 stappe (met foto's)

Video: Arduino MIDI Chiptune Synthesizer: 7 stappe (met foto's)
Video: Arcano MIDI NES Chiptune Synth II - an AVR, Nintendo-style synthesizer 2024, Julie
Anonim
Arduino MIDI Chiptune -sintetiseerder
Arduino MIDI Chiptune -sintetiseerder

Herleef die plesier van vroeë rekenaarspeletjies met 'n outentieke 8-bis-chiptune-sintetiseerder, wat u vanuit die gemak van enige moderne DAW-sagteware oor MIDI kan beheer.

Hierdie eenvoudige stroombaan gebruik 'n Arduino om 'n AY-3-8910 programmeerbare klankgenerator-chip (of een van sy vele klone) aan te dryf om die geluid van die 1980's te herskep. Anders as die vele ontwerpe wat gespesialiseerde sagteware benodig om musiek te redigeer, lyk dit soos 'n standaard USB MIDI -toestel. Die sintetiseerder het 'n slim algoritme wat probeer om die mees musikaal-relevante note te laat speel; in baie gevalle kan u ongeredigeerde MIDI-lêers reguit daarop gooi en die deuntjie kom dadelik uit. Die totale koste behoort ongeveer £ 20 te wees.

Stap 1: Dinge wat u benodig

Dinge wat jy nodig het
Dinge wat jy nodig het
Dinge wat jy nodig het
Dinge wat jy nodig het
Dinge wat jy nodig het
Dinge wat jy nodig het

Die volledige onderdele hiervoor, soos u op die foto's sien, is soos volg:

  • Sparkfun Pro Micro -kloon (5V, 16MHz opsie). Ek het hierdie op Amazon gebruik.
  • Yamaha YM2149F PSG -chip. Ek het myne van eBay gekry.
  • 2 x 100nF keramiek kondensators
  • 1 elk van 75R-, 1K- en 100K -weerstande (1/4 watt -telling is goed).
  • 4.7nF keramiek skyf kapasitor
  • 1 uF elektrolitiese kondensator (spanningswaarde> 5V).
  • 40 -pins 0,6 "DIP IC -aansluiting
  • 2 x 12 -weg 0.1 "-opskrifte (hierdie van CPC)
  • Prototipe bord, ongeveer 3 "by 2" ongeveer. Ek het 'n grootmaat hiervan gekoop, weer op Amazon.
  • PCB -monteer -phono -aansluiting
  • Miniatuur soliede kerndraad (soos hierdie).

U benodig ook 'n soldeerbout, soldeer, draadsnyers, 'n tang en 'n draadstropper.

Stap 2: Alternatiewe onderdele

Alternatiewe onderdele
Alternatiewe onderdele
Alternatiewe onderdele
Alternatiewe onderdele
Alternatiewe onderdele
Alternatiewe onderdele

Alternatiewe programmeerbare klankgeneratorskyfies

Die YM2149 wat ek gebruik het, is 'n kloon van die oorspronklike General Instruments AY-3-8910 IC. (Die eerste prototipe gebruik 'n AY-3-8910 wat ek by eBay gekoop het, maar dit blyk dat die wit geraasgenerator nie werk nie. Hartseer gesig). U kan óf vir hierdie projek gebruik sonder enige veranderinge.

General Instruments het ook AY-3-8912 en AY-3-8913 variante gemaak, wat dieselfde silikon in kleiner pakkies was, sonder 'n paar ekstra I/O-penne. Hierdie penne is nie nodig vir klankdoeleindes nie, en hierdie projek gebruik dit nie. U kan 'n AY-3-8912 of -8913 gebruik; volg net die pinouts hierbo.

Alternatiewe Arduinos

Die 'Pro Micro' wat ek gebruik het, is 'n kopie van Sparkfun se Pro Micro -bord. As u nie vertroue het in die Arduino -kode nie, is dit die beste om hierby te bly; as u die ontwerp graag wil aanpas, benodig u die volgende spesifikasies

  • ATmega 16u4 of 32u4 toestel (benodig om as 'n USB MIDI -toestel op te tree; die ATmega 168 of 328 kan dit nie doen nie).
  • 5V-werking (die AY-3-8910 loop by 5V) en die kloksnelheid van 16MHz.
  • Minstens 13 digitale I/O -lyne.

    Poortpen PB5 moet gekoppel wees (dit word gebruik om 'n 1MHz -kloksein te genereer). Op die Pro Micro word dit gebruik as die D9 I/O -pen

Die Arduino Leonardo- en Micro -borde pas beide by die rekening, hoewel ek dit nog nie probeer het nie.

Ander komponente

Die weerstande en kapasitors wat hier gebruik word, is nie besonder spesiaal nie. Enige dele van (ongeveer) die regte waarde behoort te werk.

Stap 3: Plaas die printplaat uit

Sit die stroombaan uit
Sit die stroombaan uit

Om die stroombaan te bou, is dit die beste om die voetstukke te plaas, en dan weerstande en kapasitors by te voeg. Ons behandel die bedrading daarvan in die volgende stap.

Gebruik die prent hierbo as 'n gids, en plaas die 40-pen IC-aansluiting, draai die bord om en soldeer eers twee teenoorgestelde hoekpenne. As die houer dan nie plat teen die bord lê nie, is dit maklik om dit reg te maak deur die een of ander pen vas te maak. As dit reg is, soldeer die res.

Plaas die twee 12-pen voetstukke en steek die Arduino daarin om dit vertikaal en bestendig te hou tydens soldeer. Weereens, eers deur twee penne aan elke kant te soldeer, kan u 'n kontrole doen voordat u die laaste soldeer.

Vir die klankuitset -aansluiting gebruik ek 'n klein boor om die PCB -gate te vergroot, aangesien die monteermerke redelik groot is.

Stap 4: Bedrading

Bedrading
Bedrading
Bedrading
Bedrading

Sodra die hoofkomponente geposisioneer is, kan hulle aan die agterkant van die bord vasgemaak word volgens die stroombaan hierbo.

Die klankuitsetkomponente (R2, R3, C2, C3) en ontkoppelingskapasitors (C1, C4) kan met 'n soliede kerndraad (of afsny van komponentleidings) verbind word. Die grond- en kragverbindings van die Arduino na die PSG -chip (rooi en swart drade, op die foto) kan nou gemaak word.

Die verskillende uitsette van die Pro Micro word soos volg aan die AY-3-8910 gekoppel (sien die aansluitingsgids vir penopdragte):

Sein Arduino AY-3-8910 pen

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 KLOK D9 22 (via R1, 75 ohm)

Stap 5: Programmering met behulp van die Arduino IDE

Programmering met behulp van die Arduino IDE
Programmering met behulp van die Arduino IDE

As u nuut is in Arduino, beveel ek u sterk aan om een van die vele tutoriale oor die basiese beginsels te probeer. Die aansluitingsgids van Sparkfun gee volledige besonderhede. U kan seker maak dat die basiese programmering werk deur die handleiding "Blinkies" te volg. Arduinos kan 'n bietjie lastig wees om in die 'bootloader' -modus te oorreed (waar u nuwe sketse kan laai), dus 'n bietjie oefening met 'n eenvoudige voorbeeld is nuttig.

Sodra u gelukkig is, laai die chiptunes.ino -lêer wat op hierdie bladsy aangeheg is, af en bou en laai dit op. (Ek het gevind dat die gebruik van die "Arduino/Genuino Micro" -bordtipe goed is vir hierdie skets, as u die installering van die Sparkfun -bordondersteuning wil oorslaan).

Let ook op dat as u 'n Mac gebruik, die instelling "Poort" verander moet word sodra u die skets vir die eerste keer gelaai het. Met 'n 'leë' Arduino (of met behulp van die Blinky -skets) sal dit lyk soos iets soos /dev/cu.usbmodemXXXX, soos in die prent hierbo getoon. As die USB MIDI -toestel aktief is (soos gebruik deur die chiptunes.ino -skets), sal dit /dev/cu.usbmodemMID1 wees.

Stap 6: Die sintese toets en gebruik

Die sintese toets en gebruik
Die sintese toets en gebruik
Die sintese toets en gebruik
Die sintese toets en gebruik
Die sintese toets en gebruik
Die sintese toets en gebruik

Sodra die Arduino geprogrammeer is, moet u werkstasie dit outomaties herken as 'n USB MIDI -toestel. Dit sal verskyn met die naam 'Arduino Micro' - u moet dit kan sien op Apparaatbestuurder in Windows, of die 'Stelselinligting' -program in Mac OS.

Op 'n Mac kan u die Audio MIDI Setup -app gebruik om 'n basiese toets uit te voer. Begin die app en kies dan Venster -> Wys MIDI Studio. Dit sal die MIDI Studio -venster oopmaak - al u MIDI -koppelvlakke verskyn in 'n effens ewekansige rangskikking - wat hopelik die 'Arduino Micro' -toestel sal insluit. As u op die ikoon 'Toetsopstelling' in die werkbalk klik en dan op die pyltjie af (sien prent) op die Arduino Micro -toestel klik, stuur die app MIDI -notas na die synth. (Dit is nie besonder stemvol nie!) Die synth moet op hierdie stadium willekeurige geluide maak.

U kan dan 'Arduino Micro' as 'n uitvoerapparaat by die MIDI -opstelling van u Digital Audio Workstation voeg en begin speel!

  • Die synth reageer op MIDI kanale 1 tot 4. Elke kanaal het 'n ander klank (wel, 'n ander volume koevert).
  • MIDI-note tussen 24 en 96 (C1-C7) word aanvaar; note buite hierdie reeks word geïgnoreer.
  • MIDI kanaal 10 speel tromgeluide. Let op getalle tussen 35 en 50 (sien

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

  • Daar is drie stemkanale op die AY-3-8910. Die synth-firmware probeer om die mees onlangs gestuurde noot te speel, terwyl die hoogste en laagste notas wat tans versoek word, steeds gespeel word. Ander note (gewoonlik die middelste note in 'n akkoord) word indien nodig afgesny.

En dit is omtrent dit. Hê pret!

Stap 7: Voetnote

Oor die demo -deuntjie

Die demo -deuntjie - die beroemde Queen Of The Night -aria van Mozart - is redelik vinnig gemaak uit 'n MIDI -lêer wat ek op die internet gevind het (https://www.midiworld.com/mozart.htm). Iemand anders het al die harde werk gedoen!

Ek gebruik Presonus Studio One op 'n Mac, en die MIDI -lêer is na vier afsonderlike snitte ingevoer. 'N Klein bietjie bewerking was nodig waar die begeleidingsnotas hoër is as die hooftoon, en om sommige van die meer aanstootlike foute tussen die note te verwyder.

Die klank wat u op die snit hoor, kom direk van die synth, met net 'n tikkie EQ en versadiging om dit 'n bietjie van 'n 'arcade machine' lae-fi gevoel te gee.

Aanbeveel: