Skip to content

How to get the chord name from the scale degree? #474

@fxpar

Description

@fxpar

Very nice library.
Has someone found an easy way to go from a random scale degree to the chord notes?
I am missing the link in between these steps, because chord.notes requires a chord name, but Scale.degrees only provides a note name or an interval, not a chord name; and Key only has a major and minor scales functions to get KeyChords notes.

Notes from the VII degree chord of C major

INPUT scale="C major" degree=7

----> Tonal.Scale.degrees(scale, degree) = "B"
-------> how to go from the scale degree note B to the chord name:Bm7b5?
-----------> Tonal.Chord.notes("Bm7b5") = [ "B", "D", "F", "A" ]

The Tonal.Chord.degree("m7b5", "B") requires to have the chord name too. How to get that chord name m7b5 from scale "C major" and degree 7 ?

Of course the ideal solution should work with any other key major, minor (natural, melodic, harmonic) or pentatonic and any degree, which rules out the solution Tonal.Key.majorKeyChords("C")[7].name or Tonal.Key.minorKeyChords("C")[7].name, only working for major and minor scales, not for other minors, pentatonic or beebop.

Image

Any help much appreciated 😉
Cheers

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions