Overview
nGen is a free multi-platform generation tool for creating
Csound event-lists (score files) and standard MIDI files.
It is written in C and runs on a variety of platforms (versions are
currently
available for DOS [Win32], Macintosh OS 8.5-9.1, Macintosh OS X, IRIX
[pre and post 6.2], and Linux Intel). All versions,
except the Mac OS 8.5-9.1 version, run in the UNIX command-line style
(at a command-line shell prompt). (The Macintosh OS 8.5-9.1 version
uses a GUI interface written by composer Michael Thompson.)
nGen was designed and written by composer
Mikel Kuehn.
It was inspired in part by the basic syntax of Aleck Brinkman's
Score11 note list preprocessor (Score11 is available for
Linux Intel from the Eastman Computer Music Center).
Why Use nGen?
nGen will allow you to do several things with ease that
are either difficult or not possible using Csound and/or MIDI
sequencing programs; nGen is a powerful
front-end for creating Csound score-files and basic standard
MIDI files. Some of the basic strengths of nGen
are:
- Event-based granular textures can be generated quickly.
- Huge streams of values can be generated with specific random-number
distributions (e.g., Gaussian, flat, beta, exponential, etc.).
- Note-names and rhythms can be entered in intuitive formats (e.g.,
pitches: C4, Df3; rhythms: 4, 8, 16, 32).
- "Chords" can be specified as a single unit (e.g., C4:Df:E:Fs).
Additionally, nGen supplies a host of conversion routines
that allow p-field data to be converted to different formats in the
resulting Csound score file (e.g., octave.pitch-class can be
formatted to Hz values, etc.). A variety of formatting routines are also
supplied (such as the ability to output floating-point numbers with
a certain precision width).
Abstract
Csound and the Music N Languages are widely used; however, while
their text-based score input syntax is a powerful tool, especially for
home-grown note-list generation programs, these score-files can also be
quite cumbersome, especially for techniques such as event-based granular
synthesis and traditional note-name and rhythm input. Similar to
Aleck Brinkman's SCORE11 and Andre Bartetzki's CMASK,
nGen is a portable text-based application. It runs
on most platforms (Windows, Mac, Linux, Irix, UNIX, etc.) and allows for
macro- and micro-level generation of event-list data by providing many
dynamic functions for dealing with statistical generation (such as
interpolation between values over the course of many events, varieties of
pseudo-random data generation, p-field extraction and filtering, 1/f data,
the use of "sets" of values, etc.) as well as special modes of input
(such as note-name/octave-number, reciprocal duration code, etc.).
Its memory allocation is dynamic, making it useful for macro-level control
over huge score-files. In addition, nGen contains a
flexible text-based macro pre-processor identical to that found
in recent versions of Csound and also allows for many varieties
of data conversion and special output formatting. nGen is
command-line based (a GUI by Michael Thompson, exists for Mac versions
of OS 8.5 to 9.1) and accepts an ASCII formatted text-file which is expanded
into a Csound score-file or a standard MIDI file. It is easy
to use and is extremely flexible making it suitable for use by those not
experienced with high-level computer programming languages.
References
-
Boulanger, Richard Charles, ed.. The Csound Book: Perspectives in
Software Synthesis, Sound Design, Signal Processing, and
Programming. Cambridge, MA: MIT Press, 2000. ISBN: 0262522616
(includes 2 CD-ROMS)
-
Brinkman, Alexander R. "Data structures for a Note-List Preprocessor."
Computers in Music Research 1, no. 1, 1989: 75-101.
-
Brinkman, Alexander R. PASCAL Programming for Music Research.
Chicago UP, 1990. ISBN: 0-226-07508-7
-
Dodge, Charles and Thomas A. Jerse. Computer Music: Synthesis,
Composition, and Performance. Wadsworth Pub. Co, 1997. ISBN:
0028646827
-
Roads, Curtis. The Computer Music Tutorial. Cambridge, MA:
MIT Press, 1996. ISBN: 0262680823
-
Smith, Leland. "SCORE - A Musician's Approach to Computer Music."
Journal of the Audio Engineering Society 20, 1972:
7-14.
-
Xenakis, Iannis. Formalized Music, Revised Ed. Stuyvesant,
NY: Pendragon Press, 1992. ISBN: 0-19-321337-0
Acknowledgments
-
I would like to thank the following individuals for their support and
suggestions: Dr. Richard Boulanger, Michael Thompson (who designed,
and implemented the MacIntosh GUI), and Maarja Vigorito for her many
valuable suggestions.
-
The development of this application was sponsored in part by funds
from the MidAmerican Center for Contemporary Music at the Bowling
Green State University, College of Musical Arts.
-
Special thanks goes to Michael Thompson for many helpful suggestions
in making the code more portable and his overall programming wizardry.