Attualmente sto lavorando a un progetto personale: creare una libreria per la sintesi audio in tempo reale in Flash. In breve: strumenti per collegare wavegenarator, filtri, mixer, ecc. E fornire alla scheda audio dati grezzi (in tempo reale). Qualcosa come max/msp o Reaktor.Qualcuno ha qualche consiglio su come programmare la sintesi audio in tempo reale?
Ho già alcune cose di lavoro, ma mi chiedo se l'impostazione di base che ho scritto sia giusta. Non voglio incorrere in problemi successivi che mi costringano a cambiare il nucleo della mia app (anche se ciò può sempre accadere).
Fondamentalmente, ciò che faccio ora è iniziare alla fine della catena, nel punto in cui i dati (grezzi) vengono disattivati (alla scheda audio). Per fare ciò, ho bisogno di scrivere blocchi di byte (ByteArrays) su un oggetto, e per ottenere quel chunk chiedo qualunque modulo sia collegato al mio modulo "Sound Out" per darmi il suo pezzo. Quel modulo fa la stessa richiesta al modulo che è collegato al suo input, e questo continua a succedere fino a quando viene raggiunto l'inizio della catena.
È questo l'approccio giusto? Posso immaginare di imbattersi in problemi se c'è un feedbackloop, o se c'è un altro modulo senza output: se dovessi collegare uno spectrumanalyzer da qualche parte, quello sarebbe un vicolo cieco nella catena (un modulo senza uscite, solo un input). Nella mia attuale configurazione, un tale modulo non funzionerebbe perché comincio solo a calcolare dal modulo di uscita audio.
Qualcuno ha esperienza con la programmazione di qualcosa di simile? Sarei molto interessato a qualche riflessione sull'approccio giusto. (Per chiarezza: non sto cercando specifiche implementazioni di Flash, ed è per questo che non ho taggato questa domanda sotto flash o ActionScript)