back to list

Csound macros for Xentonal composition

🔗Michael Saunders <michaelsaunders7@hotmail.com>

5/23/2001 8:00:51 AM

I have a collection of Csound macros and instruments, many of which
may be of interest to members here. In particular, I have a macro
which allows users to put "generalized pitch codes" in their scores---
these codes refer to user-defined tunings, modes and chords in a very
simple way. Here is an excerpt from the README:

The generalized pitch codes to be used with getPitch are as follows:
E.g., if we say $getPitch(p4),

SCALAR---if p4 is -ve:
-8ve.DD, where DD is the two-digit scalar degree (0,...,99).
(note that scalar degree 00 is inaccesible in 8ve 0.)
MODAL---if p4 is 0 or +ve:
8ve.DCC, where D is the one-digit modal degree (0,...,9)
and CC is the two-digit mode channel (00,...,39).
CHORDAL---if p4 is +ve and large, ~>=100:
Coo.c or CooOO.c where C=chord channel number {1, 2, 3},
oo=dictated 8ve number,
ooOO= an acceptable range of 8ve numbers (inclusive)
(one will be chosen at random), and
c=chord component number (1...6).
If c=0 or >6, one will be chosen at random. (I find this
useful for pitched percussion, for example.)
The macro then decodes p4 and assigns the appropriate values to
i8ve, isd, ioct and icps---the octave number, scalar degree,
oct value, and Hz value. The macro can be used any number of
times within the same instrument as long as it is called with
a different argument each time.

Other instruments in the collection, allow for the use of user-definable
modes and chords, the automatic generation of harmonies (according
to Markov constraints, other, simultaneous harmonies and other,
simultaneous melodies). Also included are a strummer, and some
French horn simulations. The collection is available at:
http://members.fortunecity.com/odradek5/pp/csound/index.html

I wonder how many people here use Csound for composition?
I hope this facilitates more! To get the ball rolling, here are
tuning tables for blackjack and Margo's recent "wonder"
(Csound's oct units, used in the tables are merely oct=cents/1200,
or simply use the command "print octcps(ratio)-octcps(1)" to have
Csound print them out for you):

;blackjack
;f5 0 16 -2 21 0 .027778 .097222 .125 .194444 .222222 .291667 .319444 .388889 .416667 .486111 .513889 .583333 .611111 .680556 .708333 .777778 .805556 .875 .902778 .972222

;Margo's "wonder" tuning of 20 May 2001
f5 0 16 -2 31 0 0.059931 0.086869 0.113806 0.140742 0.167679 0.194615 0.254546 0.281483 0.308419 0.335356 0.362291 0.389228 0.449159 0.476095 0.503032 0.529968 0.556905 0.583841 0.643771 0.670708 0.697644 0.724581 0.751517 0.778454 0.838385 0.865320 0.892257 0.919193 0.946130 0.973066

_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com