Changing Note Values Quickly. PLEASE HELP.ASAP

• Aug 9, 2015 - 15:51

Hi! So, I've written an entire score for concert band I really like. And it sounds amazing. The only problem this. The melody goes eighth note, sixteenth, sixteenth, eighth, sixteenth, sixteenth, etc. But I don't like how it looks on score. So here is what I want to accomplish. I would like to take all note values and essentially give them twice their value, so instead of going eighth note, sixteenth, sixteenth, eighth, sixteenth, sixteenth, etc, I would go quarter, eighth, eighth, quarter, eighth, eighth, etc. And essentially I would take the tempo (120) and change it to 240. I hope you understand what I'm saying. For the arrangement I'm making, there are really good resources that quarter, eighth, eighth but since I wrote mine differently I have a hard time comprehending the resources. Please, if you can, let me know how I can change the note values. Thanks.
~TheBandGeek


Comments

An often-requested plugin. I'm sorry, but it doesn't exist currently.

If the rhythm repeats itself a lot, you could manually create it once, duplicate it a bunch of times, and use re-pitch mode to quickly type in the notes.

A while ago I have created a awk (gawk) script which halves or doubles all duration for the whole score. It hasn't been tested extensively but I have applied it a couple of times on some of my scores and it worked.

The script is attached (I had to change the extension to .txt from its original .awk to upload here).
It needs to be run on a uncompressed *.mscx text file. See the usage notes inside the script.

If you're not familiar with running such scripts, you may attach your score here and I can try to convert it using my script.

Attachment Size
_durationDH.txt 6.48 KB

In reply to by The_Band_Geek

When you reply to a message there is a link at the bottom of the screen "File attachments". Once clicked it should expand and show a button "Choose file" (or "Browse" on some systems). Then you can browse you hard drive and select the score.

When you reply and attach the file I will get an email notification and I will try asap to run the script on your score.

Edit: I believe though that you only have a certain amount of time to edit your post and remove the attachment/link and probably if someone replies to your message you won't be able to edit it as well.

An other option would be uploading the score to your profile on musescore.com, make the score private and share the secret link either here or send it in a message (click my name and then "Send a message" button).

Hello,

I have the same issue.
I have downloaded the script but I don't know how to run it.
Can you please tell me how to run this script?

I am using Windows 7, Musescore 1.3.

Thank you!

Oded

In reply to by Oded Violin

Firstly, the script won't work with scores saved with MuseScore 1.3; you will need to use version 2.x. Note that you can have two versions of MuseScore installed on the same computer but scores edited and saved with 2.x won't open in 1.3 any more (unless you export to .xml from 2.x and import .xml in 1.3 but you may lose some details)

It would be recommended though to upgrade to 2.x anyway due to countless enhancements and bug-fixes available in the recent version which won't be fixed or back-ported in/to 1.3.

Secondly, create a backup copy of your score just in case something goes wrong.

Now back to script.

The advantage of it is that it preserves all formatting, lyrics, tuplets, slurs, line and page breaks etc. The disadvantage: you need to go through few additional steps and I have done only some limited testing (that's why my asking you to back up your score before you proceed any further). And still you will need to check if everything is OK and apply some manual adjustments where appropriate/required.

You need to download the utility from http://gnuwin32.sourceforge.net/packages/gawk.htm (complete setup). Also read installation instructions over there. After you download finishes execute the setup and install the utility. The setup will ask you for the location - you can accept the default ("C:\Program Files (x86)\GnuWin32") or make it shorter (e.g. "C:\GnuWin32"). In the example below I assume it has been installed to "C:\GnuWin32".

Then you need to save you score as uncompressed file (*.mscx) from MuseScore because it is actually a plain text file with xml content (resembling html code used on web sites) and note the location of this file, e.g. C:\Users\UserXXX\Documents\myscore.mscx

Save the script to the same folder as e.g.: C:\Users\UserXXX\Documents\_durationDH.awk

You need to execute the scripts in command line mode (use {Win-R} keyboard shortcut then type (no quotes) "cmd" {Enter} or Start > Accessories > Command Prompt). Once you start command prompt, it will open a console window, usually with a black background where you can type commands.

Navigate to that location by using CD (change directory) command in your command prompt window by typing:

C:
CD C:\Users\UserXXX\Documents\

Then you can execute the script to double the durations (-v mode=2 is default):

C:\GnuWin32\bin\gawk -f _durationDH.awk myscore.mscx > myNewScore.mscx
  or
C:\GnuWin32\bin\gawk -f _durationDH.awk -v mode=2 myscore.mscx > myNewScore.mscx

To half the duration, set the mode parameter to 1/2

C:\GnuWin32\bin\gawk -f _durationDH.awk -v mode=1/2 myscore.mscx > myNewScore.mscx

Now you can open myNewScore.mscx with MuseScore.

Additional notes:

  • there is also usage explanation and some examples inside the script
  • if the output file exists (specified after redirection character e.g. > myNewScore.mscx), it will be overwritten without any warning
  • folder names are examples only and you can adjust them freely (for sure there is no C:\Users\UserXXX folder on your computer)
  • if you file names contain space characters you need to "double quote" them
    C:\GnuWin32\bin\gawk -f _durationDH.awk -v mode=2 "score 1.mscx" > "score 2.mscx"
  • the same goes for spaces in the installation path:
    "C:\Program Files (x86)\GnuWin32\bin\gawk" -f _durationDH.awk -v mode=2 1.mscx > 2.mscx
  • if you will be applying the script frequently, consider adding C:\GnuWin3\bin\ folder to the system PATH variable (google for syntax and instructions); this can save you typing path before gawk command:
    gawk -f _durationDH.awk -v mode=2 "score 1.mscx" > "score 2.mscx"

    I have attached an updated version of the script fixing some issues with irregular (e.g. pick-up) measures. If the script still does not work properly for your scores, please let me know and I will try to fix it.

  • Attachment Size
    _durationDH.awk_.txt 7.91 KB

    In reply to by .m.i.r.o.

    If I understand correctly, your script basically takes an MSCX file, doubles all durations for chords & rests, also double measure length and adjusts time signatures, is that correct? So that there is no need to re-bar anything or change which notes are tied or break up or re-assemble tuplets; each measure contains the same notes it did before, everything incluing the measure itself is twice as long. Or half, of course.

    Assuming I am describing this correctly, I'd be curious to hear from people how well this approach suits their needs. Obviously, needing to run a script isn't ideal, but if people are OK with tie signature and measure lengths doubling / halving as well, I could probably implement something pretty similar in the code much more easily than what I had been envisioning trying to do.

    In reply to by Isaac Weiss

    My sense is that at least as often, people want to keep the measure lengths as is, and have the music reflow. Changing time signature would be very counterproductive if, for example, you were only doing this to one staff in a score and wanted to keep the rest of the music the same. Or were using it as a compositional device in a contrapuntal or serial context. One situation where I have heard people definitely want time signatures to change is to convert converting triplets to compound meter or vice versa, but that wouldn't be possible at all with this type of approach.

    So it seems that the approach being discussed is rather more limited than what has been asked for, in that it won't handle triplet / compound meter conversion at all, and would require an explicit meter change to reset back to the original time signature, and then manual re-evaluation of ties. Which is why I worry it might not be worth the effort. But if enough people say that even this limited form would be useful, then as I said, it *is* at least pretty easy.

    In reply to by .m.i.r.o.

    I just tried this on a v3.0 score and it worked! Just had to change the line where you check the version. Open the awk script in a text editor and on line 109, change if (substr(programVersion,1,2) != "2.") to if (substr(programVersion,1,2) != "3."). Then run as directed.

    Thanks .m.i.r.o.!

    Thank you very much for the detailed answer!

    I will need to upgrade to version 2 first, and then I will try everything you wrote.

    Thanks again
    Oded

    I just tried the plugin but I seem to be getting the same result when I say "mode=half" as I do when I say "mode=double". In either case, a 4/4 time signature becomes 2/4 and crotchets (quarter notes) become minims (half notes). I'm on Ubuntu and I tried awk and gawk but both gave the same result.

    For the sake of anyone else wanting to try this on Linux, it's as easy as:

    1. In MuseScore, save a new copy of your score as an MSCX file, e.g. "oldscore.mscx".
    2. Download the script and save it to the same folder as the score.
    3. Rename the script "_durationDH.awk"
    4. Open a terminal and paste in the following commands (Ctrl+Shift+V to paste in Terminal):

    cd ~/Documents/MuseScore2/Scores # change this line if you saved it somewhere else
    awk -f _durationDH.awk mode=double < oldscore.mscx > newscore-double.mscx
    awk -f _durationDH.awk mode=half < oldscore.mscx > newscore-half.mscx
    

    In reply to by shoogle

    I think you have missed -v before mode (at least it works that way with gawk)

    gawk -f _durationDH.awk -v mode=double < oldscore.mscx > newscore-double.mscx
    gawk -f _durationDH.awk -v mode=half < oldscore.mscx > newscore-half.mscx
    

    The default is to double the durations, so in both cases you were effectively calling the script to double.

    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.

    I am trying to do the same thing, but my issue is that whenever I type in the command, it says "gawk: fatal: can't open source file '_durationDH.awk' for reading (No such file or directory)" I've tried everything. Please help!

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