Transposition
A collection of helpful JW Lua transposition scripts
diatonic_transpose
transposition.diatonic_transpose(note, interval)
Transpose the note diatonically by the given interval displacement.
| Input | Type | Description | 
| note | FCNote | input and modified output | 
| interval | number | 0 = unison, 1 = up a diatonic second, -2 = down a diatonic third, etc. | 
change_octave
transposition.change_octave(note, number_of_octaves)
Transpose the note by the given number of octaves.
| Input | Type | Description | 
| note | FCNote | input and modified output | 
| number_of_octaves | number | 0 = no change, 1 = up an octave, -2 = down 2 octaves, etc. | 
enharmonic_transpose
transposition.enharmonic_transpose(note, direction, ignore_error)
Transpose the note enharmonically in the given direction. In some microtone systems this yields a different result than transposing by a diminished 2nd.
Failure occurs if the note’s RaiseLower value exceeds an absolute value of 7. This is a hard-coded limit in Finale.
| Input | Type | Description | 
| note | FCNote | input and modified output | 
| direction | number | positive = up, negative = down (normally 1 or -1, but any positive or negative numbers work) | 
| ignore_error(optional) | boolean | default false. If true, always return success. External callers should omit this parameter. | 
| Output type | Description | 
| boolean | success or failure | 
chromatic_transpose
transposition.chromatic_transpose(note, interval, alteration, simplify)
Transposes a note chromatically by the input chromatic interval. Supports custom key signatures
and microtone systems by means of a custom_key_sig.config.txt file. In Finale, chromatic intervals
are defined by a diatonic displacement (0 = unison, 1 = second, 2 = third, etc.) and a chromatic alteration.
Major and perfect intervals have a chromatic alteration of 0. So for example, {2, -1} is up a minor third, {3, 0}
is up a perfect fourth, {5, 1} is up an augmented sixth, etc. Reversing the signs of both values in the pair
allows for downwards transposition.
| Input | Type | Description | 
| note | FCNote | the note to transpose | 
| interval | number | the diatonic displacement (negative for transposing down) | 
| alteration | number | the chromatic alteration that defines the chromatic interval (reverse sign for transposing down) | 
| simplify(optional) | boolean | if present and true causes the spelling of the transposed note to be simplified | 
| Output type | Description | 
| boolean | success or failure (see enharmonic_transposefor what causes failure) | 
stepwise_transpose
transposition.stepwise_transpose(note, number_of_steps)
Transposes the note by the input number of steps and simplifies the spelling.
For predefined key signatures, each step is a half-step.
For microtone systems defined with custom key signatures and matching options in the custom_key_sig.config.txt file,
each step is the smallest division of the octave defined by the custom key signature.
| Input | Type | Description | 
| note | FCNote | input and modified output | 
| number_of_steps | number | positive = up, negative = down | 
| Output type | Description | 
| boolean | success or failure (see enharmonic_transposefor what causes failure) | 
chromatic_major_third_down
transposition.chromatic_major_third_down(note)
Transpose the note down by a major third.
| Input | Type | Description | 
| note | FCNote | input and modified output | 
chromatic_perfect_fourth_up
transposition.chromatic_perfect_fourth_up(note)
Transpose the note up by a perfect fourth.
| Input | Type | Description | 
| note | FCNote | input and modified output | 
chromatic_perfect_fifth_down
transposition.chromatic_perfect_fifth_down(note)
Transpose the note down by a perfect fifth.
| Input | Type | Description | 
| note | FCNote | input and modified output |