[Haskell-cafe] real-time audio processing
Henning Thielemann
lemming at henning-thielemann.de
Wed Aug 4 16:40:58 EDT 2010
On Wed, 4 Aug 2010, Stephen Sinclair wrote:
> On Aug 3, 8:31 pm, Jeremy Shaw <jer... at n-heptane.com> wrote:
>> The only area I have had any trouble with Haskell is doing realtime
>> music synthesis. And only because the garbage collector is not
>> realtime friendly. That is not unfixable though. However, I am
>> thinking that the best way to do realtime synthesis with Haskell is to
>> use it to create a DSL that uses LLVM to create code at runtime so
>> that the realtime code is outside the scope of the normal RTS and
>> garbage collector.
>
> I'm also very interested in this topic---how to apply a general-
> purpose functional language to real-time needs, even if it is in a
> domain-specific way.
If you like to see real-time audio synthesis in action ...
http://code.haskell.org/hal/05-2010/unsafe-performance/MOV09560.MPG
and for the background:
http://arxiv.org/abs/1004.4796
http://dafx04.na.infn.it/WebProc/Proc/P_201.pdf
Unfortunately the package is not yet available on Hackage, because there
are some patches to the llvm interface that I could not push to the main
branch so far.
Regarding garbage collection: My experience is that the garbage collector
is quite friendly, but you run easily into a memory leak, and this memory
leak will make the garbage collector busy, because it has to check
reachability of more chunks. Nonetheless you can consider the memory leaks
being bugs of the garbage collector or the compiler.
More information about the Haskell-Cafe
mailing list