ddycai / chord-transposer

Node library for transposing musical chords within text.
https://ddycai.github.io/chord-transposer/
MIT License
58 stars 23 forks source link

Add A# Key Signature ? #13

Closed jcdevz-dev closed 3 years ago

ddycai commented 3 years ago

A# is the same as Bb so you should be using that key signature instead.

geoioanid commented 3 years ago

I realise that this issue may be considered closed, but adding A# as a key signature can be really helpful when chord-transposer is combined with other chord parsing libraries like momo-chord or chord diagrams.

Imagine when the transpose function is ran on single chords like transpose('A#'). In this case, A# is not considered valid, and stays unaltered, even though all the other notes behave as expected.

A possible workaround for this is to search for A# instances in text, and replace them with Bb, before you transpose it. that can be troublesome and adds complexity in using the library.

ddycai commented 3 years ago

That's a good point! I definitely don't want the auto key signature detection to get in the way of transposing arbitrary chords. I will work on a change that falls back to some default key if there is no valid key signature. A# is definitely a valid chord in some key signatures, it's just not typically a valid key signature itself.