Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Post-processing for MuseScore to make sheets look nice #16

Open
ericfont opened this issue Dec 3, 2020 · 6 comments
Open

Post-processing for MuseScore to make sheets look nice #16

ericfont opened this issue Dec 3, 2020 · 6 comments
Labels
enhancement New feature or request

Comments

@ericfont
Copy link

ericfont commented Dec 3, 2020

When the raw MusicXML is imported into MuseScore, it initially looks like:

image

There is a bit of treatment I do for chordsymbol-only charts:

First I make the chord symbols display with MuseScore's jazz format by:
-right-clicking one chord and click style
-change "Appearance" from "Standard" to "Jazz"
image

Then I make every chord's size larger by clicking the "Text Styles" in left-most column, selecting "Chord Symbol" in subcolumn, and bumping up "Size" from default of 12pt to 18pt:
image

I disable measure numbers going to "Measure Numbers" in first column and unchecking the box:
image

I get rid of unnecessary auto-generated key & clef on each system after the first with:
image

The resulting sheet now look like:
image

I've saved these style settings as:
simple-chord-sheet.zip

Which can be imported by extracting that file into your MuseScore directory under subdirectory "Styles", and then loaded for every score by going to "Format"->"Load Style" and opening that style.

The remaining steps I can't do with styles alone, unfortunately. So I have to manually do the following:

First it is unnecessary to display staff lines, because there are no changing notes, and neither is the initial clef necessary. These can be disabled by right-clicking a staff, and by unchecking "Show clef" and checking "Staff lines invisible":

image

Now the staff lines will be greyed out in MuseScore's view:

image

(When exported to pdf/image or online, the staffs will be invisible.)

And one more step is to disable playback of the slash chord dummy notes. Their playback is not desired, because the pitch defaults to the middle staff line (pitch B in treble clef), and that pitch likely will clash with MuseScore's automatically generated chord voicing sound for each chord symbol. Normally these slash chord dummy pitches are disabled by default when generating slash chords via Tools->"Toggle Rhythmic Slash Notation", however since MuseScore doesn't know to disable their sound upon input from MusicXML, I have to manually disable their sound by right-clicking one dummy slash chord note, selecting all similar elements, and unchecking the "Play" checkboxy in the inspector (accessible via F8).

@infojunkie
Copy link
Owner

infojunkie commented Dec 3, 2020

Beautiful write-up thanks!

Here's my plan to respond to this:

  • Whatever steps above can be expressed in MusicXML, I will add as configs
  • Expose those configs on the API / demo / cli

@infojunkie infojunkie changed the title pro-processing for MuseScore to make sheets look nice Post-processing for MuseScore to make sheets look nice Dec 3, 2020
@ericfont
Copy link
Author

ericfont commented Dec 4, 2020

The ideal solution I imagine would be that MusicXML has a flag that applies across an entire score to expresses that the score is a chord-only chart. And then it would be the responsibility of whatever program that reads the MusicXML program to recognize that flag, and if detected then apply a special treatment when importing and load a special or user-defined style.

In the meantime, I think I might personally make a couple edits to my own self-compiled musescore to do this exact type of treatment, and then just revert that commit.

@infojunkie
Copy link
Owner

infojunkie commented Dec 4, 2020

The ideal solution I imagine would be that MusicXML has a flag that applies across an entire score to expresses that the score is a chord-only chart.

As far as I understand, this only exists at the measure level as measure-style/slash which is already exported and that's what I propose to fix in MuseScore.

Regarding your other customizations, I expect most of them to be available in MusicXML via the print element, but I need to make a deeper dive before being sure.

@ericfont
Copy link
Author

ericfont commented Dec 4, 2020

Aha. Yeah, your specific MuseScore feature request (MusicXML import should honor "measure-style/slash") sounds like a feature that needs to be implemented.

If there was a flag that applies to a particular instrument/part/staff, then whatever imports the MusicXML would know that individual staff lines aren't necessary for that particular chord-symbol-only instrument/part/staff, and so could know to disable staff lines or make staff lines invisible for that part/staff. Unfortunately considering how hard it is to change standards, I wouldn't bother trying to add a new flag.

I think there has been a recurring feature request in musescore forms over the years to be able to render chord-symbols only, without even having a staff or slash notes/beats, so can look just like iReal does with the chord symbols between bar lines.

@infojunkie
Copy link
Owner

The problem with how iReal renders the chords is that it's really hard to tell their onset and duration. I personally prefer slash rhythmic notation.

@ericfont
Copy link
Author

ericfont commented Dec 4, 2020

oh yeah, I agree too. Though I am sure there many people simply accustomed to iReal's display method, and it does have the advantage on small cellphone screens of proving the most important content in the most readable fashion (though at the cost of losing info about onset and duration).

Regardless of the best way to display, I suppose those debates are out of scope of this github project. And if someone is so inclined to replicate iReal display, they could created their own app that applies whatever rendering method to the MusicXML chord charts.

@infojunkie infojunkie added the enhancement New feature or request label Dec 5, 2020
@infojunkie infojunkie added the help wanted Extra attention is needed label Dec 21, 2020
@infojunkie infojunkie removed the help wanted Extra attention is needed label Feb 1, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants