[Haskell-cafe] Ideas

jerzy.karczmarczuk at info.unicaen.fr jerzy.karczmarczuk at info.unicaen.fr
Sat Aug 25 17:36:01 EDT 2007


Evan Laforge writes: 

>> Indeed, you can write certain DSP algorithms beautifully in Haskell.
>> Now, if only it could talk to the audio hardware... (Or just use common
>> file formats even.)
> 
> Oh, that's easy.  I wrote an FFI interface to portaudio a while back
> to write a delay-looping type utility in haskell.  It was pretty
> trivial.  You could do the same for libsndfile or whatever. 
> 
> The only thing I'm uncertain about is whether it would have good
> enough time and space performance.  All the real work is writing yet
> another set of basic envelope, oscillator, and fft primitives.  You
> *should* be able to go all the way down to the samples in pure haskell
> though, which would be more elegant than those other languages :)

== 

Well, if you want to see what you can do with a lazy functional language,
not necessarily Haskell, but Clean (sorry for advertizing a competitor
on this list...), perhaps have a look on my PADL paper 

http://users.info.unicaen.fr/~karczma/arpap/cleasyn.pdf 

I generated .wav files as output, from lazy streams, so the sound was 
off-line.
My ambition was to code in a very, very compact way some musical
instruments, with looping replaced by co-recursion. It cannot be extremely
efficient, but it seems quite elegant and powerful. 

Jerzy Karczmarczuk 




More information about the Haskell-Cafe mailing list