NOTE: This is a Cabalized version of what is described bellow.
The changes from the version bellow are as follows:
1. It lacks the CSound support,
2. The library modules are in the Haskore.* part of the name space,
3. The examples were sperated from the core library source.
- Iavor (iavor.diatchki@gmail.com)
Original notes for February 2000 release:
Haskore Music System
--------------------
This is the February 2000 release of Haskore, available from:
http://haskell.org/haskore
This version improves on the previous release through limited support
for Csound (thanks to Matt Zamec), the very popular computer music
package written as a pre-procesor to C. This support comes in two
forms:
-- There is a translator from Haskore to Csound score files, thus
providing another platform besides Midi on which to experience
your compositions.
-- You can design new instruments, in the style of Csound's orchestra
files, using a special data type in Haskore. A translator then
converts this data type into a Csound orchestra file. Currently
support is provided for the basic synthesis elements --
oscillators, delay lines, basic filters, and basic effects --
but it is easy to add more of the (hundreds of) Csound primitives
if one desires.
For more details, see Section 12 of the Tutorial.
Haskore can also now be used under both Hugs and GHC (thanks to Stefan
Ratschan). The files in the directory "ghc_add" are additions which
are just needed when working with GHC. In this case, they should be
moved into the source directory ("Src"), after which you just call
"make" in the source directory which will build the file haskore.a and
a set of .hi files. These .hi files need to be in the interface file
path when compiling applications of Haskore (see the -i GHC option).
Note that the file ghc_add/IOExtensions.hs is a partial replacement of
a library file of the same name under Hugs. It does not work yet on
Windows/GHC (where one has to distinguish between binary and text IO).
The best way to use the system with Hugs is to drop the entire Haskore
directory into Hugs/lib (replacing the one that's there). All of the
files except this README file are in the directory Src.
Important files in the distribution:
1) "Haskore.lhs" will load the entire basic Haskore system. If your
Hugs has the proper paths set up, once you drop this directory into
Hugs/lib, you should be able to just say "import Haskore" and
everything should work correctly.
2) Loading "HaskoreExamples.lhs" loads the above plus several other
modules containing useful demonstrations of "Haskore in Action".
3) "tutorial.tex" is the root of the Haskore Tutorial, a literate
script that imports most other files in the directory.
"turorial.ps" is the postscript version of this.
This release builds upon the November 1998 version, which improved
over previous releases in several ways:
1) You can now read MIDI files and convert them into Music values.
2) There is good support for percussion, based on the General Midi
percussion standard.
3) There are a number of new higher-level music constructions, the
most notable being functions for trills, and a parallel
composition operator that truncates the result to the shortest of
the two inputs.
4) A change in the underlying type for Durations, from Float to
Ratio Integer. This is the only incompatible change.
5) Lots of code improvements.
Comments, questions, suggestions, etc. can be sent to me at the
address below.
---
Professor Paul Hudak
Department of Computer Science Office: (203) 432-4715
Yale University FAX: (203) 432-0593
P.O. Box 208285 email: paul.hudak@yale.edu
New Haven, CT 06520-8285
WWW: http://www.cs.yale.edu/users/hudak-paul.html