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 (CMN
only) 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
**************