Represent slash chords as super/subscript

• Dec 29, 2018 - 21:35

It is difficult to read slash chords when they are aligned horizontally - if often looks like two chords that need to be played.

For example, see attached before/after

Attachment Size
musescore-slash1.png 9.78 KB
musescore-slash2.png 23.33 KB


In reply to by mschaerli

You can get this effect by creating a custom copy of chords_jazz.xml and specifying it in Format / Style / Chord Symbols. The definition of "renderBase" (sic) needs different values for the "m:" commands. Changing the "1" and "-1" to "4" and "-4" works OK - the slash is in the same position, but the bass note is lower. Or an additional "m:" command could be added before the slash to lower it as well, maybe with some negative X offset.

I recently added style settings to control superscripting, this could be added in a similar manner but it turns out to be a bit more complicated, so I put it off.

In reply to by Marc Sabatella

Thank you for your quick and helpful reply, Marc. Using your suggested values for "m:", I got the result attached below.

This is better, as the bass note is horizontally below the chord, but it is still arranged on a horizontal axis (from left to right). I am looking for a solution where the bass note is below the chord symbol on the vertical axis, thus saving space (see Example 1). Is this possible with MuseScore 3?

Please also have a loot at post
«ericfontainejazz • Feb 24, 2016 - 08:52»
on the same matter.

In reply to by mschaerli

Well, if you read through that thread and also search for other threads on the topic, you will find a variety of approaches suggested. i don't recommend doing this as many people use that vertical arrangement to mean a polychord - C/E arranged vertically means a C triad on top of an E triad. Anyhow, there is no direct way to do a good job of that currently using a single chord symbol, it would be impossible to get things to align properly I think. But it's easy enough to enter it as separate chord symbols if you really want. Enter the bottom chord first, then a chord consisting of underscores, then the top chord.

In reply to by Marc Sabatella

Please let my clarify by pasting my post in

«mschaerli • Dec 2, 2019 - 16:23
For me, there would have to be two-part solution to this:
1. Chord inversions: e.g. Db/F or C#7/G# with setting for slash angle / bass positioning (side-by-side or below)
2. Polychords or Upper Structure chords: e.g. E/C# (as in Ema triad over C#ma triad) or Dmi/Cmi7 (as in Dmi triad over Cmi7) for a Cmi7(9/11/13) chord.»

What I am looking for is something like this: for [1.] see example #1, for [2.] see example #2 attached below.

The terminus for behaviour [1.] seems to be "angled slash chords (ASC)"

Thank you!

In reply to by mschaerli

So, to be clear: given these two pictures, you can get the first result today using a custom XML file as discussed. To get the result in the second example of the second image, follow the suggestion I gave for using separate chords. Works like a charm, takes only a few extra seconds.

It would be best to try to keep this discussion within a single thread, it's hard to follow otherwise.

In reply to by Marc Sabatella

I agree, I am sorry for the posts in both threads. They seemed to be connected content-wise to me.

As for your suggestions:
1. I have tried the custom XML file, this works. However, the chord still needs the same width horizontally, as the bass note is still printed to the right of the chord, subscript. I would prefer an angled chord symbol to save space horizontally. The image from the other thread is a perfect example in my opinion.

  1. I understand. However, I like the competitor's solution with entering «/» for slash chords and «|» for polychords. So I consider it a feature request.

In reply to by mschaerli

Did you try the customization to the XML I suggested, where Is specifically recommended adding an additional "m:" command before the slash to save some horizontal space? That should work just fine (I tried, for example, m:-2:2).

The feature request is good, I recommend you go to the issue tracker (see Support menu above) and submit a formal "Suggestion" there. I could see this working by actually just automating the same process I am describing: pressing the special key would complete entry of the chord, underline it, and set you up to enter another chord below. Although I might suggest using "_: rather than "|", seems to be closer to how it would be represented visually. Or maybe either, because I can also see that "|" makes some sense "semantically".

In reply to by Marc Sabatella

Thank you, Marc! I will try the additional "m:" command you suggested. As I am not fluent in XML, where would I put it? My current .xml file contains

renderBase: m:0:4 :n :a m:0:-4

Marc: «Or an additional "m:" command could be added before the slash to lower it as well, maybe with some negative X offset.»
I don't have a slash in renderBase, do you mean this code line?
render: m:0:-4 oslash m:0:4

As for polychords, I will submit a formal "Suggestion" there as you recommended.

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