StaticfindAttempts to identify an Urlinie (fundamental melodic line) in a melody.
Looks for a descending stepwise line ending on the tonic that covers a 3rd (^3-^2-^1), 5th (^5-^4-^3-^2-^1), or octave (^8-^7-...-^1).
Returns null if no clear Urlinie is detected.
Melody notes (12-TET).
Key, e.g. 'C major'.
StaticgetStaticprolongationReduces a chord progression to a simplified structural level.
'background': only tonic and dominant (the first chord is taken as the tonic).'middleground': merges consecutive chords on the same root (C C7 → C).'foreground': merges consecutive identical chords (same pitch classes).
Basic Schenkerian reduction (approximate): Urlinie, Ursatz and structural levels of a progression.