Music4C
[
NextMusic Home Page
|
Sound and Music Programs Page
|
Program List ]
Author: Scot Aurenz
Platforms: NeXT (and other non-NS/OS)
Prerequisites: ?
Price: free
Demo: ?
To acquire: ?
Information: Jim Beauchamp, j-beauchamp@uiuc.edu
Entry updated: 12 Dec 1998
Description:
Music 4C (M4C) was written in 1985 by Scot Aurenz at the
University of Illinois at Urbana-Champaign and is closely related to
Music 4BF, a music program written in the late 1960's by Godfrey
Winham and Hubert Howe at Princeton University. Whereas 4BF was
written entirely in Fortran and employs instrument definitions written
in Fortran, M4C is written in C for a Unix environment and employs
instrument definitions written directly in C. Instrument definitions
correspond to separate C modules which are called 'instrument files'.
A separate 'orchestra file' in C is used initialize the various modules
and assign names and number of instances per name for their use in
event-list score files. Then the orchestra file, instrument files, and the
M4C library are linked together to form an executable called m4c.xxx
(.i.e., xxx is up to the user). An M4C job is run as follows:
m4c.xxx [-NH] soundfile.snd scorefile.sc >& listing.list
where -NH puts a NeXT header on the soundfile. Instead of typing this
line in, a user can use the interactive script program 'gom4c' (monaural
job) or'gom4c2'. A scorefile generally looks like this:
I(Voice){[]}
......
......
End
The Music 4C package comes with several subdirectories. The src
directory contains the M4C source programs. When compiled, the
corresponding object files appear in subdir 'obj'. A startup orchestra
called 'm4c.class' is compiled in subdir 'classorch'. It is suggested that
the beginning user experiment with this first. Complete instructions for
using the class orchestra are given in 'M4C_intro.txt' under subdir
'doc'. The doc subdir also contains documentation on the M4C unit
generator family and other programs used with M4C. The 'util'
subdirectory contains commands which facilitate the use of M4C, and
this directory should be in the user's path. The 'instru' subdirectory
gives examples of instrument design. Two utilities which
facilitate use of Music 4C are 'insdes' and 'notepro'. insdes, written in
yak, makes it easier to code instruments in C, since it allows the
structures necessary for the full C version to omitted. The resulting
code in a .t (or template) file is very easy to write and read. The
M4C_intro.txt file contains a tutorial on instrument design, and
insdes.txt is a manual for the use of insdes. notepro is a
preprocessor coding scheme which makes it easy to enter transcriptions
of written music. Here is an example of notepro code:
'Pluck-voice' T120 pp < A. B/ Co D// E// ff F
Explanation: Instrument 'Pluck-voice' at tempo 120 starting at
pianissimo begins a crescendo over a dotted quarter note A, followed by
an eighth note B, followed by a half-note C, two sixteenths (D and E),
arriving at a fortissimo quarter note F. notepro allows complex
rhythmic structures, crossrhythms, gradual tempo changes,
microtonality, and many other features.
At UIUC Music 4C is currently running on the following
computers: NeXT, Silicon Graphics Iris, IBM RS-6000, IBM PC RT,
Convex, and Cray Y-MP.
For information on acquiring Music 4C contact Jim Beauchamp at
j-beauchamp@uiuc.edu.
Eric M. Mrozek (mrozek@umich.edu), EECS-Systems, University of Michigan