haskore: The Haskore Computer Music System

[ library, music, sound ] [ Propose Tags ]

Compose music using programming features. Output in MIDI, CSound, SuperCollider or as an audio signal.

[Skip to Readme]




Automatic Flags

Choose the new smaller, split-up base package.


Build test executables


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS] 0.0.5,, 0.0.6, 0.0.7, 0.1,,,,, 0.2,,,,,,,,
Dependencies array (>=0.1 && <1.0), base (>=1.0 && <2 || >=3), bytestring (>=0.9 && <0.10), containers (>=0.1 && <1.0), data-accessor (>=0.2 && <0.3), event-list (>=0.0.8 && <0.1), haskell-src (>=1.0 && <1.1), HUnit (>=1.2 && <1.3), markov-chain (>=0.0.1 && <0.1), midi (>=0.1.1 && <0.2), non-negative (>=0.0.1 && <0.1), parsec (>=2.1 && <2.2), process (>=1.0 && <1.1), QuickCheck (>=1 && <2), random (>=1.0 && <2.0), special-functors (>=1.0 && <1.1), transformers (>=0.0.1 && <0.2), utility-ht (>=0.0.3 && <0.1) [details]
License LicenseRef-GPL
Author Paul Hudak <paul.hudak@yale.edu>, Henning Thielemann
Maintainer Henning Thielemann <haskore@henning-thielemann.de>
Category Sound, Music
Home page http://www.haskell.org/haskellwiki/Haskore
Source repo head: darcs get http://darcs.haskell.org/haskore/
this: darcs get http://darcs.haskell.org/haskore/ --tag 0.1
Uploaded by HenningThielemann at 2009-01-25T23:33:09Z
Distributions NixOS:
Executables autotrack, test
Downloads 13597 total (15 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for haskore-0.1

[back to package description]
 			 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