Cov txheej txheem:

Arduino MIDI Chiptune Synthesizer: 7 Kauj Ruam (nrog Duab)
Arduino MIDI Chiptune Synthesizer: 7 Kauj Ruam (nrog Duab)

Video: Arduino MIDI Chiptune Synthesizer: 7 Kauj Ruam (nrog Duab)

Video: Arduino MIDI Chiptune Synthesizer: 7 Kauj Ruam (nrog Duab)
Video: Arcano MIDI NES Chiptune Synth II - an AVR, Nintendo-style synthesizer 2024, Lub Xya hli ntuj
Anonim
Arduino MIDI Chiptune Synthesizer
Arduino MIDI Chiptune Synthesizer

Rov qab lom zem ntawm lub tshuab computer game thaum ntxov nrog qhov tseeb 8-ntsis chiptune synthesizer, uas koj tuaj yeem tswj hwm MIDI los ntawm kev nplij siab ntawm txhua qhov software DAW niaj hnub no.

Qhov kev sib tham yooj yim no siv Arduino los tsav AY-3-8910 lub suab tsim lub tshuab hluav taws xob nti (lossis ib qho ntawm nws ntau qhov clones) los tsim lub suab xyoo 1980. Tsis zoo li ntau qhov tsim qauv uas xav tau software tshwj xeeb los kho nkauj, qhov no zoo li tus qauv USB MIDI ntaus ntawv. Tus tsim hluav taws xob muaj cov txheej txheem ntse uas sim ua kom cov suab paj nruag cuam tshuam tshaj plaws ua si; ntau qhov xwm txheej koj tuaj yeem pov cov ntaub ntawv MIDI uas tsis tau hloov kho ncaj qha rau nws thiab lub suab tawm los raug. Tus nqi tag nrho yuav tsum yog kwv yees li £ 20.

Kauj Ruam 1: Yam Koj Yuav Tsum Tau

Yam Koj Yuav Tsum Tau
Yam Koj Yuav Tsum Tau
Yam Koj Yuav Tsum Tau
Yam Koj Yuav Tsum Tau
Yam Koj Yuav Tsum Tau
Yam Koj Yuav Tsum Tau

Daim ntawv teev npe tag nrho rau qhov no, raws li koj pom hauv cov duab, yog raws li hauv qab no:

  • Sparkfun Pro Micro clone (5V, 16MHz xaiv). Kuv tau siv qhov no ntawm Amazon.
  • Yamaha YM2149F PSG nti. Kuv tau txais kuv los ntawm eBay.
  • 2 x 100nF ceramic capacitors
  • 1 txhua ntawm 75R, 1K thiab 100K resistors (1/4 watt kev ntsuas yog qhov zoo).
  • 4.7nF ceramic disc capacitor
  • 1uF electrolytic capacitor (ntsuas qhov ntsuas> 5V).
  • 40 tus pin 0.6 "DIP IC qhov (socket)
  • 2 x 12 txoj kev 0.1 "headers (qhov no los ntawm CPC)
  • Prototyping board, 3 "los ntawm 2" kwv yees. Kuv yuav cov pob ntau ntawm cov no, dua ntawm Amazon.
  • PCB mount phono qhov (socket)
  • Cov khoom siv hlau me me (zoo li qhov no).

Koj tseem yuav xav tau cov hlau txuas, cov laug, cov xaim txiav, pliers, thiab cov xaim hluav taws xob.

Kauj Ruam 2: Lwm Yam

Lwm Yam
Lwm Yam
Lwm Yam
Lwm Yam
Lwm Yam
Lwm Yam

Lwm qhov programmable suab tshuab hluav taws xob

YM2149 Kuv tau siv yog qhov clone ntawm cov cuab yeej qub qub AY-3-8910 IC. (Thawj qhov qauv siv AY-3-8910 Kuv yuav los ntawm eBay, tab sis nws muab lub tshuab hluav taws xob nrov nrov tsis ua haujlwm. Lub ntsej muag tu siab). Koj tuaj yeem siv ib qho rau txoj haujlwm no yam tsis muaj kev hloov pauv.

Cov Ntsuas Hluav Taws Xob tseem ua AY-3-8912 thiab AY-3-8913 qhov sib txawv, uas yog tib yam silicon hauv cov pob me me, tsis muaj ib qho ntxiv I/O pins. Cov koob no tsis xav tau rau lub hom phiaj suab, thiab txoj haujlwm no tsis siv lawv. Koj tuaj yeem siv AY-3-8912 lossis -8913, tsuas yog ua raws cov pinouts qhia saum toj no.

Lwm txoj Arduinos

"Pro Micro" Kuv siv yog daim ntawv theej ntawm Sparkfun's Pro Micro board. Yog tias koj tsis ntseeg nrog Arduino code nws yog qhov zoo tshaj los lo nrog qhov no; yog tias koj zoo siab los hloov tus qauv, koj yuav xav tau cov hauv qab no

  • ATmega 16u4 lossis 32u4 ntaus ntawv (xav tau los ua USB MIDI ntaus ntawv; ATmega 168 lossis 328 tsis tuaj yeem ua qhov no).
  • 5V ua haujlwm (AY-3-8910 khiav ntawm 5V), thiab 16MHz moos ceev.
  • Tsawg kawg 13 kab I/O digital.

    Chaw nres nkoj tus pin PB5 yuav tsum txuas nrog (nws tau siv los tsim lub cim 1MHz moos). Ntawm Pro Micro qhov no tau siv ua D9 I/O tus pin

Arduino Leonardo thiab Micro boards ob leeg haum rau daim nqi, txawm tias kuv tsis tau sim lawv.

Lwm yam khoom

Cov resistors thiab capacitors siv ntawm no tsis tshwj xeeb tshwj xeeb. Ib feem ntawm (kwv yees) tus nqi raug yuav tsum ua haujlwm.

Kauj Ruam 3: Tso Tawm Circuit Board

Txiav tawm Circuit Board
Txiav tawm Circuit Board

Txhawm rau tsim lub Circuit Court, nws yog qhov zoo tshaj los pib los ntawm kev tso lub qhov (socket), tom qab ntawd ntxiv cov resistors thiab capacitors. Peb yuav npog cov xov hlau no ua ke hauv cov kauj ruam tom ntej.

Siv daim duab saum toj no los ua phau ntawv qhia, tso lub 40-pin IC lub qhov (socket), tig lub rooj tsavxwm thiab tsuas yog txuas rau hauv ob lub kaum sab xis rov qab ua ntej. Yog tias lub qhov (socket) tsis yog tom qab pw ncaj rau ntawm lub rooj tsavxwm, nws yooj yim los kho los ntawm kev muag ib lossis lwm tus pin. Thaum nws tsis ua li cas, muab lwm tus tso pov tseg.

Muab ob txoj kab 12-tus pin tso rau hauv, tom qab ntawd ntxig rau Arduino rau hauv lawv kom tuav lawv ntsug thiab khov kho thaum siv cov laug. Ib zaug ntxiv, soldering ob tus pin ntawm txhua qhov kawg ua ntej yuav tso cai rau kos ua ntej kawg soldering.

Rau lub qhov tso tawm lub suab, Kuv tau siv lub qhov me me txhawm rau txhawm rau txhawm rau PCB qhov, vim tias cov ntawv cim npe loj dua.

Kauj Ruam 4: Txuas Txuas

Xov Tooj
Xov Tooj
Xov Tooj
Xov Tooj

Thaum cov khoom tseem ceeb tau teeb tsa, lawv tuaj yeem txuas rau sab nraum qab ntawm lub rooj tsavxwm, ua raws cov lus qhia saum toj no.

Cov khoom tso tawm suab (R2, R3, C2, C3) thiab txiav tawm cov khoom siv hluav taws xob (C1, C4) tuaj yeem txuas nrog cov xaim hlau (lossis txiav tawm ntawm cov khoom ua haujlwm). Hauv av thiab txuas hluav taws xob los ntawm Arduino mus rau PSG nti (liab thiab dub xov hlau, hauv daim duab) tam sim no tuaj yeem ua tau.

Pro Micro qhov sib txawv ntawm cov txiaj ntsig tau txuas mus rau AY-3-8910 raws li hauv qab no (saib cov lus qhia txuas rau tus lej ua haujlwm):

Teeb liab Arduino AY-3-8910 tus 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 (ntawm R1, 75 hli)

Kauj Ruam 5: Kev Sau Ntawv Siv Arduino IDE

Programming Siv Arduino IDE
Programming Siv Arduino IDE

Yog tias koj yog tus tshiab rau Arduino, Kuv xav pom zoo kom sim ua ib qho ntawm ntau qhov kev qhia qhia hauv paus. Sparkfun's hookup phau ntawv qhia tag nrho cov ntsiab lus. Koj tuaj yeem tshawb xyuas tias cov txheej txheem yooj yim ua haujlwm los ntawm kev ua raws li "Blinkies" qhia. Arduinos tuaj yeem ua rau me ntsis kom yaum mus rau hauv 'bootloader' hom (qhov twg koj tuaj yeem thauj cov duab tshiab), yog li kev xyaum me ntsis nrog piv txwv yooj yim muaj txiaj ntsig.

Thaum koj zoo siab, rub tawm cov ntawv chiptunes.ino txuas rau nplooj ntawv no, thiab tsim thiab upload nws. (Kuv tau pom tias siv "Arduino/Genuino Micro" pawg thawj coj yog OK rau daim duab no, yog tias koj xav hla hla kev txhim kho Sparkfun board txhawb nqa).

Tsis tas li ntawd, nco ntsoov tias yog koj nyob ntawm Mac, qhov chaw "Chaw nres nkoj" yuav tsum tau hloov pauv ib zaug koj tau rub cov duab kos thawj zaug. Nrog qhov 'khoob' Arduino (lossis siv Blinky kos duab) nws yuav tshwm sim zoo li /dev/cu.usbmodemXXXX, raws li qhia hauv daim duab saum toj no. Thaum USB MIDI lub cuab yeej ua haujlwm (raws li siv los ntawm chiptunes.ino kos duab) nws yuav yog /dev/cu.usbmodemMID1.

Kauj Ruam 6: Xeem thiab Siv Synth

Xeem thiab Siv Synth
Xeem thiab Siv Synth
Xeem thiab Siv Synth
Xeem thiab Siv Synth
Xeem thiab Siv Synth
Xeem thiab Siv Synth

Thaum Arduino tau teeb tsa, koj lub chaw haujlwm yuav tsum lees paub nws li USB MIDI ntaus ntawv. Nws yuav tshwm nrog lub npe 'Arduino Micro' - koj yuav tsum tuaj yeem pom qhov no ntawm Tus Thawj Tswj Ntaus Ntawv hauv Windows, lossis "System Information" app hauv Mac OS.

Ntawm Mac, koj tuaj yeem siv Lub Suab MIDI Teeb app los ua qhov kev xeem yooj yim. Pib lub app, tom qab ntawd xaiv Qhov rai -> Qhia MIDI Studio. Qhov no yuav coj mus rau MIDI Studio qhov rai - txhua qhov koj MIDI cuam tshuam yuav tshwm nyob rau hauv qhov kev npaj me ntsis - uas vam tias yuav suav nrog 'Arduino Micro' ntaus ntawv. Yog tias koj nyem qhov 'Test Setup' icon hauv toolbar, thiab tom qab ntawd nyem lub xub xub (saib daim duab) ntawm Arduino Micro device, lub app yuav xa MIDI sau ntawv mus rau synth. (Cov no tsis yog qhov tshwj xeeb tshaj plaws!) Cov synth yuav tsum ua qee qhov suab nrov ntawm qhov no.

Koj tuaj yeem ntxiv 'Arduino Micro' ua cov cuab yeej tso tawm rau koj lub Digital Audio Workstation's MIDI teeb tsa, thiab pib ua si!

  • Cov synth teb ntawm MIDI cov channel 1 txog 4. Txhua lub channel muaj lub suab sib txawv (zoo, lub hnab ntim sib txawv).
  • MIDI sau ntawv ntawm 24 thiab 96 (C1-C7) tau txais; sau ntawv sab nraum qhov no raug tsis quav ntsej.
  • MIDI channel 10 ua suab nrov nruas. Nco cov lej ntawm 35 thiab 50 (saib

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

  • Muaj peb lub suab raws ntawm AY-3-8910. Cov synth firmware sim ua si qhov tsis ntev los no xa ntawv, thaum khaws qhov siab tshaj thiab qis tshaj tam sim no-thov sau ntawv tseem ua si. Lwm cov ntawv (feem ntau yog cov ntawv nruab nrab hauv chord) raug txiav tawm yog tias tsim nyog.

Thiab hais txog nws. Muaj kev lom zem!

Kauj Ruam 7: Cov lus hauv qab

Txog qhov qhib suab paj nruag

Lub suab seev cev demo - Mozart tus poj huab tais Ntawm Hmo hmo ntuj - tau tsim tawm sai sai los ntawm MIDI cov ntaub ntawv kuv pom hauv Is Taws Nem (https://www.midiworld.com/mozart.htm). Lwm tus tau ua txhua yam haujlwm hnyav!

Kuv tab tom siv Presonus Studio One ntawm Mac, thiab cov ntaub ntawv MIDI tau raug xa mus rau plaub txoj kab sib cais. Qhov kev hloov kho me me xav tau qhov twg cov ntawv sau ua ke siab dua lub suab qhib, thiab tshem tawm qee qhov tsis txaus ntseeg qhov tsis txaus ntseeg ntawm cov ntawv.

Lub suab uas koj hnov ntawm kab lus yog ncaj los ntawm cov synth, nrog tsuas yog kov EQ thiab ua kom txaus los muab nws me ntsis ntawm 'tshuab tshuab' qis qis-mloog.

Pom zoo: