This is the README for fugue.s.tar.gz [Download] [Browse] [Up]
This is Fugue, a language for sound synthesis and composition. Fugue was developed by Roger Dannenberg, Chris Fraley, and George Polly at Carnegie Mellon University. Fugue is Copyright (c) 1990, Carnegie Mellon University. It is derived in part from XLISP, Copyright (c) 1988, David Betz, and in part from Canon, Copyright (c) 1988, Roger B. Danneberg. Fugue may be used freely for non-commercial use, but you may not redistribute modifications without permission. I am very interested in developing Fugue further, and I solicit your help. Please contact me at Roger.Dannenberg@cs.cmu.edu if you are interested in extending Fugue. Documentation: Unfortunately, learning Fugue is hampered by poor documentation. I suggest you read the following papers (contact me if your library does not have these): Dannenberg, "The Canon Score Language", Computer Music Journal, 13(1) (Spring 1989), pp. 47-56. This talks about behavioral abstraction and the basic temporal control mechanisms. Canon deals with MIDI while Fugue deals with sounds, but otherwise the languages are very similar. Fugue does not allow time-varying transformations (yet) as does Canonl. Dannenberg and Fraley, "Fugue: A Signal Manipulation System with Lazy Evaluation and Behavioral Abstraction", Proceedings of the 1989 ICMC, pp. 76-79. This is the only Fugue paper so far, but due to page limitations, this is pretty much just an extended introduction. Betz. XLISP: An Object-oriented Lisp. Version 2.0. (Manual for XLISP is in doc/xlisp20.doc as an ascii file.) This tells you all about XLisp. Fugue was created by extending XLisp with a new data type (sound) and many new functions, but generic lisp manipulation and arithmetic functions are all described here. doc/lisp.doc -- this file describes functions for sound manipulation in Fugue. doc/*.doc -- there are a number of other short documentation files in this directory. Look them over. Someday, these will all be organized into one manual (I hope). test/ex/demo*.lsp -- you should run these one by one and study the code. These examples demonstrate much of what Fugue can do in an number of simple examples. Running Fugue: Once you get Fugue installed, go to the fugue/test directory and type "../xl". You should get a banner and a prompt. Try typing (load "ex/demo1"). I usually run emacs in another window so I switch between editing code and trying things out interactively. You can also spawn a shell within emacs and run Fugue there. Fugue is not really set up for multiple users, especially since init.lsp expects to find "../fugue.lsp". You might want to change this path to an absolute one to make it easier to run Fugue from any directory.
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.