CsoundAC API Reference
Algorithmic composition library for JavaScript (WebAssembly Embind build of csound-ac). This page lists only symbols exported to JavaScript and documents them with the C++ Doxygen comments from the source headers.
const CsoundAC = await createCsoundAC();
globalThis.CsoundAC = CsoundAC;
Chord-space theory: CHORDSPACE.md
createCsoundAC()
Emscripten factory defined in CsoundAC.js. Returns a Promise that resolves to
the CsoundAC module namespace described below.
Module functions
Free functions on the object returned by createCsoundAC().
create
identity
add
subtract
scalar_multiply
scalar_divide
matrix_multiply
norm
create_rotation
allOfEquivalenceClass (csound::allOfEquivalenceClass)
| Parameter | Description |
|---|---|
voice_count | |
equivalence_class | |
range | |
g | |
sector | |
printme |
Returns: SILENCE_PUBLIC const std::vector< Chord > &
chord_space_version (csound::chord_space_version)
Returns: std::string
euclidean (csound::euclidean)
| Parameter | Description |
|---|---|
a | |
b |
Returns: SILENCE_PUBLIC double
factorial (csound::factorial)
| Parameter | Description |
|---|---|
n |
Returns: SILENCE_PUBLIC double
midpoint (csound::midpoint)
| Parameter | Description |
|---|---|
a | |
b |
Returns: SILENCE_PUBLIC Chord
eq_tolerance (csound::eq_tolerance)
It is a "close enough" comparison. If a or b equals 0, the indicated number of machine epsilons is used as the tolerance; if neither a nor b equals 0, the indicated number of units in the last place (ULPs) is used as the tolerance. These tolerances should be set to appropriate values based on the use case.
| Parameter | Description |
|---|---|
a | |
b | |
epsilons | |
ulps |
Returns: SILENCE_PUBLIC bool
gt_tolerance (csound::gt_tolerance)
| Parameter | Description |
|---|---|
a | |
b | |
epsilons | |
ulps |
Returns: SILENCE_PUBLIC bool
lt_tolerance (csound::lt_tolerance)
| Parameter | Description |
|---|---|
a | |
b | |
epsilons | |
ulps |
Returns: SILENCE_PUBLIC bool
ge_tolerance (csound::ge_tolerance)
| Parameter | Description |
|---|---|
a | |
b | |
epsilons | |
ulps |
Returns: SILENCE_PUBLIC bool
le_tolerance (csound::le_tolerance)
| Parameter | Description |
|---|---|
a | |
b | |
epsilons | |
ulps |
Returns: SILENCE_PUBLIC bool
OCTAVE (csound::OCTAVE)
Returns: SILENCE_PUBLIC double
MIDDLE_C (csound::MIDDLE_C)
Returns: SILENCE_PUBLIC double
C4 (csound::C4)
Returns: SILENCE_PUBLIC double
T (csound::T)
NOTE: Does NOT return an equivalent under any requivalence relation.
| Parameter | Description |
|---|---|
pitch | |
semitones |
Returns: SILENCE_PUBLIC double
I (csound::I)
NOTE: Does NOT return an equivalent under any requivalence relation.
| Parameter | Description |
|---|---|
pitch | |
center |
Returns: SILENCE_PUBLIC double
modulo (csound::modulo)
| Parameter | Description |
|---|---|
dividend | |
divisor |
Returns: SILENCE_PUBLIC double
epc (csound::epc)
the pitch is in the interval [0, OCTAVE). Implemented using the Euclidean definition.
| Parameter | Description |
|---|---|
pitch |
Returns: SILENCE_PUBLIC double
pitchClassForName (csound::pitchClassForName)
| Parameter | Description |
|---|---|
name |
Returns: SILENCE_PUBLIC double
nameForPitchClass (csound::nameForPitchClass)
The first of enharmonic names is always used, sorry. If there is no matching name, an empty string is returned.
| Parameter | Description |
|---|---|
pitch |
Returns: SILENCE_PUBLIC std::string
nameForChord (csound::nameForChord)
If none exists, an empty result is returned.
| Parameter | Description |
|---|---|
chord |
Returns: SILENCE_PUBLIC std::string
chordForName (csound::chordForName)
| Parameter | Description |
|---|---|
name |
Returns: SILENCE_PUBLIC const Chord &
nameForScale (csound::nameForScale)
| Parameter | Description |
|---|---|
scale |
Returns: SILENCE_PUBLIC std::string
scaleForName (csound::scaleForName)
| Parameter | Description |
|---|---|
name |
Returns: SILENCE_PUBLIC const Scale &
add_chord (csound::add_chord)
| Parameter | Description |
|---|---|
name | |
chord |
Returns: SILENCE_PUBLIC void
add_scale (csound::add_scale)
| Parameter | Description |
|---|---|
name | |
scale |
Returns: SILENCE_PUBLIC void
iterator (csound::iterator)
| Parameter | Description |
|---|---|
voiceN | |
first |
Returns: SILENCE_PUBLIC Chord
next (csound::next)
g is the generator of transposition. Before iterating the iterator must be set to the low point of iteration.
| Parameter | Description |
|---|---|
iterator_ | |
minimum | |
range | |
g |
Returns: SILENCE_PUBLIC bool
note (csound::note)
If the optional duration, channel, velocity, and pan parameters are not passed, then the Chord 's own values for these are used.
| Parameter | Description |
|---|---|
chord | |
voice | |
time_ | |
duration_ | |
channel_ | |
velocity_ | |
pan_ |
Returns: Event
notes (csound::notes)
If the optional duration, channel, velocity, and pan parameters are not passed, then the Chord 's own values for these are used.
| Parameter | Description |
|---|---|
chord | |
time_ | |
duration_ | |
channel_ | |
velocity_ | |
pan_ |
Returns: Score
numerics_information (csound::numerics_information)
| Parameter | Description |
|---|---|
a | |
b | |
epsilons | |
ulps |
Returns: SILENCE_PUBLIC void
operator== (C++ csound::operator)
chord_lt (C++ csound::operator)
scale_lt (C++ csound::operator)
harmony_point_2_lt (C++ csound::operator)
operator<= (C++ csound::operator)
operator> (C++ csound::operator)
operator>= (C++ csound::operator)
voiceleading (csound::voiceleading)
what you have to add to a to get b, as a chord of directed intervals.
| Parameter | Description |
|---|---|
a | |
b |
Returns: SILENCE_PUBLIC Chord
parallelFifth (csound::parallelFifth)
| Parameter | Description |
|---|---|
a | |
b |
Returns: SILENCE_PUBLIC bool
toScore (csound::toScore)
| Parameter | Description |
|---|---|
chord | |
score | |
time_ | |
voiceIsInstrument |
Returns: SILENCE_PUBLIC void
voiceleadingSmoothness (csound::voiceleadingSmoothness)
| Parameter | Description |
|---|---|
a | |
b |
Returns: SILENCE_PUBLIC double
voiceleadingSmoother (csound::voiceleadingSmoother)
| Parameter | Description |
|---|---|
source | |
d1 | |
d2 | |
avoidParallels | |
range |
Returns: SILENCE_PUBLIC Chord
voiceleadingSimpler (csound::voiceleadingSimpler)
| Parameter | Description |
|---|---|
source | |
d1 | |
d2 | |
avoidParallels |
Returns: SILENCE_PUBLIC Chord
voiceleadingCloser (csound::voiceleadingCloser)
| Parameter | Description |
|---|---|
source | |
d1 | |
d2 | |
avoidParallels |
Returns: SILENCE_PUBLIC Chord
voiceleadingClosestRange (csound::voiceleadingClosestRange)
| Parameter | Description |
|---|---|
source | |
destination | |
range | |
avoidParallels |
Returns: SILENCE_PUBLIC Chord
closestPitch (csound::closestPitch)
| Parameter | Description |
|---|---|
pitch | |
chord |
Returns: SILENCE_PUBLIC double
conformToPitchClassSet (csound::conformToPitchClassSet)
| Parameter | Description |
|---|---|
pitch | |
pcs |
Returns: SILENCE_PUBLIC double
conformToChord (csound::conformToChord)
| Parameter | Description |
|---|---|
event | |
chord |
Returns: SILENCE_PUBLIC void
conformToChord_equivalence (csound::conformToChord_equivalence)
If octaveEquivalence is true (the default), the pitch-class of the note is moved to the closest pitch-class of the chord, i.e. keeping the note more or less in its original register; otherwise, the pitch of the note is moved to the closest absolute pitch of the chord.
| Parameter | Description |
|---|---|
event | |
chord | |
octaveEquivalence |
Returns: SILENCE_PUBLIC void
insert (csound::insert)
| Parameter | Description |
|---|---|
score | |
chord | |
time_ | |
voice_is_instrument |
Returns: SILENCE_PUBLIC void
slice (csound::slice)
The slice contains pointers to the Events in the Score .
| Parameter | Description |
|---|---|
score | |
startTime | |
endTime |
Returns: SILENCE_PUBLIC std::vector< Event * >
apply (csound::apply)
| Parameter | Description |
|---|---|
score | |
chord | |
startTime | |
endTime | |
octaveEquivalence |
Returns: SILENCE_PUBLIC void
gather (csound::gather)
| Parameter | Description |
|---|---|
score | |
startTime | |
endTime |
Returns: SILENCE_PUBLIC Chord
octavewiseRevoicings (csound::octavewiseRevoicings)
| Parameter | Description |
|---|---|
chord | |
range |
Returns: SILENCE_PUBLIC int
octavewiseRevoicing (csound::octavewiseRevoicing)
| Parameter | Description |
|---|---|
chord | |
revoicingNumber_ | |
range |
Returns: SILENCE_PUBLIC Chord
indexForOctavewiseRevoicing (csound::indexForOctavewiseRevoicing)
Returns -1 if there is no such chord within the range.
| Parameter | Description |
|---|---|
origin | |
chord | |
range |
Returns: SILENCE_PUBLIC int
scale (csound::scale)
This enables transformations in tonal harmony such as transposing by scale degree. If no Chord exists for the name, an empty Chord is returned.
| Parameter | Description |
|---|---|
name |
Returns: SILENCE_PUBLIC Chord
chord (csound::chord)
The chord can be composed of seconds, thirds, or larger intervals, and can have two or more voices. The scale can have any number of pitch-classes
and any interval content; it simply has to consists of pitch-classes sorted from the tonic pitch-class on up.
PLEASE NOTE: Scale degree is 1-based. A "third" is denoted "3" but is two scale degrees, and so on.
| Parameter | Description |
|---|---|
scale | |
scale_degree | |
chord_voices | |
interval |
Returns: SILENCE_PUBLIC Chord
transpose_degrees (csound::transpose_degrees)
The original chord may be in any order or voicing. By default, chords are generated by thirds, but they can be at any interval in scale degrees. If the original chord does not belong to the scale, an empty Chord is returned.
| Parameter | Description |
|---|---|
scale | |
original_chord | |
transposition_degrees | |
interval |
Returns: SILENCE_PUBLIC Chord
SET_CHORD_SPACE_DEBUGGING (csound::SET_CHORD_SPACE_DEBUGGING)
| Parameter | Description |
|---|---|
enabled |
Returns: bool
SET_SCOPED_DEBUGGING (csound::SET_SCOPED_DEBUGGING)
| Parameter | Description |
|---|---|
enabled |
Returns: bool
event_lt (C++ csound::operator)
getCorrectNegativeDurations (csound::getCorrectNegativeDurations)
Returns: bool
setCorrectNegativeDurations (csound::setCorrectNegativeDurations)
| Parameter | Description |
|---|---|
do_correct |
Returns: void
hello
Classes
PitvIndices
C++ PitvIndices
Properties
P (PitvIndices::P)
I (PitvIndices::I)
T (PitvIndices::T)
V (PitvIndices::V)
Cell
C++ csound::Cell
Extends: ScoreNode
Properties
durationSeconds (C++ csound::Cell::getDurationSeconds)
Returns: double
importFilename (C++ csound::Cell::getImportFilename)
Returns: std::string
relativeDuration (C++ csound::Cell::getRelativeDuration)
Returns: bool
repeatCount (C++ csound::Cell::getRepeatCount)
Returns: int
CellAdd
C++ csound::CellAdd
Extends: Node
Each dimension may have its own factor.
Methods
add (csound::CellAdd::add)
| Parameter | Description |
|---|---|
dimension | |
value | |
start | |
end | |
stride |
Returns: void
CellChord
C++ csound::CellChord
Extends: Node
Methods
chord (csound::CellChord::chord)
| Parameter | Description |
|---|---|
chord | |
start | |
end | |
stride |
Returns: void
CellMultiply
C++ csound::CellMultiply
Extends: Node
Each dimension may have its own factor.
Methods
multiply (csound::CellMultiply::multiply)
| Parameter | Description |
|---|---|
dimension | |
value | |
start | |
end | |
stride |
Returns: void
CellRandom
C++ csound::CellRandom
Extends: Random
Parameters for the random variable are set as for the base Random node.
Methods
random (csound::CellRandom::random)
| Parameter | Description |
|---|---|
distribution | |
dimension | |
start | |
end | |
stride |
Returns: void
CellRemove
C++ csound::CellRemove
Extends: Node
The times of the child notes are adjusted to close the gap, i.e. the times of the child notes are rescaled to close gaps resulting from the deleted notes.
Methods
remove (csound::CellRemove::remove)
| Parameter | Description |
|---|---|
start | |
end | |
stride |
Returns: void
CellRepeat
C++ csound::CellRepeat
Extends: Node
If absolute_duration is true, then the next repetition occurs after that duration; if false, then the indicated duration is added to the total duration of the repeated notes.
Methods
repeat (csound::CellRepeat::repeat)
| Parameter | Description |
|---|---|
iterations | |
duration | |
absolute_duration | |
start | |
end | |
stride |
Returns: void
CellSelect
C++ csound::CellSelect
Extends: Node
Methods
select (csound::CellSelect::select)
| Parameter | Description |
|---|---|
start | |
end | |
stride |
Returns: void
CellShuffle
C++ csound::CellShuffle
Extends: Random
Methods
shuffle (csound::CellShuffle::shuffle)
| Parameter | Description |
|---|---|
start | |
end | |
stride |
Returns: void
Chord
C++ csound::Chord
The pitches are represented as semitones with 0 at the origin and middle C as 60. Each voice also has a duration, velocity, channel, and pan. Eigen matrices are accessed (row, column) and stored as column vectors, so a Chord is accessed (voice (same as row), attribute).
Methods
ceiling (csound::Chord::ceiling)
| Parameter | Description |
|---|---|
g |
Returns: Chord
contains (csound::Chord::contains)
| Parameter | Description |
|---|---|
pitch_ |
Returns: bool
eET (csound::Chord::eET)
This is valid only if g goes evenly into 12 (the octave), i.e. in 12/g tone equal temperament.
| Parameter | Description |
|---|---|
g |
Returns: Chord
iseET (csound::Chord::iseET)
| Parameter | Description |
|---|---|
g |
Returns: bool
count (csound::Chord::count)
| Parameter | Description |
|---|---|
pitch |
Returns: size_t
cycle (csound::Chord::cycle)
The direction of rotation is by default the same as musicians' first inversion, second inversion, and so on; but negative sign will reverse the direction of rotation.
1 is pop the front and push it on the back, shifting the middle down. 0 1 2 3 4 => 1 2 3 4 0
1 is pop the back and push it on the front, shifting the middle up. 0 1 2 3 4 => 4 0 1 2 3
| Parameter | Description |
|---|---|
stride |
Returns: Chord
distanceToOrigin (csound::Chord::distanceToOrigin)
Returns: double
distanceToUnisonDiagonal (csound::Chord::distanceToUnisonDiagonal)
Returns: double
eI (csound::Chord::eI)
| Parameter | Description |
|---|---|
opt_sector |
Returns: Chord
eIg (csound::Chord::eIg)
| Parameter | Description |
|---|---|
range | |
g | |
opt_sector |
Returns: Chord
eO (csound::Chord::eO)
Returns: Chord
eOP (csound::Chord::eOP)
Returns: Chord
eOPI (csound::Chord::eOPI)
| Parameter | Description |
|---|---|
opt_sector |
Returns: Chord
eOPT (csound::Chord::eOPT)
| Parameter | Description |
|---|---|
opt_sector |
Returns: Chord
eOPTI (csound::Chord::eOPTI)
| Parameter | Description |
|---|---|
opt_sector |
Returns: Chord
eOPTT (C++ csound::Chord::eOPTg)
| Parameter | Description |
|---|---|
g | |
opt_sector |
Returns: Chord
eOPTg (csound::Chord::eOPTg)
| Parameter | Description |
|---|---|
g | |
opt_sector |
Returns: Chord
eOPTIg (csound::Chord::eOPTIg)
| Parameter | Description |
|---|---|
g | |
opt_sector |
Returns: Chord
eOPTgI (C++ csound::Chord::eOPTIg)
| Parameter | Description |
|---|---|
g | |
opt_sector |
Returns: Chord
eP (csound::Chord::eP)
Returns: Chord
epcs (csound::Chord::epcs)
the pitch-class set of the chord.
Returns: Chord
equals (csound::Chord::equals)
| Parameter | Description |
|---|---|
other |
Returns: bool
eR (csound::Chord::eR)
| Parameter | Description |
|---|---|
range |
Returns: Chord
eRP (csound::Chord::eRP)
| Parameter | Description |
|---|---|
range |
Returns: Chord
eRPI (csound::Chord::eRPI)
| Parameter | Description |
|---|---|
range | |
opt_sector |
Returns: Chord
eRPT (csound::Chord::eRPT)
| Parameter | Description |
|---|---|
range | |
opt_sector |
Returns: Chord
eRPTI (csound::Chord::eRPTI)
| Parameter | Description |
|---|---|
range | |
opt_sector |
Returns: Chord
eRPTT (C++ csound::Chord::eRPTg)
| Parameter | Description |
|---|---|
range | |
g | |
opt_sector |
Returns: Chord
eRPTg (csound::Chord::eRPTg)
| Parameter | Description |
|---|---|
range | |
g | |
opt_sector |
Returns: Chord
eRPTIg (csound::Chord::eRPTIg)
| Parameter | Description |
|---|---|
range | |
g | |
opt_sector |
Returns: Chord
et (csound::Chord::et)
Returns: Chord
eT (csound::Chord::eT)
Returns: Chord
eTT (C++ csound::Chord::eTg)
NOTE: Does NOT return the result under any other equivalence class.
| Parameter | Description |
|---|---|
g |
Returns: Chord
eTg (csound::Chord::eTg)
NOTE: Does NOT return the result under any other equivalence class.
| Parameter | Description |
|---|---|
g |
Returns: Chord
floor (csound::Chord::floor)
Returns: Chord
fromString (csound::Chord::fromString)
| Parameter | Description |
|---|---|
text |
Returns: void
getDuration (csound::Chord::getDuration)
| Parameter | Description |
|---|---|
voice |
Returns: double
getInstrument (csound::Chord::getInstrument)
| Parameter | Description |
|---|---|
voice |
Returns: double
getLoudness (csound::Chord::getLoudness)
| Parameter | Description |
|---|---|
voice |
Returns: double
getPan (csound::Chord::getPan)
| Parameter | Description |
|---|---|
voice |
Returns: double
getPitch (csound::Chord::getPitch)
| Parameter | Description |
|---|---|
voice |
Returns: double
greater (csound::Chord::greater)
| Parameter | Description |
|---|---|
other |
Returns: bool
greater_equals (csound::Chord::greater_equals)
| Parameter | Description |
|---|---|
other |
Returns: bool
I (csound::Chord::I)
NOTE: Does NOT return an equivalent under any requivalence relation; not to be confused with reflection in the inversion flat.
| Parameter | Description |
|---|---|
center |
Returns: Chord
Iform (csound::Chord::Iform)
Only works in equal temperament.
| Parameter | Description |
|---|---|
Y | |
g |
Returns: bool
information (csound::Chord::information)
Returns: std::string
information_debug (csound::Chord::information_debug)
The printout first enables then restores debugging diagnostics.
| Parameter | Description |
|---|---|
opt_sector |
Returns: std::string
information_sector (csound::Chord::information_sector)
| Parameter | Description |
|---|---|
opt_sector |
Returns: std::string
is_in_rpt_sector (csound::Chord::is_in_rpt_sector)
To identify the sector to which a chord in RP belongs, we project the chord onto RPT.
Then we measure the Euclidean distance of the midpoint of each sector's base face to the chord, and the closest midpoint belongs to that chord's sector. A chord may belong to more than one sector if it is equidistant from two or more midpoints. This is numerically tricky.
| Parameter | Description |
|---|---|
opt_sector | |
range |
Returns: bool
is_in_rpt_sector_g (csound::Chord::is_in_rpt_sector_g)
| Parameter | Description |
|---|---|
opt_sector | |
range | |
g |
Returns: bool
is_minor (csound::Chord::is_minor)
Returns: bool
iseI (csound::Chord::iseI)
| Parameter | Description |
|---|---|
opt_sector |
Returns: bool
iseI_chord (csound::Chord::iseI_chord)
| Parameter | Description |
|---|---|
inverse | |
opt_sector |
Returns: bool
iseOP (csound::Chord::iseOP)
Returns: bool
iseOPI (csound::Chord::iseOPI)
| Parameter | Description |
|---|---|
opt_sector |
Returns: bool
iseOPT (csound::Chord::iseOPT)
| Parameter | Description |
|---|---|
opt_sector |
Returns: bool
iseOPTI (csound::Chord::iseOPTI)
| Parameter | Description |
|---|---|
opt_sector |
Returns: bool
iseOPTT (C++ csound::Chord::iseOPTg)
| Parameter | Description |
|---|---|
g | |
opt_sector |
Returns: bool
iseOPTg (csound::Chord::iseOPTg)
| Parameter | Description |
|---|---|
g | |
opt_sector |
Returns: bool
iseOPTTI (C++ csound::Chord::iseOPTIg)
| Parameter | Description |
|---|---|
g | |
opt_sector |
Returns: bool
iseOPTIg (csound::Chord::iseOPTIg)
| Parameter | Description |
|---|---|
g | |
opt_sector |
Returns: bool
iseP (csound::Chord::iseP)
Returns: bool
isepcs (csound::Chord::isepcs)
is a pitch-class set.
Returns: bool
iseR (csound::Chord::iseR)
| Parameter | Description |
|---|---|
range_ |
Returns: bool
iseRP (csound::Chord::iseRP)
| Parameter | Description |
|---|---|
range |
Returns: bool
iseRPI (csound::Chord::iseRPI)
| Parameter | Description |
|---|---|
range | |
opt_sector |
Returns: bool
iseRPT (csound::Chord::iseRPT)
| Parameter | Description |
|---|---|
range | |
opt_sector |
Returns: bool
iseRPTI (csound::Chord::iseRPTI)
| Parameter | Description |
|---|---|
range | |
opt_sector |
Returns: bool
iseRPTT (C++ csound::Chord::iseRPTg)
| Parameter | Description |
|---|---|
range | |
g | |
opt_sector |
Returns: bool
iseRPTg (csound::Chord::iseRPTg)
| Parameter | Description |
|---|---|
range | |
g | |
opt_sector |
Returns: bool
iseRPTTI (C++ csound::Chord::iseRPTIg)
| Parameter | Description |
|---|---|
range | |
g | |
opt_sector |
Returns: bool
iseRPTIg (csound::Chord::iseRPTIg)
| Parameter | Description |
|---|---|
range | |
g | |
opt_sector |
Returns: bool
iset (csound::Chord::iset)
Returns: bool
iseT (csound::Chord::iseT)
Returns: bool
iseTT (C++ csound::Chord::iseTg)
| Parameter | Description |
|---|---|
g |
Returns: bool
iseTg (csound::Chord::iseTg)
| Parameter | Description |
|---|---|
g |
Returns: bool
K (csound::Chord::K)
Returns: Chord
K_range (csound::Chord::K_range)
| Parameter | Description |
|---|---|
range |
Returns: Chord
layer (csound::Chord::layer)
Returns: double
lesser (csound::Chord::lesser)
| Parameter | Description |
|---|---|
other |
Returns: bool
lesser_equals (csound::Chord::lesser_equals)
| Parameter | Description |
|---|---|
other |
Returns: bool
max (csound::Chord::max)
Returns: std::vector< double >
center (csound::Chord::center)
the augmented triad for 3 dimensions.
Returns: Chord
maximumInterval (csound::Chord::maximumInterval)
Returns: double
min (csound::Chord::min)
Returns: std::vector< double >
minimumInterval (csound::Chord::minimumInterval)
Returns: double
move (csound::Chord::move)
NOTE: Does NOT return an equivalent under any requivalence relation.
| Parameter | Description |
|---|---|
voice | |
interval |
Returns: Chord
name (csound::Chord::name)
Returns: std::string
normal_form (csound::Chord::normal_form)
NOTE: The code here does NOT remove duplicate pitch-classes.
Returns: Chord
normal_order (csound::Chord::normal_order)
NOTE: The code here does NOT remove duplicate pitch-classes. "Normal order" is the most compact ordering to the left of pitch-classes in a chord, measured by pitch-class interval.
Returns: Chord
nrD (csound::Chord::nrD)
The result is returned in OP.
Returns: Chord
nrH (csound::Chord::nrH)
The result is returned in OP.
Returns: Chord
nrL (csound::Chord::nrL)
The result is returned in OP.
Returns: Chord
nrN (csound::Chord::nrN)
The result is returned in NP.
Returns: Chord
nrP (csound::Chord::nrP)
The result is returned in OP.
Returns: Chord
nrR (csound::Chord::nrR)
Returns: Chord
nrS (csound::Chord::nrS)
The result is returned in OP.
Returns: Chord
operator= (C++ csound::Chord::operator)
opt_domain_sectors (csound::Chord::opt_domain_sectors)
A chord on a vertex, edge, or facet shared by more than one sector belongs to each of them; the center of the cyclical region belongs to all of the sectors. Sectors are generated by rotation of a fundamental domain around the central axis (equivalently, by the octavewise revoicing of chords) and correspond to "chord inversion" in the musician's sense.
Returns: std::vector< int >
origin (csound::Chord::origin)
Returns: Chord
permutations (csound::Chord::permutations)
The permutations are always returned in the same order.
Returns: std::vector< Chord >
prime_form (csound::Chord::prime_form)
NOTE: The code here does NOT remove duplicate pitch-classes.
Returns: Chord
Q (csound::Chord::Q)
NOTE: Does NOT return an equivalent under any requivalence relation.
| Parameter | Description |
|---|---|
x | |
m | |
g |
Returns: Chord
R (csound::Chord::R)
| Parameter | Description |
|---|---|
opt_sector |
Returns: Chord
Rg (csound::Chord::Rg)
| Parameter | Description |
|---|---|
opt_sector | |
g |
Returns: Chord
resize (csound::Chord::resize)
| Parameter | Description |
|---|---|
voiceN |
Returns: void
setDuration (csound::Chord::setDuration)
| Parameter | Description |
|---|---|
value | |
voice |
Returns: void
setInstrument (csound::Chord::setInstrument)
| Parameter | Description |
|---|---|
value | |
voice |
Returns: void
setLoudness (csound::Chord::setLoudness)
| Parameter | Description |
|---|---|
value | |
voice |
Returns: void
setPan (csound::Chord::setPan)
| Parameter | Description |
|---|---|
value | |
voice |
Returns: void
setPitch (csound::Chord::setPitch)
| Parameter | Description |
|---|---|
voice | |
value |
Returns: void
T (csound::Chord::T)
NOTE: Does NOT return an equivalent under any requivalence relation.
| Parameter | Description |
|---|---|
interval |
Returns: Chord
T_voiceleading (csound::Chord::T_voiceleading)
NOTE: Does NOT return an equivalent under any equivalence relation.
| Parameter | Description |
|---|---|
voiceleading |
Returns: Chord
Tform (csound::Chord::Tform)
Only works in equal temperament.
| Parameter | Description |
|---|---|
Y | |
g |
Returns: bool
toString (csound::Chord::toString)
Quadratic complexity, but short enough not to matter.
Returns: std::string
v (csound::Chord::v)
revoiced by cyclically permuting the chord and adding (or subtracting) an octave (or other interval) to the highest (or lowest) voice. The revoicing will move the chord up or down in pitch. A positive direction is the same as a musician's first inversion, second inversion, etc.
| Parameter | Description |
|---|---|
direction | |
interval |
Returns: Chord
voiceleading (csound::Chord::voiceleading)
NOTE: Makes no assumption that both chords are in the same equivalence class.
| Parameter | Description |
|---|---|
destination |
Returns: Chord
voices (csound::Chord::voices)
Returns: size_t
copy
voicings
The first voice is transposed up (or down) by an interval (defaulting to the octave), and all voices are then rotated "left" so the transposed voice becomes the last voice. This procedure is iterated until all 'inversions' have been generated.
| Parameter | Description |
|---|---|
direction | |
interval |
Returns: std::vector< Chord >
voicings_with
J
ChordLindenmayer
C++ csound::ChordLindenmayer
Extends: VoiceleadingNode
The turtle T represents the current state of the Lindenmayer system: a note vector N that represents a position in score space, a step size S, an orientation O, a chord C, a chord that defines modality M, an octavewise chord revoicing V, a scale Sc, a scale degree Sd, and a range Ra. Vectors are given as {el0,el2,...} without any spaces .
The turtle commands are defined (operation target ...) or (operation target[dimension] ...) , as follows: ([ T ) Push the current turtle state on a stack (start a branch).
(] T ) Pop the current turtle state from the stack ( return to start).
(W N e) Write the current turtle note N into the score under
equivalence class e.
(F N x e) Move the turtle position N "forward" x steps S along its
current orientation O) under equivalence class e.
(o N[d] x e) Apply arithmetic operation o to dimension d of the turtle
position N with parameter x under equivalence class e.
(o S[d] x e) Apply arithmetic operation o to dimension d of the turtle
step size S with parameter x under equivalence class e.
(R O a b w) Rotate the turtle orientation O in the plane of dimensions
a and b by angle w radians.
(W C e) Write the current turtle chord C with octavewise revoicing
from OP order V to the score under equivalence class e. Chord
voices default to the same time and other dimensions as the
current turtle note N.
(o C v e) Apply arithmetic operation o to the turtle chord C as a whole
with parameter v (a vector or chord name) under equivalence
class e.
(o C [i] x e) Apply arithmetic operation o to voice i of the turtle chord C
with parameter x under equivalence class e.
( T C x) Transpose the turtle chord C by x under equivalence class e.
( I C x) Invert the turtle chord C by reflecting around pitch-class x.
( K C ) Apply Neo-Riemannian inversion by exchange to the turtle
chord C .
( Q C x) Apply Neo-Riemannian contextual transposition by x
(by reference to the turtle 's modality M) to turtle chord C .
(++ C ) Add a voice (doubling the first pitch in OP order) to the
turtle chord C .
(-- C ) Remove a voice (the uppermost pitch in OP order) from the
turtle chord C .
(o M v e) Apply arithmetic operation o to the turtle modality M as a
whole with parameter v (a vector or chord name) under
equivalence class e.
(o M[i] x e) Apply arithmetic operation o to voice i of the turtle modality
M with parameter x under equivalence class e.
(o V x) Apply arithmetic operation o to the voicing index of the
turtle chord with parameter x. Of necessity the
equivalence class is the range of the score .
(= Sc n v) Assign the vector of pitches v to the turtle scale Sc with
name n.
(C Sc n m) Obtain the turtle chord C with m voices at the nth degree
of the current turtle scale Sc.
(M Sc n k) Modulate the turtle scale Sc to a new scale Sc with the the
current turtle chord C as the common chord but with n voices;
if more than one scale exists with that common chord ,
choose the kth scale .
(o Sd x) Apply arithmetic operation o to the turtle scale degree Sd,
with parameter x.
(C Sd m) Obtain the turtle chord C of m voices as the current scale
degree Sd of the turtle scale Sc.
(C P) Apply the current turtle chord C to the score , starting at
the current time and continuing until the next application.
(Cl P) Apply the current turtle chord C to the score , using the
closest voice-leading from the previous chord ( if any),
starting at the current time and continuing to the next
application.
(Sc P) Apply the current turtle scale Sc to the score , starting
at the current time and continuing until the next application.
(0 P) End the scope of the previous application of a chord or scale .
(= P n) Assign the range n to the size of the score , i.e. define
range equivalence .
(seed P x) Seed the static random generator used by all random
distributions with x.
An arithmetic operation may also consist of sampling a random distribution, e.g. (u N[k] minimum maximum) ; all parameters of the distribution must be given. The complete set of operations is: Assignment = x e
Addition + x e
Subtraction - x e
Multiplication * x e
Division / x e
Uniform uni min max
Normal (Gaussian) nor mean sigma
Binomial bin p k
Negative binomial nbi p k
Poisson poi mean
Exponential exp lambda
Gamma gam alpha beta
Weibull wei a b
Extreme value ext a b
Log normal log mean sigma
Chi squared chi n
Cauchy cau a b
Fisher fis m n
Student stu n
Dimensions are: Time t
Duration d
MIDI status s
Instrument i
MIDI key k
MIDI velocity v
Phase in radians p
Pan x
Depth y
Height z
Pitch- class set m
Equivalence classes are: None 0
The octave O
Range of the score R
PLEASE NOTE: Scale commands take precedence over chord commands. Not all commands are implemented. Unimplemented commands silently perform no operation, but may still be used to define replacement rules.
Methods
addRule (csound::ChordLindenmayer::addRule)
| Parameter | Description |
|---|---|
command | |
replacement |
Returns: void
clear (csound::ChordLindenmayer::clear)
Returns: void
generateLocally (csound::ChordLindenmayer::generateLocally)
The initial value of the turtle is set by the Lindenmayer system.<
>
The Lindenmayer system is rewritten by taking the axiom, parsing it into words, and replacing each word with the product of a rewriting rule, if one exists, or itself, if there is no rule. This procedure is iterated for a specified number of times.
The finished, rewritten Lindenmayer system is interpreted as a series of commands for moving a turtle around in various music spaces to write a score.
Notes (N operations) are written directly into the score.
Chords (C operations) are written into the score as notes.
Score operations are written into the score as voice-leading operations, to be applied after all notes have been generated.
Overlapping and directly abutting notes in the score are joined.
The chord and scale operations are actually applied to the score.
Overlapping and abutting notes in the score are again joined.
Returns: void
getAngle (csound::ChordLindenmayer::getAngle)
Returns: double
getAxiom (csound::ChordLindenmayer::getAxiom)
Returns: std::string
getIterationCount (csound::ChordLindenmayer::getIterationCount)
Returns: int
getReplacement (csound::ChordLindenmayer::getReplacement)
| Parameter | Description |
|---|---|
command |
Returns: std::string
getTurtleChord (csound::ChordLindenmayer::getTurtleChord)
Returns: Chord
getTurtleModality (csound::ChordLindenmayer::getTurtleModality)
Returns: Chord
getTurtleScale (csound::ChordLindenmayer::getTurtleScale)
Returns: Scale
getTurtleScaleDegree (csound::ChordLindenmayer::getTurtleScaleDegree)
Returns: int
initialize (csound::ChordLindenmayer::initialize)
Returns: void
setAngle (csound::ChordLindenmayer::setAngle)
| Parameter | Description |
|---|---|
angle |
Returns: void
setAxiom (csound::ChordLindenmayer::setAxiom)
| Parameter | Description |
|---|---|
axiom |
Returns: void
setIterationCount (csound::ChordLindenmayer::setIterationCount)
| Parameter | Description |
|---|---|
count |
Returns: void
setTurtleChord (csound::ChordLindenmayer::setTurtleChord)
| Parameter | Description |
|---|---|
chord |
Returns: void
setTurtleModality (csound::ChordLindenmayer::setTurtleModality)
| Parameter | Description |
|---|---|
chord |
Returns: void
setTurtleScale (csound::ChordLindenmayer::setTurtleScale)
| Parameter | Description |
|---|---|
scale |
Returns: void
setTurtleScaleDegree (csound::ChordLindenmayer::setTurtleScaleDegree)
| Parameter | Description |
|---|---|
degree |
Returns: void
PITV
C++ csound::PITV
It is formed by the direct product of prime form equivalence or P, inversional equivalence or I, transpositional equivalence or T, and equivalence under octavewise revoicing within range R or V. The group is thus PITV = P x I x T x V. Therefore, operations on the P, I, T, or V subgroups may be used to independently and orthogonally transform the respective symmetry of any chord. Some of these operations will reflect in RP.
NOTE: Prime form rather than OPTI is used because prime form abstracts from voicings (i.e. from the sectors of the OPT cyclical region).
Properties
countI (C++ csound::PITV::getCountI)
Returns: int
countP (C++ csound::PITV::getCountP)
Returns: int
countT (C++ csound::PITV::getCountT)
Returns: int
countV (C++ csound::PITV::getCountV)
Returns: int
g (C++ csound::PITV::getG)
Returns: int
N (C++ csound::PITV::getN)
Returns: int
range (C++ csound::PITV::getRange)
Returns: int
Methods
fromChord (csound::PITV::fromChord)
NOTE: Where there are singularities in the quotient spaces for chords, there may be several chords that belong to the same equivalence class. In such cases, any of several chords at a singular point of the fundamental domain will return the same P.
| Parameter | Description |
|---|---|
chord | |
printme |
Returns: Eigen::VectorXi
initialize (csound::PITV::initialize)
| Parameter | Description |
|---|---|
N_ | |
range_ | |
g_ | |
printme |
Returns: void
list (csound::PITV::list)
| Parameter | Description |
|---|---|
listheader | |
listps | |
listvoicings |
Returns: void
preinitialize (csound::PITV::preinitialize)
| Parameter | Description |
|---|---|
N_ | |
range_ | |
g_ |
Returns: void
toChord (csound::PITV::toChord)
The chord is not in RP; rather, each voice of the chord's OP may have zero or more octaves added to it.
| Parameter | Description |
|---|---|
P | |
I | |
T | |
V | |
printme |
Returns: std::vector< Chord >
toChord_vector
| Parameter | Description |
|---|---|
pitv | |
printme |
Returns: std::vector< Chord >
toChordFromIndices
fromChordAsVector
fromChordIndices
Composition
C++ csound::Composition
Contains a Score object for collecting generated Events such as notes and control messages.
Methods
clear (csound::Composition::clear)
Probably should be overridden in derived classes.
Returns: void
clearOutputSoundfileName (csound::Composition::clearOutputSoundfileName)
Returns: void
generate (csound::Composition::generate)
Must be overidden in derived classes.
Returns: int
generateAllNames (csound::Composition::generateAllNames)
std::snprintf(buffer, 0x200, "%s, %s", author.c_str(), stem.c_str());
Returns: void
getAlbum (csound::Composition::getAlbum)
Returns: std::string
getArtist (csound::Composition::getArtist)
Returns: std::string
getAuthor (csound::Composition::getAuthor)
Returns: std::string
getBasename (csound::Composition::getBasename)
Returns: std::string
getCdSoundfileFilepath (csound::Composition::getCdSoundfileFilepath)
Returns: std::string
getConformPitches (csound::Composition::getConformPitches)
Returns: bool
getCopyright (csound::Composition::getCopyright)
Returns: std::string
getDuration (csound::Composition::getDuration)
If the duration is 0, no rescaling is performed.
Returns: double
getFileFilepath (csound::Composition::getFileFilepath)
Returns: std::string
getFilename (csound::Composition::getFilename)
Returns: std::string
getFomusfileFilepath (csound::Composition::getFomusfileFilepath)
Returns: std::string
getLicense (csound::Composition::getLicense)
Returns: std::string
getLilypondfileFilepath (csound::Composition::getLilypondfileFilepath)
Returns: std::string
getMidifileFilepath (csound::Composition::getMidifileFilepath)
Returns: std::string
getMp3SoundfileFilepath (csound::Composition::getMp3SoundfileFilepath)
Returns: std::string
getMusicXmlfileFilepath (csound::Composition::getMusicXmlfileFilepath)
Returns: std::string
getNormalizedSoundfileFilepath (csound::Composition::getNormalizedSoundfileFilepath)
Returns: std::string
getOutputDirectory (csound::Composition::getOutputDirectory)
Returns: std::string
getOutputSoundfileFilepath (csound::Composition::getOutputSoundfileFilepath)
Returns: std::string
getPerformanceRightsOrganization (csound::Composition::getPerformanceRightsOrganization)
Returns: std::string
getScore (csound::Composition::getScore)
Returns: Score &
getTieOverlappingNotes (csound::Composition::getTieOverlappingNotes)
Returns: bool
getTimestamp (csound::Composition::getTimestamp)
Returns: std::string
getTitle (csound::Composition::getTitle)
Returns: std::string
getTonesPerOctave (csound::Composition::getTonesPerOctave)
Returns: double
getYear (csound::Composition::getYear)
Returns: std::string
normalizeOutputSoundfile (csound::Composition::normalizeOutputSoundfile)
| Parameter | Description |
|---|---|
levelDb |
Returns: int
perform (csound::Composition::perform)
The default implementation does nothing. Must be overridden in derived classes.
Returns: int
performAll (csound::Composition::performAll)
Returns: int
performMaster (csound::Composition::performMaster)
Returns: int
processArgs (csound::Composition::processArgs)
Additional arguments can be added to the args before the call. Default implementation calls renderAll() .
| Parameter | Description |
|---|---|
args |
Returns: int
processArgv (csound::Composition::processArgv)
Default implementation calls the std::string overload.
| Parameter | Description |
|---|---|
argc | |
argv |
Returns: int
render (csound::Composition::render)
timestamp = makeTimestamp() ;
Returns: int
renderAll (csound::Composition::renderAll)
Returns: int
setAlbum (csound::Composition::setAlbum)
| Parameter | Description |
|---|---|
value |
Returns: void
setArtist (csound::Composition::setArtist)
| Parameter | Description |
|---|---|
value |
Returns: void
setAuthor (csound::Composition::setAuthor)
| Parameter | Description |
|---|---|
value |
Returns: void
setConformPitches (csound::Composition::setConformPitches)
| Parameter | Description |
|---|---|
conformPitches |
Returns: void
setCopyright (csound::Composition::setCopyright)
| Parameter | Description |
|---|---|
value |
Returns: void
setDuration (csound::Composition::setDuration)
| Parameter | Description |
|---|---|
seconds |
Returns: void
setFilename (csound::Composition::setFilename)
| Parameter | Description |
|---|---|
filename |
Returns: void
setLicense (csound::Composition::setLicense)
| Parameter | Description |
|---|---|
value |
Returns: void
setOutputDirectory (csound::Composition::setOutputDirectory)
The directory name must end with a directory separator.
| Parameter | Description |
|---|---|
directory |
Returns: void
setOutputSoundfileName (csound::Composition::setOutputSoundfileName)
| Parameter | Description |
|---|---|
name |
Returns: void
setPerformanceRightsOrganization (csound::Composition::setPerformanceRightsOrganization)
| Parameter | Description |
|---|---|
value |
Returns: void
setScore (csound::Composition::setScore)
| Parameter | Description |
|---|---|
score |
Returns: void
setTieOverlappingNotes (csound::Composition::setTieOverlappingNotes)
| Parameter | Description |
|---|---|
tieOverlappingNotes |
Returns: void
setTitle (csound::Composition::setTitle)
| Parameter | Description |
|---|---|
value |
Returns: void
setTonesPerOctave (csound::Composition::setTonesPerOctave)
| Parameter | Description |
|---|---|
tonesPerOctave |
Returns: void
setYear (csound::Composition::setYear)
| Parameter | Description |
|---|---|
value |
Returns: void
tagFile (csound::Composition::tagFile)
| Parameter | Description |
|---|---|
filename |
Returns: int
translateMaster (csound::Composition::translateMaster)
Returns: int
translateToCdAudio (csound::Composition::translateToCdAudio)
| Parameter | Description |
|---|---|
levelDb |
Returns: int
translateToMp3 (csound::Composition::translateToMp3)
| Parameter | Description |
|---|---|
bitrate | |
levelDb |
Returns: int
translateToMp4 (csound::Composition::translateToMp4)
Returns: int
translateToNotation (csound::Composition::translateToNotation)
A meter of 4/4 and a tempo of MM 120 is assumed. A vector of part names may be supplied.
| Parameter | Description |
|---|---|
partNames | |
header |
Returns: int
write (csound::Composition::write)
| Parameter | Description |
|---|---|
text |
Returns: void
Conversions
C++ csound::Conversions
Note that: silence::Event represents loudness in MIDI units (0 to 127). silence::Orchestra represents loudness in gain (0 to 1). silence::WaveSoundfileOut represents loudness in amplitude (0 to 1 for float samples, 0 to 32767 for short samples). Loudness can also be represented in positive decibels (0 to 84 for short samples, 0 to whatever for float samples). For float samples, decibels are assumed to be equivalent to MIDI velocity; otherwise, MIDI velocity is rescaled according to the maximum dynamic range supported by the sample size. All loudness conversions are driven by sample word size, which must be set before use; the default is 4 (float samples).
Counterpoint
Methods
ABS
AddInterval
ADissonance
AnOctave
AnySpecies
ARRBLT
ASeventh
ASkip
AStep
ATenth
AThird
BadMelody
Bass
Beat8
BestFitFirst
Cantus
Check
CleanRhy
clear
ConsecutiveSkipsInSameDirection
counterpoint
CurRhy
DirectMotionToPerfectConsonance
Doubled
DownBeat
ExtremeRange
fillCantus
FillRhyPat
FirstNote
GoodRhy
initialize
InMode
LastNote
Look
MAX
MIN
MotionType
NextToLastNote
Other
OtherVoiceCheck
OutOfRange
PitchRepeats
RANDOM
SaveIndx
SaveResults
SetUs
Size
SpecialSpeciesCheck
toCsoundScore
TooMuchOfInterval
TotalRange
UpBeat
Us
UsedRhy
VIndex
winners
CounterpointNode
C++ csound::CounterpointNode
Extends: Node
Properties
generationMode (C++ csound::CounterpointNode::getGenerationMode)
Returns: int
musicMode (C++ csound::CounterpointNode::getMusicMode)
Returns: int
species (C++ csound::CounterpointNode::getSpecies)
Returns: int
voices (C++ csound::CounterpointNode::getVoices)
Returns: size_t
secondsPerPulse (C++ csound::CounterpointNode::getSecondsPerPulse)
Returns: double
Event
C++ csound::Event
Extends: EigenVectorXd
Methods
clearProperties (csound::Event::clearProperties)
Returns: void
conformToPitchClassSet (csound::Event::conformToPitchClassSet)
Returns: void
createNoteOffEvent (csound::Event::createNoteOffEvent)
| Parameter | Description |
|---|---|
event |
Returns: void
dump (csound::Event::dump)
| Parameter | Description |
|---|---|
stream |
Returns: void
get (csound::Event::get)
| Parameter | Description |
|---|---|
index |
Returns: double &
getAmplitude (csound::Event::getAmplitude)
Returns: double
getChannel (csound::Event::getChannel)
Returns the Csound instrument number minus 1.
Returns: int
getDepth (csound::Event::getDepth)
Returns: double
getDuration (csound::Event::getDuration)
Returns: double
getFrequency (csound::Event::getFrequency)
Returns: double
getGain (csound::Event::getGain)
Returns: double
getHeight (csound::Event::getHeight)
Returns: double
getInstrument (csound::Event::getInstrument)
Returns the Csound instrument number.
Returns: double
getKey (csound::Event::getKey)
Returns: double
getKey_tempered (csound::Event::getKey_tempered)
| Parameter | Description |
|---|---|
tonesPerOctave |
Returns: double
getKeyNumber (csound::Event::getKeyNumber)
Returns: int
getLeftGain (csound::Event::getLeftGain)
Returns: double
getMidiStatus (csound::Event::getMidiStatus)
Returns: int
getOffTime (csound::Event::getOffTime)
Returns: double
getPan (csound::Event::getPan)
Returns: double
getPhase (csound::Event::getPhase)
Returns: double
getPitches (csound::Event::getPitches)
Returns: double
getProperties (csound::Event::getProperties)
Returns: std::string
getProperty (csound::Event::getProperty)
| Parameter | Description |
|---|---|
name |
Returns: std::string
getRightGain (csound::Event::getRightGain)
Returns: double
getStatus (csound::Event::getStatus)
Returns: double
getStatusNumber (csound::Event::getStatusNumber)
Returns: int
getTime (csound::Event::getTime)
Returns: double
getVelocity (csound::Event::getVelocity)
Returns: double
getVelocityNumber (csound::Event::getVelocityNumber)
Returns: int
initialize (csound::Event::initialize)
Returns: void
isMatchingEvent (csound::Event::isMatchingEvent)
| Parameter | Description |
|---|---|
event |
Returns: bool
isMatchingNoteOff (csound::Event::isMatchingNoteOff)
| Parameter | Description |
|---|---|
event |
Returns: bool
isMidiEvent (csound::Event::isMidiEvent)
Returns: bool
isNote (csound::Event::isNote)
Returns: bool
isNoteOff (csound::Event::isNoteOff)
Returns: bool
isNoteOn (csound::Event::isNoteOn)
Returns: bool
operator= (C++ csound::Event::operator)
removeProperty (csound::Event::removeProperty)
| Parameter | Description |
|---|---|
nameO |
Returns: void
set (csound::Event::set)
| Parameter | Description |
|---|---|
time | |
duration | |
status | |
instrument | |
key | |
velocity | |
phase | |
pan | |
depth | |
height | |
pitches |
Returns: void
setAmplitude (csound::Event::setAmplitude)
| Parameter | Description |
|---|---|
amplitude |
Returns: void
setDepth (csound::Event::setDepth)
| Parameter | Description |
|---|---|
depth |
Returns: void
setDuration (csound::Event::setDuration)
| Parameter | Description |
|---|---|
duration |
Returns: void
setFrequency (csound::Event::setFrequency)
| Parameter | Description |
|---|---|
frequency |
Returns: void
setHeight (csound::Event::setHeight)
| Parameter | Description |
|---|---|
height |
Returns: void
setInstrument (csound::Event::setInstrument)
Sets the Csound instrument number.
| Parameter | Description |
|---|---|
instrument |
Returns: void
setKey (csound::Event::setKey)
| Parameter | Description |
|---|---|
key |
Returns: void
setOffTime (csound::Event::setOffTime)
| Parameter | Description |
|---|---|
offTime |
Returns: void
setPan (csound::Event::setPan)
| Parameter | Description |
|---|---|
pan |
Returns: void
setPhase (csound::Event::setPhase)
| Parameter | Description |
|---|---|
phase |
Returns: void
setPitches (csound::Event::setPitches)
| Parameter | Description |
|---|---|
pitches |
Returns: void
setProperty (csound::Event::setProperty)
| Parameter | Description |
|---|---|
name | |
value |
Returns: void
setStatus (csound::Event::setStatus)
| Parameter | Description |
|---|---|
status |
Returns: void
setTime (csound::Event::setTime)
| Parameter | Description |
|---|---|
time |
Returns: void
setVelocity (csound::Event::setVelocity)
| Parameter | Description |
|---|---|
velocity |
Returns: void
temper (csound::Event::temper)
| Parameter | Description |
|---|---|
divisionsPerOctave |
Returns: void
toCsoundIStatement (csound::Event::toCsoundIStatement)
optional properties = p12, printed as a string ("'name'='value', ['name'='value']")
| Parameter | Description |
|---|---|
tempering |
Returns: std::string
toCsoundIStatementHeld (csound::Event::toCsoundIStatementHeld)
| Parameter | Description |
|---|---|
tag | |
tempering |
Returns: std::string
toCsoundIStatementRelease (csound::Event::toCsoundIStatementRelease)
| Parameter | Description |
|---|---|
tag | |
tempering |
Returns: std::string
toString (csound::Event::toString)
Returns: std::string
copy
Intercut
C++ csound::Intercut
Extends: ScoreNode
if there are 3 child nodes, then the notes produced by this are node 0 note 0, node 1 note 0, node 2 note 0; node 0 note 1, node 1 note 1, node node 2 note 1; node 0 note 2, node 1 note 2, node 2 note 2, and so on. If the child nodes do not each produce the same number of notes, then production stops with the last note of the longest child.
HarmonyPoint2
C++ csound::HarmonyPoint2
Extends: EigenVectorXd
The point consists of a homogeneous column vector with dimensions:
t Time.
P Set class (or prime form).
I Inversion (or reflection in the origin of pitch space).
T Transposition (or translation in pitch space modulo the octave).
V Permutation of octavewise revoicings within range R.
1 Homogeneity.
At rendering time, the point will be translated to that pitch which most closely matches a pitch-class in that chord defined by P, I, and T.
Properties
t (C++ csound::HarmonyPoint2::get_t)
Returns: double
P (C++ csound::HarmonyPoint2::get_P)
Returns: double
I (C++ csound::HarmonyPoint2::get_I)
Returns: double
T (C++ csound::HarmonyPoint2::get_T)
Returns: double
V (C++ csound::HarmonyPoint2::get_V)
Returns: double
homogeneity (C++ csound::HarmonyPoint2::get_homogeneity)
Returns: double
Methods
operator= (C++ csound::HarmonyPoint2::operator)
initialize (csound::HarmonyPoint2::initialize)
Returns: void
toString (csound::HarmonyPoint2::toString)
Returns: std::string
HarmonyInterpolationPoint2
C++ csound::HarmonyInterpolationPoint2
Methods
toString (csound::HarmonyInterpolationPoint2::toString)
Returns: std::string
HarmonyIFS2
C++ csound::HarmonyIFS2
Extends: ScoreNode
Scores are generated as the attractors of iterated function systems (IFS) in a score space that has a harmony subspace, in which time is subdivided such that harmony is a linear progression of time.
Usage:
Call add_interpolation_point several times or more to define the harmony by setting interpolation points for a harmony as a fractal function of time.
Call initialize_hutchinson_operator to mathematically translate the interpolation points to affine transformation matrices in a Hutchinson operator.
Call set_transformation as desired to add additional structure to the IFS that generates the score. Do not set matrix elements that will cause harmony to overlap time other than as specified by the interpolation points. However, pitch, time, instrument, and other dimensions may be transformed as desired.
Call generate_score_attractor with a desired depth of iteration actually generate the score. The HarmonyIFS object may then be included in a music graph, or used as a standalone score generator.
Methods
add_interpolation_point (csound::HarmonyIFS2::add_interpolation_point)
| Parameter | Description |
|---|---|
t | |
P | |
I | |
T | |
V | |
s_PP | |
s_PI | |
s_PT | |
s_PV | |
s_IP | |
s_II | |
s_IT | |
s_IV | |
s_TP | |
s_TI | |
s_TT | |
s_TV | |
s_VP | |
s_VI | |
s_VT | |
s_VV |
Returns: HarmonyInterpolationPoint2
add_interpolation_point_as_chord (csound::HarmonyIFS2::add_interpolation_point_as_chord)
| Parameter | Description |
|---|---|
t_ | |
chord | |
s_PP_ | |
s_PI_ | |
s_PT_ | |
s_PV_ | |
s_IP_ | |
s_II_ | |
s_IT_ | |
s_IV_ | |
s_TP_ | |
s_TI_ | |
s_TT_ | |
s_TV_ | |
s_VP_ | |
s_VI_ | |
s_VT_ | |
s_VV_ |
Returns: HarmonyInterpolationPoint2
generate_score_attractor (csound::HarmonyIFS2::generate_score_attractor)
This function should be called before rendering a music graph that contains this node.
| Parameter | Description |
|---|---|
depth |
Returns: void
add_transformation (csound::HarmonyIFS2::add_transformation)
The value of this matrix is initially the identity matrix.
Returns: Eigen::MatrixXd &
transformation_count (csound::HarmonyIFS2::transformation_count)
Returns: int
initialize (csound::HarmonyIFS2::initialize)
g is the generator of transposition.
| Parameter | Description |
|---|---|
voices_ | |
range_ | |
bass_ | |
note_duration_ | |
tie_overlapping_notes | |
remove_duplicate_notes | |
g_ |
Returns: void
initialize_hutchinson_operator (csound::HarmonyIFS2::initialize_hutchinson_operator)
" In: Transactions on Computational Science 1 (Jan. 2008), pp. 85-103. doi: 10.1007/978-3-540-79299-4_4.
Once this function has been called, the non-shear elements of the transformation matrices may be modified. A warning is issued if the modulus of the scaling submatrix of any transformation is >= 0, indicating it is not contractive.
Returns: void
iterate (csound::HarmonyIFS2::iterate)
| Parameter | Description |
|---|---|
depth | |
iteration | |
index | |
point |
Returns: void
remove_duplicate_notes (csound::HarmonyIFS2::remove_duplicate_notes)
Returns: void
set_transformation (csound::HarmonyIFS2::set_transformation)
The matrices are homeogenous transformations with 7 dimensions, in column major order. The transformation is by default the identity matrix.
| Parameter | Description |
|---|---|
transformation | |
row | |
column | |
value |
Returns: void
post_process_score (csound::HarmonyIFS2::post_process_score)
Returns: void
KMeansMCRM
C++ csound::KMeansMCRM
Extends: MCRM
Methods
deterministic_algorithm (csound::KMeansMCRM::deterministic_algorithm)
Returns: void
iterate (csound::KMeansMCRM::iterate)
| Parameter | Description |
|---|---|
depth | |
p | |
event | |
weight |
Returns: void
means_to_notes (csound::KMeansMCRM::means_to_notes)
Returns: void
random_algorithm (csound::KMeansMCRM::random_algorithm)
Returns: void
Koch
C++ csound::Koch
Extends: ScoreNode
Methods
setPitchOffsetForLayer (csound::Koch::setPitchOffsetForLayer)
| Parameter | Description |
|---|---|
layer | |
pitch |
Returns: void
Lindenmayer
C++ csound::Lindenmayer
Extends: ScoreNode
The Z dimension of note space is used for chirp rate. The actions of the turtle are rescaled to fit the specified bounding hypercube. The turtle commands are represented by letters (all n default to 1):
G = Write the current state of the turtle into the soundfile as a grain.
Mn = Translate the turtle by adding to its state its step times its orientation times n.
Rabn = Rotate the turtle from dimension a to dimension b by angle 2 pi / (angleCount * n)
Uan = Vary the turtle state on dimension a by a normalized (-1 through +1) uniformly distributed random variable times n.
Gan = Vary the turtle state on dimension a by a normalized (-1 through +1) Gaussian random variable times n.
T=an = Assign to dimension a of the turtle state the value n.
T*an = Multiply dimension a of the turtle state by n.
T/an = Divide dimension a of the turtle state by n.
T+an = Add to dimension a of the turtle state the value n.
T-an = Subtract from dimension a of the turtle state the value n.
S=an = Assign to dimension a of the turtle step the value n.
S*an = Multiply dimension a of the turtle step by n.
S/an = Divide dimension a of the turtle step by n.
S+an = Add to dimension a of the turtle step the value n.
S-an = Subtract from dimension a of the turtle step the value n.
[ = Push the current state of the turtle state onto a stack.
] = Pop the current state of the turtle from the stack.
The abbreviations for the dimensions are:
i = instrument
t = time
d = duration
k = MIDI key number
v = MIDI velocity number
p = phase
x = pan
y = height
z = depth
s = pitch-class set as Mason number
Methods
addRule (csound::Lindenmayer::addRule)
| Parameter | Description |
|---|---|
command | |
replacement |
Returns: void
generateLocally (csound::Lindenmayer::generateLocally)
Returns: void
getAngle (csound::Lindenmayer::getAngle)
Returns: double
getAxiom (csound::Lindenmayer::getAxiom)
Returns: std::string
getIterationCount (csound::Lindenmayer::getIterationCount)
Returns: int
setAngle (csound::Lindenmayer::setAngle)
| Parameter | Description |
|---|---|
angle |
Returns: void
setAxiom (csound::Lindenmayer::setAxiom)
| Parameter | Description |
|---|---|
axiom |
Returns: void
setIterationCount (csound::Lindenmayer::setIterationCount)
| Parameter | Description |
|---|---|
count |
Returns: void
LispGenerator
C++ csound::LispGenerator
Extends: LispNode
LispNode
C++ csound::LispNode
Extends: Node
In order to use the Common Music or nudruz packages to do this, first execute the following sequence of calls: csound::initialize_ecl (argc, ( char **)argv);
csound::evaluate_form ( "(require :asdf)" );
csound::evaluate_form ( "(require :nudruz)" );
csound::evaluate_form ( "(in-package :cm)" );
Methods
appendTopLevelForm (csound::LispNode::appendTopLevelForm)
Please note, each top-level form must be appended in sequence, e.g. require and in-package should be added before a progn containing score generating forms.
| Parameter | Description |
|---|---|
code |
Returns: void
getStringFromForm (csound::LispNode::getStringFromForm)
| Parameter | Description |
|---|---|
form |
Returns: std::string
getTopLevelForms (csound::LispNode::getTopLevelForms)
Returns: std::vector< std::string > &
LispTransformer
C++ csound::LispTransformer
Extends: LispNode
MCRM
C++ csound::MCRM
Extends: ScoreNode
Methods
generateLocally (csound::MCRM::generateLocally)
Returns: void
resize (csound::MCRM::resize)
| Parameter | Description |
|---|---|
transformations |
Returns: void
setDepth (csound::MCRM::setDepth)
| Parameter | Description |
|---|---|
depth |
Returns: void
setTransformationElement (csound::MCRM::setTransformationElement)
| Parameter | Description |
|---|---|
index | |
row | |
column | |
value |
Returns: void
setWeight (csound::MCRM::setWeight)
| Parameter | Description |
|---|---|
precursor | |
successor | |
weight |
Returns: void
Node
C++ csound::Node
A music graph consists of a root Node , with any number of child Nodes, which in turn may have any number of child Nodes. To render the music graph, the root Node::traverse function is called, which performs a depth-first recursive traversal of the music graph.
Nodes can transform silence::Events produced by child nodes. Nodes can generate silence::Events.
Nodes can also perform score generation and processing outside of a music graph.
Nodes follow the pattern of initalization with controlling parameters, and then invocation either within a music graph, or by calling Node::generate or Node::transform outside of a music graph.
Methods
addChild (csound::Node::addChild)
| Parameter | Description |
|---|---|
node |
Returns: void
childCount (csound::Node::childCount)
Returns: size_t
clear (csound::Node::clear)
Returns: void
createTransform (csound::Node::createTransform)
Returns: Eigen::MatrixXd
element (csound::Node::element)
| Parameter | Description |
|---|---|
row | |
column |
Returns: double &
generate (csound::Node::generate)
The notes must be produced at the coordinate system with origin at zero, and are automatically transformed to the global coordinate system.
| Parameter | Description |
|---|---|
score_from_this |
Returns: void
getChild (csound::Node::getChild)
| Parameter | Description |
|---|---|
index |
Returns: Node *
getLocalCoordinates (csound::Node::getLocalCoordinates)
Returns: Eigen::MatrixXd
setElement (csound::Node::setElement)
| Parameter | Description |
|---|---|
row | |
column | |
value |
Returns: void
transform (csound::Node::transform)
The default implementation does nothing. Additional notes may also be generated.
| Parameter | Description |
|---|---|
score_from_children |
Returns: void
traverse (csound::Node::traverse)
In case a derived class needs to apply a different local transformation to each child node's notes, this method must be overridden. After child nodes have been traversed, notes generated by the child nodes are passed to the transform method of this, and the resulting notes appended to the gobal score; then an empty score is passed to the generate method of this, and the resulting notes appended to the global score.
| Parameter | Description |
|---|---|
global_coordinates | |
global_score |
Returns: void
Random
C++ csound::Random
Extends: Node
The resulting matrix will be used in place of the local coordinates when traversing the music graph. If eventCount is greater than zero, a new event will be created for each of eventCount samples, which will be transformed by the newly sampled local coordinates.
Methods
createDistribution (csound::Random::createDistribution)
| Parameter | Description |
|---|---|
distribution |
Returns: void
getRandomCoordinates (csound::Random::getRandomCoordinates)
Returns: Eigen::MatrixXd
sample (csound::Random::sample)
Returns: double
RemoveDuplicates
C++ csound::RemoveDuplicates
Extends: Node
Rescale
C++ csound::Rescale
Extends: Node
No, some, or all dimensions may be rescaled to fit the minimum alone, the range alone, or both the minimum and the range.
Methods
initialize (csound::Rescale::initialize)
Returns: void
setRescale (csound::Rescale::setRescale)
| Parameter | Description |
|---|---|
dimension | |
rescaleMinimum | |
rescaleRange | |
targetMinimum | |
targetRange |
Returns: void
Scale
C++ csound::Scale
Extends: Chord
Inherits from Chord . Note that inherited Chord member functions such as T and I return Chords, not Scales.
Methods
conform_with_alteration (csound::Scale::conform_with_alteration)
If the alteration parameter is used, the pitch of the event is first moved to the nearest pitch-class of the chord implied by the scale degree, number of voices, and interval; this tone is then altered (plus or minus) by the number of semitones specified by the alteration parameter (default 0). All operations are performed under octave equivalence.
| Parameter | Description |
|---|---|
event | |
scale_degree | |
voices | |
interval | |
alteration |
Returns: void
conform_with_interval (csound::Scale::conform_with_interval)
| Parameter | Description |
|---|---|
event | |
scale_degree | |
voices | |
interval |
Returns: void
conform (csound::Scale::conform)
| Parameter | Description |
|---|---|
event | |
scale_degree | |
voices |
Returns: void
chord (csound::Scale::chord)
| Parameter | Description |
|---|---|
scale_degree | |
voices | |
interval |
Returns: Chord
degree (csound::Scale::degree)
| Parameter | Description |
|---|---|
chord_ | |
interval |
Returns: int
set_ratio (csound::Scale::set_ratio)
The Scale must first have enough voices to hold all pitches set in this way.
| Parameter | Description |
|---|---|
voice | |
numerator | |
denominator |
Returns: void
from_scala (csound::Scale::from_scala)
Note that the tonic of the scale is always MIDI key 0 (C-1)! Thus to have, e.g., a D-1 just intonation scale, one would create the default C-1 just intonation scale, then add 2 to each pitch.
| Parameter | Description |
|---|---|
name | |
scala |
Returns: void
getTypeName (csound::Scale::getTypeName)
"major" or "whole tone," of this. This name will probably be invalid if the interval structure of this has been changed, e.g. by inversion.
Returns: std::string
modulations (csound::Scale::modulations)
from a 9th chord to a triad) in order to find more or fewer possible modulations.
| Parameter | Description |
|---|---|
chord |
Returns: std::vector< Scale >
modulations_for_voices (csound::Scale::modulations_for_voices)
| Parameter | Description |
|---|---|
chord | |
voices |
Returns: std::vector< Scale >
modulations_for_scale_types (csound::Scale::modulations_for_scale_types)
Switching to one of these Scales will perform some sort of modulation. The list of scale type names restricts the types of Scale that will be returned.
| Parameter | Description |
|---|---|
result | |
current_chord | |
voices_ | |
type_names |
Returns: void
relative_tonicizations (csound::Scale::relative_tonicizations)
If that is not possible, an empty result is returned.
| Parameter | Description |
|---|---|
current_chord | |
secondary_function | |
voices |
Returns: std::vector< Scale >
relative_tonicizations_for_scale_types (csound::Scale::relative_tonicizations_for_scale_types)
The list of scale types is used to restrict the types of Scales that are returned.
| Parameter | Description |
|---|---|
result | |
current_chord | |
secondary_function | |
voices | |
type_names |
Returns: void
secondary (csound::Scale::secondary)
Not "secondary function of this chord," but "this chord as secondary
function of another (tonicized) chord." If that is not possible, an empty Chord is returned. The number of voices defaults to that of the current Chord . Can be used to generate secondary dominants (function = 5), secondary supertonics (function = 2), secondary submediants (function = 6), and so on. It is then up to the user to perform an appropriate progression by number of scale degrees in the original Scale .
| Parameter | Description |
|---|---|
current_chord | |
secondary_function | |
voices_ |
Returns: std::vector< Chord >
secondary_to_degree (csound::Scale::secondary_to_degree)
Not "secondary function of this chord," but "this chord as secondary
function of another (tonicized) chord." The number of voices defaults to that of the current Chord . Can be used to generate secondary dominants (function = 5), secondary supertonics (function = 2), secondary submediants (function = 6), and so on. It is then up to the user to perform an appropriate progression by number of scale degrees in the original Scale . If no such mutation can be found, nothing is done; i.e., the current Chord is returned.
| Parameter | Description |
|---|---|
current_chord | |
secondary_function | |
target_degree | |
chord_voices |
Returns: Chord
semitones_for_degree (csound::Scale::semitones_for_degree)
| Parameter | Description |
|---|---|
scale_degree |
Returns: double
tonic (csound::Scale::tonic)
Returns: double
tonicizations (csound::Scale::tonicizations)
The number of voices defaults to that of the current Chord , but may be larger or smaller.
NOTE: Here, tonicizations are modulations in which the Chord has degree 1, i.e. is the tonic chord.
| Parameter | Description |
|---|---|
current_chord | |
voices |
Returns: std::vector< Scale >
transpose (csound::Scale::transpose)
| Parameter | Description |
|---|---|
semitones |
Returns: Scale
transpose_degrees (csound::Scale::transpose_degrees)
| Parameter | Description |
|---|---|
chord | |
scale_degrees | |
interval |
Returns: Chord
transpose_to_degree (csound::Scale::transpose_to_degree)
| Parameter | Description |
|---|---|
degrees |
Returns: Scale
Score
C++ csound::Score
Can order events by time.
The implementation is a std::vector of Events. The elements of the vector are value objects, not references.
Methods
add (csound::Score::add)
| Parameter | Description |
|---|---|
time | |
duration | |
status | |
instrument | |
key | |
velocity | |
phase | |
pan | |
depth | |
height | |
pitches |
Returns: void
append (C++ csound::Score::append_note)
| Parameter | Description |
|---|---|
time | |
duration | |
status | |
instrument | |
key | |
velocity | |
phase | |
pan | |
depth | |
height | |
pitches |
Returns: void
append_event (csound::Score::append_event)
| Parameter | Description |
|---|---|
event |
Returns: void
arrange_all (csound::Score::arrange_all)
| Parameter | Description |
|---|---|
oldInstrumentNumber | |
newInstrumentNumber | |
gain | |
pan |
Returns: void
clear (csound::Score::clear)
findScale (csound::Score::findScale)
Returns: void
get (csound::Score::get)
| Parameter | Description |
|---|---|
index |
Returns: Event &
getCsoundScore (csound::Score::getCsoundScore)
The Silence events are rounded off to the nearest equally tempered pitch by the specified number of tones per octave; if this argument is zero, the pitch is not tempered. The Silence events are conformed to the nearest pitch-class set in the pitch-class set dimension of the event, if the conform pitches argument is true; otherwise, the pitches are not conformed.
| Parameter | Description |
|---|---|
tonesPerOctave | |
conformPitches |
Returns: std::string
getDuration (csound::Score::getDuration)
Does not assume that events are sorted, or that all no events start earlier than time 0.
Returns: double
getEventsDuration (csound::Score::getEventsDuration)
Returns: double
getFirstOnTime (csound::Score::getFirstOnTime)
Returns: double
getLastOffTime (csound::Score::getLastOffTime)
Returns: double
getDurationFromZero (csound::Score::getDurationFromZero)
Does not assume that events are sorted, or that no events start earlier than time 0.
Returns: double
getPitches (csound::Score::getPitches)
| Parameter | Description |
|---|---|
begin | |
end | |
divisionsPerOctave |
Returns: std::vector< double >
getPT (csound::Score::getPT)
See: http://ruccas.org/pub/Gogins/music_atoms.pdf
| Parameter | Description |
|---|---|
begin | |
end | |
lowest | |
range | |
divisionsPerOctave |
Returns: std::vector< double >
getPTV (csound::Score::getPTV)
Each of these indexes forms an additive cyclic group.
See: http://ruccas.org/pub/Gogins/music_atoms.pdf
| Parameter | Description |
|---|---|
begin | |
end | |
lowest | |
range | |
divisionsPerOctave |
Returns: std::vector< double >
getRescaleMinima (csound::Score::getRescaleMinima)
Returns: std::vector< bool > &
getRescaleRanges (csound::Score::getRescaleRanges)
Returns: std::vector< bool > &
getScaleActualMinima (csound::Score::getScaleActualMinima)
Returns: const Event &
getScaleActualRanges (csound::Score::getScaleActualRanges)
Returns: const Event &
getScaleTargetMinima (csound::Score::getScaleTargetMinima)
Returns: Event &
getScaleTargetRanges (csound::Score::getScaleTargetRanges)
Returns: Event &
getVoicing (csound::Score::getVoicing)
| Parameter | Description |
|---|---|
begin | |
end | |
divisionsPerOctave |
Returns: std::vector< double >
indexAfterTime (csound::Score::indexAfterTime)
Iterating from indexAtTime(t1) to indexAfterTime(t2) is guaranteed to iterate over all and only those events included from and including t1 and up to but not including t2.
| Parameter | Description |
|---|---|
time |
Returns: int
indexAtTime (csound::Score::indexAtTime)
Iterating from indexAtTime(t1) to indexAfterTime(t2) is guaranteed to iterate over all and only those events included between t1 and t2.
| Parameter | Description |
|---|---|
time |
Returns: int
indexToTime (csound::Score::indexToTime)
| Parameter | Description |
|---|---|
index |
Returns: double
initialize (csound::Score::initialize)
Returns: void
load (C++ csound::Score::load_filename)
| Parameter | Description |
|---|---|
filename |
Returns: void
process (csound::Score::process)
Returns: void
remove (csound::Score::remove)
| Parameter | Description |
|---|---|
index |
Returns: void
removeArrangement (csound::Score::removeArrangement)
Returns: void
rescale (csound::Score::rescale)
| Parameter | Description |
|---|---|
dimension | |
rescaleMinimum | |
minimum | |
rescaleRange | |
range |
Returns: void
save (C++ csound::Score::save_filename)
| Parameter | Description |
|---|---|
filename |
Returns: void
setDuration (csound::Score::setDuration)
stretch or shrink musical time.
| Parameter | Description |
|---|---|
targetDuration |
Returns: void
setDurationFromZero (csound::Score::setDurationFromZero)
| Parameter | Description |
|---|---|
targetDuration |
Returns: void
setK (csound::Score::setK)
| Parameter | Description |
|---|---|
priorBegin | |
begin | |
end | |
base | |
range |
Returns: void
setKL (csound::Score::setKL)
| Parameter | Description |
|---|---|
priorBegin | |
begin | |
end | |
base | |
range | |
avoidParallels |
Returns: void
setKV (csound::Score::setKV)
| Parameter | Description |
|---|---|
priorBegin | |
begin | |
end | |
V | |
base | |
range |
Returns: void
setPerformanceDuration (csound::Score::setPerformanceDuration)
such that the first on time is 0, and getEventsDuration returns the target duration.
| Parameter | Description |
|---|---|
target_duration |
Returns: void
setPitchClassSet (csound::Score::setPitchClassSet)
Each pitch in the score is moved to the closest pitch-class in the specified set.
| Parameter | Description |
|---|---|
begin | |
end | |
pcs | |
divisionsPerOctave |
Returns: void
setPitches (csound::Score::setPitches)
Each pitch in the score is moved to the closest pitch in the specified pitches.
| Parameter | Description |
|---|---|
begin | |
end | |
pitches |
Returns: void
setPT (csound::Score::setPT)
See: http://ruccas.org/pub/Gogins/music_atoms.pdf
| Parameter | Description |
|---|---|
begin | |
end | |
prime | |
transposition | |
lowest | |
range | |
divisionsPerOctave |
Returns: void
setPTV (csound::Score::setPTV)
Each of these indexes forms an additive cyclic group.
See: http://ruccas.org/pub/Gogins/music_atoms.pdf
| Parameter | Description |
|---|---|
begin | |
end | |
prime | |
transposition | |
voicing | |
lowest | |
range | |
divisionsPerOctave |
Returns: void
setQ (csound::Score::setQ)
The context will be reduced or doubled as required to match the cardinality of the set.
| Parameter | Description |
|---|---|
priorBegin | |
begin | |
end | |
Q | |
context | |
base | |
range |
Returns: void
setQL (csound::Score::setQL)
The context will be reduced or doubled as required to match the cardinality of the set.
| Parameter | Description |
|---|---|
priorBegin | |
begin | |
end | |
Q | |
context | |
base | |
range | |
avoidParallels |
Returns: void
setQV (csound::Score::setQV)
The context will be reduced or doubled as required to match the cardinality of the set.
| Parameter | Description |
|---|---|
priorBegin | |
begin | |
end | |
Q | |
context | |
V | |
base | |
range |
Returns: void
setScale (csound::Score::setScale)
| Parameter | Description |
|---|---|
score | |
dimension | |
rescaleMinimum | |
rescaleRange | |
beginAt | |
endAt | |
targetMinimum | |
targetRange |
Returns: void
setVoicing (csound::Score::setVoicing)
This has the effect of "inverting" or "re-voicing", in the musician's informal sense, the pitches in that segment of the score.
| Parameter | Description |
|---|---|
begin | |
end | |
voicing | |
range | |
divisionsPerOctave |
Returns: void
sort (csound::Score::sort)
Returns: void
temper (csound::Score::temper)
| Parameter | Description |
|---|---|
tonesPerOctave |
Returns: void
tieOverlappingNotes (csound::Score::tieOverlappingNotes)
| Parameter | Description |
|---|---|
considerInstrumentNumber |
Returns: void
toString (csound::Score::toString)
Returns: std::string
voicelead (C++ csound::Score::voicelead_segments)
| Parameter | Description |
|---|---|
beginSource | |
endSource | |
beginTarget | |
endTarget | |
lowest | |
range | |
avoidParallelFifths | |
divisionsPerOctave |
Returns: void
voicelead_pitches (csound::Score::voicelead_pitches)
| Parameter | Description |
|---|---|
beginSource | |
endSource | |
beginTarget | |
endTarget | |
targetPitches | |
lowest | |
range | |
avoidParallelFifths | |
divisionsPerOctave |
Returns: void
size (csound::Score::size)
ChordScore
C++ csound::ChordScore
Extends: Score
The notes in the score may be conformed to the chord that obtains at the time of the notes. The times and durations of notes and chords are rescaled together. This is done by finding minimum and maximum times by counting both note times and chord times.
Properties
harmonies_for_times (csound::ChordScore::harmonies_for_times)
Returns: std::map< double, HarmonyEntry >
Methods
conformToChords (csound::ChordScore::conformToChords)
The octave_equivalence flag applies only to entries inserted with insertChord(time, chord) and mode Default.
| Parameter | Description |
|---|---|
tie_overlaps | |
octave_equivalence |
Returns: void
getChord (csound::ChordScore::getChord)
Returns the chord that governs harmony at the given time: the timeline entry at or before time_ , or if none exists, the soonest entry after time_ .
Null if the timeline is empty.
Returns null if the timeline is empty.
| Parameter | Description |
|---|---|
time_ |
Returns: Chord *
getHarmony (csound::ChordScore::getHarmony)
Null if the timeline is empty.
| Parameter | Description |
|---|---|
time_ |
Returns: HarmonyEntry *
gatherSoundingChord (csound::ChordScore::gatherSoundingChord)
| Parameter | Description |
|---|---|
score | |
prior_harmony_time | |
time |
Returns: Chord
insertChord (csound::ChordScore::insertChord)
| Parameter | Description |
|---|---|
tyme | |
chord |
Returns: void
insertChordWithMode
insertFunctionalHarmony (csound::ChordScore::insertFunctionalHarmony)
| Parameter | Description |
|---|---|
tyme | |
scale | |
scale_degree | |
voices | |
mode | |
voice_leading_range |
Returns: void
getTimelineDuration (C++ csound::ChordScore::getDuration)
Does not assume that events are sorted, or that all no events start earlier than time 0.
Returns: double
setTimelineDuration (C++ csound::ChordScore::setDuration)
stretch or shrink musical time.
| Parameter | Description |
|---|---|
targetDuration |
Returns: void
setScale (csound::ChordScore::setScale)
| Parameter | Description |
|---|---|
score | |
dimension | |
rescaleMinimum | |
rescaleRange | |
beginAt | |
endAt | |
targetMinimum | |
targetRange |
Returns: void
ScoreModel
C++ csound::ScoreModel
Extends: Composition
A music graph is a directed acyclic graph of nodes including empty nodes, nodes that contain only child nodes, score nodes, event generator nodes, event transformer nodes, and others. Each node is associated with a local transformation of coordinate system in music space using a 12 x 12 homogeneous matrix. To generate the score, the music graph is traversed depth first, and each node postconcatenates its local transformation of coordinate system with the coordinate system of its parent to derive a new local coordinate system, which is applied to all child events.
Methods
addChild (csound::ScoreModel::addChild)
| Parameter | Description |
|---|---|
node |
Returns: void
childCount (csound::ScoreModel::childCount)
Returns: size_t
clear (csound::ScoreModel::clear)
Returns: void
createTransform (csound::ScoreModel::createTransform)
Returns: Eigen::MatrixXd
element (csound::ScoreModel::element)
| Parameter | Description |
|---|---|
row | |
column |
Returns: double &
getChild (csound::ScoreModel::getChild)
| Parameter | Description |
|---|---|
index |
Returns: Node *
getLocalCoordinates (csound::ScoreModel::getLocalCoordinates)
Returns: Eigen::MatrixXd
getThisNode (csound::ScoreModel::getThisNode)
Returns: Node *
initialize (csound::ScoreModel::initialize)
Returns: void
setElement (csound::ScoreModel::setElement)
| Parameter | Description |
|---|---|
row | |
column | |
value |
Returns: void
transform (csound::ScoreModel::transform)
The default implementation does nothing. Additional notes may also be generated.
| Parameter | Description |
|---|---|
score_from_children |
Returns: void
traverse (csound::ScoreModel::traverse)
In case a derived class needs to apply a different local transformation to each child node's notes, this method must be overridden. After child nodes have been traversed, notes generated by the child nodes are passed to the transform method of this, and the resulting notes appended to the gobal score; then an empty score is passed to the generate method of this, and the resulting notes appended to the global score.
| Parameter | Description |
|---|---|
global_coordinates | |
global_score |
Returns: void
ScoreNode
C++ csound::ScoreNode
Extends: Node
Methods
getScore (csound::ScoreNode::getScore)
Returns: Score &
Sequence
C++ csound::Sequence
Extends: Node
Stack
C++ csound::Stack
Extends: ScoreNode
Properties
duration (C++ csound::Stack::getDuration)
Returns: double
StrangeAttractor
C++ csound::StrangeAttractor
Extends: ScoreNode
Sprott's Lyupanov exponent search, or by translating a known chaotic dynamical system into music, by interpreting each iteration of the system as a note. The time of the note can be represented either as the order of iteration, or as a dimension of the attractor. See Julien C. Sprott's book "Strange Attractors".
Methods
calculateFractalDimension (csound::StrangeAttractor::calculateFractalDimension)
Returns: void
calculateLyupanovExponent (csound::StrangeAttractor::calculateLyupanovExponent)
Returns: void
codeRandomize (csound::StrangeAttractor::codeRandomize)
Returns: void
evaluateAttractor (csound::StrangeAttractor::evaluateAttractor)
Returns: bool
generateLocally (csound::StrangeAttractor::generateLocally)
Returns: void
getAttractorType (csound::StrangeAttractor::getAttractorType)
Returns: int
getCode (csound::StrangeAttractor::getCode)
Returns: std::string
getCoefficients (csound::StrangeAttractor::getCoefficients)
Returns: void
getDimensionAndOrder (csound::StrangeAttractor::getDimensionAndOrder)
Returns: void
getDimensionCount (csound::StrangeAttractor::getDimensionCount)
Returns: int
getFractalDimension (csound::StrangeAttractor::getFractalDimension)
Returns: double
getIteration (csound::StrangeAttractor::getIteration)
Returns: size_t
getIterationCount (csound::StrangeAttractor::getIterationCount)
Returns: size_t
getLyupanovExponent (csound::StrangeAttractor::getLyupanovExponent)
Returns: double
getNormalizedW (csound::StrangeAttractor::getNormalizedW)
Returns: double
getNormalizedX (csound::StrangeAttractor::getNormalizedX)
Returns: double
getNormalizedY (csound::StrangeAttractor::getNormalizedY)
Returns: double
getNormalizedZ (csound::StrangeAttractor::getNormalizedZ)
Returns: double
getScoreType (csound::StrangeAttractor::getScoreType)
Returns: int
getW (csound::StrangeAttractor::getW)
Returns: double
getX (csound::StrangeAttractor::getX)
Returns: double
getY (csound::StrangeAttractor::getY)
Returns: double
getZ (csound::StrangeAttractor::getZ)
Returns: double
initialize (csound::StrangeAttractor::initialize)
Returns: void
iterate (csound::StrangeAttractor::iterate)
Returns: void
iterate_without_rendering (csound::StrangeAttractor::iterate_without_rendering)
This is useful for driving external score generators. Returns true if the system has settled onto the attractor, or false otherwise.
Returns: bool
reinitialize (csound::StrangeAttractor::reinitialize)
Returns: void
render (csound::StrangeAttractor::render)
| Parameter | Description |
|---|---|
N | |
X | |
Y | |
Z | |
W |
Returns: void
reset (csound::StrangeAttractor::reset)
Returns: void
searchForAttractor (csound::StrangeAttractor::searchForAttractor)
Returns: bool
setAttractorType (csound::StrangeAttractor::setAttractorType)
| Parameter | Description |
|---|---|
attractorType |
Returns: void
setCode (csound::StrangeAttractor::setCode)
| Parameter | Description |
|---|---|
code |
Returns: void
setDimensionCount (csound::StrangeAttractor::setDimensionCount)
| Parameter | Description |
|---|---|
D |
Returns: void
setIteration (csound::StrangeAttractor::setIteration)
| Parameter | Description |
|---|---|
iteration |
Returns: void
setIterationCount (csound::StrangeAttractor::setIterationCount)
| Parameter | Description |
|---|---|
iterationCount |
Returns: void
setScoreType (csound::StrangeAttractor::setScoreType)
| Parameter | Description |
|---|---|
attractorType |
Returns: void
setW (csound::StrangeAttractor::setW)
| Parameter | Description |
|---|---|
X |
Returns: void
setX (csound::StrangeAttractor::setX)
| Parameter | Description |
|---|---|
X |
Returns: void
setY (csound::StrangeAttractor::setY)
| Parameter | Description |
|---|---|
X |
Returns: void
setZ (csound::StrangeAttractor::setZ)
| Parameter | Description |
|---|---|
X |
Returns: void
shuffleRandomNumbers (csound::StrangeAttractor::shuffleRandomNumbers)
Returns: void
specialFunctions (csound::StrangeAttractor::specialFunctions)
Returns: void
System
C++ csound::System
Voicelead
C++ csound::Voicelead
See: http://ruccas.org/pub/Gogins/music_atoms.pdf
Methods
addOctave (csound::Voicelead::addOctave)
The lowest voicing must initially be set equal to the original voicing. The algorithm treats a chord as a 'numeral' that increments with a radix equal to the number of octaves in the total range of pitches. Returns an empty voicing if adding an octave would create a voicing that exceeds the maximum pitch, i.e. when the highest-order voice needs to 'carry.'
| Parameter | Description |
|---|---|
lowestVoicing | |
newVoicing | |
maximumPitch | |
divisionsPerOctave |
Returns: bool
areParallel (csound::Voicelead::areParallel)
| Parameter | Description |
|---|---|
chord1 | |
chord2 |
Returns: bool
chordToPTV (csound::Voicelead::chordToPTV)
The algorithm finds the zero voicing (the lowest octave transposition of the normal chord of the chord that is no lower than the lowest pitch, which has voicing index V = 0) and the zero iterator (the lowest (in all voices) unordered voicing of the chord that is no lower (in all voices) than the lowest pitch, which has enumeration index = 0). Thus, the V of a voicing equals the enumeration index of that voicing minus the enumeration index of the zero voicing. The algorithm enumerates the voicings until the chord is matched.
| Parameter | Description |
|---|---|
chord | |
lowestPitch | |
highestPitch | |
divisionsPerOctave |
Returns: std::vector< double >
closer (csound::Voicelead::closer)
| Parameter | Description |
|---|---|
source | |
destination1 | |
destination2 | |
avoidParallels |
Returns: const std::vector< double > &
closest (csound::Voicelead::closest)
| Parameter | Description |
|---|---|
source | |
destinations | |
avoidParallels |
Returns: const std::vector< double >
closestPitch (csound::Voicelead::closestPitch)
| Parameter | Description |
|---|---|
pitch | |
pitches |
Returns: double
conformToPitchClassSet (csound::Voicelead::conformToPitchClassSet)
I.e., "round up or down" to make the pitch fit into a chord or scale.
| Parameter | Description |
|---|---|
pitch | |
pcs | |
divisionsPerOctave |
Returns: double
cToM (csound::Voicelead::cToM)
| Parameter | Description |
|---|---|
C | |
divisionsPerOctaven |
Returns: double
cToP (csound::Voicelead::cToP)
If an exact match is not found the closest match is returned.
| Parameter | Description |
|---|---|
C | |
divisionsPerOctave |
Returns: double
euclideanDistance (csound::Voicelead::euclideanDistance)
| Parameter | Description |
|---|---|
chord1 | |
chord2 |
Returns: double
I (csound::Voicelead::I)
| Parameter | Description |
|---|---|
p | |
n |
Returns: double
I_vector (csound::Voicelead::I_vector)
| Parameter | Description |
|---|---|
c | |
n |
Returns: std::vector< double >
Iform (csound::Voicelead::Iform)
| Parameter | Description |
|---|---|
X | |
Y | |
g |
Returns: bool
initializePrimeChordsForDivisionsPerOctave (csound::Voicelead::initializePrimeChordsForDivisionsPerOctave)
| Parameter | Description |
|---|---|
divisionsPerOctave |
Returns: void
inversions (csound::Voicelead::inversions)
| Parameter | Description |
|---|---|
chord |
Returns: std::vector< std::vector< double > >
invert (csound::Voicelead::invert)
| Parameter | Description |
|---|---|
chord |
Returns: std::vector< double >
K (csound::Voicelead::K)
| Parameter | Description |
|---|---|
c |
Returns: std::vector< double >
mToC (csound::Voicelead::mToC)
| Parameter | Description |
|---|---|
M | |
divisionsPerOctave |
Returns: double
mToPitchClassSet (csound::Voicelead::mToPitchClassSet)
| Parameter | Description |
|---|---|
pcn | |
divisionsPerOctave |
Returns: std::vector< double >
nameToC (csound::Voicelead::nameToC)
| Parameter | Description |
|---|---|
name | |
divisionsPerOctave_ |
Returns: double
nonBijectiveVoicelead (csound::Voicelead::nonBijectiveVoicelead)
Because voices can be doubled, the source chord is returned along with result. The algorithm does not avoid parallel motions, and does not maintain the original order of the voices. The return value contains the original chord, the voiceleading vector, and the resulting chord, in that order.
| Parameter | Description |
|---|---|
sourceChord | |
targetPitchClassSet | |
divisionsPerOctave |
Returns: std::vector< std::vector< double > >
normalChord (csound::Voicelead::normalChord)
Similar to, but not identical with, "normal form."
| Parameter | Description |
|---|---|
chord |
Returns: std::vector< double >
orderedPcs (csound::Voicelead::orderedPcs)
The voices remain in their original order.
| Parameter | Description |
|---|---|
chord | |
divisionsPerOctave |
Returns: std::vector< double >
pAndTtoPitchClassSet (csound::Voicelead::pAndTtoPitchClassSet)
| Parameter | Description |
|---|---|
prime | |
transposition | |
divisionsPerOctave |
Returns: std::vector< double >
pc (csound::Voicelead::pc)
Pitch is measured in semitones, and the octave is always 12 semitones, so the pitch-class is the pitch modulo 12. If the pitch is an integral number of semitones, and the number of divisions per octave is also 12, then the pitch-class of a pitch is an integer. If the pitch is not an integral number of semitones, or the number of divisions per octave is not 12, then the pitch-class is not necessarily an integer.
| Parameter | Description |
|---|---|
pitch | |
divisionsPerOctave |
Returns: double
pcs (csound::Voicelead::pcs)
Although the list is nominally unordered, it is returned sorted in ascending order. Note that pitch-classes may be doubled.
| Parameter | Description |
|---|---|
chord | |
divisionsPerOctave |
Returns: std::vector< double >
pitchClassSetToM (csound::Voicelead::pitchClassSetToM)
These numbers form a multiplicative monoid. Arithmetic on this monoid can perform many harmonic and other manipulations of pitch.
| Parameter | Description |
|---|---|
chord | |
divisionsPerOctave |
Returns: double
pitchClassSetToPandT (csound::Voicelead::pitchClassSetToPandT)
Note that the prime chord numbers, and transpositions, each form an additive cyclic group.
| Parameter | Description |
|---|---|
pcs | |
divisionsPerOctave |
Returns: std::vector< double >
primeChord (csound::Voicelead::primeChord)
Similar to, but not identical with, "prime form."
| Parameter | Description |
|---|---|
chord |
Returns: std::vector< double >
pToC (csound::Voicelead::pToC)
If an exact match is not found the closest match is returned.
| Parameter | Description |
|---|---|
Z | |
divisionsPerOctave |
Returns: double
pToPrimeChord (csound::Voicelead::pToPrimeChord)
| Parameter | Description |
|---|---|
P | |
divisionsPerOctave |
Returns: std::vector< double >
ptvToChord (csound::Voicelead::ptvToChord)
The algorithm finds the zero voicing (the lowest octave transposition of the normal chord of the chord that is no lower than the lowest pitch, which has voicing index V = 0) and the zero iterator (the lowest (in all voices) unordered voicing of the chord that is no lower (in all voices) than the lowest pitch, which has enumeration index = 0). Thus, V of a voicing equals the enumeration index of that voicing minus the enumeration index of the zero voicing. The algorithm enumerates the voicings, and thus V, until V is matched. If V is greater than the maximum V, its modulus is used.
| Parameter | Description |
|---|---|
P | |
T | |
V_ | |
lowest | |
range | |
divisionsPerOctave |
Returns: std::vector< double >
Q (csound::Voicelead::Q)
| Parameter | Description |
|---|---|
c | |
n | |
s | |
g |
Returns: std::vector< double >
recursiveVoicelead (csound::Voicelead::recursiveVoicelead)
Bijective voiceleading first by closeness, then by simplicity, with optional avoidance of parallel fifths.
The algorithm uses a brute-force search through all unordered chords, which are recursively enumerated, fitting the target pitch-class set within the specified range. Although the time complexity is exponential, the algorithm is still usable for non-real-time operations in most cases of musical interest.
| Parameter | Description |
|---|---|
source | |
targetPitchClassSet | |
lowest | |
range | |
avoidParallels | |
divisionsPerOctave |
Returns: std::vector< double >
rotate (csound::Voicelead::rotate)
| Parameter | Description |
|---|---|
chord |
Returns: std::vector< double >
rotations (csound::Voicelead::rotations)
| Parameter | Description |
|---|---|
chord |
Returns: std::vector< std::vector< double > >
simpler (csound::Voicelead::simpler)
| Parameter | Description |
|---|---|
source | |
destination1 | |
destination2 | |
avoidParallels |
Returns: const std::vector< double > &
smoothness (csound::Voicelead::smoothness)
| Parameter | Description |
|---|---|
chord1 | |
chord2 |
Returns: double
sortByAscendingDistance (csound::Voicelead::sortByAscendingDistance)
| Parameter | Description |
|---|---|
chord | |
divisionsPerOctave |
Returns: std::vector< double >
T (csound::Voicelead::T)
| Parameter | Description |
|---|---|
p | |
n |
Returns: double
T_vector (csound::Voicelead::T_vector)
| Parameter | Description |
|---|---|
c | |
n |
Returns: std::vector< double >
Tform (csound::Voicelead::Tform)
| Parameter | Description |
|---|---|
X | |
Y | |
g |
Returns: bool
toOrigin (csound::Voicelead::toOrigin)
| Parameter | Description |
|---|---|
chord |
Returns: std::vector< double >
transpose (csound::Voicelead::transpose)
| Parameter | Description |
|---|---|
chord | |
semitones |
Returns: std::vector< double >
uniquePcs (csound::Voicelead::uniquePcs)
Although the list is nominally unordered, it is returned sorted in ascending order. Note that pitch-classes are NOT doubled.
| Parameter | Description |
|---|---|
chord | |
divisionsPerOctave |
Returns: std::vector< double >
voicelead (csound::Voicelead::voicelead)
Bijective voiceleading first by closeness, then by simplicity, with optional avoidance of parallel fifths.
The algorithm uses a brute-force search through all unordered chords, which are stored in a cache, fitting the target pitch-class set within the specified range. Although the time complexity is exponential, this is still usable for non-real-time operations in most cases of musical interest.
If source and target are the same, parallel fifths are not avoided.
| Parameter | Description |
|---|---|
source | |
targetPitchClassSet | |
lowest | |
range | |
avoidParallels | |
divisionsPerOctave |
Returns: std::vector< double >
voiceleading (csound::Voicelead::voiceleading)
| Parameter | Description |
|---|---|
chord1 | |
chord2 |
Returns: std::vector< double >
voicings (csound::Voicelead::voicings)
Voicings are ordered, but note that normally in this module chords are considered to be unordered. Note that complex chords and/or wide ranges may require more memory than is available. The index of voicings V forms an additive cyclic group. Arithmetic on this group can perform many operations on the voices of the chord such as revoicing, arpeggiation, and so on.
| Parameter | Description |
|---|---|
chord | |
lowest | |
highest | |
divisionsPerOctave |
Returns: std::vector< std::vector< double > >
wrap (csound::Voicelead::wrap)
| Parameter | Description |
|---|---|
chord | |
lowestPitch | |
highestPitch | |
divisionsPerOctave |
Returns: std::vector< double >
VoiceleadingNode
C++ csound::VoiceleadingNode
Extends: Node
These operations comprise: prime chord (P), transpose (T), unordered pitch-class set (C, equivalent to PT), contextual inversion (K), contextual transposition (Q), voicing (V) within a specified range of pitches, and voice-lead (L). The values of P, T, C, and V each form an additive cyclic group whose elements are defined by counting through all possible values in order. Note that C is not the same as "pitch-class set number" in the sense of M = sum over pitch-classes of (2 ^ pitch-class); it is rather one less than M. Not all combinations of operations are consistent. P requires T. PT cannot be used with C. V cannot be used with L. If neither PT nor C is specified, the existing C of the notes is used. K and Q require a previous section, and cannot be used with P, T, or C. The consistent combinations of operations are thus: PT, PTV, PTL, C, CV, CL, K, KV, KL, Q, QV, QL, V, and L.
Methods
apply (csound::VoiceleadingNode::apply)
If voice-leading proper is to be performed, the prior voice-leading operation is used to determine how to lead the voices.
| Parameter | Description |
|---|---|
score | |
priorOperation | |
currentOperation |
Returns: void
C (csound::VoiceleadingNode::C)
Note that C (equivalent to PT) specifies what musicians normally call a chord.
| Parameter | Description |
|---|---|
time | |
C_ |
Returns: void
C_chord (C++ csound::VoiceleadingNode::C_name)
EbM7) instead of C number.
| Parameter | Description |
|---|---|
time | |
C_ |
Returns: void
chordVoiceleading (csound::VoiceleadingNode::chordVoiceleading)
| Parameter | Description |
|---|---|
chord | |
time | |
avoid_parallels |
Returns: void
CL (csound::VoiceleadingNode::CL)
Optionally, parallel fifths can be avoided. Note that CL (equivalent to PTL) specifies what musicians normally call the voice-leading of a chord.
| Parameter | Description |
|---|---|
time | |
C_ | |
avoidParallels |
Returns: void
CL_name (csound::VoiceleadingNode::CL_name)
EbM7) instead of C number.
| Parameter | Description |
|---|---|
time | |
C_ | |
avoidParallels |
Returns: void
CV (csound::VoiceleadingNode::CV)
Note that CV (equivalent to PTV) specifies what musicians normally call the voicing, or octavewise inversion, of a chord.
| Parameter | Description |
|---|---|
time | |
C_ | |
V_ |
Returns: void
CV_name (csound::VoiceleadingNode::CV_name)
EbM7) instead of C number.
| Parameter | Description |
|---|---|
time | |
C_ | |
V_ |
Returns: void
getModality (csound::VoiceleadingNode::getModality)
Returns: std::vector< double >
K (csound::VoiceleadingNode::K)
Contextual inversion is that inversion of C in which the first two pitch-classes are exchanged. If the chords are major or minor triads, produces the relative minor or major.
| Parameter | Description |
|---|---|
time |
Returns: void
KL (csound::VoiceleadingNode::KL)
Contextual inversion is that inversion of C in which the first two pitch-classes are exchanged.
| Parameter | Description |
|---|---|
time | |
avoidParallels |
Returns: void
KV (csound::VoiceleadingNode::KV)
Contextual inversion is that inversion of C in which the first two pitch-classes are exchanged.
| Parameter | Description |
|---|---|
time | |
V_ |
Returns: void
L (csound::VoiceleadingNode::L)
Optionally, parallel fifths can be avoided. Note that L specifies what musicians normally call voice-leading.
| Parameter | Description |
|---|---|
time | |
avoidParallels |
Returns: void
PT (csound::VoiceleadingNode::PT)
Note that PT specifies what musicians normally call a chord, e.g. "E flat major ninth." However, chords do not have to be in twelve tone equal temperament.
| Parameter | Description |
|---|---|
time | |
P_ | |
T |
Returns: void
PTL (csound::VoiceleadingNode::PTL)
Optionally, parallel fifths can be avoided. Note that PTL specifies what musicians normally call the voice-leading of a chord.
| Parameter | Description |
|---|---|
time | |
P_ | |
T | |
avoidParallels |
Returns: void
PTV (csound::VoiceleadingNode::PTV)
Note that PTV specifies what musicians normally call the voicing, or octavewise inversion, of a chord.
| Parameter | Description |
|---|---|
time | |
P_ | |
T | |
V_ |
Returns: void
Q (csound::VoiceleadingNode::Q)
Contextual transposition transposes C up by Q if C is an I-form, and down by Q if C is a T-form.
| Parameter | Description |
|---|---|
time | |
Q_ |
Returns: void
QL (csound::VoiceleadingNode::QL)
Contextual transposition transposes C up by Q if C is an I-form, and down by Q if C is a T-form.
| Parameter | Description |
|---|---|
time | |
Q_ | |
avoidParallels |
Returns: void
QV (csound::VoiceleadingNode::QV)
Contextual transposition transposes C up by Q if C is an I-form, and down by Q if C is a T-form.
| Parameter | Description |
|---|---|
time | |
Q_ | |
V_ |
Returns: void
V (csound::VoiceleadingNode::V)
Note that V specifies what musicians normally call the voicing or octavewise inversion of the chord.
| Parameter | Description |
|---|---|
time | |
V_ |
Returns: void