Sisukord:

Vähendav süntesaator (sääsk I): 6 sammu
Vähendav süntesaator (sääsk I): 6 sammu

Video: Vähendav süntesaator (sääsk I): 6 sammu

Video: Vähendav süntesaator (sääsk I): 6 sammu
Video: How To Count Carbs On A Keto Diet To Lose Weight Fast 2024, Juuli
Anonim
Vähendav süntesaator (sääsk I)
Vähendav süntesaator (sääsk I)

Mosquito I on väike arpegeeriv süntesaator, mis kasutab Arduino Nano ja Mozzi helisünteesi raamatukogu. See võib mängida üle kahekümne 8-astmelise jada, kuid saate lisada nii palju kohandatud järjestusi kui soovite. See on suhteliselt lihtne seadistada ega vaja palju osi.

Tarvikud:

  • Arduino Nano (või mis tahes Arduino peaks tõesti töötama)
  • 5 ea potentsiomeetrit (10K lineaarne)
  • 2 ea Vajutage nuppe
  • 1 ea LED
  • 1 ea takisti (330 oomi)
  • 2 ea takisti (1K)
  • 1 ea takisti (2K)
  • 1 ea elektrolüütiline kondensaator (100 uF)
  • 1 keraamiline kondensaator (33 nF)
  • 1 ja Stereo Jack
  • Ühendusjuhe
  • Leivalaud

Samm: seadistage Arduino

Arduino seadistamine
Arduino seadistamine
Arduino seadistamine
Arduino seadistamine

Esiteks, paneme Nano leivalauale ja seadistame oma jõu:

  1. Asetage Nano leivaplaadile. Asetage, nagu ülaltoodud pildil näidatud. See peaks ulatuma leivaplaadi keskjooneni. Soovite, et see asuks leivaplaadi ühes otsas ja USB -port oleks selle poole suunatud. Nii ei takista kaabel, kui me selle ühendame. Kui kasutate suuremat Arduinot, näiteks Uno või Mega, ei paigalda te seda loomulikult leivalauale.
  2. Ühendage toitepiirded Arduinoga. Ühendage üks oma leivalaua positiivsetest (punastest) rööbastest Arduino 5V tihvtiga, kasutades juhtme- või hüppajajuhtmeid. Seejärel ühendage üks negatiivsetest (sinistest) rööbastest ühe Nano GND tihvtiga.
  3. Ühendage toitepiirded üksteisega. Leivaplaadi mõlemal küljel asuvate rööbaste voolu saamiseks ühendage leivaplaadi mõlemal küljel olevad rööpad üksteisega, juhtides juhtme ühelt poolt positiivsest rööbast teise poole positiivse rööpa külge. Korrake seda negatiivsete rööbastega.

2. samm: juhtelementide lisamine

Juhtnuppude lisamine
Juhtnuppude lisamine

Mosquito I kasutab juhtimiseks viit potentsiomeetrit ja kahte nuppu.

Potentsiomeetrid:

  1. Asetage potid leivaplaadile. Asetage potid nii, et iga tihvt oleks oma reas.
  2. Ühendage potid toitepiiretega. Ühendage iga poti vasakpoolne tihvt (kui vaatate nupu külge) ühe leivaplaadi negatiivse rööpaga. Ühendage iga poti parempoolne tihvt ühe leivaplaadi positiivse rööpaga.
  3. Ühendage potid Arduinoga. Ühendage iga poti keskmine tihvt ühe Arduino analoogpistikuga. Esimese poti keskne tihvt ühendub A0 -ga, teine pott A1 -ga ja nii edasi, viimane pott on ühendatud A4 -ga.

Nupud:

  1. Asetage nupud leivaplaadile. Asetage kaks surunuppu leivaplaadile nii, et need ulatuksid keskjoonesse.
  2. Ühendage positiivsed küljed. Ühendage leivaplaadi ühel küljel üks surunupu tihvt positiivse rööpaga.
  3. Ühendage negatiivsed küljed. Asetage üks 1K takistist leivaplaadile nii, et üks ots oleks ühendatud nupu kasutamata tihvtiga ja takisti teine pool miinusrööpaga.
  4. Ühenda nupp Arduinoga. Viige traat reale, mis ühendab nupu negatiivse rööpaga D2 tihvtiga. Tehke sama teise nupuga, kuid ühendage see D3 -ga.

3. samm: väljundite lisamine

Väljundite lisamine
Väljundite lisamine

Väljastame heli pinast 9 ja vilgutame iga jada esimesel etapil LED -i. Siit saate teada, kuidas riistvara seadistada.

LED

  1. Asetage LED leivalauale tühja kohta.
  2. Ühendage LED -i negatiivne (lühike) jalg negatiivse rööpaga.
  3. Asetage voolu piirav takisti. Ühendage 330 oomi takisti üks külg LED -i positiivse (pika) jalaga. Ühendage takisti teine pool Arduino tihvtiga D4.

Heliväljund

  1. Asetage RC -võrk. Arduino väljundsignaal pärineb nööpnõelast 9, kuid signaal võib olla pisut kuumem kui mõned kõlarid suudavad taluda. Selleks, et viia see liinitasemele lähemale, olen lisanud RC -võrgu (põhineb Notes & Voltsi kujundusel). Asetage 33nF ja 100uF kondensaatorid koos 2K takistiga, nagu on näidatud pildil/skeemil. Veenduge, et elektrolüütiline 100uF kondensaator on ühendatud õige polaarsusega (positiivne/pikk jalg läheb Arduino tihvti 9 külge ja negatiivne/lühike jalg pistikupessa).
  2. Ühendage helipistiku negatiivne pool maandusega. Helipistiku ühendused varieeruvad veidi, sõltuvalt teie kasutatavast tüübist, kuid üldiselt töötavad need kõik samamoodi. Peame ühendama tungraua varruka maapinnaga. See on mõnikord tähistatud miinusmärgiga või märgistatud kui "varrukas", "rõngas" või "gnd". Kui teie helipistikul pole silte, peate võib -olla tutvuma andmelehega või lihtsalt kontrollima pesa ja kontrollima, kas saate kindlaks teha, milline tihvt on pistiku hülsi või välimise rõngaga ühendatud.
  3. Ühendage helipistiku positiivne pool 100uF kondensaatori negatiivse poolega. Meie helisignaal voolab nüüd Arduino kontaktist 9 läbi RC võrgu ja väljub 100uF kondensaatori negatiivsest küljest. Me ühendame selle oma helipistiku positiivse küljega. See on tavaliselt tähistatud plussmärgiga või märgistusega „jootraha“. Jällegi, kui see pole märgistatud, peate võib -olla seda kontrollima, et välja selgitada, milline tihvt pistikupesaga ühendub. Samuti, kui kasutate stereopistikut, võib olla L- ja R -otsa ühendus. Kuna väljastame monosignaali, saate lihtsalt ühendada ühe otsaühendusega.

Tähtis: kui leiate, et heli on liiga vaikne, võite 1. etapis RC -võrgu kõrvaldada ja ühendada otse Arduino tihvti 9 heliga. See peaks olema okei, kui ühendate heli millegi eelvõimendiga, näiteks väliste arvutikõlaritega, kus teil on helitugevuse nupp, kuid ma ei soovita seda näiteks kõrvaklappide, kõrvaklappide või otse kõlariga ühendamiseks. Kui otsustate RC -võrgu likvideerida, soovitan enne Arduino käivitamist kõlarite helitugevus lõpuni maha keerata ja seejärel helitugevust järk -järgult suurendada, et vältida kõlarite puhumist.

Kui olete kõik seadistanud, kontrollige veelkord, kas kõik ühendused näevad välja õiged ja vastavad ülaltoodud pildile ja skeemile

Samm: koodi üleslaadimine

Nüüd, kui riistvara on kõik seadistatud, oleme valmis tegelema tarkvara poolega:

  1. Käivitage Arduino IDE. Käivitage oma arvutis Arduino IDE (kui teil seda pole, saate selle alla laadida saidilt
  2. Laadige alla Mozzi raamatukogu. Mozzi raamatukogu võimaldab meil kasutada oma Arduinot süntesaatorina. Selle raamatukogu IDE -sse hankimiseks minge Mozzi githubi lehele https://sensorium.github.io/Mozzi/download/. Klõpsake rohelist nuppu "Kood" ja valige Laadi alla ZIP.
  3. Installige Mozzi raamatukogu zip -failist. Avage Arduino IDE-s visand-> Kaasa raamatukogu-> Lisa. ZIP-raamatukogu… Selle lisamiseks liikuge allalaaditud ZIP-faili. Nüüd peaksite nägema Mozzi, mis on loetletud jaotises Visand-> Kaasa raamatukogu.
  4. Laadige alla Mosquito I Arduino kood. Selle saate minu githubi saidilt https://github.com/analogsketchbook/mosquito_one. (Pange tähele, et seal on saadaval ka skeemid, kui vajate neid juhtmestiku jaoks.
  5. Ühendage Arduino arvutiga ja laadige kood üles.

Samm 5: Messing ümber

See on kõik. Teil peaks olema võimalus ühendada oma kõlarid helipistikuga ja kuulda selle magusa Nano arpegeeritud sünteesi heli! Kui te alguses midagi ei kuule, proovige tsentreerida kõikide pottide nupud, veendumaks, et saate korralikud lähteväärtused.

Juhtelemendid toimivad järgmiselt.

Potid:

Kiirus: see määrab, kui kiiresti järjestus esitab. Selle väljalülitamine mängib järjestikku diskreetseid noote. Ülespoole pööramine määrib noodid kokku, et luua täiesti uued lainekujud.

Legato: Teine pott juhib legato või noodi pikkust. Pöörates seda rohkem vasakule, tekivad lühikesed sticatto noodid, paremale pööramine aga pikemad noodid.

Kõrgus: See määrab jada baaskõla. Kõrguse reguleerimine määrab MIDI väärtused, nii et see suurendab/vähendab heledust poolväärtuses, mitte pideva sammuga.

Faas: selle nupu paremale pööramine toob kaasa peene järkjärgulise efekti. Tehniliselt öeldes põhjustab see sääse I kahte ostsillaatorit kergelt katkestamist, mis põhjustab järkjärgulist liikumist. See ei ole aga helikõrgusega jälgimine, nii et järkjärguline efekt on tõenäoliselt märgatavam madalama helikõrgusega nootidel.

Filter: see nupp juhib madalpääsfiltri väljalülitamissagedust. Vasakule pööramine katkestab kõrged sagedused, tekitades summutatud heli, paremale pööramine aga heledamat heli.

Nupud:

Sääsel on üle kahekümne erineva jada, mida ta saab vaikimisi mängida. Nuppude abil saate valida, millist järjestust esitatakse. Üks nupp liigutab teid järjestuste loendis üles ja teine läheb loendist alla.

6. samm: kohandamine

Kohandamine
Kohandamine

Olen lisanud hulga vaikejärjestusi, enamasti erinevaid skaalasid, kuid saate koodi üsna hõlpsalt kohandada, et muuta esitatavate nootide järjestust, lisada uusi või muuta nootide arvu jadas. Allpool on üksikasjad selle kohta, kuidas seda teha, kui soovite seda kohandada.

Märkmete muutmine olemasolevas järjestuses

Järjestused salvestatakse massiivide massiivi, mida nimetatakse MÄRKUSED. Iga märkus salvestatakse MIDI -märkme väärtusena, nii et kui soovite märkmeid teatud järjestuses muuta, muutke lihtsalt selle jada MIDI -märkmete numbreid. Vaikimisi seadistus on mängida 8 sammu järjestuse kohta, nii et järjestuses saab olla ainult 8 MIDI väärtust (vaadake allpool, kui soovite erinevaid jada pikkusi).

Üks asi, mida tuleb märkida, on helikõrguse nupp lisab märkmete nihke massiivis NOTES määratud MIDI väärtustele. Kui nupp on tsentreeritud, mängib see massiivis näidatud MIDI-noote, kuid helikõrguse keeramisel lisab või lahutab ta esitatavatele nootidele pooltooni.

Uute järjestuste lisamine

Massiivile NOTES saate uusi järjestusi lisada, lisades loendi lõppu lihtsalt uue 8-märkmelise massiivi. Kui te seda siiski teete, peate muutuja numSequence väärtust muutma, et see vastaks uuele järjestuste arvule. Näiteks massiivis NOTES on vaikimisi 21 järjestust, seega on muutuja numSequence väärtuseks 21. Kui lisate ühe uue jada, peate muutuja numSequence muutma 22 -ks.

Saate lisada nii palju uusi järjestusi kui soovite.

Järjestuse pikkuse muutmine

Kui soovite oma jadade pikkust muuta (kui soovite öelda 4- või 16-astmelist jada), saate seda teha, kuid ainus hoiatus on see, et kõik järjestused peavad olema sama pikkusega. Samuti peate määrama muutuja numNotes nii, et see vastaks teie järjestuste pikkusele.

Muud muudatused

Võimalikud on ka mitmed muud kohandused, näiteks lainekuju tüüpide vahetamine, filtri seaded/väärtused, mis jäävad selle õpetuse raamest välja. Mozzi koodi välja selgitamine võib esialgu olla pisut keeruline, kuid olen püüdnud koodi võimalikult palju dokumenteerida, et näidata, mida koodi erinevad osad teevad.

Mozzi koodil on mõned põhiosad, millel on üsna spetsiifiline kasutusala, ja ma olen need allpool loetlenud, et anda teile aimu, milleks neid kasutatakse:

  • setup () - kui olete enne selle funktsiooni tundmist Arduinose jaoks programmeerinud ja seda on Mozzis üsna palju kasutatud. Kasutame seda enamasti ostsillaatorite, filtrite jms vaikeseadete seadistamiseks.
  • updateControl () - siin teeb lõviosa Mozzi koodist oma tööd. See on koht, kus me loeme poti ja nupu väärtusi, kaardistame ja teisendame need väärtused süntesaatorisse söötmiseks ning kus toimub järjestamine.
  • updateAudio () - see on Mozzi raamatukogu viimane väljund. Tavaliselt on siin kood väga väike ja lahja, kuna Mozzi kasutab seda funktsiooni kõigi kellatsüklite maksimeerimiseks. Nagu näete sääskekoodist, võib see olla natuke salapärane, kuid kõik, mida me põhimõtteliselt teeme, kombineerides/korrutades oma erinevaid lainekuju ja seejärel bitshift, et need sobiksid teatud arvuvahemikuga. Parim on hoida see funktsioon väga kergena (mitte jadakõned või lugemisnööbid) ja panna suurem osa kraamist selle asemel funktsiooni controlUpdate (). Mozzi dokumentatsioon kirjeldab seda üksikasjalikumalt.

Soovitan: