Haskore is a set of Haskell modules for creating music as MIDI, CSound, SuperCollider, and Audio files. A more recent, but less stable version, is available as Darcs repository at http://darcs.haskell.org/haskore/.
A lot of projects were initiated that use the Haskore framework or something in the spirit of Haskore. This page may help to keep an overview of all projects. All maintainers of Haskore related projects are encouraged to add their project here and keep the references up to date.
|AuDi||Peter Steffen||||Course material for Algorithms and Data Structures I - A formula language for music ("Algorithmen und Datenstrukturen I - Eine Formelsprache fuer Musik")|
|AutoTrack||Stefan Ratschan||||A tool for creating practizing and demo tracks from chord charts. You feed the program with a chord chart, set the desired style (jazz, bossa, etc.), tempo, key etc. and it produces a simple MIDI file containing an according bass and drum track. Includes a lot of examples.|
|Design experiments||Henning Thielemann||||Test of several changes of Haskore's design targetting at more flexibility and consistency|
|Emile||Adam Bermingham||||Eight-Bar Melody Generation in Haskell. Automatic composition based on two initial bars|
|Gore||Johannes Waldmann||||Convert a melody description in a string into the Haskore Music data structure. Thus simple melodies can be written much more condensed.|
|HasChorus||Martin Schwenke||||A set of Haskell modules written on top of Haskore to make it easier to sequence simple, repetitive music|
|Jazkore||Jean-François Paiement|| ?||A model of melodic jazz improvisation in functional programming|
|Lilypond back-end||Jeffrey R. Lewis||A back-end for Haskore to produce Lilypond notation files.|
|Microtonal music||Magnus Jonsson||||This is not Haskore related, though integration into Haskore would be nice|
|Polymorphic Temporal Media||Paul Hudak||||An Algebraic Theory of Polymorphic Temporal Media - A generalization of Haskore Music and MDL as well as Fran and FAL animation|
|T-shirt||Fritz Ruehr||||Haskore T-Shirt featuring the 8 laws of polymorphic temporal media|
There is no Haskore related mailing list, but Haskore related discussion is very welcome at the Haskell art mailing list.
3 Getting started
3.1 Installation using cabal
Prerequisits: You should be able to fetch a package using darcs and configure/build/install it using cabal.
Step 0. Choose a folder where some haskell packages can be stored.
Step 1. Get the packages. For each PACKAGE in (non-negative, event-list, record-access, markov-chain, midi, haskore) do
darcs get http://darcs.haskell.org/PACKAGE
Step 2. Patch Haskore's cabal file: [Cabal.patch]
cd haskore darcs apply /path/to/cabal.patch
Step 3. Build and install the packages. For each PACKAGE (in the order of above)
cd PACKAGE runhaskell Setup.lhs configure (--prefix=/usr/local --user) runhaskell Setup.lhs build runhaskell Setup.lhs install
3.2 First Steps
No idea by now. How can i simply compose a piece of music and play it with this setup (e.g. timidity)