mirror of
https://github.com/kennethreitz/pytheory.git
synced 2026-06-21 15:00:57 +00:00
426ceafe19
Key.detect and Scale.detect compared note spellings, so "A#" never matched a scale spelled "Bb", and keys whose scales render with mixed spellings (A# major contains both "A#" and "Bb") got inflated match counts and won far too often. Both now compare pitch classes. Key.detect breaks ties by tonic-then-fifth presence (A-C-E → A minor) and reports conventional spellings (Bb major, never A# major). Transcription feeds full chord tones, not just roots, into detection. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>