Non-lossy transposition

Project:MuseScore
Component:Code
Category:task
Priority:normal
Assigned:Unassigned
Status:active
Description

MuseScore transposes to the correct pitches but frequently spells the pitch incorrectly. This becomes critical when switching between concert pitch and written pitch for transposing instruments. For example:

  1. Create a new score for Bb trumpet
  2. Add a B flat to the score
  3. Notes > Concert Pitch (to switch to concert pitch)
  4. Notes > Concert Pitch (to switch back to written pitch

Expected behavior: In step 4 you should see the B flat as written in step 2

Actual behavior: In step 4 the B flat is respelled as A sharp. Although it is obvious and easy to correct when you have only one note, it is less obvious when you are working on a full score and the correct pitch spelling is lost.

Discussion: I am not yet comfortable with C++ and Qt to code this but I wrote up the details necessary to implement non-lossy transposition. See Interval transposition in MuseScore.

#1
#2

See also octave doubling

#3

The new interval-based transposition works reliably for me (unless the transposed notes get into triple sharps/flats and then MuseScore hangs).

In the key-based section of the transposition dialog I originally proposed a drop-down menu with the letter names only. This works in Sibelius because it distinguishes between major and minor key signatures and can easily detect if the current selection is C major or A minor for example. MuseScore does not distinguish between major and minor keys that share the same number of sharps or flats. Therefore I changed the drop-down menu from single letters to the full key signature names (e.g. "C major / A minor" instead of simply "C") in r. 2599.

#4

The hang on triple sharps/flats (they are reduced to double sharps/flats) is fixed now.
The "add interval" commands now use the same algorithm used for transposition by interval.
Still work in progress...

#5
Title:Non-lossy transposition» Non-lossy transposition (0.9.6)
Category:feature request» task

Targeted for 0.9.6 stable.

Summary of known remaining issues

#7
Priority:critical» normal

Remaining issues are normal priority.

#5007: Transpose chordnames does not preserve pitch spelling

#8
Title:Non-lossy transposition (0.9.6)» Non-lossy transposition
#9

I'm new here but i noticed that in transposing using key names does not cause the chord names to change at all. Using interval-based transposition does cause the chords to change; however, in going up a major 2nd from Bb Major to C Major, the Bb Major chord is rendered as B# -- ouch. Transposing up a Major 3rd caused the program to freeze.

This is version 0.9.6 beta on Ubuntu.

#10

Subito, I would be helpful if you first follow my instructions in your other thread on the forum:
http://musescore.org/en/node/5752

Please continue the conversation on that forum thread not here on the issue tracker. If you still have problems attach a score and include step-by-step instructions to a comment in that thread.

http://musescore.org/en/handbook/how-report-bug-or-ask-support

Syndicate content