Johannes Waldmann :

> > > Has anyone built any block simulators (for modeling continuous electronic
> > > systems, like OP Amps, RC networks, etc) in Haskell?
> 
> I'm also interested in this. I am thinking of extending
> Paul Hudak's Haskore system to generate and handle true audio data
> (instead of, or in addition to) MIDI data.


> In fact one student who read the course announcement
> (and the book's web page) already asked me
> about functional audio signal processing.
> 
> Any pointers appreciated,

There are two distinct problems/areas here.

1. Block simulators, dataflow interfacing etc...
   People mentiond FRAM, but somehow I missed (improbable
   that nobody fired the *obvious* keyword here): HAWK!!!
   See the Haskell Home page, you find all about.

2. DSP, audio streams, etc.
   This is another story, although DSP in a dataflow style is
   something full of sex-appeal (at least for me, 
   an old physicist...).

   Frankly not too much about the functional approach to DSP on
   the Web. I can give you some dozens of pointers to tutorials,
   algorithm description, etc., since I am interested (at least
   conceptually) myself. Lazy algorithms for the filter design,
   for mad recursive special effects (flanging, reverb), for the
   spectral synthesis, pitch shifting - all this is nice, 
   elegant, fascinating, clever...

   ...and horribly inefficient ...

   Do you realize the amount of data processed in order to generate
   10 seconds of audio stream at 96kHz of the sampling frequency?

   First, real-time generation might have severe problems with the
   garbage-collection. Generating all this off-line is OK.
   (BTW. I remember that Paul Hudak thought about generating CSound
   streams from Haskore, but I lost tracks of it...)

   Generating true audio data might be quite heavy. Frankly, I think
   that perhaps one should begin with something intermediate between
   MIDI and real audio streams, we could for example make a functional
   tracker which combines (and transforms) pre-formed audio samples.

Thank you for the inspiration. If I had time enough...

Jerzy Karczmarczuk
Caen, France

Reply via email to