|
Funereal
2874 viestiä
|
#2 kirjoitettu
23.10.2025 13:19
Silmäilin esimerkkiä ja headeria. Vaikuttaa ihan mielenkiintoiselta, ja voisi olla kiinnostusta kokeilla omiin projekteihin. Vähän tosin hankala ymmärtää miten tuota APIa pitäisi käyttää, eikä tuo esimerkkikään ole kovin suoraviivainen.
Oletan, että tätä voisi käyttää esim. siihen että voisin johonkin synaan luoda valmiiden presettien pohjalta uusia järkeviä presettejä. Eli jos mulla on vaikka syna, jossa on 30 parametria, niin reitti siihen, miten luon tällä kirjastolla uuden presetin, ei ihan aukea tuosta esimerkistä, kun tämä cube käytännössä on ilman lähdekoodia ja dokumentaatiota täysin musta laatikko.
Ilmeisesti pitää ainakin mäpätä presetit float**-arrayksi (ilmeisesti jonkun jakauman mukaan? Eli ei riitä passata vaan suoraan raakan, jos on vaikka normaalisti välillä 0-1?), luoda cube-instanssi, prosessoida se asynkronisesti ja sitten kikkailla jotenkin mallilla uusia parametrisettejä.
|
|
cutesolar
63 viestiä
|
#3 kirjoitettu
26.10.2025 21:39 Muok:27.10.2025 09:29
Funereal kirjoitti:
Silmäilin esimerkkiä ja headeria. Vaikuttaa ihan mielenkiintoiselta, ja voisi olla kiinnostusta kokeilla omiin projekteihin. Vähän tosin hankala ymmärtää miten tuota APIa pitäisi käyttää, eikä tuo esimerkkikään ole kovin suoraviivainen.
Oletan, että tätä voisi käyttää esim. siihen että voisin johonkin synaan luoda valmiiden presettien pohjalta uusia järkeviä presettejä. Eli jos mulla on vaikka syna, jossa on 30 parametria, niin reitti siihen, miten luon tällä kirjastolla uuden presetin, ei ihan aukea tuosta esimerkistä, kun tämä cube käytännössä on ilman lähdekoodia ja dokumentaatiota täysin musta laatikko.
Ilmeisesti pitää ainakin mäpätä presetit float**-arrayksi (ilmeisesti jonkun jakauman mukaan? Eli ei riitä passata vaan suoraan raakan, jos on vaikka normaalisti välillä 0-1?), luoda cube-instanssi, prosessoida se asynkronisesti ja sitten kikkailla jotenkin mallilla uusia parametrisettejä.
Esimerkki on hiukan huono koska siihen on jäänyt kiireessä harhaanjohtavia kommentteja, kun eräs tukikirjasto (vektorimatematiikkaan ja normaalijakautuneiden muuttujien luontiin) korvattiin C:n rand():lla jne.
LibCube toimii niin että sille annetaan ensin valmiita hyviä presettejä "riittävästi" ja se laskee matemaattisen mallin sen pohjalta (aikaa kuluu n. 10 minuuttia nopealla koneella). Sen jälkeen voi [-2,+2] arvovälillä olevia matalaulotteisia vektoreita (itse laskennassa valittu 2 tai 3 ulottuvuutta) antaa kirjastolle ja se antaa valmiin preset arvon jota käyttää alkuperäisessä syntetisaattorissa.
[-2,+2]^3 arvot ovat "hyvien äänten avaruudessa" joilla löytyy usein mielenkiintoisia ääniä. Käytännössä käyttöliittymässä voi olla kolme koordinaattia X,Y ja Z joita säätää ja etsiä mielenkiintoisia ääniä kokeillen soittaa ääntä ja muutella X, Y ja Z koordinaatteja.
cutesolar muokkasi viestiä 09:28 27.10.2025
|