On Fri, Apr 24, 2009 at 6:00 PM, Eric Cheng <[email protected]> wrote:
> Hello folks,
>
> It sounds like there have been a lot of exciting things about Haskell
> audio going on lately!
>
> I agree with Balazs that a cross-platform solution would be very nice.
>  Here at Yale we've been designing the next-generation of the HasSound
> real-time sound synthesis DSL.  Much of the focus has been on the
> theory side, but that has been quite fruitful.  We have been able to
> derive a new class of Arrows and combine it with fusion techniques,
> and preliminary tests show that performance is really, really good.
> (By that I mean it is competitive to straight-ahead hand-written
> C/C++.)

Is any of this work available yet?  I've recently been heading in the
direction of an arrow-based DSP/synthesis DSL as a back-end for one of
my projects, but I haven't put much time in yet.  If your group has
already been doing something similar, I'd much prefer to use that
(after a stable release) and spend my time on other stuff, provided
your features overlap with what I need.

>
> We plan to have a release this summer, so I've been looking for a
> cross-platform audio solution too.  So far I have been using my
> home-grown PortAudio FFI wrapper (the PortAudio library on hackage
> didn't exist when I first started out!).  I think it's a fine library,
> since it works wonderfully on Linux and Mac, but it seems to be a lot
> of pain to get it to work on Windows, which I think is a big problem.

Is this a problem with the FFI wrapper or PortAudio itself?  If the
former, that can likely be fixed.  The latest cabal appears to have
much better support for C libraries, and the current c2hs is much
better on Windows than previous versions (if you're into that).

>
> So a solution has to be cross-platform (Linux, Mac, and Windows) and
> real-time (be it callback based or loop based).  I've briefly looked
> at Jack, but its OSX and Windows support does not seem quite polished
> yet.
>
> In the case where it's not possible to find a common library, would it
> be a good idea for us to come up with a Haskell package with a set of
> common API functions and use the best audio library for each platform
> under the hood?  For example, we can use CoreAudio/PortAudio on Mac,
> DirectSound on Windows, and PortAudio on Linux, but we provide an
> abstraction layer above the two libraries.  Do people think it would
> be something worth working on?
>

I personally think this would be a worthwhile project, and I'd be
willing to devote time to it myself.  I'm not familiar with
DirectSound, but I could poke around with CoreAudio.  PortAudio is
probably the easiest of these three.  Coming up with an abstraction
layer most users would like is probably the hard part.

John
_______________________________________________
haskell-art mailing list
[email protected]
http://lists.lurk.org/mailman/listinfo/haskell-art

Reply via email to