NinSheetMusic Forums

Important Stuff => Help Guides => Topic started by: cacabish on July 22, 2021, 01:27:04 AM

Title: Formatting in MuseScore & Exporting to Finale
Post by: cacabish on July 22, 2021, 01:27:04 AM
Overview

This is a guide on one particular method of how to format a MuseScore sheet so as to try to minimize the amount of work required in Finale or Finale Notepad.
Why? Because MuseScore is awesome and Finale Notepad is not! So, let's try to maximize the amount of stuff we can do in the superior program and leave only necessary fixes to the inferior one. 8)

This guide will cover the following things:
For this guide, I will be using MuseScore v3.6.2 and Finale Notepad.
Different versions of MuseScore may have more or fewer issues than listed here. I'm also going to assume to know how to use MuseScore well enough (like how to add notes, articulations, slurs, etc.).
As for Finale, full Finale has tools to fix every and any issues, but Finale Notepad does not so I will be taking the lesser of the two here and cater the guide around Finale Notepad.

I am also going to avoid going to into gory details here. I go into more depth in the slides that I used for the presentation that motivated this guide. You can find the slides [here] (https://docs.google.com/presentation/d/1GRke_Os5GHUjb0DcwWp3jfouqjXhxi_bStvNWM9oAWc/edit?usp=sharing). You should check them out!
Title: Re: Formatting in MuseScore & Exporting to Finale
Post by: cacabish on July 22, 2021, 01:27:18 AM
Creating a New Sheet

Here, I'm going to show you how I create a new sheet so that all the relevant information is all in one place. You don't have to do it this way, but I am! :P

Create a new sheet like you normally would (be it click the icon, Ctrl + N, or File -> New...).

(https://www.dropbox.com/s/nuh7bta1oabxtm8/newScore5.png?raw=1)
Everything after this is just standard. Pick your instruments (I'm going to assume solo piano), key signature, time signature, and tempo. Et voilà! A brand new sheet! :)
Title: Re: Formatting in MuseScore & Exporting to Finale
Post by: cacabish on July 22, 2021, 01:28:11 AM
Applying a Style to a Sheet

Now, we need to format either our newly-created sheet or a pre-existing sheet so it looks like an NinSheetMusic sheet. We do this using a Style.
A Style is a template containing lots of formatting options, such as margins, font sizes, and positioning data.

To save some time and effort, I've gone ahead and made some basic style files that you can use. I go through the details of making such a style in the attached slides located above.
While there are two files here, the only notable differences between them are the staff spacing and font sizes. If you don't know which to choose, choose the 1.625mm one.
NOTE: These are neither perfect nor endorsed, they are just a good starting point.
Once you have your style, you can load in into the sheet by going to Format -> Load Style... and selecting the style file you wish to load.
Now, MuseScore will automatically format most things in the new style and your sheet should start to look more like an official NinSheetMusic sheet!
There are a few things we might need to adjust now that the style is loaded.

What if I want to adjust the margins or staff spacing?
Ordinarily, it'd be quite simple, however, due to a MusicXML oversight in MuseScore v3.6.2, it's not.

I'll talk about the margins first and staff spacing second.

The settings are located in Format -> Page Settings... and the checkbox Two sided should be unticked. Unticking this means we have one set of margins for every page, which is what we want! Unfortunately, once exported to MusicXML, the margins will be separated between even and odd numbered pages, which is a problem if your left and right margins aren't equal because MuseScore is built so the left margin on odd-numbered pages is always the same as the right margin on even-numbered pages, which is not what we want.
If we just tweak the values here, when we import into Finale, we'll find a small left-margin and a fat right-margin on even-numbered pages and it doesn't look good.

How to overcome this? First, experiment with what values you want in the Page Settings menu, but don't set them here! Now, save the style you currently have by going to Format -> Save Style... and save it somewhere and remember where you saved it! Next, open that file you just created in a text editor like Windows Notepad, Notepad++, Sublime Text, VS Code, etc. It's okay, it's just an XML file, which any text editor can read.

When you open it, it'll look like this:
(https://www.dropbox.com/s/9ucr7nnnuty0rox/styleFileUnedited.png?raw=1)

Fortunately, what we're interested in is right at the top.
The values we want to adjust are right at the top of the file. I'll now explain them.
  • pageEvenLeftMargin (line 7, in the image) - this is the page's RIGHT margin's value in inches. If you want to adjust the page's RIGHT margin, change the number between the tags.
  • pageOddLeftMargin (line 8, in the image) - this is the page's LEFT margin's value in inches. If you want to adjust the page's LEFT margin, change the number between the tags.
  • pageEvenTopMargin (line 9, in the image) - since our sheet is not two-sided, we can ignore this value.
  • pageEvenBottomMargin (line 10, in the image) - since our sheet is not two-sided, we can ignore this value.
  • pageOddTopMargin (line 11, in the image) - this is the page's TOP margin's value in inches. If you want to adjust the page's TOP margin, change the number between the tags.
  • pageOddBottomMargin (line 12, in the image) - this is the page's BOTTOM margin's value in inches. If you want to adjust the page's BOTTOM margin, change the number between the tags.
If the values you want are in millimeters, you'll need to convert them to inches and then enter them. Ask the omniscient Google if you need to!

For example, suppose I want to change the right margin to 0.5 inches. Then, what I'll do is go to line 7 (where it says pageEvenLeftMargin) and replace the 0.590551 with 0.5 and then save the file.
As another example, suppose I want to change the top margin to 14 millimeters. First, I'll Google what 14 millimeters in inches is (0.551181 inches) and then, what I'll do is go to line 11 (where it says pageOddTopMargin) and replace the 0.5 with 0.551181 and then save the file.

After you've made your adjustments, make sure you save the file and then go back to MuseScore and reload the style by going to Format -> Load Style... and selecting the file you just modified. That's it! Yes, it's tedious. Yes, it's hacky. Yes, it's annoying, but until that bug is fixed, it's the best way unless you want to modify the MusicXML file every time you export.

So, in summary, here's the method:
  • Experiment with the margin values in MuseScore, but don't save them.
  • Save your style by going to Format -> Save Style... and remember where you saved it.
  • Open that file you just saved using a text editor like Windows Notepad.
  • Convert your desired value to inches by asking the almighty Google, if necessary.
  • Replace the number next to tag corresponding to the margin(s) you wish to tweak with what you want.
  • Save the file.
  • Reload the style by going to Format -> Load Style... and selecting the modified value.
  • Done.

Oh yeah, if you want to modify the staff spacing, that value is in the same file, right at the very bottom.
(https://www.dropbox.com/s/lsha1w0ykxjwdpl/spatium.png?raw=1)

It's the value called Spatium (line 1269 in the image) and its value is in millimeters, not inches. Basically the same approach as before applies.
  • Experiment with the values in MuseScore, but don't save them.
  • Save your style by going to Format -> Save Style... and remember where you saved it.
  • Open that file you just saved using a text editor like Windows Notepad.
  • Convert your desired value to millimeters by asking the almighty Google, if necessary.
  • Replace the number next to <Spatium> with what you want.
  • Save the file.
  • Reload the style by going to Format -> Load Style... and selecting the modified value.
  • Done.
[close]

Asserting the Score Metadata
Underneath MuseScore's hood, there is a place where information about the score is stored.
This information will be passed on through MusicXML to Finale, so it's important it be correct. This is especially relevant if you use a template file as this information is likely from the sheet you copied from and is likely now wrong.

To access this information, go to File -> Score Properties... and you'll be greeted by a dialog box of information.
(https://www.dropbox.com/s/ouvwxb9avhsmjs9/scoreProperties1.png?raw=1)
Note: Depending on what version of MuseScore your sheet is from, you may have extra fields that aren't shown here.

Some of these fields are essential and matter a lot, but most of these fields really don't have an impact in MuseScore, MusicXML Cleaner, or Finale. Nevertheless, it's still a good practice to do.
Anything not listed here is (likely) not important.

Adding Composer and Arranger Info
If you're using a pre-existing sheet, you might not have used the "put the arranger information in the lyricist box" that we did earlier and now your composer and arranger information is messed up.
Fret not! you can simply go to Add -> Text -> Lyricist or Add -> Text -> Composer and then enter the information and it should be properly formatted! You can then delete the old ones if they are not good.
And yeah, you would think it would just insert the values from the Score Properties window, but nope!

Adjusting the Header Frame's Height
Firstly, if your composer information needs to be on multiple lines, do it now! Just double click it and edit it like you would normally.

Now, you might notice that the composer and arranger information are a bit too close to the title and subtitle.
For whatever reason, the height of the frame that holds the title, subtitle, and such isn't saved in the Style file, so we have to manually adjust it for each score individually. A pain, for sure.

(https://www.dropbox.com/s/fjtizf68sucsbhs/postStyleHeader1.png?raw=1)
First, select the frame (you can do this by clicking anywhere empty in that dashed rectangle. If you want to see the dashed rectangle, but can't, check the box in View -> Show Frames).
Now, we can change this height in two ways:
You should make it as tall so as to provide ample space... and then some. I find that, upon import, the height is shrunk a bit, so if they're close together in MuseScore, they'll be closer together in Finale.
In general, I find that you should go no smaller than 15.00sp for single-line composers and 17.00sp for two-line composers, but you should probably add 1 or 2 sp. to that.

Removing "Pno." from Systems 2+
The Style sheets untick a box that causes "Piano" to appear on the first system and "Pno." on every subsequent system. For a solo sheet, we want to get rid of the "Pno."
That's it! You can now begin arranging as you normally would. Add notes how you like, add accidentals & slurs how you like, etc. However, you'll want to be aware of some formatting options to make your sheet the best it can be!
Title: Re: Formatting in MuseScore & Exporting to Finale
Post by: cacabish on July 22, 2021, 01:28:43 AM
Useful Formatting Options in MuseScore

Breaks & Spacers
In Latios212 and MSF's amazing and useful guide on formatting (see here (https://www.ninsheetmusic.org/forum/index.php?topic=11783.0), if you haven't), they discussed things like number of measures per system, number of systems on a page, and spacing between staves.
All of these can be performed in MuseScore (and yes, they will export to Finale!).

Everything we need to perform these is in the Breaks & Spacers palette located (usually) on the left-hand side.
(https://www.dropbox.com/s/tls2hpbca2oyjhu/breaksAndSpacersPalette.png?raw=1)
Of the 6 tools here, we only care about 5 of them. (If the pictures here are broken, simply hover over them in MuseScore to get what their names are.)
(https://www.dropbox.com/s/1l5ejbksr56il8v/systemBreak.png?raw=1) System break: Adding this to a measure will cause that measure to be the last in the system. This can also just be added by selecting the measure and hitting Enter/Return.
(https://www.dropbox.com/s/2jocu93e1aqpb5f/pageBreak.png?raw=1) Page break: Similar to System break, adding this to a measure will cause that measure to be the last on the page. This can also just be added by selecting the measure and hitting Ctrl + Enter/Return.
(https://www.dropbox.com/s/obyoneqlandu6bp/staffSpacerFixedDown.png?raw=1) Staff spacer fixed down: The spacer tool to rule them all. This tool will fill the space between two staves/systems and prime it to be modified. Add it to the staff that is above the distance you are trying to change/query.
This tool has several purposes.
(https://www.dropbox.com/s/kc3d2ymcj43x6b4/staffSpacerUp.png?raw=1) Staff spacer up: This tool will add the space above a staff. This is particularly helpful if you need to add extra space between the first system on a page and the top page margin.
(https://www.dropbox.com/s/o457hpc51x4tlyc/staffSpacerDown.png?raw=1) Staff spacer down: This tool will add the space below a staff. However, since the Staff spacer fixed down does everything this does and more, it has little unique use.

The one we didn't talk about is the Section break, which may have applications in compilation sheets, but otherwise, you aren't likely to use this.

You can refer to MuseScore's documentation about these breaks and spacers here (https://musescore.org/en/handbook/3/breaks-and-spacers).

Style -> Page
If you want to modify everything at once, then you can do this in Format -> Style -> Page.

(https://www.dropbox.com/s/i5rwphzfkc30kmg/stylePageNew.png?raw=1)

I prefer the pre-v3.6 spacing they did (which is why you see Disable vertical justification of staves is selected), but you are free to use the advanced spacing options, if you like.
As a rule of thumb, you should just set these values to generic values (like they are in the style files I provided for you) and then tweak them on a staff-by-staff, system-by-system, or page-by-page basis using Breaks & Spacers.

If you want my explanation of these values...
Note: I'll just be speaking from my own experience -- you can choose to follow or ignore anything I say.
  • Music top margin: This is the minimum distance between the first system on a page and the top page margin. I use at least 9.0sp so as to try to avoid crowding the mini-title, but you can use larger values. I would avoid using smaller values without testing how it looks in Finale first.
  • Music bottom margin: This is the minimum distance between the last system on a page and the bottom page margin.
  • Staff distance: This is the minimum distance between two staves of different instruments. In other words, if you making a solo piano sheet, this value doesn't matter.
  • Grand staff distance: This is the minimum distance between two staves of the same instrument. This is the value you likely wanted to tweak and is the distance between the LH and RH staves for a piano part. A value of 8.0sp will give you 1" spacing in Finale, which is what Finale's default is (no, it's not actually 1 inch tall).
  • Min. system distance: This is the minimum distance between two systems MuseScore will use. If MuseScore is forced to use a value smaller than this, then it will send a system to the next page. You'll likely never adjust this value unless you want to really compact your sheet, which I'd advise against unless you know what you're doing.
  • Max. system distance: This is the maximum distance between two systems MuseScore will use. MuseScore will try to use this value, if it can. Otherwise, it will use the largest value less than this. You'll likely be tweaking this the most, trying to reasonably compact your sheet. I find the default of 15.0sp tends to make your sheet seem very spread out, so I use 12.0sp to start and adjust on a sheet-by-sheet basis.
  • Vertical frame top margin: This is the distance between the top of a vertical frame and the system above it. Since the only vertical frame we have is the one containing the Title, Subtitle, Composer, and Arranger, there isn't a system above it, so this value is meaningless to us.
  • Vertical frame bottom margin: This is the distance between the bottom of a vertical frame and the system below it. You can think of this as the distance between the Arranger information and the first system. I find 7.0sp works well enough, but I prefer to not crowd things, so I like using a larger value like 8.0sp and adjusting, as needed. You can also adjust this value on the frame itself under the "Bottom gap" field in the Inspector.
  • Last system fill threshold: This percentage represents the amount of the page's width (margins included) the last system has to take up before it is stretched to fill the page's width. You'll ultimately set this based on what you choose. If you want it to always fill the page, set it to 0%. If you want to never fill the page, set it to 100%.
[close]
You can refer to MuseScore's documentation on these settings here here. (https://musescore.org/en/handbook/3/layout-and-formatting#style-page)

Viewing Page Margins
MuseScore, by default, hides the page margins from you. While not exactly a formatting option, I still find it's often nice to see them so I know how much space I have to work, especially near the bottom of pages.
To show the margins, check the box under View -> Show Page Margins. You can uncheck this box to make them go away again.
Title: Re: Formatting in MuseScore & Exporting to Finale
Post by: cacabish on July 22, 2021, 01:29:08 AM
Exporting to MusicXML and MusicXML Cleaner

So, you've finally got your arrangement done in MuseScore and it looks like an official NinSheetMusic sheet thanks to the Style files and settings mentioned above. Hooray! Now, it's time to get it into Finale and let the real headaches commence!
To get your sheet from MuseScore to Finale, we're going to use an intermediary, standardized, XML derivative called MusicXML. MusicXML is designed for transferring sheets between programs and for historical preservation.

To export to MusicXML, go to File -> Export... -> MusicXML. Now, you can selected between Compressed, Uncompressed, and Outdated Uncompressed. We want to always use Uncompressed (.musicxml).
In a nutshell, Compressed (which ends with .mxl) is just wrapping our stuff in a ZIP file and makes it uneditable and not human readable, whereas Uncompressed (which ends with .musicxml for newer versions and .xml for older ones) is not in a ZIP file and is humanly readable and modifiable, which is what we want.

Now, that we've got our MusicXML file, everything should be hunky-dory, right?! Wrong.
Unfortunately, MuseScore isn't the greatest or most accurate when it comes to exporting to MusicXML.

If you were to dump this straight into Finale or Finale Notepad, you'd notice several things are wrong.
And then there are things that you likely won't notice, but are still wrong.
All of these (and probably more I haven't discovered yet) are MuseScore's fault as it didn't export your sheet correctly. So how do we clean up the MusicXML file?

MusicXML Cleaner
A while back, the mighty Mudkip Trasdegi wrote a program that fixed a couple of these issues (read more here (https://www.ninsheetmusic.org/forum/index.php?topic=10136.0)). However, as a sort-of "spiritual successor" to Trasdegi's program, I've written a more sophisticated program that should™ fix all of these issues and a few more!

It's called MusicXML Cleaner and is an easy-to-use, open source program!
(https://www.dropbox.com/s/94ztdfvhws8ngvg/thumbnail.png?raw=1)

Simply download it, run it, and then drag-and-drop (or use the large button that says "Open") your MusicXML export. A few seconds later, you'll be prompted to save (default is to override the old file, but you can create a new one, if you like) and these issues should™ be fixed!

A couple notes about the program:
The instructions for use can be found at the GitHub link [here] (https://github.com/cacabish/MusicXML-Cleaner). Please read them!

[Download] (https://github.com/cacabish/MusicXML-Cleaner/releases/latest) (download the .jar file, not the source code). Yes, it's not a virus. :P
You will need Java 8 or higher installed. You can install Java here. (https://www.java.com/en/download/)
Note: there is a MuseScore version number associated with this. If you use a different version of MuseScore, my code should™ work, but don't be so surprised if it doesn't!

As this is a labor-of-love and a work-in-progress, I am open to adding more features or quality-of-life improvements to the program. If you have any ideas, let me know via DM (Discord is preferred). I can't guarantee that I will be able to add them, but it can't hurt to ask!
(I mean, the code's also open source, so... y'know... you could just add whatever you wanted.... Just sayin'!)
Title: Re: Formatting in MuseScore & Exporting to Finale
Post by: cacabish on July 22, 2021, 01:29:30 AM
Importing into Finale, Common Final Adjustments, and Tips

So, you've got your cleaned MusicXML file in hand and ready to use Finale/Finale Notepad.

For both Finale Notepad and full Finale, you can simply drag-and-drop your .musicxml file onto the window.
At this point, cross your fingers, say your prayers, and hope that what appears before you is a semblance of your original MuseScore sheet.

If it doesn't look a NinSheetMusic sheet, don't pretend it is and submit it anyways!

With luck, it should be, but if it isn't, back up a few steps in this guide and try again. When in doubt, ask for help! :D

Common Adjustments
So, what now?
Well, inspect the imported sheet and see if there are any glaring (i.e. really bad) formatting problems. Here are some common ones:
If you see issues like this, go back to MuseScore, make the adjustments (e.g. add more space, fix fonts, etc.), re-export to MusicXML, re-run through MusicXML Cleaner, and re-import. Rinse and repeat this until the issues are resolved. (You can also directly modify the .musicxml file. It's not for the faint of heart, but check the posted slides for more information, if you're curious!)

Now that the really bad stuff has been taken care of, we probably don't need to re-import anymore and we can now do our Finale adjustments!
Word of advice: as you do these - write them down! Seriously! You may need to re-import for some reason and you will lose all Finale adjustments when you do, so writing them down allows you to redo them without having to figure them out again! You can use a .txt file, a Word document, a Google doc, or a good ol' fashioned piece o' paper. Just do it! :)

Here is a not exhaustive list of common things you'll need to fix in Finale/Finale Notepad:
If it wasn't abundantly clear: Double Check Everything! Use the MuseScore sheet as a reference to make sure nothing has gone rogue! It doesn't mean stuff is correct (MuseScore isn't perfect. I know. *shock* *shock*), but it's better than nothing!

Want some bad news? Here is a list of some things that are believed to be impossible using this method (you'll need to ask someone who has full Finale to do these for you):
  • Invisible dynamics, pedal markings, etc. Whilst indirectly supported by Finale Notepad (it cannot create them), MusicXML does not support them, so, in essence, there is no way to create them.
  • Adjusting beam heights. Whilst fully supported by MusicXML, and even exported by Finale and Finale Notepad, Finale Notepad seems to ignore this information upon import.
  • Aligning volta texts. Much to MSF's dismay and despite being supported by MusicXML, Finale Notepad just refuses to use the information. I have successfully modified it using a memory editor program like CheatEngine, but it's quite technical for most.
  • Turning off swung eighths. Not really supported prior to MusicXML 4.0 (which released June 2021 and doesn't matter because Finale Notepad doesn't support past v3.0), it is possible to turn swung eighth notes on using MusicXML (MusicXML Cleaner does this as of v1.2.0), but there is no known way to turn them off.
Except for those that are explicitly unsupported by MusicXML, it is hypothetically possible to do these in Finale Notepad. If you can come up with a method that eliminates any of these, do let us know!
[close]

For those that have full Finale and would like to test what may be impossible, here's something you can try...
  • Load a sheet in full Finale.
  • Export it to MusicXML.
  • Re-import it that MusicXML file. (Do it in Finale Notepad for bonus points!)
  • Take note of what changed. Stuff that broke may be impossible.
The reason why this test reveals anything at all is that it may show either an unsupported operation in MusicXML or parameters being ignored by Finale. Either way, these are both bad news for the whole method, IF they are true.
Note: this is test is necessary to fail in order to be impossible, but it is not sufficient to prove it. This means something can fail this test and yet still be possible. This will just serve as a first filter to weed out what is possible from what isn't.
[close]

Some Finale Notepad Tips
Finally, some Finale Notepad tips! (Again, not exhaustive and not really well-covering as I'm not super familiar with this kind of stuff.)

Whew! That's a lot, but I hope this guide was helpful.
Remember that the attached [slides] (https://docs.google.com/presentation/d/1GRke_Os5GHUjb0DcwWp3jfouqjXhxi_bStvNWM9oAWc/edit?usp=sharing) go into much more depth, so if you want more, go look there! If you seek any clarifications, do let me know!

That's all from me for now! Have fun using MuseScore and making great music! :D