Sadržaj:

Arpeggirajući sintetizator (komarac I): 6 koraka
Arpeggirajući sintetizator (komarac I): 6 koraka

Video: Arpeggirajući sintetizator (komarac I): 6 koraka

Video: Arpeggirajući sintetizator (komarac I): 6 koraka
Video: Самый безумный хаос до сих пор 2024, Decembar
Anonim
Arpeggirajući sintetizator (komarac I)
Arpeggirajući sintetizator (komarac I)

Mosquito I je mali arpeggirajući sintisajzer koji koristi Arduino Nano i Mozzijevu biblioteku za sintezu zvuka. Može reproducirati preko dvadeset sekvenci u 8 koraka, ali možete dodati koliko god želite prilagođenih sekvenci. Relativno je jednostavno za postavljanje i ne zahtijeva puno dijelova.

Potrošni materijal:

  • Arduino Nano (ili bilo koji Arduino bi zaista trebao raditi)
  • 5 ea potenciometra (10K linearno)
  • 2 ea Tasteri
  • 1 ea LED
  • 1 ea otpornik (330 ohma)
  • 2 ea otpornik (1K)
  • 1 ea otpornik (2K)
  • 1 ea elektrolitički kondenzator (100 uF)
  • 1 ea keramički kondenzator (33 nF)
  • 1 ea stereo priključak
  • Spojna žica
  • Breadboard

Korak 1: Postavljanje Arduina

Postavljanje Arduina
Postavljanje Arduina
Postavljanje Arduina
Postavljanje Arduina

Prvo stavimo Nano na ploču i postavimo snagu:

  1. Stavite Nano na ploču. Postavite kao što je prikazano na gornjoj slici. Trebalo bi da se proteže preko centralnog kanala matične ploče. Želite da se nalazi na jednom kraju matične ploče, s USB priključkom okrenutim na tu stranu. Na ovaj način kabel neće ometati kada ga priključimo. Ako koristite veći Arduino, poput Uno ili Mega, naravno da ga nećete montirati na matičnu ploču.
  2. Spojite vodilice na Arduino. Spojite jednu od pozitivnih (crvenih) šina vaše matične ploče na Arduino 5V pin pomoću žice ili kratkospojnika. Zatim spojite jednu od negativnih (plavih) šina na jedan od Nano -ovih GND pinova.
  3. Spojite vodilice jedna s drugom. Da biste dobili napajanje uz tračnice s obje strane matične ploče, spojite tračnice s obje strane matične ploče jednu s drugom tako da provodite žicu od pozitivne šine s jedne strane do pozitivne šine s druge strane. Ponovite ovo s negativnim vodilicama.

Korak 2: Dodavanje kontrola

Dodavanje kontrola
Dodavanje kontrola

Mosquito I koristi pet potenciometara i dva dugmeta za upravljanje.

Potenciometri:

  1. Stavite lonce na ploču. Postavite saksije tako da svaka iglica bude u svom redu.
  2. Spojite lonce na vodilice. Spojite lijevu bočnu iglu svakog lonca (ako gledate sa strane gumba) na jednu od negativnih vodilica na ploči. Spojite desnu bočnu iglu svakog lonca na jednu od pozitivnih vodilica ploče.
  3. Spojite lonce na Arduino. Spojite središnji pin svakog lonca na jedan od analognih pinova na Arduinu. Središnji pin prvog lonca spaja se s A0, drugi lonac s A1 i tako dalje, a posljednji pot je spojen na A4.

Tasteri:

  1. Postavite dugmad na matičnu ploču. Postavite dva gumba na ploču tako da leže oko središnjeg kanala.
  2. Povežite pozitivne strane. Na jednoj strani matične ploče spojite jedan od pinova tipke na pozitivnu vodilicu.
  3. Povežite negativne strane. Postavite jedan od 1K otpornika na matičnu ploču tako da je jedan kraj spojen na neiskorišteni pin tipke, a druga strana otpornika spojena na negativnu šinu.
  4. Dugme za povezivanje s Arduinom. Povucite žicu u nizu koja spaja gumb s negativnom šinom na pin D2. Učinite isto s drugim gumbom, ali ga spojite na D3.

Korak 3: Dodavanje izlaza

Dodavanje izlaza
Dodavanje izlaza

Emitujemo zvuk sa pina 9, kao i trepćući LED diodu na prvom koraku svake sekvence. Evo kako postaviti hardver za to.

LED

  1. Postavite LED diodu na prazan prostor na ploči s ploču.
  2. Spojite negativnu (kratku) nogu LED diode na negativnu vodilicu.
  3. Postavite otpornik za ograničavanje struje. Spojite jednu stranu otpornika od 330 ohma na pozitivnu (dugu) nogu LED -a. Spojite drugu stranu otpornika na pin D4 Arduina.

Audio izlaz

  1. Postavite RC mrežu. Izlazni signal iz Arduina dolazi s pina 9, ali signal može biti malo topliji nego što neki zvučnici mogu podnijeti. Da bih to sveo na nešto bliže linijskom nivou, dodao sam RC mrežu (zasnovanu na dizajnu Notes & Volts). Postavite kondenzatore od 33nF i 100uF, zajedno s 2K otpornikom, kao što je prikazano na slici/shemi. Uvjerite se da je elektrolitički kondenzator od 100uF spojen na pravilan polaritet (pozitivna/duga noga ide na pin 9 na Arduinu, a negativna/kratka noga spojena na utičnicu).
  2. Spojite negativnu stranu audio priključka na masu. Veze audio priključnica malo će se razlikovati ovisno o vrsti koju koristite, ali općenito sve rade isto. Moramo spojiti čahuru dizalice sa masom. Ovo je ponekad označeno simbolom minus ili označeno kao "rukav", "prsten" ili "gnd". Ako na vašem audio priključku nema oznaka, možda ćete morati pogledati tehnički list ili samo pomno pregledati utičnicu i provjeriti možete li utvrditi koji je pin spojen na čahuru ili vanjski prsten utičnice.
  3. Priključite pozitivnu stranu audio priključka na negativnu stranu kondenzatora od 100uF. Naš audio signal sada teče iz pina 9 Arduina kroz RC mrežu i izlazi s negativne strane kondenzatora od 100uF. Povezaćemo to sa pozitivnom stranom našeg audio priključka. Ovo je obično označeno znakom plus ili bi moglo biti označeno kao "savjet". Opet, ako nije označen, možda ćete ga morati pregledati da biste saznali koji će se pin spojiti na vrh utičnice. Također, ako koristite stereo priključak, možda postoji veza L vrha i R vrha. Budući da emitiramo mono signal, možete se jednostavno spojiti na bilo koju od napojnih veza.

Važno: Ako utvrdite da je zvuk previše tih, možda ćete moći ukloniti RC mrežu u koraku 1 i povezati se direktno sa zvukom s pina 9 Arduina. Ovo bi trebalo biti u redu ako povezujete zvuk na nešto s pretpojačalom, poput vanjskih zvučnika na računaru, gdje imate dugme za jačinu zvuka, ali to ne bih preporučio za stvari poput slušalica, slušalica ili direktnog povezivanja na zvučnik. Ako odlučite ukloniti RC mrežu, predlažem da pojačate zvuk na zvučnicima do kraja prije uključivanja Arduina, a zatim postupno povećavate glasnoću kako biste izbjegli utišavanje zvučnika.

Nakon što ste sve postavili, još jednom provjerite da li sve veze izgledaju ispravno i odgovaraju li gornjoj slici i shemi

Korak 4: Učitavanje koda

Sada kada je hardver sve postavljen, spremni smo za rješavanje softverske strane:

  1. Pokrenite Arduino IDE. Na računaru pokrenite Arduino IDE (ako ga nemate, možete ga preuzeti sa
  2. Preuzmite Mozzijevu biblioteku. Mozzijeva biblioteka nam omogućava da koristimo naš Arduino kao sintisajzer. Da biste ovu biblioteku unijeli u svoj IDE, idite na Mozzi github stranicu https://sensorium.github.io/Mozzi/download/. Pritisnite zeleno dugme "Kod" i odaberite Preuzmi ZIP.
  3. Instalirajte Mozzi biblioteku iz zip datoteke. U Arduino IDE idite na Sketch-> Include Library-> Add. ZIP Library … Idite do zip datoteke koju ste preuzeli da biste je dodali. Mozzi biste sada trebali vidjeti na popisu u odjeljku Sketch-> Include Library.
  4. Preuzmite Mosquito I Arduino kod. Ovo možete nabaviti sa moje github stranice https://github.com/analogsketchbook/mosquito_one. (Imajte na umu da su sheme tamo dostupne i ako su vam potrebne za referencu ožičenja.
  5. Spojite Arduino na računalo i učitajte kôd.

Korak 5: Petljajte okolo

To je to. Trebali biste biti u mogućnosti spojiti svoje zvučnike na audio priključak i čuti slatki zvuk arpeggirane sinteze iz tog sitnog Nano! Ako u početku ništa ne čujete, pokušajte centrirati gumbe na svim loncima kako biste bili sigurni da ćete dobiti pristojne početne vrijednosti.

Evo šta kontrole rade:

Lonci:

Rate (Brzina): Ovo kontrolira brzinu reprodukcije sekvencera. Njegovo isključivanje svira diskretne note u nizu. Okretanje na gore razmazuje note kako bi se stvorile potpuno nove valne forme.

Legato: Drugi pot kontrolira legato ili dužinu note. Okretanjem više ulijevo stvaraju se kratke, sticatto note, dok okretanje udesno proizvodi duže note.

Pitch: Ovim se postavlja osnovni ton za sekvencu. Kontrola visine tona postavlja MIDI vrijednosti, pa povećava/smanjuje visinu tona u polutonima, a ne kontinuiranu promjenu visine tona.

Faza: Okretanjem ovog dugmeta udesno uvodi se suptilan efekat faziranja. Tehnički gledano, ovo dovodi do blagog podešavanja dva oscilatora u Mosquito I, što uzrokuje faziranje. Međutim, nije u pitanju praćenje visinom tona, pa je efekt postepenosti vjerojatno uočljiviji na notama s nižim tonom.

Filter: Ovo dugme kontroliše graničnu frekvenciju niskopropusnog filtera. Okretanjem ulijevo prekidate visoke frekvencije stvarajući prigušeniji zvuk, dok okretanjem udesno stvarate svjetliji zvuk.

Dugmad:

Komarac ima više od dvadeset različitih sekvenci koje se može reproducirati prema zadanim postavkama. Tasteri vam omogućavaju da izaberete koja sekvenca se reprodukuje. Jedno dugme pomiče vas prema gore, a drugo prema dolje.

Korak 6: Prilagođavanje

Prilagođavanje
Prilagođavanje

Dodao sam hrpu zadanih sekvenci, uglavnom različitih ljestvica, ali možete prilično lako prilagoditi kôd da promijenite redoslijed nota koje se sviraju, dodate nove ili promijenite broj nota u nizu. Ispod su detalji kako se to radi u slučaju da ga želite prilagoditi.

Mijenjanje bilješki u postojećem nizu

Sekvence se spremaju u niz polja nazvanih NOTES. Svaka nota je pohranjena kao vrijednost bilješke MIDI, pa ako želite promijeniti bilješke u određenom nizu, samo promijenite brojeve bilješki MIDI za tu sekvencu. Zadano podešavanje je reproduciranje 8 koraka po sekvenci tako da možete imati samo 8 MIDI vrijednosti u nizu (pogledajte dolje ako želite imati različite dužine sekvence).

Jedna stvar koju treba napomenuti, točkić za dodavanje tona dodaje pomak note notama MIDI vrijednostima navedenim u nizu NOTES. Kad je gumb centriran, on reproducira MIDI note navedene u nizu, ali dok okrećete gumb za dodavanje tona dodaje ili oduzima polu-ton notama koje se sviraju.

Dodavanje novih sekvenci

Možete dodati nove sekvence u polje NOTES jednostavnim dodavanjem novog niza od 8 nota na kraju popisa. Ako to ipak učinite, morat ćete promijeniti i vrijednost varijable numSequences kako bi odgovarala novom broju sekvenci. Na primjer, niz NOTES prema zadanim postavkama ima 21 niz, pa je varijabla numSequences postavljena na 21. Ako dodate jednu novu sekvencu, morat ćete promijeniti varijablu numSequences na 22.

Možete dodati koliko god novih sekvenci želite.

Promjena dužine sekvence

Ako želite promijeniti dužinu svojih sekvenci (ako želite reći 4 ili 16 koraka), to možete učiniti, ali jedino upozorenje je da sve sekvence moraju biti iste dužine. Također ćete morati postaviti varijablu numNotes tako da odgovara dužini vaših sekvenci.

Ostale promjene

Postoji niz drugih mogućih prilagodbi, kao što su promjena vrste valnog oblika, postavke/vrijednosti filtera, koje su izvan opsega ovog vodiča. Shvaćanje Mozzijevog koda u početku može biti malo izazovno, ali pokušao sam dokumentirati kôd što je više moguće kako bih pokazao što različiti dijelovi koda rade.

Postoji nekoliko glavnih dijelova koda za Mozzi koji imaju prilično specifične namjene, a ja sam ih dolje naveo kako bih vam dao uvid u to za šta se koriste:

  • setup () - Ako ste programirali za Arduinos prije nego što ste upoznati s ovom funkcijom, a ista se prilično koristi u Mozziju. Koristimo ga uglavnom za postavljanje zadanih postavki za oscilatore, filtre itd.
  • updateControl () - Ovde lavovski deo Mozzijevog koda radi. Tu čitamo vrijednosti pot i gumba, preslikavamo i transformiramo te vrijednosti za unos u sintisajzer i gdje se vrši sekvenciranje.
  • updateAudio () - Ovo je konačni izlaz iz Mozzijeve biblioteke. Obično je kod ovdje vrlo mali i mršav jer ovu funkciju Mozzi koristi za maksimiziranje svih ciklusa takta koje može. Kao što vidite u kodu komaraca, to može biti pomalo kriptično, ali sve što radimo u osnovi kombiniramo/množimo različite talasne oblike, a zatim ih bitshifting prilagođavamo određenom rasponu brojeva. Najbolje je da ova funkcija bude vrlo lagana (ne serijski pozivi ili pinovi za čitanje) i umjesto toga stavite većinu stvari u funkciju controlUpdate (). Mozzijeva dokumentacija ovo detaljnije opisuje.

Preporučuje se: