[Haskell-cafe] Music / MIDI help

Heinrich Apfelmus apfelmus at quantentunnel.de
Thu Jul 11 10:18:01 CEST 2013

Mark Lentczner wrote:
> I'm a little lost in the bewildering array of music packages for Haskell,
> and need some help.
> I'm looking to recreate one of my algorithmic music compositions from the
> 1980s. I can easily code the logic in Haskell.
> I'm looking for a the right set of packages and SW so that I can:
> a) generate short sequences and play them immediately, preferrably in ghci,
> -- but 'runHaskell Foo.hs | barPlayer' would be acceptable
> 2) generate MIDI files
> I'm on OS X.
> So far what I've found is: Haskore, the midi package, and the jack package
> - and then I'd need some MIDI software synth for the Mac, and Jack based
> patcher.... Or perhaps I want SuperCollider, and the Haskell bindings - but
> that seems rather low level for my needs here (I don't really need to patch
> together my instruments, and I don't want to have re-write the whole timing
> framework from scratch.)
> So - What's a quick easy path here?

I'm also on MacOS X and had the same problem.

For immediate sound output, I liked Rohan Drape's [SuperCollider 
bindings][hsc3], though I started to write my [own 
library][tomato-rubato] that abstracts away from the internals and 
presents a simpler interface. Maybe you can find something interesting 
here. It's currently dormant because the feedback loop in GHCi is still 
too long for my taste, though.

I found Henning Thielemann's [midi][] package very useful for reading 
MIDI files, I guess it's equally useful for writing MIDI files.

   [hsc3]: http://hackage.haskell.org/package/hsc3
   [midi]: http://hackage.haskell.org/package/midi
   [tomato-rubato]: https://github.com/HeinrichApfelmus/tomato-rubato

Best regards,
Heinrich Apfelmus


More information about the Haskell-Cafe mailing list