Compatibility of tranposing scores from 0.9.5 (0.9.6 regression)

• Jan 30, 2010 - 22:15
S2 - Critical

Steps to reproduce bug
1. Open a transposing score created in 0.9.5 or earlier (see "Transposing score from 0.9.5.mscx")
2. Click on the "Concert Pitch" button

Expected behavior: The D in the transposed score should display as C in the concert pitch score

Actual behavior: The D displays as D double flat in the concert pitch score

Discussion: We need to have a way to migrate old MuseScore files which contain <transposition>-2</transposition> to the new format.

MuseScore version: r. 2659 nightly

(Operating System: Windows XP)

Attachment Size
Transposing score from 0.9.5.mscx 4.27 KB


The old "transposition" equals to the new "transposeChromatic" value. Whats missing is to calculate a suitable "transposeDiatonic" value to determine a valid interval for the new scheme.

The following table comes from an earlier unpublished draft of the non-lossy transposition article . It maps maps each semi-tone with its most likely interval.

Semitone Interval association
0 Perfect Unison
1 Minor Second
2 Major Second
3 Minor Third
4 Major Third
5 Perfect Fourth
6 Augmented Fourth
7 Perfect Fifth
8 Minor Sixth
9 Major Sixth
10 Minor Seventh
11 Major Seventh
12 Perfect Octave

It works well for transposition of an octave or less. However there are a few instruments that transpose by more than an octave.

To test this:

  1. Open attached file "tenor sax from 0.9.5.mscz"
  2. Click "Concert pitch"
  3. Click "Concert pitch" again to switch back to transposing score

Expected behavior: The note displaying after step 4 should be the same as the note displayed after step 2.

Actual behavior: The transposition loosing the correct pitch spelling.

Discussion: Tenor sax transposes by 14 semitones. This a major ninth (equivalent to a perfect octave (12 semitones) plus a major second (2 semitones).

EDIT: added attached file

Attachment Size
tenor sax from 0.9.5.mscz 1.18 KB

Is this the same problem I just had in 0.9.5 when I transposed a piece from G to F and what should have been Bb were all shown as A#? If so it doesn't need raising as an issue.