Obsah:

Arpeggiační syntezátor (Mosquito I): 6 kroků
Arpeggiační syntezátor (Mosquito I): 6 kroků

Video: Arpeggiační syntezátor (Mosquito I): 6 kroků

Video: Arpeggiační syntezátor (Mosquito I): 6 kroků
Video: Convenience items needed in the family 2024, Červenec
Anonim
Arpeggiační syntezátor (Mosquito I)
Arpeggiační syntezátor (Mosquito I)

Mosquito I je malý arpeggiační syntetizátor, který používá Arduino Nano a knihovnu zvukové syntézy Mozzi. Může přehrávat více než dvacet 8krokových sekvencí, ale můžete přidat libovolný počet vlastních sekvencí. Nastavení je poměrně jednoduché a nevyžaduje mnoho dílů.

Zásoby:

  • Arduino Nano (nebo jakékoli Arduino by opravdu mělo fungovat)
  • 5 ea potenciometry (10K lineární)
  • 2 ea Tlačítka
  • 1 LED dioda
  • 1 ea odpor (330 ohmů)
  • 2 ea odpor (1K)
  • 1 ea odpor (2K)
  • 1 ea elektrolytický kondenzátor (100 uF)
  • 1 ea keramický kondenzátor (33 nF)
  • 1 stereo konektor
  • Propojovací drát
  • Prkénko

Krok 1: Nastavení Arduina

Nastavení Arduina
Nastavení Arduina
Nastavení Arduina
Nastavení Arduina

Nejprve vezmeme Nano na prkénko a nastavíme naši sílu:

  1. Umístěte Nano na prkénko. Umístěte, jak je znázorněno na obrázku výše. Měl by obkročit středový kanál prkénka. Budete chtít, aby byl umístěn na jednom konci prkénka s USB portem směřujícím k této straně. Kabel tak nebude překážet, když jej zapojíme. Pokud používáte větší Arduino, jako je Uno nebo Mega, nebudete jej samozřejmě montovat na prkénko.
  2. Připojte napájecí lišty k Arduinu. Připojte jednu z kladných (červených) lišt vašeho prkénka k 5V pinu Arduina pomocí drátů nebo propojovacích vodičů. Poté připojte jednu z negativních (modrých) kolejnic k jednomu z GND pinů Nano.
  3. Připojte napájecí lišty k sobě. Abyste získali energii podél kolejnic na obou stranách prkénka, připojte kolejnice na obou stranách prkénka k sobě tak, že protáhnete drát od kladné kolejnice na jedné straně ke kladné kolejnici na druhé straně. Opakujte to s negativními kolejnicemi.

Krok 2: Přidání ovládacích prvků

Přidání ovládacích prvků
Přidání ovládacích prvků

Mosquito I používá k ovládání pět potenciometrů a dvě tlačítka.

Potenciometry:

  1. Umístěte hrnce na prkénko. Umístěte hrnce tak, aby každý kolík byl ve své vlastní řadě.
  2. Připojte hrnce k napájecím lištám. Připojte kolík na levé straně každého hrnce (pokud se díváte na stranu knoflíku) k jedné z negativních kolejnic na prkénku. Připojte kolík na pravé straně každého hrnce k jedné z kladných kolejnic prkénka.
  3. Připojte hrnce k Arduinu. Připojte středový kolík každého hrnce k jednomu z analogových pinů na Arduinu. Středový kolík prvního banku se připojí k A0, druhý pot k A1 a tak dále, přičemž poslední pot bude připojen k A4.

Tlačítka:

  1. Umístěte tlačítka na prkénko. Umístěte dvě tlačítka na prkénko tak, aby obkročila středový kanál.
  2. Spojte pozitivní strany. Na jedné straně prkénka připojte jeden z kolíků tlačítka k kladné liště.
  3. Připojte negativní strany. Umístěte jeden z 1K odporů na prkénko tak, aby jeden konec byl připojen k nepoužitému kolíku tlačítka a druhá strana rezistoru byla připojena k záporné liště.
  4. Tlačítko připojení k Arduinu. Na řadě spusťte vodič, který spojuje tlačítko se zápornou kolejnicí s kolíkem D2. Totéž proveďte s druhým tlačítkem, ale připojte jej k D3.

Krok 3: Přidání výstupů

Přidávání výstupů
Přidávání výstupů

V prvním kroku každé sekvence vydáváme zvuk z pinu 9 a bliká LED dioda. Zde je návod, jak k tomu nastavit hardware.

VEDENÝ

  1. Umístěte LED na prázdné místo na prkénku.
  2. Připojte zápornou (krátkou) nohu LED k záporné liště.
  3. Umístěte odpor omezující proud. Připojte jednu stranu odporu 330 ohmů ke kladné (dlouhé) noze LED. Připojte druhou stranu rezistoru ke kolíku D4 Arduina.

Audio výstup

  1. Umístěte RC síť. Výstupní signál z Arduina vychází z pinu 9, ale signál může být o něco teplejší, než některé reproduktory zvládnou. Abych to dostal na úroveň blíže linkové úrovni, přidal jsem RC síť (podle návrhu Notes & Volts). Umístěte kondenzátory 33nF a 100uF spolu s odporem 2K, jak je znázorněno na obrázku/schématu. Ujistěte se, že elektrolytický kondenzátor 100uF je připojen se správnou polaritou (kladná/dlouhá noha bude na Arduinu pin 9 a záporná/krátká noha připojená ke konektoru).
  2. Připojte zápornou stranu audio konektoru k zemi. Připojení zvukového konektoru se bude mírně lišit v závislosti na typu, který používáte, ale obecně všechny fungují stejně. Potřebujeme připojit objímku zvedáku k zemi. Někdy je označen symbolem mínus nebo označen jako „rukáv“, „prsten“nebo „gnd“. Pokud na vašem audio konektoru nejsou žádné štítky, možná budete muset nahlédnout do datového listu nebo si jen důkladně prohlédnout konektor a zjistit, zda můžete určit, který kolík je připojen k pouzdru nebo vnějšímu kroužku konektoru.
  3. Připojte kladnou stranu zvukového konektoru k záporné straně kondenzátoru 100 uF. Náš zvukový signál nyní proudí z pinu 9 Arduina přes RC síť a vystupuje z negativní strany kondenzátoru 100uF. Připojíme to k pozitivní straně našeho zvukového konektoru. To je obvykle označeno symbolem plus nebo může být označeno jako „spropitné“. Opět platí, že pokud není označen, možná ho budete muset zkontrolovat, abyste zjistili, který kolík se připojí ke špičce konektoru. Pokud používáte stereofonní konektor, může dojít k připojení L -tipu a R -tipu. Protože vydáváme mono signál, můžete se připojit pouze k jednomu ze špičkových připojení.

Důležité: Pokud zjistíte, že je zvuk příliš tichý, můžete v kroku 1 odstranit RC síť a připojit se přímo ke zvuku z pinu 9 Arduina. To by mělo být v pořádku, pokud připojujete zvuk k něčemu s předzesilovačem, jako jsou externí počítačové reproduktory, kde máte knoflík hlasitosti, ale nedoporučoval bych to pro věci, jako jsou sluchátka, sluchátka nebo přímé zapojení do reproduktoru. Pokud se rozhodnete eliminovat síť RC, doporučuji před spuštěním Arduina ztlumit hlasitost reproduktorů až na doraz a poté postupně zvyšovat hlasitost, aby nedošlo k vyfouknutí reproduktorů.

Jakmile budete mít vše nastaveno, znovu zkontrolujte, zda všechna připojení vypadají správně a odpovídají výše uvedenému obrázku a schématu

Krok 4: Nahrání kódu

Nyní, když je hardware nastaven, jsme připraveni řešit softwarovou stránku:

  1. Spusťte Arduino IDE. Na počítači spusťte Arduino IDE (pokud jej nemáte, můžete si jej stáhnout z
  2. Stáhněte si knihovnu Mozzi. Knihovna Mozzi nám umožňuje používat náš Arduino jako syntezátor. Chcete -li získat tuto knihovnu ve svém IDE, přejděte na stránku Mozzi github https://sensorium.github.io/Mozzi/download/. Klikněte na zelené tlačítko „Kód“a zvolte Stáhnout ZIP.
  3. Nainstalujte si knihovnu Mozzi ze souboru zip. V Arduino IDE přejděte na Sketch-> Include Library-> Add. ZIP Library… Přejděte na zip soubor, který jste stáhli, a přidejte jej. Nyní byste měli vidět Mozzi uvedenou v sekci Sketch-> Include Library.
  4. Stáhněte si kód Mosquito I Arduino. Můžete to získat z mého webu github https://github.com/analogsketchbook/mosquito_one. (Všimněte si, že schémata jsou také k dispozici, pokud je potřebujete pro referenci zapojení.
  5. Připojte Arduino k počítači a nahrajte kód.

Krok 5: Messing Around

A je to. Měli byste být schopni připojit reproduktory ke zvukovému konektoru a slyšet sladký zvuk arpeggiované syntézy z této ittybitty Nano! Pokud zpočátku nic neslyšíte, zkuste vycentrovat knoflíky na všechny hrnce, abyste se ujistili, že získáte slušné výchozí hodnoty.

Co dělají ovládací prvky:

Hrnce:

Rychlost: Toto určuje, jak rychle se sekvencer přehrává. Jeho ztlumení přehrává jednotlivé noty v pořadí. Když to otočíte úplně nahoru, smažete noty dohromady a vytvoříte úplně nové křivky.

Legato: Druhý hrnec ovládá délku legata nebo noty. Otočením více doleva vytvoříte krátké, sticatto poznámky, zatímco otočením doprava vytvoříte delší poznámky.

Rozteč: Nastaví základní rozteč pro sekvenci. Ovládání výšky tónu nastavuje hodnoty MIDI, takže zvyšuje/snižuje výšku tónu v půltónových frekvencích, nikoli v souvislém posunu výšky tónu.

Fáze: Otočením tohoto knoflíku doprava se vytvoří jemný efekt fázování. Technicky vzato to způsobuje, že jsou dva oscilátory v Mosquito I mírně rozladěny, což způsobuje fázování. Není to však sledování s výškou, takže fázovací efekt je pravděpodobně znatelnější na nižších výškách.

Filtr: Tento knoflík ovládá mezní frekvenci dolní propusti. Otočením doleva vypnete vysoké frekvence a vytvoříte tlumenější zvuk, zatímco otáčením doprava vytvoříte jasnější zvuk.

Tlačítka:

Komár má ve výchozím nastavení více než dvacet různých sekvencí. Tlačítka vám umožňují vybrat, která sekvence se přehrává. Jedno tlačítko vás posouvá v seznamu sekvencí nahoru a druhé dolů v seznamu.

Krok 6: Přizpůsobení

Přizpůsobení
Přizpůsobení

Přidal jsem spoustu výchozích sekvencí, většinou různých měřítek, ale můžete kód poměrně snadno přizpůsobit tak, aby se změnila posloupnost přehrávaných not, přidávaly se nové nebo změnil počet not v sekvenci. Níže jsou uvedeny podrobnosti o tom, jak se to dělá v případě, že si to chcete přizpůsobit.

Změna poznámek ve stávající sekvenci

Sekvence jsou uloženy v poli polí s názvem NOTES. Každá nota je uložena jako hodnota MIDI noty, takže pokud chcete změnit noty v konkrétní sekvenci, změňte pouze čísla MIDI not pro danou sekvenci. Výchozí nastavení je hrát 8 kroků na sekvenci, takže v sekvenci můžete mít pouze 8 MIDI hodnot (viz níže, pokud chcete mít různé délky sekvencí).

Jedna věc, kterou je třeba poznamenat, je, že knob Pitch přidává notový offset k MIDI hodnotám uvedeným v poli NOTES. Když je knoflík vycentrovaný, přehraje MIDI noty uvedené v poli, ale když otočíte knobem Pitch, přidá nebo odečte půltón k přehrávaným notám.

Přidání nových sekvencí

Do pole NOTES můžete přidat nové sekvence jednoduchým přidáním nového pole s 8 notami na konec seznamu. Pokud to však uděláte, budete také muset změnit hodnotu proměnné numSequences tak, aby odpovídala novému počtu sekvencí. Například pole NOTES má ve výchozím nastavení 21 sekvencí, takže proměnná numSequences je nastavena na 21. Pokud přidáte jednu novou sekvenci, budete muset změnit proměnnou numSequences na 22.

Můžete přidat tolik nových sekvencí, kolik chcete.

Změna délky sekvence

Chcete-li změnit délku sekvencí (chcete-li například 4-krokovou nebo 16-krokovou sekvenci), můžete to udělat, ale jedinou výhradou je, že všechny sekvence musí mít stejnou délku. Budete také muset nastavit proměnnou numNotes tak, aby odpovídala délce vašich sekvencí.

Další změny

Existuje řada dalších možných přizpůsobení, například přepínání typů průběhů, nastavení/hodnot filtrů, které jsou mimo rozsah tohoto kurzu. Zjistit kód Mozzi může být zpočátku trochu náročné, ale snažil jsem se kód co nejvíce dokumentovat, abych ukázal, co dělají různé části kódu.

Existuje několik hlavních částí kódu pro Mozzi, které mají poměrně specifické použití, a uvedl jsem je níže, abyste získali představu o tom, k čemu se používají:

  • setup () - Pokud jste programovali pro Arduinos, než se s touto funkcí seznámíte a v Mozzi se používá téměř stejně. Používáme jej převážně k nastavení výchozích nastavení oscilátorů, filtrů atd.
  • updateControl () - Zde funguje lví podíl na kódu Mozzi. Je to místo, kde čteme hodnoty pot a tlačítka, mapujeme a transformujeme tyto hodnoty, abychom je vložili do syntetizátoru, a kde probíhá sekvenování.
  • updateAudio () - Toto je konečný výstup z knihovny Mozzi. Zde je kód obvykle velmi malý a štíhlý, protože Mozzi tuto funkci používá k maximalizaci všech hodinových cyklů, které dokáže. Jak můžete vidět na kódu komára, může to být trochu záhadné, ale vše, co v zásadě děláme, je kombinace/znásobení našich různých průběhů a jejich následné bitshifting, aby odpovídaly konkrétnímu číselnému rozsahu. Nejlepší je ponechat tuto funkci velmi lehkou (nikoli sériová volání nebo čtecí piny) a místo toho umístit většinu věcí do funkce controlUpdate (). Dokumentace Mozzi to podrobněji popisuje.

Doporučuje: