Note names and scales
+ Note names
slippery chicken handles pitches in many ways
simultaneously. Each pitch
object created contains data
for that pitch's frequency in Hertz, for example, as well as its
closest standard MIDI note number (0 to 127), an octave indicator,
and MIDI pitch-bend values for microtonal pitches, among other values
(see the source documentation entry on the
function make-pitch
for more detail).
The primary means of labelling and interacting with pitch material in
slippery chicken is through a note name standard based on
that of Common Music and Common Music Notation, whereby each pitch is
labelled using a combination of the alphabetic name of the given
pitch, a modifying letter indicating various degrees of flat/sharp
inflection (if any), and an integer indicating the octave in which it
is located. Thus, middle C (MIDI note 60) is indicated
by C4
, the C above that by C5
, and the C
below that by C3
etc. As always with Lisp symbols (but
not other notation systems), the case of these note names is
irrelevant so C5
is the same as c5
The octave number changes with each consecutive C. Thus, with middle
C being C4
, the B-natural immediately below that
is B3
, and the B-natural above it is considered to
belong to the same octave, and is labelled B4
.
Simple sharps and flats are indicated by adding an S
immediately after the note-name for a semitone sharp and
an F
immediately after the note-name for a semitone
flat. Thus the B-flat immediately below middle C is BF3
and the F-sharp above middle C is FS4
. Double sharps
and flats are not notateable.
Quarter-tone notation in slippery chicken only allows for
simple quarter-tones, with QS
for quarter-tone sharp
and QF
for quarter-tone flat, in addition to semitone
indications as described above. There are no notation options for
three-quarters-sharp or three-quarters-flat. QS
and QF
can be used in conjunction with
the quarter-tone
and twelfth-tone
scales,
but not the chromatic
scale (see below for more detail
on scales).
Twelfth-tone microtones are notated using the
indications TS
for twelfth-tone sharp, SS
for sixth-tone sharp, SF
for sixth-tone flat
and TF
for twelfth-tone flat, in addition to the
quarter-tone and semitone indications. The twelfth-tone indications
can only be used within the twelfth-tone
scale (see
below for more detail on scales).
+ Scales
Scales (or tuning systems) in slippery chicken are selected
using the in-scale
function. The scales currently
available to slippery chicken are chromatic
,
quarter-tone
and twelfth-tone
. The
default scale selected when slippery chicken loads
is quarter-tone
, which includes all semitone pitches as
well.
Certain note name symbols are only available in certain scales. For
example, the indication for a quarter-tone sharp, as
in FQS4
, can only be used when the scale is set
to quarter-tone
. Attempting to use quarter-tone or
twelfth-tone pitches when the scale is set to chromatic
will result in an error.
The scales and their associated note-name symbols can be found in
the file cm-load.lsp
.
Here are a few examples, in conjunction with
slippery-chicken's make-pitch
function:
SC> (in-scale :chromatic-scale) #<tuning "chromatic-scale"> SC> (make-pitch 'bf3) PITCH: frequency: 233.082, midi-note: 58, midi-channel: 0 pitch-bend: 0.0 degree: 58, data-consistent: T, white-note: B3 nearest-chromatic: BF3 src: 0.8908988, src-ref-pitch: C4, score-note: BF3 qtr-sharp: NIL, qtr-flat: NIL, qtr-tone: NIL, micro-tone: NIL, sharp: NIL, flat: T, natural: NIL, octave: 3, c5ths: 1, no-8ve: BF, no-8ve-no-acc: B show-accidental: T, white-degree: 27, accidental: F, accidental-in-parentheses: NIL, marks: NIL LINKED-NAMED-OBJECT: previous: NIL, this: NIL, next: NIL NAMED-OBJECT: id: BF3, tag: NIL, data: BF3 ************** SC> (make-pitch 'cs4) PITCH: frequency: 277.183, midi-note: 61, midi-channel: 0 pitch-bend: 0.0 degree: 122, data-consistent: T, white-note: C4 nearest-chromatic: CS4 src: 1.0594631, src-ref-pitch: C4, score-note: CS4 qtr-sharp: NIL, qtr-flat: NIL, qtr-tone: NIL, micro-tone: NIL, sharp: T, flat: NIL, natural: NIL, octave: 4, c5ths: 2, no-8ve: CS, no-8ve-no-acc: C show-accidental: T, white-degree: 28, accidental: S, accidental-in-parentheses: NIL, marks: NIL LINKED-NAMED-OBJECT: previous: NIL, this: NIL, next: NIL NAMED-OBJECT: id: CS4, tag: NIL, data: CS4 ************** SC> (in-scale :quarter-tone) #<tuning "quarter-tone"> SC> (make-pitch 'bqf3) PITCH: frequency: 239.912, midi-note: 58, midi-channel: 0 pitch-bend: 0.5 degree: 117, data-consistent: T, white-note: B3 nearest-chromatic: BF3 src: 0.91700405, src-ref-pitch: C4, score-note: BF3 qtr-sharp: NIL, qtr-flat: 1, qtr-tone: 1, micro-tone: T, sharp: NIL, flat: NIL, natural: NIL, octave: 3, c5ths: 0, no-8ve: BQF, no-8ve-no-acc: B show-accidental: T, white-degree: 27, accidental: QF, accidental-in-parentheses: NIL, marks: NIL LINKED-NAMED-OBJECT: previous: NIL, this: NIL, next: NIL NAMED-OBJECT: id: BQF3, tag: NIL, data: BQF3 ************** SC> (make-pitch 'fqs4) PITCH: frequency: 359.461, midi-note: 65, midi-channel: 0 pitch-bend: 0.5 degree: 131, data-consistent: T, white-note: F4 nearest-chromatic: F4 src: 1.3739537, src-ref-pitch: C4, score-note: FS4 qtr-sharp: 1, qtr-flat: NIL, qtr-tone: 1, micro-tone: T, sharp: NIL, flat: NIL, natural: NIL, octave: 4, c5ths: 0, no-8ve: FQS, no-8ve-no-acc: F show-accidental: T, white-degree: 31, accidental: QS, accidental-in-parentheses: NIL, marks: NIL LINKED-NAMED-OBJECT: previous: NIL, this: NIL, next: NIL NAMED-OBJECT: id: FQS4, tag: NIL, data: FQS4 ************** SC> (in-scale :twelfth-tone) #<tuning "twelfth-tone"> SC> (make-pitch 'btf3) PITCH: frequency: 244.576, midi-note: 58, midi-channel: 0 pitch-bend: 0.83 degree: 353, data-consistent: T, white-note: B3 nearest-chromatic: BF3 src: 0.9348312, src-ref-pitch: C4, score-note: BTF3 qtr-sharp: NIL, qtr-flat: NIL, qtr-tone: NIL, micro-tone: T, sharp: NIL, flat: NIL, natural: NIL, octave: 3, c5ths: 0, no-8ve: BTF, no-8ve-no-acc: B show-accidental: T, white-degree: 27, accidental: TF, accidental-in-parentheses: NIL, marks: NIL LINKED-NAMED-OBJECT: previous: NIL, this: NIL, next: NIL NAMED-OBJECT: id: BTF3, tag: NIL, data: BTF3 ************** SC> (make-pitch 'bsf3) PITCH: frequency: 242.232, midi-note: 58, midi-channel: 0 pitch-bend: 0.67 degree: 352, data-consistent: T, white-note: B3 nearest-chromatic: BF3 src: 0.9258747, src-ref-pitch: C4, score-note: BSF3 qtr-sharp: NIL, qtr-flat: NIL, qtr-tone: NIL, micro-tone: T, sharp: NIL, flat: NIL, natural: NIL, octave: 3, c5ths: 0, no-8ve: BSF, no-8ve-no-acc: B show-accidental: T, white-degree: 27, accidental: SF, accidental-in-parentheses: NIL, marks: NIL LINKED-NAMED-OBJECT: previous: NIL, this: NIL, next: NIL NAMED-OBJECT: id: BSF3, tag: NIL, data: BSF3 ************** SC> (make-pitch 'cts4) PITCH: frequency: 264.156, midi-note: 60, midi-channel: 0 pitch-bend: 0.17 degree: 361, data-consistent: T, white-note: C4 nearest-chromatic: C4 src: 1.0096735, src-ref-pitch: C4, score-note: CTS4 qtr-sharp: NIL, qtr-flat: NIL, qtr-tone: NIL, micro-tone: T, sharp: NIL, flat: NIL, natural: NIL, octave: 4, c5ths: 0, no-8ve: CTS, no-8ve-no-acc: C show-accidental: T, white-degree: 28, accidental: TS, accidental-in-parentheses: NIL, marks: NIL LINKED-NAMED-OBJECT: previous: NIL, this: NIL, next: NIL NAMED-OBJECT: id: CTS4, tag: NIL, data: CTS4 ************** SC> (make-pitch 'css4) PITCH: frequency: 266.712, midi-note: 60, midi-channel: 0 pitch-bend: 0.33 degree: 362, data-consistent: T, white-note: C4 nearest-chromatic: C4 src: 1.0194407, src-ref-pitch: C4, score-note: CSS4 qtr-sharp: NIL, qtr-flat: NIL, qtr-tone: NIL, micro-tone: T, sharp: NIL, flat: NIL, natural: NIL, octave: 4, c5ths: 0, no-8ve: CSS, no-8ve-no-acc: C show-accidental: T, white-degree: 28, accidental: SS, accidental-in-parentheses: NIL, marks: NIL LINKED-NAMED-OBJECT: previous: NIL, this: NIL, next: NIL NAMED-OBJECT: id: CSS4, tag: NIL, data: CSS4 **************