The Haskore Computer Music System http://www.haskell.org/haskellwiki/Haskore

Latest on Hackage:

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

GPL licensed by Paul Hudak, Henning Thielemann
Maintained by Henning Thielemann

Haskore Music System

This is a revised and extended version of Haskore from


which evolved from the February 2000 release, available from:


The features are:
- music can be composed by programming Haskell
- the music is output into MIDI files, CSound, or SuperCollider,
or even rendered to an audio stream with http://darcs.haskell.org/synthesizer/
- CSound instruments can generated by programming Haskell, as well

- all modules can be used with GHC,
and many of them with Hugs

For more details, refer to the Tutorial.

For installation we recommend Cabal.

$ ./Setup.lhs configure --user
$ ./Setup.lhs build
$ ./Setup.lhs haddock
$ ./Setup.lhs install

This way you have a usable Haskore installation.

However most modules are written in literate style with LaTeX markup.
There are no Haddock comments.
You can build a PDF file which introduces you to the internals of Haskore.
However it got a bit out of sync over the time,
many parts are now extracted into separate packages.
You can build the documentation using

$ make pdf


Certainly you will want to try some examples.
To this end you must have installed CSound or a MIDI player, respectively.

$ make ghci # interactive session in GHC
$ make hugs # interactive session in Hugs
*Main> :load Haskore.Interface.CSound.Tutorial
*Haskore.Interface.CSound.Tutorial> test tut13
*Main> :load Haskore.Interface.MIDI.Render Haskore.Example.ChildSong6
*Haskore.Interface.MIDI.Render> playTimidity Haskore.Example.ChildSong6.song

You can choose other MIDI players. Type

*Haskore.Interface.MIDI.Render> :browse Haskore.Interface.MIDI.Render

to see the alternatives.

If you like to play via SuperCollider,
install the haskore-supercollider package
from http://darcs.haskell.org/haskore-supercollider
and continue with its Readme file.

Send requests, questions and comments to
the original author of Haskore: Paul Hudak <paul.hudak@yale.edu>
and the reviser: Henning Thielemann <haskore@henning-thielemann.de>
and for more discussion: http://lists.lurk.org/mailman/listinfo/haskell-art
comments powered byDisqus