Knobs Galore, osa 3

Nyt on jo ääninäytettä tarjolla!

Okei, se ei ole oikeasta vaan simuloidusta syntetisaattorista. Kyseistä näytettä varten toteutin ramppigeneraattorin, ADSR-vaippageneraattorin vaihevääristymäparametria ("cutoff") varten, vaihevääristimen sekä siniaalto-look-up-taulukon. Lisäksi toteutettuna on D/A-muunnin ja rengaspuskuri, jotka tulevat lopulliseen syntetisaattoriin. Olen kasannut suunnitelmani oheiseen kuvaan, jonka mukaan toteuttamatta ovat vielä ohjaus ja vahvistus, sekä tietenkin integraatio koskettimistoon ja näppäimiin.

Suunnitelmia Suunnitelma lopullisesta systeemistä

Nykyisellään syntetisaattorin voi myös syntetisoida (heh) ja ladata Papilioon, mutta se on vain monofoninen, sillä äänten allokointia ei ole toteutettu. Ajattelin aluksi, että äänet allokoitaisiin "älykkäästi" (otetaan aina seuraava vapaana oleva kanava käyttöön), mutta Xilinx ISEn raporteista kävi ilmi, että nykyisellään vain 2% sliceistä on käytettynä. Kellopulssejakin on käytössä 488 kutakin näytettä kohden, joten voin yhtä hyvin varata kullekin koskettimelle yhden kanavan, joten äänien allokoinnista tulee triviaali tehtävä, ja bonuksena syntetisaattoriin tulee täysi polyfonia!

Seuraavaksi aion kasata piirilevylle kalvokytkimistä pienen "koskettimiston", joiden avulla syntetisaattoria voi soittaakkin (: sitä seuraavana listalla ovat myös vahvistuksen toteuttaminen (ajattelin toteuttaa sen yksinkertaisena look-up taulukkona, kuten vaihevääristymän ja aaltomuotogeneroinnin) ja moniäänisyys.


Projektin lähdekoodit ovat saatavilla GitHubissa.