[Haskell-cafe] Haskell audio libraries & audio formats

John Van Enk vanenkj at gmail.com
Sun Aug 24 16:13:17 EDT 2008


Eric,

I was hoping to use a packed format like ByteString eventually. Right now, I
want to get everything working nicely. As it stands, I end up marshaling a
lot of information into/out of arrays which I'd much rather keep as a block
of memory.

I'm guessing that some sort of unboxed array would be close to what I want.
If you have suggestions, I'm more than open to them. (This is my first
attempt at writing a library.)

/jve

On Sun, Aug 24, 2008 at 1:06 PM, Eric Kidd <haskell at randomhacks.net> wrote:

> On Sun, Aug 24, 2008 at 12:41 PM, John Van Enk <vanenkj at gmail.com> wrote:
> > It implements the Haskell bindings to the PortAudio library. This is the
> > library behind Audacious. I *have not* implemented the callback model
> yet,
> > but I plan to do that.
> >
> > Perhaps this will be something which is useful to you?
>
> Looks like a great binding! We actually use portaudio in callback mode
> at work, with reasonable success (from C++).
>
> One question: I notice that your writeStream function represents audio
> using '[[a]]'.
>
>  writeStream :: (Storable a) => PaStream a -- ^ The output stream
>              -> [[a]]                    -- ^ The samples to be played
>              -> Int                      -- ^ Number of frames
>              -> IO (Either String ErrorCode) -- ^ The return status
> of the write
>
> In my experiments, I've been somewhat unsatisfied with the performance
> of '[[a]]' as an audio format. Would you be interested in also
> supporting an array-based format for audio data?
>
> I'm currently converting my program to use HCodec's Data.Audio
> representation, which looks pretty promising. I don't know how it
> performs yet, but I'll let you know.
>
> Thank you for the pointer to your library! It will make an excellent
> addition to the available Haskell sound libraries.
>
> Cheers,
> Eric
>



-- 
/jve
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20080824/00716537/attachment.htm


More information about the Haskell-Cafe mailing list