Halve/double time values, or better

• Apr 3, 2015 - 23:23

MS truly needs a feature to halve or double all the note and rest values in a region. While the most obvious application of this might seem to be "a slight boon for writers of prolation canons", a perhaps better one is to correct imported music (be it MIDI or something better) whose author "customized" the note values to his or her taste, such as the eighth-note pulse of that Sarabande we just discussed, which Bach wrote as sixteenth-notes.

Multiplication/division by other than powers of 2 (e.g. 3) is conceivable.


Comments

It's *possible* this could be done via plugin - there was one for 1.3 that from my understanding at least partially worked. Something built in to the program is being considered for a future release.

In the case of your MIDI example, probably better to just use a MIDI program to fix it before importing.

I'll second that request! (It should also do the right thing with time signatures around the beginning and end of the region.)

Another application would be "customizing" the notation of folk and traditional tunes to taste, or to make medleys or collections consistent. For example, I've seen reels written in either 2/4 (with 16th notes) or 4/4 (with 8th notes), intended to be played with the same feel. I've also occasionally seen waltzes notated in mostly 8ths in 6/8, when mostly quarter notes in 3/4 would more accurately imply the tempo. In the 6/8 to 3/4 case, each original measure becomes two new ones.

(And yes, I use ABC notation too. And I also respect the traditionalists who see "dots" as a last resort in primarily oral/aural traditions.)

In reply to by John Kilpatrick

I have a perl program that halves the note/rest and other pertinent values, if anyone is interested.

You can obtain it from //www.tobit.co.uk/mscore/mscore-halve

Just run the program for instructions. It is a perl program so that you can look at it first to check that it won't do anything nasty. It has been tested on some quite meaty files that have been converted from Finale produced musicxml as well as normally entered native mscore files.

It is not a plugin, it takes a file.mscx or file.mscz and converts it into file-halved.mscx.

It has only been tested on linux perl, you will need to have the XML::LibXML (CPAN) package installed, but most modern distros will have it available as a package (debian: apt-get install libxml-libxml-perl). After download you will have to make it executable or run it as perl mscore-halve ....

It will only work on MuseScore version 2 or greater.

Lemme know if you find bugs or want to suggest enhancements.

When I am hopeless and dream about the end of World and I need to convert a good deal long score, I use this procedure for hopeless people:
a) Install abcmidi in Linux, Ubuntu
sudo apt-get install abcmidi
b) Export a tune into mysong.mid from Musescore
c) convert file into abc
midi2abc mysong.mid > mysong.abc
d) edit mysong.abc in any text editor
Found the line starting with "L:" in the header, say
L: 1/8
Edit it
L: 1/16
to diminute (shorten, halve notes' duration)
L: 1/4
to augment (lengthen, double notes' duration)
Save the file
e) run command:
abc2midi mysong.abc
It generates a new file: mysong1.mid, which is to be imported into Musescore and edited.

Well, a little bit clumsy but it works. At least when I am totally "desperados"... :-)

In reply to by Jeroným Klimeš

I don't use this abc format (so, no way for me by now to check your process).
But have you read this thread? https://musescore.org/en/node/127191
In particular: https://musescore.org/en/node/127191#comment-576251
After some experience, it works rather good (or not badly) when you are aware of the limitations (triplet, the first one!)

If you want, attach one of your scores for a new test by this way, ie: xml, 1.3. plugin, etc.

In reply to by Jeroným Klimeš

"I do not think it is an elegant solution"
Agreed with you, of course. Just a work around.
For an "elegant solution", I fear we need programmers motivated and possessing time to implement this feature. For now, apparently, they do not jostle at the gate! :) or :(
Meanwhile better, who knows?
"it just works, when you really need it..."
It's also my thought.

Perhaps this suggestion would push the philosophy of note entry a little too far for comfort, but it might be worth a thought.
a) an option flag to allow entry of wrong-length notes into bars without creating rests or overwriting adjacent notes or overflowing into the next bar
b) improved selection options to allow all notes of a certain value to be selected, treating dotted notes as distinct values (also the same for rests - or, better, allow notes and rests to be selected at the same time)
c) then to double note values:
- select all of the longest note value (e.g. semibreve); replace all with double the length (e.g. breve)
- select all of the next longest (e.g. dotted minim); replace accordingly (dotted semibreve)
- keep going till all note lengths are replaced
d) same again for rests, if it is not possible to select notes and rests together
e) correct the time signature(s) i.e. double them e.g. 4/4 to 4/2
f) reset the option flag to prevent further entry of wrong values
(Of course, a "double all" would be more efficient, but I'm thinking that the ability to select a specific note value could be valuable in its own right - e.g. without using the wrong-value flag it could be possible to convert all semibreves to dotted minim + rest)

In reply to by John Kilpatrick

Some of those ideas are fine, but others don't really make sense.

For example, consider what a) might actually mean. The only time entering a rest ever creates a rest is if you replace an existing note or rest with a shorter one. In this case, it is musically necessary to add a rest to prevent subsequent notes from moving earlier in time. However, maybe you *wanted* subsequent notes to move in time. That's fine, but how could MsueScore possibly know *how many* subsequent notes you want moved? Just one? All notes to end of measure? to end of piece? Let's say it guess, all notes to end of measure. Well, now they are moved ealrier, and your measure now is too short - it has the wrong number of beats. Do you really want that? probably not. So what should MuseScore do instead? The answer depends entirely on the real world problem you are trying to solve. So, like, what mistake did you make entering notes originally that you are trying to correct, or what change are you trying to make to existing music and why. It's the answers to questiosn like this that would determine how any such facility might actually need to work/.

b) exists already in the upcoming 2.1 release, but unfortunately not c), so it probably doesn't help. c) is something many people would like, but it also falls under the category of much easier said than done, because handling all the difficult cases (what to do about tuplets, about beaming, about notes that now cross barlines, etc).

In reply to by Marc Sabatella

Yes I'd have to agree: I think it would only be in the very specific context of halving note values that one could say that changing (say) a minim to a crotchet should move all subsequent notes (or existing rests) to the left, because by the time all note values were dealt with then exactly half the bar would be full - and if no added rests would be there then changing the time signature would correct the mismatch between notes and bar length.

Actually, of course, I'm well used to being able to put notes of any length in a bar, regardless of time signature - in Overture. It's worked for me for 14 years or so. The annoyance to people who use that feature to change the rhythm in a previously completed bar has been that while changing a crotchet to a minim does just that, changing a minim to a crotchet leaves an unwanted rest, which then has to be deleted with another key press. The rebar function, and the "show incorrect rhythms" function, help to look after all the inconsistencies that can arise from this free-for-all approach.

I'm not hankering after that sort of thing in Musescore, of which I have become quite fond, but, like others, I've wanted to double (or halve) times on several occasions. Guess my actual method ... save as XML, read into Overture 4, go through the note change rituals, read the result back into Musescore.

Hey all,

Seems this discussion is pretty old, but I ran across it when I was trying to double some music I found online. Existing plugins didn't seem to do the trick, so I actually went ahead and ported the Doubletime plugin to Musescore 3.0.

If you're like me and come across this thread searching around, you can find my port here: https://musescore.org/en/project/doubletime-30

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