» Hudební nástroje »Čtyřhlasý syntetizátor na Arduino Uno

Čtyřhlasý syntetizátor na Arduino Uno



Autor Instructables pod přezdívkou rgco přišel se čtyřhlasým 1,5 oktávovým syntezátorem Arduino Uno. Pro srovnání, rozšířené dětské syntezátory, které se od sebe liší pouze designem a vyrobeným stejným čipem, jsou tříhlasé. Je pravda, že mohou hudbu doprovázet rytmem, zapamatovat si hlasové melodie a napodobit hlasy zvířat. Ale pak domácí zní hezčí. Proč?



Je to všechno o parametrech. Vzorkovací frekvence 31 kHz, 9 bitů, 4 hlasy, syntéza FM s časově proměnným rozmítáním, ADSR obálka, 12 virtuálních nástrojů, 18 kláves přes 1,5 oktáv.

Master skládá obvod syntetizátoru ve Fritzingu:



V něm simuluje umístění komponent na prkénku typu prkénko a jejich propojení:



A shromažďuje schéma v reálném životě:



Pouhé „nalít a použít“ je to nejjednodušší, co můžete s designem udělat. 18 kláves (PŘED Čtvrtou oktávou na FA pátou) - hrát, devatenácté přepíná virtuální nástroje v kruhu: klavír, xylofon, kytara, cimbál, zvony, funky, vibrato, kov, housle, basa, trumpeta, akordeon. Povaha zvuku je ovlivněna dobou stisknutí kláves, ale ne úsilím, na rozdíl od profesionálních syntetizátorů. Vývojář však chce, abyste vyzkoušeli také programování virtuálních nástrojů. Každá z nich je dána deseti parametry. Průvodce vám řekne, na kterém parametru závisí.

ldness - objem

Pokud je tento parametr menší než 64, je vyloučeno přetížení a související zkreslení. Pokud však naprogramujete takový virtuální nástroj, který nezní dlouho při maximální hlasitosti, může hodnota tohoto parametru přesáhnout 64, protože všechny čtyři hlasy současně znějí zřídka.

pitch0 - pitch shift

Rozsah odpovídá výše uvedenému, pokud nastavíte tento parametr na 12. Snížení se posouvá dolů, zvyšuje se - nahoru. Nulová hodnota odpovídá posunu přesně o jednu oktávu dolů, 24 - přesně o jednu oktávu.

ADSR_a - objemová rychlost od nuly do maxima

Čím menší, tím pomalejší.Například 8192 odpovídá 4 ms, 256 až 128 ms.

ADSR_d - rychlost pro snížení hlasitosti z maxima na hlasitost zadanou parametrem ADSR_s.

Princip je stejný.

ADSR_s - hodnota, na kterou se hlasitost při dlouhém stisku tlačítka snižuje

Například 256 - hlasitost zůstává maximální po celou dobu podržení klávesy. 192 - hlasitost klesne na 80 procent a zůstává tak při stisknutém tlačítku. 0 - hlasitost klesá na nulu, i když je tlačítko stisknuté.

ADSR_r - rychlost pro snížení hlasitosti na nulu po uvolnění klíče

Princip je stejný jako u parametrů ADSR_a a ADSR_d.

FM_inc - poměr modulační frekvence k tónu

Při hodnotě 256 je tento poměr 1: 1, s 512 - 2: 1, s 128 - 1: 2, zbytek je analogicky. Pokud je tento parametr nastaven na násobek 64, bude zvuk anharmonický.

FM_a1 - rozsah frekvenční modulace na začátku noty

256 odpovídá široké škále harmonických. S poklesem je tón čistší a se zvýšením harmonických se stává více.

FM_a2 - modulace kmitočtu na konci noty

Princip je stejný. U většiny skutečných nástrojů se harmonické kmity rozkládají rychleji než základní tón. Pokud uděláte pravý opak, získáte neobvyklé zvuky.

FM_dec - rychlost přechodu frekvenčního modulačního rozsahu z rozsahu určeného parametrem FM_a1 do rychlosti určeného parametrem FM_a2

Princip je stejný jako u parametrů ADSR_a, ADSR_d a ADSR_r.

Frekvence PWM 31 250 Hz se získá dělením taktovací frekvence (16 MHz) 512. Program je navržen tak, aby události byly spojeny s časem bez přerušení. Místo toho je zahrnut bit přetečení časovače. Aby program zvládl dělat vše, co je od něj požadováno, používají se pouze celá čísla o délce 8 a 16 bitů. Sinusová vlna je prezentována ve formě tabulky 8-bitových čísel. Pomocné operace - čtení klíčových stavů, změna virtuálních nástrojů, výběr hlasů, výpočet parametrů poznámek, které se mění v čase - jsou rozděleny mezi 15 procedur, jejichž dokončení trvá 0,48 ms. V tuto chvíli jsou některé operace prováděny s 32bitovou přesností, což je nutné k vynásobení dvou 16bitových binárních čísel.

Jednoduchá sinusová vlna zní nudně, protože v jejím spektru nejsou žádné harmonické. Syntéza FM vám umožňuje přijímat je a časem měnit jejich spektrum a simulovat zvuk skutečných nástrojů. Více frekvencí dává anharmonický zvuk, který se vyskytuje například ve zvoncích. Zařízení dobře napodobuje změnu spektra vlastní reálným nástrojům v průběhu času, kdy některé harmonické rozpadají rychleji než jiné.
10
9.3
8.4

Přidejte komentář

    • úsměvúsměvyxaxaokdontknowyahoone
      šéfeškrábnutíhlupákanoano-anoagresivnítajemství
      promiňtanecdance2dance3prominoutpomocnápoje
      zastavitpřátelédobředobrá náladapískatlžícejazyk
      kouřtleskánícrayprohlásitvýsměšnýdon-t_mentionstáhnout
      teploirefulsmích1mdasetkánímoskingnegativní
      not_ipopcorntrestatčístvyděsitděsíhledat
      posměchděkujitototo_clueumnikakutnísouhlasím
      špatnévčelablack_eyeblum3červenat sechlubit senuda
      cenzurovánopleasantrysecret2hrozitvítězstvíyusun_bespectacled
      třástrespektlolprovedenívítejtekrutoyya_za
      ya_dobryipomocníkne_huliganne_othodibludzákazblízko
1 komentář
kiril_vihrov7892
Zajímavý projekt.
Nedávno jsem viděl projekt "Synthesizer on Arduino" jako klíče, používá se téměř celá klávesnice PC
Podrobnosti o všech Arduino, reproduktoru a počítači.
Počítačová aplikace provádí veškerou práci, ovládá Arduino prostřednictvím komunikačního portu
opakuji, všechno funguje dobře. Pohled může pomoci

Doporučujeme si přečíst:

Podejte to pro smartphone ...