» Hudobné nástroje »Štvorhlasový syntetizátor na Arduino Uno

Štvorhlasový syntetizátor na Arduino Uno



Autor Instructables pod prezývkou rgco prišiel so štvorhlasovým 1,5-oktávovým syntezátorom Arduino Uno. Na porovnanie, rozšírené detské syntetizátory, ktoré sa od seba líšia iba v dizajne a vyrobené rovnakým čipom, sú trojhlasové. Je pravda, že môžu automaticky sprevádzať hudbu s rytmom, zapamätať si hlasové melódie a napodobňovať hlasy zvierat. Ale potom domáci produkt Znie to krajšie. Prečo?



Je to všetko o parametroch. Vzorkovacia frekvencia 31 kHz, 9-bit, 4 hlasy, FM syntéza s časovo premenlivým cyklom, ADSR obálka, 12 virtuálnych nástrojov, 18 klávesov, ktoré presahujú 1,5 oktávy.

Master zostavuje obvod syntetizátora vo Fritzingu:



V ňom simuluje umiestnenie komponentov na doštičku typu doska a ich vzájomné spojenia:



A zbiera túto schému v reálnom živote:



Iba „nalievanie a používanie“ je to najjednoduchšie, čo môžete s dizajnom urobiť. 18 klávesov (pred štvrtou oktávou až piatou FA) - pri hraní devätnásteho prepína virtuálne nástroje v kruhu: klavír, xylofón, gitara, činely, zvony, funky, vibrato, kov, husle, basa, trúbka, akordeón. Povaha zvuku je ovplyvnená trvaním stlačení klávesov, ale nie úsilím, na rozdiel od profesionálnych syntetizátorov. Vývojár však chce, aby ste vyskúšali aj programovanie svojich virtuálnych nástrojov. Každá z nich je daná desiatimi parametrami. Sprievodca vám povie, na ktorom parametri závisí.

ldness - objem

Ak je tento parameter menší ako 64, je vylúčené preťaženie a súvisiace deformácie. Ak však naprogramujete taký virtuálny nástroj, ktorý neznie dlho pri maximálnej hlasitosti, hodnota tohto parametra môže prekročiť 64, pretože všetky štyri hlasy súčasne znejú zriedka.

pitch0 - pitch shift

Rozsah zodpovedá vyššie uvedenému, ak nastavíte tento parameter na 12. Zníženie sa posunie nadol, zvýši sa. Nulová hodnota zodpovedá posunu presne o jednu oktávu nadol, o 24 - presne o jednu oktávu.

ADSR_a - objemová rýchlosť od nuly po maximum

Čím menšie, tým pomalšie.Napríklad 8192 zodpovedá 4 ms, 256 až 128 ms.

ADSR_d - rýchlosť na zníženie objemu z maxima na objem určený parametrom ADSR_s.

Princíp je rovnaký.

ADSR_s - hodnota, na ktorú sa hlasitosť pri dlhom stlačení tlačidla zníži

Napríklad 256 - hlasitosť zostane maximálna po celú dobu držania tlačidla. 192 - hlasitosť klesne na 80 percent a zostane tak pri stlačení klávesu. 0 - hlasitosť klesne na nulu, aj keď je stlačené tlačidlo.

ADSR_r - rýchlosť zníženia hlasitosti na nulu po uvoľnení tlačidla

Princíp je rovnaký ako pre parametre ADSR_a a ADSR_d.

FM_inc - pomer modulačnej frekvencie k tónu

Pri hodnote 256 je tento pomer 1: 1, pri 512 - 2: 1 a pri 128 - 1: 2 je zvyšok analogický. Ak je tento parameter nastavený na násobok 64, zvuk bude anharmonický.

FM_a1 - rozsah frekvenčnej modulácie na začiatku noty

256 zodpovedá širokému spektru harmonických. S poklesom je tón čistejší a so zvýšením harmonických sa stáva viac.

FM_a2 - zametacia frekvenčná modulácia na konci noty

Princíp je rovnaký. Pre väčšinu skutočných nástrojov sa harmonické kmity rozpadajú rýchlejšie ako základný tón. Ak urobíte opak, získate nezvyčajné zvuky.

FM_dec - rýchlosť prechodu frekvenčného modulačného rozsahu z rozsahu nastaveného pomocou FM_a1 na rýchlosť nastavenú pomocou FM_a2

Princíp je rovnaký ako pre parametre ADSR_a, ADSR_d a ADSR_r.

Frekvencia PWM 31 250 Hz sa získa vydelením taktovacej frekvencie (16 MHz) 512. Program je navrhnutý tak, aby udalosti boli spojené s časom bez prerušenia. Namiesto toho je zahrnutý bit pretečenia časovača. Aby program zvládol urobiť všetko, čo je od neho potrebné, používajú sa iba celé čísla s dĺžkou 8 a 16 bitov. Sínusová vlna je prezentovaná vo forme tabuľky 8-bitových čísel. Pomocné operácie - čítanie kľúčových stavov, zmena virtuálnych nástrojov, výber hlasov, výpočet parametrov bankoviek, ktoré sa menia v čase - sú rozdelené medzi 15 postupov, ktorých dokončenie trvá 0,48 ms. V tomto okamihu sa niektoré operácie vykonávajú s presnosťou na 32 bitov, čo je potrebné na vynásobenie dvoch 16-bitových binárnych čísel.

Jednoduchá sínusová vlna znie nudne, pretože v jej spektre nie sú harmonické. Syntéza FM vám ich umožňuje prijímať a meniť ich spektrum v čase a simulovať zvuk skutočných nástrojov. Viacnásobné frekvencie vydávajú anharmonický zvuk, ktorý sa vyskytuje napríklad v zvoniciach. Prístroj dobre napodobňuje zmenu spektra spojenú s reálnymi nástrojmi v čase, keď sa niektoré harmonické rozpadajú rýchlejšie ako iné.
10
9.3
8.4

Pridajte komentár

    • usmievaťúsmevyxaxaokdontknowyahoonea
      bossškrabanecoklamaťánoáno, ánoútočnýtajomstvo
      ľutovaťtanecdance2dance3odpusteniehelpnápoje
      zastávkapriateliadobrýgoodgoodpíšťalaomdlieťjazyk
      dymtlieskanieCraydeklarovaťvýsměšnýdon-t_mentiondownload
      teplohnevlivýlaugh1MDAstretnutiemoskingnegatívny
      not_ipražená kukuricatrestaťprečítaťvydesiťzdesenievyhľadávať
      posmechthank_youtototo_clueumnikakútnasúhlasiť
      zlýbeeeblack_eyeblum3očervenieťchvastanienuda
      cenzurovanéžartysecret2hroziťvíťazstvoyusun_bespectacled
      shokrešpektlolprevedievitajtekrutoyya_za
      ya_dobryipomocníkne_huliganne_othodiFLUDzákazzavrieť
1 komentár
kiril_vihrov7892
Zaujímavý projekt.
Nedávno som videl projekt „Syntezátor na Arduino“ ako klávesy, používa sa takmer celá klávesnica PC
Z detailov všetkých Arduino, reproduktora a počítača.
Aplikácia pre PC vykonáva všetku prácu, ovláda Arduino prostredníctvom komunikačného portu
opakujem, všetko funguje dobre. Pohľad môže pomôcť

Odporúčame vám prečítať si:

Ruku pre smartphone ...