Pondering about a yet-to-implement feature in a DIY software tool, also to be yet well-documented for other computer musicians who might be interested in the future.
The tool is an interpreter or converter from code text to audio file complying to the Unix philosophy (no builtin GUI, like ABC or lilypond for MIDI or sheet music), loosely being inspired by MIDI conventions and restrictions, but covering also the internals of sound to the tiniest detail as well. The question is not a technical programing issue, it rather relates to the language the tool "understands".
I have enabled, but not forced, me "the user" to declare the root note and mode for all voices playing within a region of ticks in a (couple of) measure(s).
However, what every voice plays is presently indicated only by "A0" or 1 to "C8" or 88, and if a scale has been explicitly selected any key of an off-scale pitch class would be handled as an error. These absolute indications are not always appropriate. You members of music stack exchange seem to like to indicate steps in a given scale, but relative to it, by using ^n
. This grade indication does not include the octave, though, so (key) step or grade is rather inappropriate and prone to misunderstandings and ambiguities.
Precisely I want to denote 1 to 88 not strictly numbering the keys of a keyboard but the steps of the currently selected key/mode, with "chromatic" just being the initially assumed default equal to omittable explicitly "0chr" = chromatic scale with root C. By selecting "+3hm" all numbered indications are assumed to accord to D#/Eb harmonic minor, with 1 being the leftmost in-scale key "Bb0" up to 50 = "Cb8". Saving a motif indicated with numbered pitches under a name, it can be reproduced by using white and/or black keys in the same region of the piano keyboard, depending on the scale.
So, does established music theory provide a term unambiguously denoting a specific key of the piano keyboard in a subset of keys covered by a "soon to tell" (musical) key/mode/scale? If there is none, would anybody question me coining "in-scale key index (number)" with a righteous reason?
I am not quite optimistic I managed to describe my issue, so I consider rather a composed ^{grade}@{octave}
indication but that would rise other issues related to where an octave starts, and octave 0 (sometimes indicated -1) on the piano keyboard can only cover ^7 and maybe ^6. Some expensive grands also provide "^1@0" and onward, I know, but the numbers I prefer can be fingered up and found on the standard piano keyboard people are used to.
As you requested, a use case:
I want a motif referenced by name to "adapt itself" to the scale of a measure region it is used in. Say, from inclusively the fourth beat of measure n to the end of measure n+1 all notes – except those with an off-scale flag – of all voices belong to the scale Eb harmonic minor. I assign a name to the motif for later use, lets name it "myost" (my ostinato). When I use it later or when I change the scale that "reigns" the first occurrence of the motif, which may be its naming definition together, it cannot normaly adapt to the new scale.
Because it normally has got a pitch like "C4" as its anchor, hence would likely raise an error because the pitches of all relative indications of dependent notes are calculated to it without consideration of the context scale, but checked afterwards for accordance. "C4", recognized from its beginning with a non-number character, is a label of a specific key, namely the white one in the keyboard center. The label is read from a file, mapped to a static key number, the file could also provide aliases like c'
for those who prefer german note names.
I deem an ostinato complies to the current harmony context but it perhaps does not like to follow big changes, it does not jump, it may be lazy. If it consists of the notes C, E, and G and I want it to occur later when D-major "reigns", it would not change to D, F# and A, but it would (in my music) just augment C to C# but keeping E and G as they are in D major as well. Instead of big changes of its root note, it risks changing harmonic function.
I ask you for a term musicians can understand. Current thought while I am editing this post is fuzzy notes. While normal notes are an error when a scale is selected to reign a measure/subdivisible region for all voices and they happen to be off, the user (me) needs to decide:
- are I misreading notes on a sheet? Do I need to re-consider the identified harmony context at a position?
- (appending a flag like
!
) Do I need to force the note to the pitch because I have checked and listened, and trusted my ear and judged it alright i.e. declare the pitch validly off-scale - (appending a flag like
?
) flag the note fuzzy, me lazy: Instead of raising an error, let the software infer from the current scale context the closest neighbour that belongs into the scale declared for a region beyond the scope of a "voice's part" of the measure for it is common to all voices playing. Ignore harmony function, i.e. risk that tonic regions are rather perceived dominant. The accepted answer proposed to allow by that indication context-sensitive chromatic alteration to a specific note or group of notes.