From news.weeg.uiowa.edu!news.uiowa.edu!hobbes.physics.uiowa.edu!math.ohio-state.edu!sol.ctr.columbia.edu!news.kei.com!ub!galileo.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!galileo.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.edu> 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 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: =========== 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 ============ Common Music [Mac, (IBM?), Next, Sun, SGI] ------------ Cody Coggins 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 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 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) 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 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 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 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 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 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 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 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 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 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 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. .