Ok, I didn't even know there was a haskell-art list, although I've joined it now. It's great to see that others are trying to work on similar projects. I've already learned quite a lot from looking at your implementations.
I'm not sending this to haskell-cafe as it seems everyone on that list who was interested is also on this list. This seems like a good place to discuss some of my concerns and get a few things ironed out. One of the things I'd like to see is a conventional way to represent audio data in haskell. What I've been using so far is: type Sound = Double type SoundFrame = [Double] and using [SoundFrame] for the output of my decoding functions. Which is fine, as far as that goes. However, it's probably not the best option. A storablevector (if it were made lazy) would likely be more efficient, both in terms of memory usage and processing. An arrow approach (looking at YampaSynth) could be usable too, but I figured I'd have quite enough work to do without that. Are there any suggestions here? I've started to look at your libsndfile wrapper, and it looks fairly usable. I haven't had a chance to really dig into the interface, though. As I've already mentioned, the one thing I would most like to see is a lazy version, enabling something like this: do hFile <- openFile "path/filename" ReadMode hOutFile <- openFile "path/newFile" WriteMode (format, audioData) <- HSnd.readFile hFile HSnd.writeFile hOutFile format $ some_processing_func audioData closeFile hFile closeFile hOutFile That's why I took the approach of writing encoders and decoders instead of wrapping libsndfile. LazyByteString should allow this, as long as I encode and decode appropriately. I think this could work with libsndfile, but I don't know how to do it myself. The other problem with libsndfile is that it's GPL, and that may not be appropriate for all projects. Reading/writing sound files seems a basic enough task that I would like to see a LGPL or BSD library for it. Anyway, thanks for letting me know about your projects. I've only just started using Haskell, so I'm not very familiar with the landscape yet. Thank you, John _______________________________________________ haskell-art mailing list haskell-art@lists.lurk.org http://lists.lurk.org/mailman/listinfo/haskell-art