The haskore package

[Tags:gpl, library, test]

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


[Skip to Readme]

Properties

Versions 0.0.5, 0.0.5.1, 0.0.6, 0.0.7, 0.1, 0.1.0.1, 0.1.0.2, 0.1.0.3, 0.1.0.4, 0.2, 0.2.0.1, 0.2.0.2, 0.2.0.3, 0.2.0.4, 0.2.0.5, 0.2.0.6, 0.2.0.7, 0.2.0.8
Dependencies array (>=0.1 && <1.0), base (>=1.0 && <2 || >=3), containers (>=0.1 && <1.0), data-accessor (==0.1.*), event-list (>=0.0.8 && <0.1), haskell-src (==1.0.*), HUnit (==1.2.*), markov-chain (>=0.0.1 && <0.1), midi (>=0.1.1 && <0.2), non-negative (>=0.0.1 && <0.1), parsec (==2.1.*), process (==1.0.*), QuickCheck (==1.*), random (>=1.0 && <2.0), special-functors (==1.0.*), transformers (>=0.0.1 && <0.2) [details]
License GPL
Author Paul Hudak <paul.hudak@yale.edu>, Henning Thielemann
Maintainer Henning Thielemann <haskore@henning-thielemann.de>
Stability Experimental
Category Sound, Music
Home page http://www.haskell.org/haskellwiki/Haskore
Source repository head: darcs get http://darcs.haskell.org/haskore/
this: darcs get http://darcs.haskell.org/haskore/ --tag 0.0.6
Uploaded Sun Jan 11 00:21:00 UTC 2009 by HenningThielemann
Distributions Debian:0.2.0.4, NixOS:0.2.0.8
Downloads 3731 total (35 in the last 30 days)
Votes
0 []
Status Docs not available [build log]
All reported builds failed as of 2015-11-20 [all 4 reports]

Modules

  • Haskore
    • Basic
      • Haskore.Basic.Duration
      • Haskore.Basic.Dynamics
      • Haskore.Basic.Interval
      • Haskore.Basic.Pitch
      • Haskore.Basic.Scale
      • Haskore.Basic.Tempo
    • Composition
      • Haskore.Composition.Chord
      • Haskore.Composition.ChordType
      • Haskore.Composition.Drum
      • Haskore.Composition.Rhythm
      • Haskore.Composition.Trill
    • Example
      • Haskore.Example.BesondrerTag
      • Haskore.Example.ChildSong6
      • Haskore.Example.Detail
      • Haskore.Example.Flip
      • Haskore.Example.Fractal
      • Haskore.Example.Guitar
      • Haskore.Example.HeilandHimmel
      • Haskore.Example.Kantate147
      • Haskore.Example.Miscellaneous
      • Haskore.Example.NewResolutions
      • Haskore.Example.Raenzlein
      • Haskore.Example.SelfSim
      • Haskore.Example.Ssf
      • Haskore.Example.WhiteChristmas
    • General
      • Haskore.General.GraphRecursiveGen
      • Haskore.General.GraphTaggedGen
      • Haskore.General.IO
      • Haskore.General.IdGenerator
      • Haskore.General.LoopTreeRecursive
      • Haskore.General.LoopTreeRecursiveGen
      • Haskore.General.LoopTreeTagged
      • Haskore.General.LoopTreeTaggedGen
      • Haskore.General.Map
      • Haskore.General.Monad
      • Haskore.General.TagDictionary
      • Haskore.General.Utility
    • Interface
      • AutoTrack
        • Haskore.Interface.AutoTrack.ChartBar
        • Haskore.Interface.AutoTrack.ChordChart
        • Haskore.Interface.AutoTrack.ChordSymbol
        • Haskore.Interface.AutoTrack.EventChart
        • Haskore.Interface.AutoTrack.Instrument
        • Haskore.Interface.AutoTrack.ScaleChart
        • Haskore.Interface.AutoTrack.Style
        • Haskore.Interface.AutoTrack.Transposeable
      • Haskore.Interface.CSound
        • Haskore.Interface.CSound.Generator
        • Haskore.Interface.CSound.InstrumentMap
        • Haskore.Interface.CSound.Note
        • Haskore.Interface.CSound.Orchestra
        • Haskore.Interface.CSound.OrchestraFunction
        • Haskore.Interface.CSound.Score
        • Haskore.Interface.CSound.SoundMap
        • Haskore.Interface.CSound.Tutorial
        • Haskore.Interface.CSound.TutorialCustom
      • MED
        • Haskore.Interface.MED.Text
      • Haskore.Interface.MIDI
        • Haskore.Interface.MIDI.InstrumentMap
        • Haskore.Interface.MIDI.Note
        • Haskore.Interface.MIDI.Read
        • Haskore.Interface.MIDI.Render
        • Haskore.Interface.MIDI.Write
      • Haskore.Interface.MML
    • Haskore.Melody
      • Haskore.Melody.Standard
    • Haskore.Music
      • Haskore.Music.GeneralMIDI
      • Haskore.Music.Rhythmic
      • Haskore.Music.Standard
    • Haskore.Performance
      • Haskore.Performance.BackEnd
      • Haskore.Performance.Context
      • Haskore.Performance.Default
      • Haskore.Performance.Fancy
      • Haskore.Performance.Player
    • Process
      • Haskore.Process.Format
      • Haskore.Process.Optimization
  • Medium
    • Medium.Controlled
      • Medium.Controlled.ContextFreeGrammar
      • Medium.Controlled.List
    • LabeledControlled
      • Medium.LabeledControlled.List
    • Plain
      • Medium.Plain.Binary
      • Medium.Plain.ContextFreeGrammar
      • Medium.Plain.List
    • Medium.Temporal

Flags

NameDescriptionDefaultType
splitbaseChoose the new smaller, split-up base package.EnabledAutomatic
buildtestsBuild test executablesDisabledAutomatic

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

Downloads

Maintainer's Corner

For package maintainers and hackage trustees

Readme for haskore

Readme for haskore-0.0.6

 			 Haskore Music System
			 --------------------

This is a revised and extended version of Haskore from

  http://darcs.haskell.org/haskore/

which evolved from the February 2000 release, available from:

  http://haskell.org/haskore/

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
or
$ 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