» Glazbeni instrumenti »Četveroglasni sintesajzer na Arduino Unou

Četveroglasni sintesajzer na Arduino Unou



Autor Instructables pod nadimkom rgco smislio je četveroglasni 1,5-oktavni sintisajzer na Težak Uno. Za usporedbu, široko rasprostranjeni dječji sintisajzeri koji se međusobno razlikuju samo po dizajnu i čine ih istim čipom, troglasni su. Istina, oni automatski mogu pratiti glazbu ritmom, pamtiti melodije jednog glasa i oponašati glasove životinja. Ali onda domaći proizvod zvuči ljepše. Zašto?



Sve se radi o parametrima. Učestalost uzorkovanja 31 kHz, 9 bit, 4 glasa, FM sinteza s vremenskim promjenama, ADSR omotnicom, 12 virtualnih instrumenata, 18 tipki u rasponu od 1,5 oktave.

Majstor sastavlja krug sintetizatora u Fritzingu:



U njemu se simulira položaj komponenata na ploči tipa šina i veze između njih:



I prikuplja shemu u stvarnom životu:



Jednostavno "izlijte i koristite" najjednostavnija je stvar s dizajnom. 18 tipki (od PRIJE četvrte oktave do pete FA) - za sviranje, devetnaesti virtualni instrumenti prebacuju u ring: klavir, ksilofon, gitara, činele, zvona, funky, vibrato, metal, violina, bas, truba, harmonika. Na prirodu zvuka utječe trajanje pritiska tipki, ali ne i napor, za razliku od profesionalnih sintisajzera. Ali programer želi da isprobate i programiranje svojih virtualnih alata. Svakom od njih dat je po deset parametara. Čarobnjak vam kaže o kojem parametru ovisi.

ldness - volumen

Ako je ovaj parametar manji od 64, isključuju se preopterećenja i povezana iskrivljavanja. Ali ako programirate takav virtualni instrument koji dugo ne zvuči maksimalnom glasnoćom, vrijednost ovog parametra može biti veća od 64, jer sva četiri glasa istovremeno zvuče rijetko.

pitch0 - pomak koraka

Raspon odgovara gore navedenom, ako postavite ovaj parametar na 12. Smanjivanje pomiče prema dolje, povećava - prema gore. Nula odgovara pomiku točno za jednu oktavu, a 24 - za točno jednu oktavu.

ADSR_a - brzina smanjivanja volumena od nule do maksimuma

Što je manje, to je sporije.Na primjer, 8192 odgovara 4 ms, 256 do 128 ms.

ADSR_d - brzina za smanjenje glasnoće s maksimalne na onu navedenu u parametru ADSR_s.

Princip je isti.

ADSR_s - vrijednost na koju se smanjuje glasnoća ako se dugo pritisne tipka

Na primjer, 256 - glasnoća ostaje maksimalno cijelo vrijeme dok se tipka drži. 192 - glasnoća se smanjuje na 80 posto i ostaje tako dok držite tipku. 0 - glasnoća se smanjuje na nulu, čak i ako pritisnete tipku.

ADSR_r - brzina za smanjenje glasnoće na nulu nakon otpuštanja ključa

Princip je isti kao i za parametre ADSR_a i ADSR_d.

FM_inc - omjer frekvencije modulacije prema tonu

S vrijednošću od 256, pokazalo se da je taj omjer 1: 1, sa 512 - 2: 1, sa 128 - 1: 2, a ostatak je po analogiji. Ako je ovaj parametar postavljen na više od 64, zvuk će biti anharmonski.

FM_a1 - raspon frekvencijske modulacije na početku bilješke

256 odgovara širokom rasponu harmonika. S opadanjem, ton je čistiji, s porastom harmonike postaje više.

FM_a2 - frekvencijska modulacija pomicanja na kraju bilješke

Princip je isti. Za većinu stvarnih instrumenata harmonika propada brže od osnovnog tona. Ako učinite suprotno, dobivate neobične zvukove.

FM_dec - brzina prijelaza frekvencijskog modulacijskog raspona od jednog skupa FM_a1 do onog koji je postavio FM_a2

Princip je isti kao i za parametre ADSR_a, ADSR_d i ADSR_r.

PWM frekvencija od 31 250 Hz dobiva se dijeljenjem frekvencije takta (16 MHz) na 512. Program je dizajniran na takav način da događaji vremenski ne ometaju. Umjesto toga, uključen je bit overflow vremena. Da bi program uspio učiniti sve što se od njega traži, koriste se samo cijeli brojevi duljine 8 i 16 bita. Sinusni val predstavljen je u obliku tablice 8-bitnih brojeva. Pomoćne operacije - čitanje ključnih stanja, promjena virtualnih instrumenata, odabir glasova, izračunavanje parametara nota koji se mijenjaju u vremenu - raspoređuju se među 15 postupaka, za što je potrebno 0,48 ms. U ovom trenutku se neke operacije izvode s 32-bitnom preciznošću, što je potrebno za umnožavanje dva 16-bitna binarna broja.

Jednostavan sinusni val zvuči dosadno jer u njegovom spektru nema harmonike. FM sinteza omogućuje vam primanje i mijenjanje njihovog spektra tijekom vremena, simulirajući zvuk stvarnih instrumenata. Više frekvencija daju anharmonski zvuk koji se javlja, na primjer, u zvoncima. Uređaj dobro oponaša promjenu spektra svojstvene stvarnim instrumentima tijekom vremena, kada neke harmonike propadaju brže od drugih.
10
9.3
8.4

Dodajte komentar

    • osmijehosmjesixaxau redudontknowprostakNea
      gazdaogrebotinabudaladaDa-Daagresivantajna
      oprostiteplesdance2dance3pomilovanjepomoćpića
      zaustavljanjeprijateljidobrogoodgoodzviždaljkapasti u nesvijestjezik
      dimpljeskanjeCrayObjavitepodrugljivdon-t_mentionpreuzimanje
      vrućinaljutitlaugh1MDAsastanakmoskingnegativan
      not_ikokicekaznitičitatiuplašitiplašitraži
      podsmijehthank_youovoto_clueumnikakutansložiti
      lošebeeeblack_eyeblum3rumenilohvalisati sedosada
      cenzuriranizadirkivanjesecret2prijetitipobjedayusun_bespectacled
      shokrespektlolpreveddobrodošlikrutoyya_za
      ya_dobryipomoćnikne_huliganne_othodifludzabranablizu
1 komentar
kiril_vihrov7892
Zanimljiv projekt.
Nedavno sam projekt „Sinthesizer na Arduinu“ vidio kao tipke, koristi se gotovo cijela tipkovnica računala
Od pojedinosti o svim Arduinima, zvučniku i računalu.
Računalna aplikacija obavlja sve poslove i kontrolira Arduino kroz com port
ponovio, sve djeluje u redu. Pogled može pomoći

Savjetujemo vam da pročitate:

Predaj to pametnom telefonu ...