Implemented Voicing to be defined as an Array of PitchIntervals representing modal steps from a given PitchClass.
Amended PitchInterval to have an Optional quality field.
This will be helpful when we are generating chords from a given PitchClass of different inversion types. This is a vast improvement to our current pattern - It's more optimized than each element in the array being adjacent modal steps.
Example of new Implementation: first position triad for Pitch C, Major Key: [2 steps Up, 4 steps Up] -> [C, E, G]
Implemented Voicing to be defined as an Array of PitchIntervals representing modal steps from a given PitchClass.
Amended PitchInterval to have an Optional quality field.
This will be helpful when we are generating chords from a given PitchClass of different inversion types. This is a vast improvement to our current pattern - It's more optimized than each element in the array being adjacent modal steps.
Example of new Implementation: first position triad for Pitch C, Major Key: [2 steps Up, 4 steps Up] -> [C, E, G]