cienicera / Koji

The First Onchain Generative Music Library. Deployed on Starknet
9 stars 11 forks source link

Voicing Implementation #50

Closed caseywescott closed 8 months ago

caseywescott commented 8 months ago

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]