Obsah:

Arpeggiačný syntetizátor (Mosquito I): 6 krokov
Arpeggiačný syntetizátor (Mosquito I): 6 krokov

Video: Arpeggiačný syntetizátor (Mosquito I): 6 krokov

Video: Arpeggiačný syntetizátor (Mosquito I): 6 krokov
Video: Ноктюрн Шопена до-диез минор № 20. Учебное пособие по игре на фортепиано. Урок игры на фортепиано. 2024, Júl
Anonim
Arpeggiačný syntetizátor (Mosquito I)
Arpeggiačný syntetizátor (Mosquito I)

Mosquito I je malý arpeggiačný syntetizátor, ktorý používa Arduino Nano a knižnicu zvukovej syntézy Mozzi. Môže prehrávať viac ako dvadsať 8-krokových sekvencií, ale môžete pridať ľubovoľný počet vlastných sekvencií. Je pomerne jednoduché nastaviť a nevyžaduje veľa dielov.

Zásoby:

  • Arduino Nano (alebo akékoľvek Arduino by skutočne malo fungovať)
  • 5 ea potenciometre (10K lineárne)
  • 2 ea Tlačidlá
  • 1 LED dióda
  • 1 ea odpor (330 ohmov)
  • 2 ea odpor (1K)
  • 1 ea odpor (2 K)
  • 1 ea elektrolytický kondenzátor (100 uF)
  • 1 ea keramický kondenzátor (33 nF)
  • 1 stereofónny konektor
  • Pripojovací drôt
  • Breadboard

Krok 1: Nastavenie Arduina

Nastavenie Arduina
Nastavenie Arduina
Nastavenie Arduina
Nastavenie Arduina

Najprv vezmeme Nano na dosku a nastavíme našu silu:

  1. Položte Nano na dosku na chlieb. Umiestnite tak, ako je to znázornené na obrázku vyššie. Mal by sa rozkročiť nad stredovým kanálom doštičky. Budete chcieť, aby bol umiestnený na jednom konci dosky, s portom USB otočeným k tejto strane. Kábel tak nebude prekážať, keď ho zapojíme. Ak používate väčšie Arduino, ako je Uno alebo Mega, samozrejme ho nebudete montovať na dosku.
  2. Pripojte napájacie koľajnice k Arduinu. Pripojte jednu z pozitívnych (červených) koľajničiek vášho nepájivého poľa k 5V kolíku Arduina pomocou drôtov alebo prepojovacích káblov. Potom pripojte jednu z negatívnych (modrých) koľajníc k jednému z pinov GND Nano.
  3. Pripojte napájacie koľajnice k sebe. Aby ste získali napájanie po koľajniciach na oboch stranách dosky, prepojte koľajnice na oboch stranách dosky navzájom tak, že pomocou drôtu z kladnej lišty na jednej strane k kladnej lište na druhej strane. Opakujte to s negatívnymi koľajničkami.

Krok 2: Pridanie ovládacích prvkov

Pridanie ovládacích prvkov
Pridanie ovládacích prvkov

Komár I používa na ovládanie päť potenciometrov a dve tlačidlá.

Potenciometre:

  1. Položte hrnce na dosku na chlieb. Hrnce umiestnite tak, aby každý špendlík bol vo svojom rade.
  2. Pripojte hrnce k napájacím lištám. Pripojte kolík na ľavej strane každého hrnca (ak sa pozeráte na stranu gombíka) k jednej z negatívnych koľajničiek na doske na chlieb. Pripojte pravý bočný kolík každého hrnca k jednej z pozitívnych koľajničiek nepájivého poľa.
  3. Pripojte hrnce k Arduinu. Pripojte stredový kolík každého hrnca k jednému z analógových pinov na Arduine. Stredový kolík prvého hrnca sa pripája k A0, druhý hrniec k A1 a tak ďalej, pričom posledný hrniec je pripojený k A4.

Tlačidlá:

  1. Umiestnite tlačidlá na dosku na chlieb. Umiestnite dve tlačidlá na doštičku tak, aby obkolesovali stredový kanál.
  2. Pripojte pozitívne strany. Na jednej strane nepájivej dosky spojte jeden z kolíkov tlačidla s kladnou lištou.
  3. Pripojte negatívne strany. Umiestnite jeden z 1K odporov na dosku tak, aby jeden koniec bol spojený s nepoužitým kolíkom tlačidla a druhá strana rezistora sa pripojila k zápornej lište.
  4. Pripojte tlačidlo k Arduinu. Veďte vodič v rade, ktorý spája tlačidlo so zápornou koľajnicou s kolíkom D2. To isté urobte s druhým tlačidlom, ale pripojte ho k D3.

Krok 3: Pridanie výstupov

Pridávanie výstupov
Pridávanie výstupov

Výstupom zvuku je kolík 9 a blikajúca dióda LED v prvom kroku každej sekvencie. Tu je návod, ako na to nastaviť hardvér.

LED

  1. Umiestnite LED diódu do prázdneho priestoru na doske.
  2. Pripojte zápornú (krátku) nohu diódy LED k zápornej lište.
  3. Umiestnite odpor obmedzujúci prúd. Pripojte jednu stranu odporu 330 ohmov k kladnému (dlhému) ramenu LED. Pripojte druhú stranu odporu k kolíku D4 Arduina.

Audio výstup

  1. Umiestnite RC sieť. Výstupný signál z Arduina pochádza z pinu 9, ale signál môže byť o niečo horúci, ako niektoré reproduktory zvládajú. Aby som to priblížil k riadkovej úrovni, pridal som RC sieť (podľa návrhu Notes & Volts). Umiestnite kondenzátory 33nF a 100uF spolu s 2K odporom, ako je znázornené na obrázku/schéme. Uistite sa, že elektrolytický kondenzátor 100uF je zapojený so správnou polaritou (kladná/dlhá noha bude smerovať na pin 9 na Arduine a záporná/krátka časť bude zapojená do konektora).
  2. Pripojte zápornú stranu zvukového konektora k zemi. Pripojenia zvukového konektora sa budú mierne líšiť v závislosti od typu, ktorý používate, ale spravidla všetky fungujú rovnako. Musíme pripojiť objímku zdviháka k zemi. Niekedy je označený symbolom mínus alebo označený ako „rukáv“, „prsteň“alebo „gnd“. Ak na vašom zvukovom konektore nie sú žiadne štítky, možno bude potrebné pozrieť sa na technický list alebo si konektor dôkladne prezrieť a zistiť, či môžete určiť, ktorý kolík je spojený s objímkou alebo vonkajším krúžkom konektora.
  3. Pripojte kladnú stranu zvukového konektora k zápornej strane kondenzátora 100 uF. Náš zvukový signál teraz prúdi z pinu 9 Arduina cez RC sieť a vystupuje z negatívnej strany kondenzátora 100uF. Pripojíme to k pozitívnej stránke nášho zvukového konektora. Toto je zvyčajne označené symbolom plus alebo môže byť označené ako „tip“. Opäť platí, že ak nie je označený, možno ho budete musieť skontrolovať, aby ste zistili, ktorý kolík sa bude pripájať k špičke konektora. Tiež, ak používate stereofónny konektor, môže existovať pripojenie L -tip a R -tip. Pretože vydávame mono signál, môžete sa pripojiť iba k jednému z koncových konektorov.

Dôležité: Ak zistíte, že je zvuk príliš tichý, v kroku 1 budete môcť eliminovať sieť RC a pripojiť sa priamo k zvuku z pinu 9 Arduina. To by malo byť v poriadku, ak pripájate zvuk k niečomu pomocou predzosilňovača, ako sú externé počítačové reproduktory, kde máte gombík hlasitosti, ale neodporúčal by som to pre veci, ako sú slúchadlá, slúchadlá do uší alebo priame zapojenie do reproduktora. Ak sa rozhodnete eliminovať sieť RC, navrhujem pred zapnutím Arduina úplne znížiť hlasitosť reproduktorov a potom postupne zvyšovať hlasitosť, aby ste predišli sfúknutiu reproduktorov.

Keď máte všetko nastavené, znova skontrolujte, či všetky pripojenia vyzerajú správne a zodpovedajú obrázku a schéme vyššie

Krok 4: Odovzdanie kódu

Teraz, keď je všetok hardvér nastavený, sme pripravení riešiť softvérovú stránku:

  1. Spustite Arduino IDE. Na počítači spustite Arduino IDE (ak ho nemáte, môžete si ho stiahnuť z
  2. Stiahnite si knižnicu Mozzi. Knižnica Mozzi nám umožňuje používať naše Arduino ako syntetizátor. Ak chcete získať túto knižnicu vo svojom IDE, navštívte stránku Mozzi github https://sensorium.github.io/Mozzi/download/. Kliknite na zelené tlačidlo „Kód“a zvoľte možnosť Stiahnuť ZIP.
  3. Nainštalujte knižnicu Mozzi zo súboru zip. V Arduino IDE prejdite na Skica-> Zahrnúť knižnicu-> Pridať. ZIP knižnicu … Prejdite na stiahnutý súbor zip a pridajte ho. Teraz by ste mali vidieť Mozziho uvedeného v sekcii Skica-> Zahrnúť knižnicu.
  4. Stiahnite si kód Mosquito I Arduino. Môžete to získať z môjho webu github https://github.com/analogsketchbook/mosquito_one. (Všimnite si toho, že schémy sú k dispozícii aj tam, kde ich potrebujete pre referenciu zapojenia.
  5. Pripojte Arduino k počítaču a nahrajte kód.

Krok 5: Messing Around

To je všetko. Mali by ste byť schopní pripojiť reproduktory k zvukovému konektoru a počuť sladký zvuk arpeggiovanej syntézy z tejto ittybitty Nano! Ak spočiatku nič nepočujete, skúste vycentrovať gombíky na všetky hrnce, aby ste sa uistili, že získate slušné východiskové hodnoty.

Ovládacie prvky robia nasledovne:

Hrnce:

Rate: Toto určuje, ako rýchlo sa sekvencer prehráva. Jeho stlmením sa postupne prehrávajú diskrétne noty. Keď to otočíte hore, rozmazáte noty dohromady a vytvoríte úplne nové krivky.

Legato: Druhý hrniec ovláda dĺžku legata alebo noty. Otočením viac doľava vytvoríte krátke, stikotové poznámky, zatiaľ čo otočením doprava vytvoríte dlhšie poznámky.

Rozteč: Nastaví základnú výšku sekvencie. Ovládaním výšky tónu sa nastavujú hodnoty MIDI, takže sa zvyšuje/znižuje výška tónu v poltónoch, a nie v súvislom posune tónu.

Fáza: Otočením tohto gombíka doprava sa dosiahne jemný fázovací efekt. Technicky povedané, to spôsobuje, že dva oscilátory v Mosquito I sú mierne rozladené, čo spôsobuje fázovanie. Nie je to však sledovanie s výškou, takže fázový efekt je pravdepodobne výraznejší na nižších tónoch.

Filter: Tento gombík ovláda medznú frekvenciu dolnopriepustného filtra. Otočením doľava sa prerušia vysoké frekvencie, čím sa vytvorí tlmenejší zvuk, zatiaľ čo otáčaním doprava vytvoríte jasnejší zvuk.

Tlačidlá:

Komár má predvolene viac ako dvadsať rôznych sekvencií, ktoré môže hrať. Tlačidlá vám umožňujú vybrať, ktorá sekvencia sa prehráva. Jedno tlačidlo vás posunie v zozname sekvencií nahor a druhé v zozname nadol.

Krok 6: Prispôsobenie

Prispôsobenie
Prispôsobenie

Pridal som veľa predvolených sekvencií, väčšinou rôznych mierok, ale kód si môžete pomerne ľahko prispôsobiť tak, aby ste zmenili postupnosť prehrávaných nôt, pridali nové alebo zmenili počet tónov v sekvencii. Nasledujú podrobnosti o tom, ako sa to robí v prípade, že si to chcete prispôsobiť.

Zmena poznámok v existujúcom slede

Sekvencie sú uložené v rade polí nazývaných NOTES. Každá nota je uložená ako hodnota MIDI noty, takže ak chcete zmeniť noty v konkrétnej sekvencii, stačí zmeniť čísla MIDI not pre danú sekvenciu. Predvolené nastavenie je hrať 8 krokov na sekvenciu, takže v sekvencii môžete mať iba 8 MIDI hodnôt (ak chcete mať rôzne dĺžky sekvencií, pozrite si nižšie).

Jedna vec, ktorú je potrebné poznamenať, gombík výšky tónu pridáva posun noty k hodnotám MIDI uvedeným v poli NOTES. Keď je gombík v strede, hrá MIDI noty uvedené v poli, ale otáčaním gombíka výšky tónu pridáva alebo odoberá polotón k prehrávaným notám.

Pridávanie nových sekvencií

Do poľa NOTES môžete pridať nové sekvencie jednoduchým pridaním nového 8-notového poľa na koniec zoznamu. Ak to však urobíte, budete tiež musieť zmeniť hodnotu premennej numSequences tak, aby zodpovedala novému počtu sekvencií. Napríklad pole NOTES má predvolene 21 sekvencií, takže premenná numSequences je nastavená na 21. Ak pridáte jednu novú sekvenciu, budete musieť premennú numSequences zmeniť na 22.

Môžete pridať toľko nových sekvencií, koľko chcete.

Zmena dĺžky sekvencie

Ak chcete zmeniť dĺžku svojich sekvencií (ak chcete povedať, že ide o 4-krokovú alebo 16-krokovú sekvenciu), môžete to urobiť, ale jedinou výhradou je, že všetky sekvencie musia mať rovnakú dĺžku. Budete tiež musieť nastaviť premennú numNotes tak, aby zodpovedala dĺžke vašich sekvencií.

Ďalšie zmeny

Existuje niekoľko ďalších možných prispôsobení, ako napríklad prepínanie typov priebehov, nastavenia/hodnoty filtra, ktoré presahujú rámec tohto tutoriálu. Zistenie kódu Mozzi môže byť spočiatku trochu náročné, ale snažil som sa kód čo najviac zdokumentovať, aby som ukázal, čo robia rôzne časti kódu.

Existuje niekoľko hlavných častí kódu pre Mozzi, ktoré majú pomerne špecifické použitia, a uvádzam ich nižšie, aby ste získali predstavu o tom, na čo sa používajú:

  • setup () - Ak ste programovali pre Arduinos, predtým ste sa s touto funkciou zoznámili a v Mozzi sa používa takmer rovnako. Používame ho väčšinou na nastavenie predvolených nastavení oscilátorov, filtrov atď.
  • updateControl () - Tu svoju prácu vykonáva leví podiel na kóde Mozzi. Tam čítame hodnoty pot a button, mapujeme a transformujeme tieto hodnoty, aby sme ich vložili do syntetizátora, a kde prebieha sekvenovanie.
  • updateAudio () - Toto je konečný výstup z knižnice Mozzi. Kód je tu zvyčajne veľmi malý a štíhly, pretože Mozzi túto funkciu používa na maximalizáciu všetkých hodinových cyklov, ktoré dokáže. Ako vidíte na kóde komárov, môže to byť trochu záhadné, ale všetko, čo v zásade robíme, je kombinovanie/znásobovanie našich rôznych kriviek a ich následné bitshifting, aby sa zmestili do konkrétneho číselného rozsahu. Túto funkciu je najlepšie ponechať veľmi svetlú (nie sériové hovory alebo čítacie piny) a väčšinu vecí namiesto toho vložiť do funkcie controlUpdate (). Dokumentácia Mozzi to podrobnejšie popisuje.

Odporúča: