ChordSheet has a smart transpose feature, which is enabled with a LongPress on the screen. It brings up this dialog box for you to choose the number of semitones to transpose…
|
Each semitone corresponds to a fret on a guitar or a key on a piano. Transposing from “C” to “D” is 2 semitones.
Geek Alert! Programming the transpose is easy but figuring out whether the resulting note should be displayed as a sharp or flat is difficult. Take the case of transposing up 1 semitone from “C”. Is that “C#” or “Db”? Are the notes of the “C + 1” scale: C#, D#, F F#, G#, A#, C? Or, are they: Db, Eb, F, Gb, Ab, Bb, C? And, how can you tell? You have to know the key that the song was written in. There is a non-standard ChordPro extension, which is used by most programs to do this:
{key:C}
If this directive is specified, then QED. But, many songs don’t have this directive. When the key is not specified, the program has to be “smart” enough to figure it out. ChordSheet makes a pretty good guess, but I’m looking for difficult testcases, so email me anything doesn’t work, so I can increase the program’s intelligence.