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
