When silently changing the key to enharmonic equivalent during transposition, change notes too

• Sep 12, 2012 - 16:12
S4 - Minor


- open attached file, there are two keys, F# and Ab
- transpose by key, Closest to F Major/ D minor

expect: all notes should be in tone, without any accidental
actual: two notes in measure 2 have accidental


Attachment Size
transpose-Fs-Ab-2.png 20.76 KB
transpose-Fs-Ab.png 21.21 KB
transpose Fs Ab.mscz 1.81 KB


Using 45c50c1, I cannot reproduce the problem described in issue 4901. Therefore 4901 might have been fixed already.
However, the problem described here (18147) is not fixed in 45c50c1.

No. I had a pull request (don't remember which #) addressing this issue, but it received no comments for a long time. So I decided to close it, since I didn't want to merge in all the new commits of the main branch, which often required manual changes.

Pull request 79 was about not creating key signatures with more than 7 accidentals (such as D# major) when transposing a score. In this issue this was no problem, because Abb major (consisting of a double flat root) would not have been created by the former function.

I didn't find this on Marc's updated issue hit list. So I just wanted to bring it back up because it's still active.

Title transpose a song with key F# -> Ab to F -> G issue When silently changing the key to enharmonic equivalent during transposition, change notes too

If I understand correctly, the problem is the following:

In the original, the second key is a diminished third higher than the first: F# to Ab. Or, equivalently, it has 10 fewer sharps / more flats (6 sharps to 4 flats). When you try to transpose this to F, that means the second here show technically be Abb - a key with 11 flats. Since we don't support keys like that, we silently change this into the enharmonically equivalent key of G, but we don't similarly change the spelling of all the notes to their enharmonic equivalents for the key of G.

I've updated the title to reflect this understanding. To me, it's a pretty minor problem - it kind of makes logical sense that this would happen, it's not likely to come up very often and also easily worked around by selecting the passage and pressing up/down or down/up as appropriate. But it's also perhaps not terribly difficult to fix.