
On 14.05.12 15:11, Balazs Komuves wrote:
Personally, I believe the FRP paradigm should be suitable for the tasks you describe, but we are probably not there yet. Changing the graph is probably the nontrivial part, but specifying fades/etc should be easy. If you want a full-blown music producing / synthesizer system, then it again becomes hard because of the performance requirements. You probably need to Just-In-Time compile the circuit to some low-level language. But this is definitely possible; for example Henning Thielemann has such a prototype synth: http://hackage.haskell.org/package/synthesizer-llvm
fwiw, henning also has released a package for doing midi event processing with the reactive-banana library [1]. regarding sound synthesis and processing, there are some options that allow haskell control of a synthesis engine written in C/C++, e.g. hsc3 (supercollider) [2] and hCsound (csound) [3]. personally i've been using reactive-banana and hsc3 in some recent projects, where FRP "events" are rendered by sending graph manipulation messages to the supercollider synthesis engine. <sk> [1] http://hackage.haskell.org/package/reactive-balsa [2] http://hackage.haskell.org/package/hsc3 [3] http://hackage.haskell.org/package/hCsound