Move Selection Diatonically

• Sep 24, 2009 - 18:54

Is there a way to move a selection diatonically, instead of chromatically?

MuseScore doesn't seem to have symetry between mouse and keyboard actions. That is, there are some actions which are only available via the mouse, and others only via the keyboard.

In this case, it appears that MuseScore:

1. Allows diatonic transposition via the mouse, but not via the keyboard;
2. Allows chromatic transposition via keyboard, but not via the mouse;
3. Allows transposition of selected items via the keyboard, but not via the mouse.
4. Using the arrow key on a selected block of items doesn't transpose it, but extends the selection.

So it seems that MuseScore can only transpose selections (blocks of items) chromatically.

This is unfortunate, since diatonic transposition of a selected group is extremely useful. I've gotten used to having it in other programs (*cough*noteflight*cough*) and it makes operations such as these really, really easy:

1. Double a melodic line in thirds or sixths.
2. Copy a bass motif, but transpose it to fit the harmony.
3. Copy an accompaniment pattern, but transpose it to fit the harmony.

With diatonic transposition, these operations are childishly simple.

Is there some magic key combination I should be using to do this? I've even broken down and read the manual, but not seen anything.


Comments

In reply to by David Bolton

The option under Notes | Transpose is a chromatic transposition, which will not work for the requested purpose.

Hopefully this will clarify. Imagine I had this nifty bass line:

C E G B

Now, I'd like to re-use the bass line on the following measure, so I copy and paste it in. But the harmony for the next measure is Dm7, not CMaj7. If I press the arrow key once, I raise the notes by a half step:

C# F G# C

Pressing it once again gives me:

D F# A C#

which would be great, if the harmony were DMaj7.

Using Notes | Transpose in the menu gives me the same result.

Diatonic transposition would have altered the note name, and possibly (depending on the implementation) dropped the accidental. For example, in NoteFlight, pressing the Up arrow transposes diatonically, while pressing Shift+Up transposes chromatically. (Shift+Up is used to extend a selection in MuseScore). So if you applied diatonic transposition, you'd get:

D F A C

as the pitches on the staff. Of course, the accidentals of the key signature would still be in effect. Transposing diatonically by two degrees would yield:

E G B D

So diatonic transposition moves to the next scale degree, rather than moving by half steps.

As I mentioned, this is really useful. For example, I can slap together an accompaniment in no time, and then go back and use Ctrl+Arrow to tweak notes into the proper octave. This is much faster than entering it manually again and again.

Importantly, it's not something that you can do via chromatic transposition.

As far as I can determine, diatonic transposition is only available by clicking a single note and dragging it. So MuseScore knows how to do it, but it's only available from the mouse, and only for single notes.

From a usability point of view, this is baffling. For the average user, diatonic transposition is immensely more valuable than chromatic transposition. The way that MuseScore implements this makes the user work much more for what appears to me to be an infrequent case.

Even from the point of view of moving a single pitch up and down, for the vast majority of purposes, I want the pitch to move diatonically. For the times otherwise, I can add a sharp or flat manually. Or like NoteFlight, there could be another key combination for chromatic transposition.

Did that clarify things?

In reply to by dcuny

i agree, this is essential. I just barely discovered MuseScore and am trying to learn the note entry. I am switching from Noteworthy Composer, which is a simple, but very efficient editor. I am really used to this feature and it cuts the entry time down to a fraction of what it would be. even if it's a single-note line, you might repeat the phrase shifted up or down.

After almost a year, I was wondering is there has been any new in this topic.

I know that transposition is a can of worm... but diatonic transposition is very useful; to me much more useful than the current chromatic transposition.

Shall I file an issue?

Thanks,

M.

In reply to by Miwarre

Diatonic shifting is natural to the way notation works. I don't know of any other notation program that doesn't do this! There should just be a check-box for all situations of transposing for diatonic versus chromatic. There should even be a modifier key for moving with mouse or keyboard that creates either diatonic or chromatic shifting.

Furthermore, this is not a subtle nit-picky detail. Diatonic transposition will probably be used far more often by all users than chromatic transposition. This should be a HIGH PRIORITY item.

How to currently do diatonic transposition:
Select all the notes you want, then hold down command (mac, I'm guessing control on Windows/Linux) while dragging with the mouse. Only problem is that accidentals get lost entirely, which is definitely not cool. But this is something, kinda...

Thanks to stickwolf for the workaround! Is it documented in the manual? If not, it should; if yes, it is probably in a hard to find place...

However, I found a problem with this workaround, at least in 0.9.6.1: if one or more bar lines are within the sequence of notes selected and dragged, they are dragged and 'transposed' (translated up or down) too! This requires coming back and restoring the proper placements of these bar lines.
___________________________________________

Coming to the issue of accidentals: iodom's example depends on cases and on styles. For example, I use MuseScore mostly for transcribing Baroque music (or earlier) and I would need diatonic transposition mostly for copying and pasting imitated passages and/or progressions. For instance, progressions are used both 'within key' (where the key is the current key, not necessarily the key of the key signature) and to modulate.

1) In the first case (progression 'within key'), iodom's example would progress this way:
g a b-nat / a b-nat c / b-nat c d / c d e / d e f / ... keeping in the same key (presumably a temporary C Maj/A min within the F Maj of the key signature).

2) In the second case (progression used to modulate), the same example could finish as in:
g a b-nat / ... / c d e / d e f# / ... in order to modulate to G Maj.

Of course, we cannot expect MuseScore to divine
a) if we intend case 1 or 2,
b) which is the current tonality (hints for this also depend on styles),
c) in which tonality we are aiming to modulate (not necessarily a near one).

(And all this is without mentioning the complexities of progressions in minor keys...!)

So, I expect any built-in diatonic transp. function will work like the current Ctrl+drag workaround (maybe without dragging the bar lines... <g>) and I would be content with it.

Thanks,

M.

In reply to by Miwarre

First, I believe you can choose to select the notes only and not the whole measures (via either drag-selecting, command-clicking, or by right-click and select similar when appropriate) and then the bar-lines don't move.

Second, while there are definitely times when diatonic transposing would want to eliminate accidentals, the standard behavior usually is, and should be, that the accidentals are maintained. It is a very simple process: if you are moving notes, you would expect everything to just move, which means that accidentals are moving too. Think of it visually: you just grab the items and move to a different line or space, accidentals should come along. It is easier to then delete the ones you don't want than to go back and check which ones were deleted and put them back. Obviously the visual analogy isn't perfect because sometimes a natural will have to become a sharp etc., but the idea is simple: if the note is out-of-the-key to start with because of an accidental, then the assumption, the default, should be that when you transpose you have the same situation overall.
But it could be a preference users could choose ideally. Even better, a modifier could be used to alternate behavior.

In reply to by wolftune

I didn't explain myself correctly when I gave my example, but stickwolf clarified using his visual example. Even though there are times when accidentals are not need, it is nice to have a visual reminder especially if you just moved /copied/transposed a significant portion of music.

My only gripe of the current system is just that when you drag a selection of music (ctrl+mouse) away from where it started back where it started, the accidentals get lost. My request (and probably stickwolf's too) is when a note has an accidental and is being moved, the accidental should have visual reminder that it was altered before. example: if you move a F-natural in the key of G major up to G, it would be nice recall that a natural was used to alter the note (ending up as a G-natural, with natural sign, even if the natural lowered the note in the first place). In my opinion, it is not necessary to implement anything more than just keeping the accidental when moving the notes diatonically. My reasoning is because once you get into double-sharps and double-flats when moving a selection, it'll get messy if one tries to implement based on how the note was altered originally from the key signature.

This part should be on a different forum. Recently (either 0.9.6 or 0.9.6.1) when I would move a selection with my mouse, the note I was dragging on was not the same distance as the other notes during the drag process. The selection would be transposed fine, I just had to not pay attention to the note I was moving. If I can replicate this, I'll submit it as a bug.

Edit: I also support to have an option to say if you want the accidental to move with selection, or just to keep the accidental to stay on the note where it was modified and not any other note. Or another option you can implement only the note that was modified to only modify that note (ex. in the key of C-Major, d-e-f# becomes f#-g-a). So three options for diatonic transposition.
1. Move the whole selection, with only the note that had an accidental keeps that accidental (key of C-major, when you move a f# to a different note, it will not have a sharp sign. the f becomes a sharp only in different octaves. A little clearer, d-e-f# becomes f-g-a when moved, but during the move if you move back to d-e-f#, it shows the f as sharp)
2. The accidental stays throughout (key of C-Major, d-e-f# becomes f-g-a#) mainly for visual purposes to edit
3. Only the note that was modified stays throughout the selection, plus (ex. in the key of C-Major, d-e-f# becomes f#-g-a)

tldr. Accidentals should stay when being moved with the notes you are moving with the ctrl-drag method. No need for accidental to change (ex. natural to flat), even if it doesn't make sense (aurally, visually).

In reply to by iodom_

Stickwolf: your 'visual grabbing' example is crystal clear and I am sure it works fine for you; my point was that the music I mostly deal with works differently (or in many cases differently). For my needs, the default case should be 3. of iodom list; or case 1. as second choice. But case 2., which seems to be the most useful for you, usually makes no sense for me.

I am not saying that I'm right and you are wrong (or vice versa); rather that the music I usually deal with seems to work in some way and the music you usually deal with seems to work in some other way, at least for some aspects.

MuseScore being a general purpose notation software, I think it should not enforce (or favor) a particular style (or convention).

Now, a general observation: if I had to go through a dialogue box selecting options or to remember lots of key combinations for different behaviours (cursing when I use the wrong one for that particular case), I believe in many instances re-typing the second passage would be probably faster and surely simpler than copying, pasting, transposing and fixing it...

Just my 0.02 €

M.

In reply to by wolftune

This is how I tested it (on 0.9.6.1):

1) click on the first note to select
2) Shift-click on the last note to select
3) Ctrl-drag up or down to transpose: if the selection is across bar lines, the bar lines are shifted up / down too.

This is probably a bug.

The same happens if the selection is extended via Shift-arrows.

M.

In reply to by Miwarre

Definitely that's a bug because I doubt anyway would ever want to grab a bunch of notes to move and also move the bars. And there's certainly a value in being able to just select whole measures and do this.

Still, you missed the workaround. It really does work.

I was wrong about shift-dragging. Here's the two ways to select notes, but NOT select measures:

right-click a note and choose select similar (or more... for options)

or command (mac) / control (W/L) CLICK EACH note you want to move.

I finally found the way to apply a diatonic transposition to a selection of notes.
In the manual, you are supposed to use the CTRL key, but it doesn't work under Mac Os X.
But if you select some notes (Command + Click) and the drag the one of the selected notes while you press the Command Key, you can transpose in a diatonic way.

It doesn't work if you select notes using the shit key, but if you select notes using Command or using the contextual menu (selection), then dragging notes up or down while pressing Command does the trick.

No plugin needed :-)

If it's still a question, or anyone like me came here to find the answer. In MuseScore 4 it works for me on Windows the following way:
shift+alt + up or down key

Do you still have an unanswered question? Please log in first to post your question.