ANNOUNCE: HasChorus - some modules for Haskore

Martin Schwenke martin@meltin.net
Tue, 20 Mar 2001 15:25:45 +1100


HasChorus:

A set of Haskell (http://haskell.org/) modules written on top of
Haskore (http://haskell.org/haskore/) to make it easier to sequence
simple, repetitive music.  

HasChorus is available via:

  http://meltin.net/hacks/haskell/

----------------------------------------------------------------------

HasChorus *has* a bunch of useful modules:

HasChords.lhs:	    Build (diatonic) chords from scales and scale degrees.
HasDrums.lhs:	    Sequence drums in a similar manner to a drum machine.
HasEasyMusic.lhs:   Allow simple specification of simple music sequences.
HasGroove.lhs:	    Modify Haskore performances via normal distributions.
HasPatterns.lhs:    Sequence patterns by playing chords in different ways.
HasScales.lhs:	    Build scales and pick notes by scale degree.	    
HasSounds.lhs:	    Some boring ways of playing some instruments.
HaskoreExtras.lhs:  Some useful functions that aren't in Haskore.

BubbleSort.lhs:	    An implementation of bubble sort.  Used by HasGroove.lhs.
Normal.lhs:	    Generate normal distributions.  Used by HasGroove.lhs.

TwelveBar.lhs:	    An example song.

Many of the modules can be used without requiring all of the others.
The dependencies look something like:

HasEasyMusic -> HasChords -> HasScales

HasDrums -> HaskoreExtras

HasSounds -> HasPatterns

HasGroove -> BubbleSort, Normal

TwelveBar -> HasChorus -> *EVERTHING ELSE*

----------------------------------------------------------------------

HasChorus has been tested under:

* Hugs: Currently I use Hugs 98, February 2000.  I use -h1000000 so
  that HasGroove doesn't melt down...  :-)

* GHC: 4.08 (previously under 4.07) under x86 Linux.

----------------------------------------------------------------------

I use HasChorus to sequence up simple backing tracks for my own
compositions.

Enjoy...

peace & happiness,
martin

Martin Schwenke <martin@meltin.net>

p.s. Several people who have expressed interest in this project during
     the last few years have received this announcement via a BCC.
     They haven't been secretly subscribed to the Haskell mailing
     list. :-)