From news.weeg.uiowa.edu!news.uiowa.edu!hobbes.physics. uiowa.edu!math.ohio-state.edu!sol.ctr.columbia.edu!news.kei.com!ub!gal ileo.cc.rochester.edu!sound.esm.rochester.edu!lhep Sat Jul 31 11:06:58 CDT 1993
Article: 14362 of comp.music
Xref: news.weeg.uiowa.edu comp.music:14362 rec.music.compose:3038
Newsgroups: comp.music,rec.music.compose
Path: news.weeg.uiowa.edu!news.uiowa.edu!hobbes.physics. uiowa.edu!math.ohio-state.edu!sol.ctr.columbia.edu!news.kei.com!ub!gal ileo.cc.rochester.edu!sound.esm.rochester.edu!lhep
From: lhep@sound.esm.rochester.edu (The LISP man)
Subject: LONG: LIST OF TOOLS FOR ALGORITHMIC COMPOSITION
Message-ID: <1993Jul30.191726.17343@galileo.cc.rochester.ed u>
Sender: news@galileo.cc.rochester.edu
Nntp-Posting-Host: sound.esm.rochester.edu
Organization: University of Rochester, Rochester NY
Date: Fri, 30 Jul 93 19:17:26 GMT
Lines: 784

Well, I had some trouble converting text to text-with-line-breaks
but it's over now... Here it is. -leo

This file is composed of a section with requests and other information as well
as a section with the actual listing of the tools. This is to help the
organization, not to encourage you to skip the requests section


LIST OF TOOLS FOR ALGORITHMIC COMPOSITION
=========================================

Version 1.01, last changed on July 29th, 1993.
Compiled by Leonidas Hepis <lhep@sound.esm.rochester.edu>
Please send any corrections/additions to the address above.

I. REQUESTS/INFO II. THE TOOLS
A. General A. Computer Programs
B. Changes Since Last Version B. Books/Readings
C. Disclaimers C. Relevant Lists
D. How to use this list


I. R E Q U E S T S / I N F O
=============================

A. GENERAL:
What is appropriate for this list? Anything, really. Well, at least
anything that can be considered a 'tool' for a composer who likes to use
algorithms. It may be an interpreted language specifically designed to aid
composition; or it may be a book on computer music that has a large section on
algorithms in composition; or it may be a chapter or article out of a largely
unrelated-to-music book or magazine. If it's a 'tool' for algorithmic
composition it belongs here. Don't expect, however, to find a review of a
good pair of dice...
Like any other list in its infancy, this list is likely to contain errors.
Natural Selection will get rid of them - join the fun, and send in the
corrections.
I should thank here all those who have contributed so far, especially those
whom I asked to modify their text or supply me with more info. (I am also
very grateful to those who adjust the subject line (!) to reflect the name of
the tool they email about - having 20 messages with a subject "Re: List of
Tools for Algorithmic Composition" increases the amount of work I have to
do...
In the next version I will try to increase the number of Books/Readings and
clear up that and the Relevant Lists section. Your contributions are, as
always, welcome. I also want to find out more about: Hyperchord,
misc.chimes.exe. There will be info on Symbolic Composer (a program) in the
next version.

B. CHANGES FROM LAST TIME:
There have been numerous changes in the organization of the list.
The number of programs being reviewed has almost tripled! (10-->28) Unless
I need to review my ABC's, the programs should now be listed in the grid in
alphabetical order. Same goes for their descriptions that follow. I also
decided that keeping descriptions of programs small is of little use to many
people and therefore from now on I will include larger descriptions of the
programs whenever I can, but still less than a 24-line page if possible.
My lhep_ltd@uhura.cc.rochester.edu account from where the list was
originally posted has expired, and therefore I will now post from this
account.

C. HOW TO USE THIS LIST:
Intuitively. Just read it. If you plan to print it, you may want to try a
font with equal-width characters and which can fit 80 chars on a page. On a
Mac, I had best results with Courier-10.

D. DISCLAIMERS...
All appropriate Disclaimers apply! I am not responsible for any loss of
money or any other consequence resulting from making this list public, etc....
Same goes for all the contributors to the list. All trademarks etc. belong to
their respective owners... BBS's, user groups, archival sites, mailing lists
etc. can reproduce and distribute this list freely provided the list remains
unchanged *and* customers don't get charged anything beyond regular connection
fees.



II. T H E T O O L S
======================

A. COMPUTER PROGRAMS
Check to see which programs are supported on your platform, then move down
to read about those programs. (An asterisk after the name of the program
means that the information on what platforms you can use this is better
included in the description further down the list.) The lack of an 'X' under
a a platform does not necessarily mean that the program doesn't exist on that
platform, only that I don't know about it. (Maybe in the future, I'll replace
the X's with approximate prices in the US - any objections?)

************************************************** **************************
Mac IBM Amiga Atari NeXT/Unix
--- --- ----- ----- ---------
----------------------------------------------------------------------------
Aleatoric Composer X
AlgoRhythms X
BIAB X X X
----------------------------------------------------------------------------
Bol Processor BP2 * X
Common Music * X ? X
COMP2 *
----------------------------------------------------------------------------
Drummer X
f1 *
ForthMox X
----------------------------------------------------------------------------
HMSL X X
Hyperlisp X
Hyperupic X
----------------------------------------------------------------------------
Interactor X
Jammer X
Keynote *
----------------------------------------------------------------------------
(continued) Mac IBM Amiga Atari NeXT/Unix
----------------------------------------------------------------------------
M or M/PC X X X X
Markov_SMUS X
Max X
----------------------------------------------------------------------------
mf2t *
MidiLyre X
MODE X X X
----------------------------------------------------------------------------
Music Mouse X X X
MusicBox X
Pip X
----------------------------------------------------------------------------
Powerchords X
Ravel X
RGS X
----------------------------------------------------------------------------
Sound Globs X
----------------------------------------------------------------------------
(continued) Mac IBM Amiga Atari NeXT/Unix
----------------------------------------------------------------------------
************************************************** **************************


==================
Aleatoric Composer [IBM Win]
------------------
Carl Christensen christen@astro.ocis.temple.edu, author of the program,
writes:
Aleatoric Composition deals with creating music by using random
processes. It has roots at least as far back as Mozart's
_Musical Dice Game_ (k294d) and as recent as John Cage and
Lejaren Hiller's work _HPSCHD_.
In the program `Aleatoric Composer' you can select random or
conditional probabilities for notes over an 8 octave range and
for rhythms from a whole note to a thirty-second note. The package
runs under Windows 3.1, and it requires a sound or MIDI card with
the appropriate drivers installed. If the Windows Sequencer is
enabled, as well as the MIDI Mapper (General MIDI), you can play
your compositions within the program. Otherwise, you can save
your works as a MIDI file and import it into your favorite
hardware or software sequencer.
`Aleatoric Composer' can currently be found on the following ftp sites:
ftp.cica.indiana.edu /pub/pc/win3/uploads/alcomp10.zip
archive.epas.toronto.edu /pub/pc/ultrasound/submit/alcomp10.zip
garbo.uwasa.fi /windows/sound/alcomp10.zip
ftp.temple.edu /pub/bin/win/alcomp10.zip
oak.oakland.edu /pub/msdos/music/alcomp10.zip
wsmr-simtel20.army.mil pd1:<msdos.music>


===========
AlgoRhythms [Amiga]
-----------
Thomas E. Janzen tej@world.std.com writes:
A GUI-based Automatic Composition program for MIDI only in C.
Platform: Commodore Amiga (TM); V 2.0 available in the Freely Distributable
Amiga Library, Fred Fish (disk #606), ed., Tempe AZ USA. A paper about it is
in "Readings in Computer-Generated Music", IEEE Computer Society Press 1992,
ed. Denis Baggi. Can save its own output as a MIDI file. Saves and reads
its own text form files (summarizing the musical form). Developed by
Thomas E. Janzen, tej@world.std.com. (508) 562-1295 USA.


====================
BIAB (Band in a Box) [Mac, IBM (DOS and Windows), Atari]
--------------------
mike@uhunix.uhcc.hawaii.edu writes:
I use BIAB on a PS/2 model 55sx.....
Main uses are for a backing group that is more fun to
play with than a metronome, RAPIDLY learns new songs compared to
programing them into a standard Sequencer and especially to play
with chord replacements and substitutions. This last use works
very well with BIAB. You can have hours of fun changing chords
in an old standard and listening to the musical feel evolve.

[ From an add in EM July 93:
IBM with MIDI (any MPU 401/Midiator/YamahaC1/Soundblaster/...)
IBM with no MIDI (640K + AdLib/SoundBlaster (reduced version)
Macintosh version REQUIRES 2 mb RAM (reduced version for 1 mb included.)
ATARI 1040ST/1040STE/Mega/TT - reduced version for Atari 520 included ]


=================
Bol Processor BP2 [Mac, Other?]
-----------------
[I e-mailed to the author but I have yet to get a response. Hopefully, I will
have a better description of this program by the next version of the list. In
the meantime, here are some paragraphs from a rather long introductory file.
-leo]
Bernard Bel bel@grtc.cnrs-mrs.fr writes:
BP2 is an extension of Bol Processor BP1 which was developed by computer
scientist Bernard Bel and ethnomusicologist Jim Kippen in the early to mid-
1980s to examine improvisatory methods used by North Indian tabla drummers.
(Kippen & Bel 1992)
It was felt that the formal model embedded in BP1 could be expanded to
encompass more general musical structures, and in this form could be of some
benefit as a tool for rule-based music composition. Syntactic extensions in
BP2 include remote-context rules, context-sensitive substitutions, dynamic
rule weight assignment, programmed grammars, etc. (Bel & Kippen 1992)
BP2 deals with "sound-objects" handled (1) at the symbolic level (where
each object is represented by an arbitrary symbol, and symbols are arranged in
strings, tables, trees, etc.), and (2) the lower level of "elementary events".
These events are messages dispatched to a sound processor that triggers and
controls sound synthesis processes.
A version of BOL PROCESSOR BP2 running on Macintosh is available as
shareware and freely distributed via E-mail. Current version number is 2.4.
It is packed as two BinHex 4 files, one containing the software with examples
and the other one an 80-page documentation ("QuickStart" and "Reference
Manual"). The software file is 360K and the documentation file is about 310K.
Both files are self-extracting archives entirely retrievable with BinHex or
Compact Pro.
Contact: Bernard Bel <bel@grtc.cnrs-mrs.fr>


============
Common Music [Mac, (IBM?), Next, Sun, SGI]
------------
Cody Coggins <acoggins@phoenix.princeton.edu> writes:
I've used Common Music on the NeXT for algorithmic compositions. It
is an extension of Common Lisp that gives you "item streams" and
macros/functions for creating scorefiles. Scorefiles are then played
back by the DSP chip through the Music Kit (an Objective C library)

Rick Taube hkt@zkm.de, author of Common Music gave me this update:
1) Common Music currently runs on Macintoshes, NeXTs, Suns and SGIs.
I am actively porting it to 486/Windows, and someone else is planning
to port it to the 486/Linux environment later this summer.
2) Common Music does not need a dsp to produce music. It can output
to most generally available sound synthesis programs: Csound, Music
Kit, MIDI, Common Lisp Music, which may or may not use a dsp.
3) Common Music does not (necessarily) need to write scorefiles, this
depends not on Common Music, but rather on what the individual
hardware+os+synthesis packages support. For example, on the NeXT and
Mac, it is possible to generate MIDI output in real time directly to
the midi drivers, and direct-to-soundfile for Common Lisp Music. I
will be implementing a real time connection to the Music Kit for
NextSTEP later this year, as well as midi real time on the SGI.
4) The source code to Common Music is free. the latest version of it
may be gotten through anonymous ftp on either ccrma-ftp.stanford.edu
or ftp.zkm.de in the file /pub/cm.tar.Z


======
COMP2 [NeXT?]
------
Brian Belet <BBELET@vax.clarku.edu> writes:
I have written a program in Smalltalk-80 ("COMP2") that I use to compose
music. It is a descendent of "COMP1", which was written in Fortran.
COMP2 works either independently to generate score data for separate
transcription, or can run within the Kyma digital synthesis system to
generate computer music (via software synthesis) in real time.
[there will be more information about this in the next version of the list.]


=======
Drummer [IBM]
-------
aardvark@godzilla.cgl.rmit.oz.au writes:
Drummer is an algorithmic drum machine program. Actually, it has only
one algorithmic feature, but that's a honey- you can specify what percentage
of the time a particular MIDI note, on a particular MIDI channel will play.
you can have up to 20 of these happening at any one time, and up to 50 sets of
these, and the whole thing can be controlled from an external midi controller.
i've been planning to use it with dancers, who would trigger off changes in
the patterns which they would be dancing to. its a good program and very
inexpensive. Drummer is available from Cool Shoes Software, PO Box 2359,
Kernersville, NC 27285 USA.


=======
f1 [source]
-------
svasi@getafix.cs.uoregon.edu, author of f1, writes:
f1 uses "1/f noise" (hence the name) to generate a single-voice melody
pseudorandomly. It was designed with jazz improvisation in mind, and so
it knows a variety of scales and can improvise semi-intelligently over a
chord progression. It is based on a series of papers by Richard Voss.
It's unlikely, I think, that f1 as it stands will compose a song by
itself; its output is a single melody, and there are no provisions for
generating harmonies, multiple voices, etc. The way I use it is to write a
chord progression (the old-fashioned way), then turn f1 loose to write a
melody over it; I've written some songs this way which actually sound like
music. (The opposite direction---have the program generate a melody, then
write harmonic material to fit---is also possible, but it leads to pretty
peculiar songs.)
Thanks to Johan Hagman, f1 will write MIDI files (actually, it writes
files in the input format to midicc); the results are sort of
simpleminded, however, since the program generates no information
except a sequence of notes---no dynamics!
f1 is freely distributed as source code (in C). I've sent copies out to
people who have asked for it, but there is no organised distribution
mechanism. (FTP sites are invited to pick it up!) It is known to compile and
run under MS-DOS, OS/2, and a variety of Unices; the code is pretty simple, so
it should be extremely portable.


========
ForthMox [Atari]
--------
Matt rogalsky@sfu.ca writes:
I owned an Atari and used ForthMox, developed by Daniel
Scheidt of Vancouver Canada. It is a fancy scheduler allowing complex
MIDI manipulation.


======
HMSL [Mac, Amiga]
------
Steven M. Miller smill@eskimo.celestial.com writes:
HMSL is a full-featured programming environment
with graphical user interface tools, full MIDI and custom device
driver support, and comes with full source code. HMSL is implemented
in object-oriented Forth, and as such is fully extensible by the
user, if desired. It runs on Mac & Amiga platforms.
I have been using HMSL for composition and live performance
for 5-6 years.

Also, Matt rogalsky@sfu.ca writes:
HMSL has all kinds of tools
for data manipulation and MIDI handling. It is easy to create new object
classes to perform the kinds of tasks one needs done


=========
Hyperlisp [Mac]
---------
Rainer Joswig joswig@informatik.uni-hamburg.de provided me with part of the
Reference Manual, V.21f (which I slightly edited...):
Hyperlisp is a real-time MIDI programming environment embedded in Macintosh
Common Lisp. The environment was developed specifically for the
Hyperinstruments project at the MIT Media Laboratory, and is optimized for
interactive systems which require fast response times. Hyperlisp provides two
main services for the music programmer: routines for MIDI processing and
primitives for scheduling the application of functions. Programs written in
Macintosh Common Lisp can use these services for a wide variety of real-time
MIDI applications.
Requires: Mac with 4MB RAM, 6.05 or 7.0, Macintosh Common Lisp 2.0
available from APDA, Standard MIDI interface (Apple, Opcode, etc.) and Apple
MIDI Manager version 2.0, or Mark of the Unicorn MIDI Time Piece.
[Rainer also writes:] One can program in an advanced OOP-style. And the
interactive nature of Lisp enables an exploratory style of programming. Also I
would like to mention the capability to react in arbitrary way to incoming
midi events ("real time").


=========
Hyperupic [NeXT]
---------
Christopher Penrose penrose@silvertone.princeton.edu writes:
I have written a program for 68040 based NeXTstep computers called
Hyperupic. It allows people to use color images to generate sonic textures.
The textures can use synthetic waveforms, or complex soundfiles as source
input for the resultant sounds. I have used it to compose a great deal of
music. It is available for free, via anonymous ftp:
princeton.edu:/pub/music/Hyperupic-1.6.tar.Z


==========
Interactor [Mac]
----------
Jeff Harrington <idealord@dorsai.dorsai.org> writes:
Interactor - a fabulous program for the Mac. A complete music programming
language - like MAX - but all program statements are icons. Programs are
created by creating pages of linked icons which can call other pages of
icons. Much better tempo following capabilities (the system was designed
primarily for this purpose) than MAX. Designed by Mort Subotnick and
programmed by Mark Coniglio.
Interactor is distributed by Dr. T's.


======
Jammer [IBM DOS]
------
Dragon(David Fiedler) <david@infopro.netcom.com>
Don't know if this helps, but I've been using a program called The Jammer
and it is *tons* better than BIAB. The Jammer is set up kind of like a
sequencer; it has various "tracks" (basically, voices that can play
rhythm, melody, or bass lines) that you can adjust, set up patterns for,
or use "probability theory" (i.e. set the likelihood of a rhythm pattern
to use downward arpeggios to 27%, or that the melody will be composed of
notes from the pentatonic scale to 30%, blues scale 50%, and major scale
20%). You can put in chords or have The Jammer write progressions for you
in a choosable style (and edit the styles too). Runs on DOS with MIDI.
The Jammer Pro costs $175, there's also a limited version that is $88 or so.

Also, Art Blake blake@eng.tridom.com writes:
The Jammer received editor's choice in the Dec '92 issue of EM.
The Jammer also got another smaller review in The year's hottest Products
(I think) in the Oct '92 issue.


=======
Keynote [Unix, Other]
-------
Tim Thompson tjt@blink.att.com writes:
I've written and use the following tool for algorithmic composition
and manipulation.
Keynote is an awk-like programming language and graphical editor
for MIDI data, with both algorithmic and realtime applications.
The graphical interface is based on only a few built-in functions -
the entire user interface of a complete music editor (piano-roll
style with pop-up menus) is written in Keynote itself, and is hence
completely customizable and extensible by the user. Although it
works best on UNIX systems (ideally 386-based) under the X Window System,
Keynote is portable and runs on other machines.
For more info, see COMPUTING SYSTEMS (Journal of the USENIX Association),
Vol 3 No 2, Spring 1990. Send me your postal address and I'll send you
hardcopy documentation. Complete C source code with a site license is
available in the AT&T UNIX System Toolchest for $250 ($150 for Toolchest
registration and $100 for Keynote), call 1-908-522-6900 at 1200/2400 bps
and login as "guest", or mail to tcadmin@pluto.att.com, or call
1-908-580-4124.
A mailing list was recently started, with an archive server that provides
music and code examples - send email to keynote-request@blink.att.com.


=========
M or M/PC [Mac, IBM, Amiga, Atari]
---------
John Eichenseer hatter@cs.utexas.edu writes:
I use M on the Macintosh a whole lot. It is a pattern-based algorithmic
composition tool. Especially when working with rhythms and textures, this
program has been invaluable to me for getting down ideas and refining them,
as well as encouraging the sorts of happy mistakes that lead to new
material. Lots of fun.
The biggest limitation is that you only have four note generators to
control... there are all sorts of ways to transcend the limitations of the
program, though...

aardvark@godzilla.cgl.rmit.oz.au writes:
M/PC was an ibm version of M put out by Voyetra. It had a couple
of bugs, but was basically a fully functional version of M. i wrote
a bunch of pieces with it and i still use it a lot. it's very
powerful.


===========
Markov_SMUS [Amiga]
-----------
Jeff Harrington idealord@dorsai.dorsai.org writes:
Nick Didkovsky's SMUS File Markov generator. Takes an Amiga SMUS file and
creates new SMUS files via Markov processes.
SMUS files are IFF files (Amiga standard file format) for music. They are
simple and are based on note length instead of realtime temporal positioning.
The basic format is MidiPitch# NoteLength# Velocity(optional) for each
track.)


=====
Max [Mac]
-----
Brian Vantuyl Chess <chess@cats.ucsc.edu> writes:
MAX is quite powerful. It is an object oriented graphical programming
language written primarily to be a music tool. It is an interpreted language
and even allows programs (called patches) to be modified as they are
executing.
It is a visual programming language, which means it's also pretty
different from most programming languages you may have used. Programming in
Max involves connecting boxes that represent chunks of object code together
with "wires" so that the return value(s) of one function can be passed to the
next. The first patch I created involved two objects: a "slider" and a
"noteout." After connecting the output of the slider to the input of the
noteout, I could send MIDI note-on messages by changing the position of the
slider with the mouse.
Max is easy to start using, but developing complex patches can
be a chore - especially when its time to track a subtle bug through 10
different windows.
You can compile your own objects for use in Max, but it comes with
most of the stuff you'll ever want - math functions, random number
generators, MIDI in and out, and quite a bit more.
Max is sold by Opcode for ~$400 (list). As far as I know, Max is
only available for the Mac. It takes up about 4MB of disk space, and the
minimum memory requirement is 1.5MB (Max is happier with about 2.5MB).


======
mf2t [Source]
------
[From the README file. For more info contact email: piet@cs.ruu.nl]
MF2T/T2MF
Two programs to manipulate standard midifiles.
mf2t is a program that reads a standard midifile (format 0 or 1) and
writes an ASCII representation of it that is both compact and easily
parsable.
t2mf is the companion program that reparses the text representation
into a midifile.
The text representation is chosen such that it is easily recognized and
manipulated by programs like sed, awk or perl. Yet it is also humanly
readable so that it can be manipulated with an ordinary text editor.
In this way you can make changes to your midifiles using these
powerful programs or even a Fortran program :=). Or you can write
algorithmic compositions using a familiar programming language.
[It is available as mf2t.tar.Z (at least) at ftp.cs.ruu.nl (131.211.80.17) in
/pub/MIDI/PROGRAMS. -leo]


========
MidiLyre [Amiga]
--------
Jeff Harrington <idealord@dorsai.dorsai.org> writes:
MidiLyre - a program which lets your draw note on/off events with optional
pitchbend and controller information. The program lets you define active
areas of the screen so that different scales can be accessed via mouse
movements. By multi-tasking the Amiga you can have another program control
mouse movements, thus generating MIDI events. (Maybe this is stretching the
algorithmic aspect - but I've used this process to generate pieces).
MidiLyre is available on many bulletin boards (I've seen it on GEnie,
CServe, but not InterNet ;-( .)


=============================================
MODE (Musical Object Development Environment) [Mac, IBM, Sun, Other]
---------------------------------------------
Stephen T. Pope stp@CNMAT.Berkeley.edu writes:
The MODE is a large hierarchy of object-oriented software components for
music; MODE supports structured algorithmic composition, sampled sound
recording and signal processing, and real-time music performance using MIDI or
sampled sounds. The MODE addresses 5 areas: (1) the representation of musical
parameters, sounds, events and event lists; (2) the description of
middle-level musical structures; (3) real-time MIDI, sound I/O, and DSP
scheduling; (4) a user interface framework and components for musical
applications; and (5) several built-in end-user tools. There are a wide range
of facilities in the MODE for algorithmic composition, ranging from
hierarchically-described event generators, to real-time MIDI performance
mappers, to compositional expert-systems in several flavors.
The best overviews of the MODE are the articles "The Interim DynaPiano: An
Integrated Tool and Instrument for Composers," in Computer Music Journal
16(3): 73-91, 1992, and "Producing 'Kombination XI:' Using Modern Hardware and
Software Systems for Composition," in Leonardo Music Journal, 2(1): 23-28,
1992. The underlying representation language is described in "The SmOKe Music
Representation, Description Language, and Interchange Format" in the
Proceedings of the 1992 International Computer Music Conference; two of the
specific algorithmic composition packages are documented in "A Tool for
Manipulating Expressive and Structural Hierarchies in Music (or: T-R Trees in
the MODE: A Tree Editor Based Loosely on Fred's Theory)," in the Proceedings
of the 1991 International Computer Music Conference and "Modeling Musical
Structures as EventGenerators," in the Proceedings of the 1989 International
Computer Music Conference.
The MODE was written on Sun SPARCstations and also runs on Macintosh,
IBM-PC, and many other platforms; it is available as Smalltalk-80 source code
and lots of doc from the directory st80 on the Internet server
ccrma-ftp.stanford.edu.


===========
Music Mouse [Mac, Atari, Amiga]
-----------
Diane Bubbles@cup.portal.com
"Mouse" is written for the Mac. The mouse controls the lines or chords,
and I can set "diatonic," "pentatonic," "middle eastern," etc. tonalities.
When I use this with pipe-organ sounds, I can simulate some French
"contemporary" organ composers whose compositions are VERY difficult to play.

[ There are demos of this program on the Internet. One site that has it is
sumex-aim.stanford.edu/info-mac/demo. ]


=========
Music Box [IBM]
---------
Warren Burt <aardvark@godzilla.cgl.rmit.oz.au> writes:
MUSIC BOX was written by John Dunn, and is a public domain program. It's
available on a number of bulletin boards. It's sort of a predecessor to max
- you write programs by linking up modules which do various logic functions-
it's very user hostile, all the icons for the modules are notated in hex.
but it's incredibly flexible, and has lots of midi input and output
functions. Imagine having an almost infinitely large analog synth on your
screen that put out midi (or that could send info to any other address in
your computer) and that's music box. It's a nightmare to look at a
screenfull of it's patches, but its incredibly flexible. Highly
recommended.

Arild Buanes miklos@isv.uit.no wrote to me that the program can be found in
several ftp sites "as mb*.arc in /sounds/ or /midi/ or /software/
-directories" of IBM software, such as ucsd.edu: /midi/software/ibmpc. Look
for mbdoc.arc, mbexe.arc, mbnot.txt, mbsrc.arc

At nic.funet.fi, in the /pub/msdos/sound/music directory you'll find
mbsrc.zip, which - as far as i can recall - contains all the essential
files.


=====
PIP [IBM]
-----
Warren Burt <aardvark@godzilla.cgl.rmit.oz.au> writes:
Pip is written by Jim Binkley, 5814 SW Taylor, Portland, OR. 97221
USA. Its a program that allows you to use MIDI information to display
graphics on a computer screen. It features MIDI event lists which can be
applied to .pcx paint clippings, and also to sound output, so that you can
have music and computer graphics in sync or not, as you wish. it also has
some neat facilities for algorithmically accessing the MIDI event lists. So
you can play the same MIDI material in a number of different ways. I've made
some pretty nice music and graphics pieces with it.


===========
Powerchords [IBM Win]
-----------
Sean Hayes <esh@hplb.hpl.hp.com> writes:
I use Powerchords: a Windows 3.1 app. Has a guitar oriented interface,
great for knocking up little 12 bar backing tracks and stuff. Not much
cop for writing the next big rock opera.


=====
Ravel [IBM]
-----
Warren Burt aardvark@godzilla.cgl.rmit.oz.au writes:
RAVEL is a public domain composing language written by Jim Binkley. It's
got a full midi feature set and gobs and gobs of random and matrix
manipulation facilities. it's written in c, and is a language on it's own-
you could even write a spreadsheet in it, if you wanted to be silly. I've
used it to generate sound poetry texts as well as music, for example. It's
quite good- it has features of both c and pascal, and is very flexible. at
times its a teeny bit slow, but it tells you how many clock ticks its dropped
at the end of a run.
Ravel is available from Jim Binkley
5814 SW Taylor
Portland, OR. 97221 USA
send him some money for postage and discs, etc, and he'll send you it.


=====
RGS [Amiga]
-----
Jeff Harrington <idealord@dorsai.dorsai.org> writes:
RGS - RealtTime Granular Synthesis - very interesting program for
drawing shapes in realtime which produce granular synthesized sounds over the
Amiga sound system. There is a component to the program which will let you
generate MIDI events instead of grains, thus letting you draw MIDI events.
I've experimented with this - the program is ultimately most interesting from
the granular synthesis side - since you can save screens, though, this could
qualify as algorithmic composition. RGS lets you define the width of the
brush for the grains - the graphics field is a realtime 128 harmonic
synthesizer (8 bits). Kind of like UPIC (I think...).
RGS is available on the Fred Fish series of Amiga public domain programs.


===========
Sound Globs [IBM]
-----------
Warren Burt aardvark@godzilla.cgl.rmit.oz.au writes:
SOUND GLOBS is written by Russ Kozerski and it's wonderful. You specify
all sorts of probability distributions and apply those to various parameters.
Its also great for microtonality and has lots of macro facilities and you can
also externally midi control it. I've used it continually for the last 5
years and i feel very comfortable with it.
Sound Globs is available from Cool Shoes Software, PO Box 2359,
Kernersville, NC 27285 USA or on Compuserve at the prompts enter
GO MIDIBVEN and you'll see all sorts of info about it.




B. BOOKS/READINGS

[this section will be cleaned up a little in the next version...
Currently it has information on the following books:
"Computer Music in C" by Phil Winsor and Gene Delisa
"Automated Music Composition" by Phil Winsor
"The Composer's Toolbox" " "
"Interactive Music" by Robert Rowe
"The Music Machine, Selected Readings from Computer Music Journal"
"Machine Models of Music" by Schwanauer and Levitt, eds.
"Formalized Music" by Xenakis
-leo]

Alan Peterson apeterso@plains.nodak.edu writes:
You might want to look at the book "Computer Music in C" by Phil Winsor and
Gene Delisa, both at UNT. It was published by Windcrest Books, 1991, ISBN
0-8306-3637-4. The book covers computer-assisted composition and mathematics
of music. It includes C functions for composition and can be ordered with the
software.


From: beltran@nsco.network.com (Tony R. Beltran)
All Phil Winsor's books have a common theme - the various mathematical
algorithms (probability, filtering, shaping melodic lines, etc). One
of the books provides C code, the others all provide BASIC code. He
discusses such subjects as stochastic composition, development of
melody via various mathematical functions, rhythm and harmony using
mathematical functions, etc. He doesn't go into more advanced
algorithms such as using Markov Chains, neural networks, or AI.
His book, "Automated Music Composition" is intended for use with
his MusicSculptor package in that the various programs create output
files suitable for use with this software. It seems to me that all
his books contain roughly the same information, so if you get his latest
book "Automated Music Composition", you will have the gist of his
previous books.
I would say his books are more accessible than some of the more
esoteric writings by MIT press. Winsor's books are loaded with
code that actually works suing whatever algorithm is being discussed.
So I am not sure anything is to be gained by detailing each book
separately. Winsor's books all cover the same material. "Computer
Music in C" is the C language version of "The Composer's Toolbox"
which is in BASIC. "Automated Music Composition" is also in BASIC.
But they all cover the same material, though "Automated Music Composition"
provides more initial coverage of putting together a MIDI system and
how his algorithms fit into the overall scheme of music making. It is
as if one can see an evolutionary development of his ideas through the
span of time over which he has written his books.
By the way, if you have a PC and MPU-401 midi card, you will want to
consider purchasing his MusicSculptor program and the book "Automated
Music Composition". With these two pieces, you can freely explore
algorithmic composition and get good results.


Robert Drake au462@cleveland.freenet.edu writes:
Robert Rowe has an EXCELLENT book out called Interactive Music
Systems (MIT Press 1993)--also available with a CD ROM of examples,
MAX objects, and Rowes own program CYPHER (for Mac). He treats
algorithmic composition in general, but specifically focuses on
interactive composition in which the machine "listens" to musical
input and "responds" with additional music events--these events,
of course, are ultimately algorithmically controlled.


Steve Verity <verity@jack.sns.com> writes:
I just picked up a book which I would highly recommend: _The Music
Machine,
Selected Readings from Computer Music Journal_
It covers many topics, from synthesis techniques, digital filter theory,
to algorithmic computer composition. It's at just about the right technical
level for me too, lots of technical "meat" without an overwhelming amount of
horrible mathematics. (sorry to you math gurus, I choke on anything
past trig :-) (actually, there are places with some pretty stinky math. It's
just not overwhelming)
It's published by MIT Press, ISBN 0-262-18131-2


Vance Maverick <maverick@mahogany.cs.berkeley.edu> writes:
_Machine Models of Music_, Schwanauer and Levitt, eds. (MIT Press,
1993) is a collection of academic papers since the 50's, both on
perception and generation of music. It's a good place to look if you
have an idea and want to see if it's been tried -- Markov models, for
example, are treated in a paper from 1957. Don't expect to find lots
of code you can type in and run -- like most academic papers, these
expect you can read for the ideas and apply them.

Vance Maverick <maverick@mahogany.cs.berkeley.edu> writes:
Xenakis' _Formalized Music_ is a classic of the field. This is not to
say that it's easy to pick up and apply! Xenakis is not much of a
writer, and he tends to use much heavier mathematical artillery than
is really required. However, he is (in many people's opinion) the
composer who has been most successful in applying the computer to
ensemble composition, so it's worth trying to absorb. There's a new
edition from Pendragon Press, with a fair amount of new material,
especially on "sieves".
Formalized Music: Thought and Mathematics in Composition, PUBLISHER =
{Pendragon Press}, YEAR = {1992}, VOLUME = {6}, EDITION = {Second}, NOTE =
{Additional material compiled and edited by Sharon Kanach}

Stephen Pope <stp@ccrma.stanford.edu> writes:
Computer Music Journal issue 15:1 (1991) had two articles on interactive
algorithmic composition.


C. RELEVANT LISTS
[not much to put here yet. Steffen Schilke has compiled a list called
"Randomly Composed Music" which contains information that may be of use to
composers who use algorithms. Unfortunately I haven't been able to contact
him and so I don't know how the list is obtainable. I hope to have this
information in the next version of the list. -leo]


END OF LIST OF TOOLS FOR ALGORITHMIC COMPOSITION.

From news.weeg.uiowa.edu!news.uiowa.edu!hobbes.physics. uiowa.edu!math.ohio-state.edu!sol.ctr.columbia.edu!news.kei.com!ub!gal ileo.cc.rochester.edu!sound.esm.rochester.edu!lhep Sat Jul 31 11:06:58 CDT 1993
Article: 14362 of comp.music
Xref: news.weeg.uiowa.edu comp.music:14362 rec.music.compose:3038
Newsgroups: comp.music,rec.music.compose
Path: news.weeg.uiowa.edu!news.uiowa.edu!hobbes.physics. uiowa.edu!math.ohio-state.edu!sol.ctr.columbia.edu!news.kei.com!ub!gal ileo.cc.rochester.edu!sound.esm.rochester.edu!lhep
From: lhep@sound.esm.rochester.edu (The LISP man)
Subject: LONG: LIST OF TOOLS FOR ALGORITHMIC COMPOSITION
Message-ID: <1993Jul30.191726.17343@galileo.cc.rochester.ed u>
Sender: news@galileo.cc.rochester.edu
Nntp-Posting-Host: sound.esm.rochester.edu
Organization: University of Rochester, Rochester NY
Date: Fri, 30 Jul 93 19:17:26 GMT
Lines: 784

Well, I had some trouble converting text to text-with-line-breaks
but it's over now... Here it is. -leo

This file is composed of a section with requests and other information as well
as a section with the actual listing of the tools. This is to help the
organization, not to encourage you to skip the requests section


LIST OF TOOLS FOR ALGORITHMIC COMPOSITION
=========================================

Version 1.01, last changed on July 29th, 1993.
Compiled by Leonidas Hepis <lhep@sound.esm.rochester.edu>
Please send any corrections/additions to the address above.

I. REQUESTS/INFO II. THE TOOLS
A. General A. Computer Programs
B. Changes Since Last Version B. Books/Readings
C. Disclaimers C. Relevant Lists
D. How to use this list


I. R E Q U E S T S / I N F O
=============================

A. GENERAL:
What is appropriate for this list? Anything, really. Well, at least
anything that can be considered a 'tool' for a composer who likes to use
algorithms. It may be an interpreted language specifically designed to aid
composition; or it may be a book on computer music that has a large section on
algorithms in composition; or it may be a chapter or article out of a largely
unrelated-to-music book or magazine. If it's a 'tool' for algorithmic
composition it belongs here. Don't expect, however, to find a review of a
good pair of dice...
Like any other list in its infancy, this list is likely to contain errors.
Natural Selection will get rid of them - join the fun, and send in the
corrections.
I should thank here all those who have contributed so far, especially those
whom I asked to modify their text or supply me with more info. (I am also
very grateful to those who adjust the subject line (!) to reflect the name of
the tool they email about - having 20 messages with a subject "Re: List of
Tools for Algorithmic Composition" increases the amount of work I have to
do...
In the next version I will try to increase the number of Books/Readings and
clear up that and the Relevant Lists section. Your contributions are, as
always, welcome. I also want to find out more about: Hyperchord,
misc.chimes.exe. There will be info on Symbolic Composer (a program) in the
next version.

B. CHANGES FROM LAST TIME:
There have been numerous changes in the organization of the list.
The number of programs being reviewed has almost tripled! (10-->28) Unless
I need to review my ABC's, the programs should now be listed in the grid in
alphabetical order. Same goes for their descriptions that follow. I also
decided that keeping descriptions of programs small is of little use to many
people and therefore from now on I will include larger descriptions of the
programs whenever I can, but still less than a 24-line page if possible.
My lhep_ltd@uhura.cc.rochester.edu account from where the list was
originally posted has expired, and therefore I will now post from this
account.

C. HOW TO USE THIS LIST:
Intuitively. Just read it. If you plan to print it, you may want to try a
font with equal-width characters and which can fit 80 chars on a page. On a
Mac, I had best results with Courier-10.

D. DISCLAIMERS...
All appropriate Disclaimers apply! I am not responsible for any loss of
money or any other consequence resulting from making this list public, etc....
Same goes for all the contributors to the list. All trademarks etc. belong to
their respective owners... BBS's, user groups, archival sites, mailing lists
etc. can reproduce and distribute this list freely provided the list remains
unchanged *and* customers don't get charged anything beyond regular connection
fees.



II. T H E T O O L S
======================

A. COMPUTER PROGRAMS
Check to see which programs are supported on your platform, then move down
to read about those programs. (An asterisk after the name of the program
means that the information on what platforms you can use this is better
included in the description further down the list.) The lack of an 'X' under
a a platform does not necessarily mean that the program doesn't exist on that
platform, only that I don't know about it. (Maybe in the future, I'll replace
the X's with approximate prices in the US - any objections?)

************************************************** **************************
Mac IBM Amiga Atari NeXT/Unix
--- --- ----- ----- ---------
----------------------------------------------------------------------------
Aleatoric Composer X
AlgoRhythms X
BIAB X X X
----------------------------------------------------------------------------
Bol Processor BP2 * X
Common Music * X ? X
COMP2 *
----------------------------------------------------------------------------
Drummer X
f1 *
ForthMox X
----------------------------------------------------------------------------
HMSL X X
Hyperlisp X
Hyperupic X
----------------------------------------------------------------------------
Interactor X
Jammer X
Keynote *
----------------------------------------------------------------------------
(continued) Mac IBM Amiga Atari NeXT/Unix
----------------------------------------------------------------------------
M or M/PC X X X X
Markov_SMUS X
Max X
----------------------------------------------------------------------------
mf2t *
MidiLyre X
MODE X X X
----------------------------------------------------------------------------
Music Mouse X X X
MusicBox X
Pip X
----------------------------------------------------------------------------
Powerchords X
Ravel X
RGS X
----------------------------------------------------------------------------
Sound Globs X
----------------------------------------------------------------------------
(continued) Mac IBM Amiga Atari NeXT/Unix
----------------------------------------------------------------------------
************************************************** **************************


==================
Aleatoric Composer [IBM Win]
------------------
Carl Christensen christen@astro.ocis.temple.edu, author of the program,
writes:
Aleatoric Composition deals with creating music by using random
processes. It has roots at least as far back as Mozart's
_Musical Dice Game_ (k294d) and as recent as John Cage and
Lejaren Hiller's work _HPSCHD_.
In the program `Aleatoric Composer' you can select random or
conditional probabilities for notes over an 8 octave range and
for rhythms from a whole note to a thirty-second note. The package
runs under Windows 3.1, and it requires a sound or MIDI card with
the appropriate drivers installed. If the Windows Sequencer is
enabled, as well as the MIDI Mapper (General MIDI), you can play
your compositions within the program. Otherwise, you can save
your works as a MIDI file and import it into your favorite
hardware or software sequencer.
`Aleatoric Composer' can currently be found on the following ftp sites:
ftp.cica.indiana.edu /pub/pc/win3/uploads/alcomp10.zip
archive.epas.toronto.edu /pub/pc/ultrasound/submit/alcomp10.zip
garbo.uwasa.fi /windows/sound/alcomp10.zip
ftp.temple.edu /pub/bin/win/alcomp10.zip
oak.oakland.edu /pub/msdos/music/alcomp10.zip
wsmr-simtel20.army.mil pd1:<msdos.music>


===========
AlgoRhythms [Amiga]
-----------
Thomas E. Janzen tej@world.std.com writes:
A GUI-based Automatic Composition program for MIDI only in C.
Platform: Commodore Amiga (TM); V 2.0 available in the Freely Distributable
Amiga Library, Fred Fish (disk #606), ed., Tempe AZ USA. A paper about it is
in "Readings in Computer-Generated Music", IEEE Computer Society Press 1992,
ed. Denis Baggi. Can save its own output as a MIDI file. Saves and reads
its own text form files (summarizing the musical form). Developed by
Thomas E. Janzen, tej@world.std.com. (508) 562-1295 USA.


====================
BIAB (Band in a Box) [Mac, IBM (DOS and Windows), Atari]
--------------------
mike@uhunix.uhcc.hawaii.edu writes:
I use BIAB on a PS/2 model 55sx.....
Main uses are for a backing group that is more fun to
play with than a metronome, RAPIDLY learns new songs compared to
programing them into a standard Sequencer and especially to play
with chord replacements and substitutions. This last use works
very well with BIAB. You can have hours of fun changing chords
in an old standard and listening to the musical feel evolve.

[ From an add in EM July 93:
IBM with MIDI (any MPU 401/Midiator/YamahaC1/Soundblaster/...)
IBM with no MIDI (640K + AdLib/SoundBlaster (reduced version)
Macintosh version REQUIRES 2 mb RAM (reduced version for 1 mb included.)
ATARI 1040ST/1040STE/Mega/TT - reduced version for Atari 520 included ]


=================
Bol Processor BP2 [Mac, Other?]
-----------------
[I e-mailed to the author but I have yet to get a response. Hopefully, I will
have a better description of this program by the next version of the list. In
the meantime, here are some paragraphs from a rather long introductory file.
-leo]
Bernard Bel bel@grtc.cnrs-mrs.fr writes:
BP2 is an extension of Bol Processor BP1 which was developed by computer
scientist Bernard Bel and ethnomusicologist Jim Kippen in the early to mid-
1980s to examine improvisatory methods used by North Indian tabla drummers.
(Kippen & Bel 1992)
It was felt that the formal model embedded in BP1 could be expanded to
encompass more general musical structures, and in this form could be of some
benefit as a tool for rule-based music composition. Syntactic extensions in
BP2 include remote-context rules, context-sensitive substitutions, dynamic
rule weight assignment, programmed grammars, etc. (Bel & Kippen 1992)
BP2 deals with "sound-objects" handled (1) at the symbolic level (where
each object is represented by an arbitrary symbol, and symbols are arranged in
strings, tables, trees, etc.), and (2) the lower level of "elementary events".
These events are messages dispatched to a sound processor that triggers and
controls sound synthesis processes.
A version of BOL PROCESSOR BP2 running on Macintosh is available as
shareware and freely distributed via E-mail. Current version number is 2.4.
It is packed as two BinHex 4 files, one containing the software with examples
and the other one an 80-page documentation ("QuickStart" and "Reference
Manual"). The software file is 360K and the documentation file is about 310K.
Both files are self-extracting archives entirely retrievable with BinHex or
Compact Pro.
Contact: Bernard Bel <bel@grtc.cnrs-mrs.fr>


============
Common Music [Mac, (IBM?), Next, Sun, SGI]
------------
Cody Coggins <acoggins@phoenix.princeton.edu> writes:
I've used Common Music on the NeXT for algorithmic compositions. It
is an extension of Common Lisp that gives you "item streams" and
macros/functions for creating scorefiles. Scorefiles are then played
back by the DSP chip through the Music Kit (an Objective C library)

Rick Taube hkt@zkm.de, author of Common Music gave me this update:
1) Common Music currently runs on Macintoshes, NeXTs, Suns and SGIs.
I am actively porting it to 486/Windows, and someone else is planning
to port it to the 486/Linux environment later this summer.
2) Common Music does not need a dsp to produce music. It can output
to most generally available sound synthesis programs: Csound, Music
Kit, MIDI, Common Lisp Music, which may or may not use a dsp.
3) Common Music does not (necessarily) need to write scorefiles, this
depends not on Common Music, but rather on what the individual
hardware+os+synthesis packages support. For example, on the NeXT and
Mac, it is possible to generate MIDI output in real time directly to
the midi drivers, and direct-to-soundfile for Common Lisp Music. I
will be implementing a real time connection to the Music Kit for
NextSTEP later this year, as well as midi real time on the SGI.
4) The source code to Common Music is free. the latest version of it
may be gotten through anonymous ftp on either ccrma-ftp.stanford.edu
or ftp.zkm.de in the file /pub/cm.tar.Z


======
COMP2 [NeXT?]
------
Brian Belet <BBELET@vax.clarku.edu> writes:
I have written a program in Smalltalk-80 ("COMP2") that I use to compose
music. It is a descendent of "COMP1", which was written in Fortran.
COMP2 works either independently to generate score data for separate
transcription, or can run within the Kyma digital synthesis system to
generate computer music (via software synthesis) in real time.
[there will be more information about this in the next version of the list.]


=======
Drummer [IBM]
-------
aardvark@godzilla.cgl.rmit.oz.au writes:
Drummer is an algorithmic drum machine program. Actually, it has only
one algorithmic feature, but that's a honey- you can specify what percentage
of the time a particular MIDI note, on a particular MIDI channel will play.
you can have up to 20 of these happening at any one time, and up to 50 sets of
these, and the whole thing can be controlled from an external midi controller.
i've been planning to use it with dancers, who would trigger off changes in
the patterns which they would be dancing to. its a good program and very
inexpensive. Drummer is available from Cool Shoes Software, PO Box 2359,
Kernersville, NC 27285 USA.


=======
f1 [source]
-------
svasi@getafix.cs.uoregon.edu, author of f1, writes:
f1 uses "1/f noise" (hence the name) to generate a single-voice melody
pseudorandomly. It was designed with jazz improvisation in mind, and so
it knows a variety