Kazalo:

Arpeggirajoči sintetizator (Mosquito I): 6 korakov
Arpeggirajoči sintetizator (Mosquito I): 6 korakov

Video: Arpeggirajoči sintetizator (Mosquito I): 6 korakov

Video: Arpeggirajoči sintetizator (Mosquito I): 6 korakov
Video: "Little Mosquito" 2024, Julij
Anonim
Arpeggirajoči sintetizator (Mosquito I)
Arpeggirajoči sintetizator (Mosquito I)

Mosquito I je majhen arpeggirajoči sintetizator, ki uporablja Arduino Nano in knjižnico za sintezo zvoka Mozzi. Predvaja več kot dvajset zaporedij v 8 korakih, lahko pa dodate poljubno število sekvenc po meri. Relativno preprosto je namestitev in ne zahteva veliko delov.

Zaloge:

  • Arduino Nano (ali kateri koli Arduino bi res moral delovati)
  • 5 ea potenciometrov (10K linearno)
  • 2 ea gumbi
  • 1 ea LED
  • 1 ea upor (330 ohm)
  • 2 ea upor (1K)
  • 1 ea upor (2K)
  • 1 ea elektrolitski kondenzator (100 uF)
  • 1 ea keramični kondenzator (33 nF)
  • 1 ea Stereo Jack
  • Priključna žica
  • Ogledna plošča

1. korak: Nastavitev Arduina

Nastavitev Arduina
Nastavitev Arduina
Nastavitev Arduina
Nastavitev Arduina

Najprej postavimo Nano na ploščo in nastavimo svojo moč:

  1. Nano postavite na ploščo. Postavite, kot je prikazano na zgornji sliki. Moral bi prečkati osrednji kanal mize. Želeli boste, da je nameščen proti enemu koncu mize, pri čemer morajo biti vrata USB obrnjena proti tej strani. Tako kabel ne bo oviral, ko ga priključimo. Če uporabljate večji Arduino, na primer Uno ali Mega, ga seveda ne boste namestili na ploščo.
  2. Napajalne tirnice priključite na Arduino. Z žico ali mostičnimi žicami priključite eno od pozitivnih (rdečih) tirnic vaše plošče na Arduinov 5V pin. Nato eno od negativnih (modrih) tirnic priključite na enega od zatičev Nano's GND.
  3. Električne tirnice povežite med seboj. Za napajanje vzdolž tirnic na obeh straneh mize, povežite tirnice na obeh straneh mize tako, da napeljete žico od pozitivne tirnice na eni strani do pozitivne tirnice na drugi strani. To ponovite z negativnimi tirnicami.

2. korak: Dodajanje kontrolnikov

Dodajanje kontrolnikov
Dodajanje kontrolnikov

Mosquito I za upravljanje uporablja pet potenciometrov in dva gumba.

Potenciometri:

  1. Lonce postavite na mizo. Lonce postavite tako, da je vsak zatič v svoji vrsti.
  2. Lonce priključite na vodila. Levi stranski zatič vsakega lonca (če gledate na stran gumba) povežite z eno od negativnih tirnic na plošči. Desni stranski zatič vsakega lonca povežite z eno od pozitivnih tirnic na plošči.
  3. Lonce povežite z Arduinom. Osrednji zatič vsakega lonca priključite na enega od analognih zatičev na Arduinu. Sredinski zatič prvega lonca se poveže z A0, drugi lonec z A1 in tako naprej, zadnji lonec pa z A4.

Potisni gumbi:

  1. Gumbe postavite na ploščo. Dva gumba postavite na mizo, tako da se raztezata po sredinskem kanalu.
  2. Povežite pozitivne strani. Na eni strani plošče priklopite enega od zatičev gumba na pozitivno vodilo.
  3. Povežite negativne strani. Enega od uporov 1K postavite na ploščo, tako da je en konec povezan z neuporabljenim zatičem gumba, druga stran upora pa z negativno tirnico.
  4. Gumb za povezavo z Arduinom. Na vrvico potegnite žico, ki gumb poveže z negativno tirnico na zatič D2. Enako storite z drugim gumbom, vendar ga povežite z D3.

3. korak: Dodajanje izhodov

Dodajanje izhodov
Dodajanje izhodov

Predvajamo zvok iz nožice 9 in utripamo LED na prvem koraku vsakega zaporedja. Tukaj je opisano, kako za to nastaviti strojno opremo.

LED

  1. V prazen prostor na plošči postavite LED.
  2. Negativno (kratko) nogo LED priklopite na negativno tirnico.
  3. Postavite upor, ki omejuje tok. Priključite eno stran 330 ohmskega upora na pozitivno (dolgo) nogo LED. Priključite drugo stran upora na pin D4 Arduina.

Zvočni izhod

  1. Postavite omrežje RC. Izhodni signal iz Arduina prihaja iz zatiča 9, vendar je signal lahko nekoliko vroči, kot ga zmorejo nekateri zvočniki. Da bi to približali linijski ravni, sem dodal RC omrežje (na podlagi zasnove Notes & Volts). Kondenzatorje 33nF in 100uF namestite skupaj z uporom 2K, kot je prikazano na sliki/shemi. Prepričajte se, da je elektrolitski kondenzator 100uF povezan z desno polariteto (pozitivna/dolga noga bo šla na pin 9 na Arduinu in negativna/kratka noga povezana z vtičnico).
  2. Negativno stran avdio priključka priključite na ozemljitev. Povezave avdio priključkov se bodo nekoliko razlikovale glede na vrsto, ki jo uporabljate, vendar na splošno vse delujejo enako. Tulec vtičnice moramo povezati z maso. To je včasih označeno s simbolom minus ali označeno kot "rokav", "obroč" ali "gnd". Če na avdio priključku ni nalepk, se boste morda morali posvetovati s podatkovnim listom ali natančno pregledati vtičnico in preveriti, ali lahko ugotovite, kateri zatič je priključen na pušo ali zunanji obroč vtičnice.
  3. Priključite pozitivno stran avdio priključka na negativno stran kondenzatorja 100uF. Naš zvočni signal zdaj teče z nožice 9 Arduina skozi RC omrežje in izhaja iz negativne strani kondenzatorja 100uF. To bomo povezali s pozitivno stranjo našega avdio priključka. Običajno je to označeno s simbolom plus ali pa je lahko označeno kot "nasvet". Če ni označen, ga boste morda morali pregledati, da ugotovite, kateri zatič se bo povezal s konico vtičnice. Če uporabljate stereo vtičnico, lahko pride do povezave L konice in R konice. Ker oddajamo mono signal, se lahko preprosto povežete z eno od konicnih povezav.

Pomembno: Če ugotovite, da je zvok pretih, boste morda v 1. koraku lahko odstranili omrežje RC in se neposredno povezali z zvokom iz zatiča 9 Arduina. To bi moralo biti v redu, če zvok povezujete z nečim z predpojačevalnikom, kot so zunanji računalniški zvočniki, kjer imate gumb za glasnost, vendar tega ne priporočam za stvari, kot so slušalke, slušalke ali neposredno ožičenje na zvočnik. Če se odločite za odpravo omrežja RC, predlagam, da pred vklopom Arduina glasnost zvočnikov znižate do konca in nato postopoma povečate glasnost, da zvočnikov ne popihate.

Ko ste vse nastavili, dvakrat preverite, ali so vse povezave pravilne in se ujemajo s sliko in shemo zgoraj

4. korak: nalaganje kode

Zdaj, ko je strojna oprema vse nastavljena, se lahko pripravimo na programsko stran:

  1. Zaženite Arduino IDE. V računalniku zaženite Arduino IDE (če ga nimate, ga lahko prenesete s spletnega mesta
  2. Prenesite knjižnico Mozzi. Knjižnica Mozzi nam omogoča uporabo našega Arduina kot sintetizatorja. Če želite to knjižnico vključiti v svoj IDE, pojdite na stran Mozzi github https://sensorium.github.io/Mozzi/download/. Kliknite na zeleni gumb "Koda" in izberite Prenesi ZIP.
  3. Knjižnico Mozzi namestite iz datoteke zip. V Arduino IDE pojdite na Sketch-> Include Library-> Add. ZIP Library … Pomaknite se do datoteke zip, ki ste jo prenesli, da jo dodate. Mozzi bi moral biti prikazan v razdelku Sketch-> Include Library.
  4. Prenesite kodo Mosquito I Arduino. To lahko dobite na mojem spletnem mestu github https://github.com/analogsketchbook/mosquito_one. (Upoštevajte, da so sheme na voljo tudi tam, če jih potrebujete za referenco ožičenja.
  5. Arduino povežite z računalnikom in naložite kodo.

Korak 5: Zamotajte se

To je to. Zvočnike bi morali priključiti na avdio vtičnico in slišati sladek zvok arpeggirane sinteze iz tega ittybitty Nano! Če sprva ne slišite ničesar, poskusite centrirati gumbe na vseh lončkih, da se prepričate, da dobite spodobne začetne vrednosti.

Tukaj naredijo kontrole:

Lonci:

Hitrost: Ta nadzoruje hitrost predvajanja sekvencera. Če ga izklopite, zaporedoma predvajate diskretne note. S tem, ko se obrnete navzgor, se note razmažejo, da ustvarite popolnoma nove valovne oblike.

Legato: Drugi lonec nadzoruje dolžino legata ali note. Če ga obrnete bolj v levo, nastanejo kratke, lepljive note, medtem ko v desno obrnete daljše note.

Pitch: Ta nastavitev osnovne višine zaporedja. Nadzor višine tona nastavlja vrednosti MIDI, zato poveča ali zmanjša glasnost v poltonu namesto neprekinjenega premika višine tona.

Faza: Če zavrtite ta gumb v desno, pride do subtilnega učinka faziranja. Tehnično gledano, to povzroči, da sta dva oscilatorja v Mosquito I rahlo odklopljena, kar povzroča faziranje. Vendar ne gre za sledenje z višino tona, zato je učinek stopnjevanja verjetno bolj opazen pri notah z nižjo višino.

Filter: Ta gumb nadzoruje mejno frekvenco nizkoprepustnega filtra. Če ga obrnete v levo, izklopite visoke frekvence in ustvarite bolj prigušen zvok, v desno pa svetlejši zvok.

Gumbi:

Komar ima privzeto več kot dvajset različnih sekvenc, ki jih lahko predvaja. S potisnimi gumbi lahko izberete zaporedje, ki se predvaja. En gumb vas premakne po seznamu zaporedjev, drugi pa po seznamu navzdol.

6. korak: prilagoditev

Prilagoditev
Prilagoditev

Dodal sem kopico privzetih zaporedij, večinoma različnih lestvic, vendar lahko kodo precej preprosto prilagodite tako, da spremenite zaporedje predvajanih not, dodate nove ali spremenite število not v zaporedju. Spodaj so podrobnosti o tem, kako se to naredi, če ga želite prilagoditi.

Spreminjanje zapiskov v obstoječem zaporedju

Zaporedja so shranjena v nizu nizov, imenovanih NOTES. Vsaka nota je shranjena kot vrednost zapiska MIDI, zato, če želite zapiske spremeniti v določenem zaporedju, preprosto spremenite številke zapiskov MIDI za to zaporedje. Privzeta nastavitev je predvajanje 8 korakov na zaporedje, tako da imate lahko v zaporedju samo 8 vrednosti MIDI (glejte spodaj, če želite različne dolžine zaporedja).

Ena stvar, ki jo je treba opozoriti, je, da gumb za višino višine doda zamik note v vrednosti MIDI, podane v matrici NOTES. Ko je gumb centriran, predvaja note MIDI, ki so navedene v matriki, toda ko obračate gumb za višino, doda ali odšteje polton zvokom, ki se predvajajo.

Dodajanje novih zaporedij

V matrico NOTES lahko dodate nova zaporedja, tako da preprosto dodate novo matriko z 8 opombami na koncu seznama. Če to storite, boste morali spremeniti tudi vrednost spremenljivke numSequences, da se ujema z novim številom zaporedij. Niz NOTES ima na primer privzeto 21 zaporedij, zato je spremenljivka numSequences nastavljena na 21. Če dodate eno novo zaporedje, boste morali spremenljivko numSequences spremeniti v 22.

Dodate lahko toliko novih zaporedij, kot želite.

Spreminjanje dolžine zaporedja

Če želite spremeniti dolžino svojih zaporedij (če želite reči 4-stopenjsko ali 16-stopenjsko zaporedje), lahko to storite, vendar je edino opozorilo, da morajo biti vse sekvence enake dolžine. Spremenljivko numNotes boste morali nastaviti tako, da se ujema z dolžino vaših zaporedij.

Druge spremembe

Možne so številne druge prilagoditve, na primer preklapljanje vrst valovne oblike, nastavitve/vrednosti filtra, ki presegajo obseg te vadnice. Odkrivanje kode Mozzi je sprva lahko nekoliko zahtevno, vendar sem kodo poskušal čim bolj dokumentirati, da bi pokazal, kaj različni deli kode počnejo.

Obstaja nekaj glavnih delov kode za Mozzi, ki imajo precej posebne uporabe, spodaj pa sem jih navedel, da vam predstavim in za kaj se uporabljajo:

  • setup () - Če ste programirali za Arduinos, preden ste seznanjeni s to funkcijo, in se v Mozziju uporablja enako. Večinoma ga uporabljamo za nastavitev privzetih nastavitev za oscilatorje, filtre itd.
  • updateControl () - Tu levji delež kode Mozzi deluje. Tu beremo vrednosti lončkov in gumbov, preslikamo in pretvorimo te vrednosti, da jih vnesemo v sintetizator, in kjer se izvaja zaporedje.
  • updateAudio () - To je končni izhod iz knjižnice Mozzi. Običajno je koda tukaj zelo majhna in nagnjena, ker to funkcijo uporablja Mozzi za maksimiziranje vseh ciklov ure, ki jih lahko. Kot lahko vidite v kodi komarjev, je lahko nekoliko skrivnostno, vendar v bistvu počnemo združevanje/pomnoževanje različnih valovnih oblik in jih nato spreminjamo tako, da ustrezajo določenemu številčnemu območju. Najbolje je, da je ta funkcija zelo lahka (ne serijski klici ali bralni zatiči) in večino stvari namesto tega namestite v funkcijo controlUpdate (). Dokumentacija Mozzi to podrobneje opisuje.

Priporočena: