Teensy syntezátor

Zápisník experimentátora

Někdy mě zaujme i projekt někoho jiného. Teensy 3.2 je výkonný mikrokontrolér, který je kompatibilní s Arduino IDE. Dave z YouTube kanálu Notes and Volts vytvořil sérii videí, které popisují stavbu syntetizátoru. Základem je Teensy 3.2 a Audio Board, specializovaný shield pro audio výstup. Ve svých videích postupně vysvětluje tvorbu zvuku, přidávání efektů a ovládání přes MIDI. V tomto článku jsem popsal jednotlivé videa a podstatné informace v každém videu. Doplnil jsem i odkazy na jednotlivé zmíněné součástky nebo technologie. Všechny vytvořené videa najdete na konci článku. Poslední video obsahuje demo skladbu, takže můžete snadno získat představu o tom, co se s tímto syntezátorem dá zahrát.

1 Základní popis projektu

Navrhování syntezátorů pomocí mikrokontrolérů je oblíbenou zábavou kutilů, ale výsledek má většinou ne zrovna nejkrásnější 8-bitový zvuk. Ono se to dá, ale potřebujete na to trošku lepší mikrokontrolér. Dobrým příkladem jsou například Pocket operatory, kde ve velikosti běžné kalkulačky získáte velmi slušný syntetizátor za pár desítek Eur (uvnitř je Silicon Labs EFM32 Gecko).

Toto je první video ze série, která se věnuje návrhu syntetizátoru pomocí mikrokontroléru Teensy 3.2. To je 32bitový mikrokontrolér, který je dobře integrován do IDE Arduina. Pro vytvoření syntetizéru používá Teensy a Audio Board, což je šikovná deska, na níž je vše audio-příslušenství zapojené a poskytuje 16-bitové rozlišení na všechno (vstupy i výstupy). Syntezátor se dá vytvořit i bez toho, ale pak je audiokvalitu výstupů nižší.

Ve videu ukazuje základní vytvoření objektů audioknižnice v online nástroji, které vygeneruje zdrojový kód syntetizátoru. A pak ukazuje, jak to nahrát do mikrokontroléru a jak to celé spustit.

Teens Audio Library je specializovaná knihovna pro tvorbu zvuků. Obsahuje několik desítek různých tříd, které slouží pro tvorbu hudby. Používá se tak, že si nejprve vytvoříte kostru programu v online nástroji. Vyberete si v seznamu vstupů, výstupů, syntezátorů a efektů ty, které budete používat, propojíte je navzájem a vytvoříte syntezátor. Tuto kostru programu pak doplníte svým kódem a tak ovlivňujete výsledný zvuk.

2 Pure Data

Druhé video o tvorbě syntetizátoru. Ve videu vytvořil syntezátor ze dvou oscilátorů s pilovitým průběhem a jedním oscilátorem růžového šumu. To má napojené do mixu, jehož výstup jde na I2S výstup (Audio Board). Na oscilátor má nastavené pevné frekvence. Takový syntezátor se zdá na první pohled možná jednoduchý, ale je to v podstatě totéž, co najdete v mnoha profesionálních syntezátorech. Ty sice mívají bohatší možnosti nastavení, ale dva oscilátory, které lze spolu různým způsobem kombinovat jsou dostatečně dobré na to, aby vytvořily zajímavý zvuk.

Ovládá to přes program Pure Data, kde k oscilátorům vytvoří 3 posuvníky, které odesílají údaje přes MIDI do Teensy ve formě MIDI Control Change Messages. V závěru pak mixuje jednotlivé oscilátory a ukazuje, jak se to projevuje na výsledném zvuku.

Program Pure Data je zajímavý nástroj na programování hudby. Dokáže v počítači simulovat totéž, co dělá ve videu i Dave. Dokáže vytvářet zdroj zvuku pro syntezátor. Program používá zejména proto, že Teensy lze připojit k počítači jako MIDI zařízení a přes MIDI jej lze snadno ovládat. To mu umožňuje pohodlně navrhovat syntezátor aniž by musel již v této fázi připojovat k mikrokontroléru potenciometry a řešit případné změny v návrhu tak, že to bude stále měnit na breadboardu.

3 Klaviatura

Ve třetím videu o Teensy syntezátoru připojil MIDI keyboard. Používá USB model, který se připojí k počítači. Proto v programu Pure Data doplnil MIDI In a propojil ho přímo na MIDI Out, čímž dosáhl to, že každou notu z keyboardu přenese do Teensy.

Pak tam ještě doplní objekt Vradio s pěti položkami. Tím vytvoří číslo, které nabývá hodnoty 0-5 a toto číslo odesílá přes MIDI Control Change také do Teensy. V minulém příspěvku jsem zmínil, že v Teensy má vytvořené dva oscilátory. Toto číslo využívá tak, že na prvním oscilátoru hraje tutéž notu, jak jde z MIDI keyboardu a na druhém ji posouvá o -2 až +2 oktávy. Kdo není zběhlý v technické podstatě hudby, posun frekvence tónu o jednu oktávu znamená zdvojnásobení frekvence. A posun frekvence přesně o jednu oktávu je pro lidské ucho velmi příjemné, proto i jeho posuny na druhém oscilátoru vnímáte jako zajímavé zhutnění původního zvuku. Takto to i běžně používají hudebníci, když hrají například nějaký akord, tak automaticky duplikují základní notu akordu a zahrají ji i o oktávu níže, přesto, že v notách to napsané nemají.

Poslední zajímavá věc na videu je to, jak se vypořádal s tím, že má vytvořený monofonní syntezátor (v jednu chvíli pouze jedna nota hraje) a pokouší se hrát najednou více kláves. Má v programu definovaný buffer na MIDI noty typu LIFO. Do bufferu vkládá noty tak jak byly postupně stlačené a při jejich uvolnění odstraní notu z bufferu a pokud je tam ještě nějaká nota pod ním, zahraje opět ji. Dosahuje tak zdání polyfonie.

4 ADSR

Čtvrté video o Teensy syntezátoru. ADSR je ve zjednodušené podobě obálka, která tvaruje hlasitost tónu. To dává hranému tónu věrohodnost, protože pokud si představíte zvuk, který vznikne po stisknutí jedné klávesy na piánu, tak těsně po stisknutí máte nejsilnější zvuk, který postupně doznívá. Velmi podobně se zvuk tvaruje v syntezátoru, kde lze nastavit jeho náběh (A), potom ztišení (D) na úroveň (S), kde zvuk zůstává na jedné hlasitosti až do puštění klávesy, po kterém se ztiší hlasitost na 0 (R). Jak rychle se jednotlivé kroky stanou, tak to má obrovský vliv na výsledný zvuk.

Druhá část videa řeší už jen zkrášlení nastavovacích prvků v PureData, což je část, kterou můžete klidně ignorovat.

5 Tvar vlny

Páté video o Teensy syntezátoru. Zde se již dostáváme k zajímavému zvuku. Konečně je vidno, na což mu byly již v prvním videu dva oscilátory. Doplnil do programu dvě důležité funkce. První je výběr tvaru, který si může vybrat mezi sinusovým, trojúhelníkovým, pilovým a obdélníkovým signálem. Toto může udělat na každém oscilátoru samostatně.

Druhou důležitou změnou je možnost na druhém oscilátoru použít funkci detune. To si třeba představit jako možnost upravit frekvenci druhého oscilátoru až o 5 procent směrem níže. To dává výslednému zvuku na zajímavosti, protože se začnou míchat dvě skoro stejné frekvence a v uchu to velmi zvláštní vibruje. Zejména když se to použije na nízkých tónech, tak jak to ukazuje ve videu. Samozřejmě to s funkcí detune netřeba přehánět, je slyšet že když to potáhne na vyšší hodnotu, že to už začíná být nepříjemně a rozladěné.

6 Filtr

Šesté video v pořadí. Doplnil nový objekt filtr a zapojil ho jako low pass filtr. Zjednodušeně to funguje stejně jako podobné zapojení, které se dá udělat i pomocí součástek. Do filtru jdou dva parametry, mezní frekvence a hodnota rezonance. Filtr je dosti náročná funkce a bere si 4 procenta výkonu Teensy.

Ale na tvorbu zvuku syntetizátoru to má velký dosah. Ne vždy je žádoucí, aby do výstupu šly všechny frekvence. Jejich oříznutí pomocí LPF umožňuje vytvářet zajímavé efekty. Pokud si sednete někdy ke skutečnému syntezátoru, s tímto ovládacím prvkem zažijete spoustu zábavy. Kromě LPF se často používají i jiné filtry, ale v této sérii videí nejsou zmíněné. Například hudební nástroj Korg Electribe 2 obsahuje velké množství filtrů tohoto druhu.

7 Pitch Bend

Sedmý díl. Pitch Bend kolečko. Trošku nudná epizoda, kde je skoro všechen prostor věnován výpočtům. Pitch Bend kolečko je těžko sehnatelná součástka a když ji i seženete, stojí skoro tolik jako levnější MIDI kontrolér se zabudovaným Pitch Bend. A pokud nemáte cit na to, kdy použít tuto funkci na jemnou úpravu frekvence tónu, dosáhnete prapodivné výsledky, které nebudou znít velmi dobře.

8 LFO

Díl číslo 8. LFO - Low Frequency Oscillator. Zjednodušeně lze říci, že je to změna parametrů pomocí nízké frekvence, což vytváří efekty, jako kdybyste kroutili některým potenciometrem na syntezátoru nahoru a dolů. Potenciometr může ovládat různé parametry a to vytváří nejrůznější jemné variace v zvuku. LFO tyto věci dělá rychle a přesně za vás a hudebník si obvykle pouze nastaví, co se má modifikovat a pak si už jen hraje noty. Ve videu nastavuje LFO na filtr a na výšku tónu. Třeba si to poslechnout a minimálně polovina videa dává dostatek hudebních ukázek, jak to vlastně funguje.

9 MIDI vstup

Díl číslo 9. MIDI. V předchozích epizodách bylo Teensy zapojené přes USB jako MIDI. Toto zapojení stále zůstalo, ale přidal i klasický 5-kolíkový MIDI vstup. Zapojení MIDI je notoricky známé a i v tomto případě se ve schématu drží doporučení. V zapojení má optoizolátor, který odděluje jeho MIDI sekvencer SQ-1 od Teensy. Na konci videa je vidět i jako zpracovává Teensy signály z obou zdrojů a z SQ-1 jdou noty a z PureData zase CC zprávy, kterými měnil parametry syntetizéru i v předchozích dílech.

10 Hardvér

Díl č. 10. Od Pure Data k hardvéru.

V předchozích dílech měl všechny ovládací prvky v počítači v programu Pure Data a přes MIDI si parametry posílal do Teensy. Nyní ukazuje, jak připojit 15 potenciometrů přes analogový multiplexr a jaký algoritmus používá k tomu, aby nestrávil příliš mnoho času při kontrole jednotlivých potenciometrů.

11 Krabička

Díl č. 11. Plošný spoj a hliníková krabička.

Dost podrobně popisuje, jak co navrhoval, aby se mu tam vešly všechny konektory a potenciometry a ukazuje také, jak se vrtá krabička a jak na ni nalepil popisky.

12 Demo

Poslední video je demo skladba. Na toto mnoho amatérských tvůrců syntezátorů zapomíná. Vytvoří syntetizátor a věnují hodně času tomu, aby předvedli, jaké jednotlivé zvuky umějí vytvořit. Ale hotová skladba je mnohem lepším důkazem schopností autora. A tato elektronická skladba se také dá poslouchat.



Video













29.06.2019


Menu