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, Srpanj
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 više od dvadeset sekvenci u 8 koraka, ali možete dodati koliko god želite prilagođenih sekvenci. Relativno je jednostavno postaviti i ne zahtijeva puno dijelova.

Pribor:

  • Arduino Nano (ili bilo koji Arduino bi stvarno trebao raditi)
  • 5 ea potenciometra (10K linearno)
  • 2 ea tipke
  • 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
  • Oglasna ploča

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. Trebao bi se protezati po središnjem kanalu ploče. Želite da se nalazi na jednom kraju ploče, s USB priključkom okrenutim na tu stranu. Na ovaj način kabel neće smetati kada ga priključimo. Ako koristite veći Arduino, poput Uno ili Mega, naravno da ga nećete montirati na ploču.
  2. Spojite vodilice na Arduino. Spojite jednu od pozitivnih (crvenih) tračnica vaše matične ploče na Arduino 5V pin pomoću žice ili kratkospojnih žica. Zatim spojite jednu od negativnih (plavih) tračnica na jedan od Nano -ovih GND pinova.
  3. Spojite vodilice jedna s drugom. Da biste dobili snagu uz tračnice s obje strane ploče, spojite tračnice s obje strane ploče međusobno vođenjem žice od pozitivne tračnice s jedne strane do pozitivne tračnice s druge strane. Ponovite to s negativnim vodilicama.

Korak 2: Dodavanje kontrola

Dodavanje kontrola
Dodavanje kontrola

Mosquito I koristi pet potenciometara i dvije tipke za upravljanje.

Potenciometri:

  1. Stavite lonce na ploču s kruhom. Lonce postavite tako da svaki zatik 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 desni bočni zatik 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 na A0, drugi lonac na A1 i tako dalje s time da je zadnji lonac spojen na A4.

Pritisni gumbi:

  1. Postavite gumbe na ploču s ploču. Postavite dva gumba na ploču tako da leže oko središnjeg kanala.
  2. Povežite pozitivne strane. S jedne strane matične ploče spojite jedan od zatiča tipke na pozitivnu vodilicu.
  3. Spojite negativne strane. Postavite jedan od 1K otpornika na ploču tako da je jedan kraj spojen na neiskorišteni pin tipke, a druga strana otpornika spojena na negativnu vodilicu.
  4. Gumb za povezivanje s Arduinom. Povucite žicu u redu 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

Emitiramo zvuk s 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 koji ograničava struju. 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 s 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 linijskoj razini, dodao sam RC mrežu (prema dizajnu Notes & Volts). Postavite kondenzatore od 33nF i 100uF zajedno s 2K otpornikom kako je prikazano na slici/shemi. Uvjerite se da je elektrolitički kondenzator od 100uF spojen na pravi 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. Priključci audio priključnica malo će se razlikovati ovisno o vrsti koju koristite, ali općenito svi rade isto. Moramo spojiti čahuru dizalice sa uzemljenjem. To je ponekad označeno simbolom minus ili označeno kao "rukav", "prsten" ili "gnd". Ako na vašoj audio utičnici nema oznaka, možda ćete morati pogledati tehnički list ili samo pomno pregledati utičnicu i vidjeti možete li utvrditi koji je pin spojen na čahuru ili vanjski prsten utičnice.
  3. Spojite pozitivnu stranu audio priključka na negativnu stranu kondenzatora od 100uF. Naš audio signal sada teče s pina 9 Arduina kroz RC mrežu i izlazi s negativne strane kondenzatora od 100uF. Spojit ćemo to na pozitivnu stranu našeg audio priključka. To 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 kako 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 ustanovite da je zvuk previše tih, možda ćete moći ukloniti RC mrežu u koraku 1 i povezati se izravno sa zvukom s pina 9 Arduina. To bi trebalo biti u redu ako povezujete zvuk s nečim s pretpojačalom poput vanjskih zvučnika na računalu gdje imate gumb za glasnoću, ali ne bih ga preporučio za stvari poput slušalica, slušalica ili izravnog ožičenja na zvučnik. Ako ipak odlučite ukloniti RC mrežu, predlažem da pojačate glasnoću zvučnika 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, dvaput provjerite jesu li sve veze ispravne i odgovaraju li gornjoj slici i shemi

Korak 4: Prijenos koda

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

  1. Pokrenite Arduino IDE. Na računalu pokrenite Arduino IDE (ako ga nemate, možete ga preuzeti s
  2. Preuzmite Mozzijevu biblioteku. Mozzijeva knjižnica omogućuje nam korištenje našeg Arduina kao sintisajzera. Da biste ovu knjižnicu unijeli u svoj IDE, idite na Mozzijevu stranicu github https://sensorium.github.io/Mozzi/download/. Pritisnite zeleni gumb "Kod" i odaberite Preuzmi ZIP.
  3. Instalirajte Mozzi knjižnicu iz zip datoteke. U Arduino IDE idite na Sketch-> Include Library-> Add. ZIP Library … Idite na zip datoteku 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 s moje web stranice github https://github.com/analogsketchbook/mosquito_one. (Imajte na umu da su sheme također dostupne tamo ako su vam potrebne za referencu ožičenja.
  5. Spojite Arduino na računalo i prenesite kôd.

5. korak: petljanje

To je to. Trebali biste moći spojiti svoje zvučnike na audio utičnicu 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 dobivate pristojne početne vrijednosti.

Evo što kontrole rade:

Lonci:

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

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

Pitch: Ovim se postavlja osnovna visina slijeda. Kontrola visine tona postavlja MIDI vrijednosti, pa povećava/smanjuje visinu u polutonima, a ne kontinuirani pomak visine tona.

Faza: Okretanjem ovog gumba udesno unosite suptilni efekt faze. Tehnički gledano, to dovodi do blagog odstupanja dva oscilatora u Mosquitu I, što uzrokuje faziranje. Međutim, ne radi se o praćenju visine tona pa je efekt postupnosti vjerojatno uočljiviji na notama s nižim tonom.

Filter: Ovaj gumb kontrolira graničnu frekvenciju niskopropusnog filtra. Okretanjem ulijevo prekidaju se visoke frekvencije stvarajući prigušeniji zvuk, dok se okretanjem udesno proizvodi svjetliji zvuk.

Gumbi:

Mosquito ima više od dvadeset različitih sekvenci koje prema zadanim postavkama može reproducirati. Gumbi vam omogućuju odabir sekvence koja se reproducira. Jedan gumb pomiče vas prema gore, a drugi prema dolje.

Korak 6: Prilagodba

Prilagođavanje
Prilagođavanje

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

Promjena bilješki u postojećem nizu

Nizovi se spremaju u niz polja koji se nazivaju NOTES. Svaka se bilješka pohranjuje kao vrijednost bilješke MIDI, pa ako želite promijeniti bilješke u određenom slijedu, samo promijenite brojeve bilješki MIDI za taj niz. Zadana postavka je reproduciranje 8 koraka po nizu tako da možete imati samo 8 MIDI vrijednosti u nizu (pogledajte dolje ako želite imati različite duljine sekvenci).

Treba napomenuti da gumb za dodavanje tona dodaje pomak bilješke MIDI vrijednostima navedenim u nizu NOTES. Kad je gumb centriran, on reproducira MIDI note navedene u nizu, ali dok okrećete gumb za visinu 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 učinite, također ćete morati promijeniti 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 jedan novi niz, morat ćete promijeniti varijablu numSequences na 22.

Možete dodati koliko god novih sekvenci želite.

Promjena duljine sekvence

Ako želite promijeniti duljinu 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 duljine. Također ćete morati postaviti varijablu numNotes tako da odgovara duljini vaših sekvenci.

Ostale promjene

Postoji niz drugih mogućih prilagodbi, kao što su promjena vrste valnog oblika, postavke/vrijednosti filtra, 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 dolje sam ih naveo kako bih vam dao dojam i za što 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 () - Ovdje lavovski dio Mozzijevog koda radi svoj posao. Ovdje č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 možete vidjeti u kodu komaraca, to može biti pomalo kriptično, ali sve što u osnovi radimo je kombiniranje/množenje različitih valnih oblika, a zatim njihovo bitshifting kako bi odgovarali određenom rasponu brojeva. Najbolje je da ova funkcija ostane vrlo lagana (ne serijski pozivi ili pinovi za čitanje) i umjesto toga stavite većinu stvari u funkciju controlUpdate (). Mozzijeva dokumentacija to detaljnije opisuje.

Preporučeni: