Score mirroring in right-to-left languages

• Mar 16, 2017 - 14:05

Discussion moved from https://musescore.org/en/node/83041#comment-366416

Like most written languages, sheet music is read from left-to-right. This presents a challenge for people who mainly use a right-to-left language, such as Arabic or Hebrew, who have to learn to read music in the opposite direction to the one they are used to from reading text.

The problem is made worse when the music contains writing (e.g. lyrics) written in a right-to-left language. Notes progress from left to right across the page, so the words and syllables must be written in reverse order. This means the music and the words are written left-to-right, but the letters within each syllable are written right-to-left.

For the safe of any left-to-right readers having trouble understanding the problem, here's how we normally write lyrics under notes:

left-to-right.png

And here's how we would have to do it if music was read from right-to-left instead of left-to-right:

right-to-left.png

To create the second image, I simply flipped the first image so that notes and text were both backwards, and then I individually flipped each lyric syllable back to the "correct" direction.

This raises the question whether it would be valuable for MuseScore to have an option to flip music for readers of right-to-left languages, so that they can read notes and lyrics in the direction they are used to? Some editions in right-to-left languages are produced this way for this very reason. I would would be curious to know whether right-to-left readers think such a feature would be useful?

Mock-up

Here is a image of a score in Hebrew:

hebrew_left-to-right.png

And here is the same score with the music mirrored but text left in it's natural direction:

hebrew_mirrored.png

As you can see, there are problems with musical symbols that are also numbers or letters (e.g. dynamics, time signatures, etc.) so the solution isn't quite as simple as mirroring the music and not mirroring the text. Perhaps the symbols shouldn't be flipped either, or only certain symbols? It would be good to know what the existing practise is in this regard.


Comments

This is an interesting. I actually don't know how right-to-left languages write music, but is somehow makes sense to have the score mirrored. Of course your time signature should display the numerals in normal fashion (but I realize this is a mockup).

This raises the question whether it would be valuable for MuseScore to have an option to flip music for readers of right-to-left languages, so that they can read notes and lyrics in the direction they are used to?

I've played written music in an Arabic country, but all the music was European, of course, so this was never a problem. I'm willing to bet that right-to-left languages have simply learned to deal with reading music left-to-right. But the most important thing is probably to make sure that text elements are able to properly display right-to-left text. (e.g. I noticed this bug: https://musescore.org/en/node/177081)

Shoogle, why do you assume this:
"This presents a challenge for people who mainly use a right-to-left language, such as Arabic or Hebrew, who have to learn to read music in the opposite direction to the one they are used to from reading text."

I live in Israel and neither myself nor fellow musicians, nor my many students have an issue with the music written from left to right.

The suggestion to mirror the music is like suggesting to read and write English text from right-to-left. Nobody would suggest that, I think.

And worse: if people learn to read music from right-to-left, and then they have to read "regular" music (e.g. if they buy regular music, go abroad, etc.) , they will not be able to read it. Instead of helping them, you created a problem.

It is a nice challenge for the developers, so if they want to do it for their fun, they can do it (although I would suggest to go to the beach instead, but this is only my preference...). But as far as I can see (and I am a professional musician, performer and teacher for many years) - there is no need for this feature in the real world. Even in the weird right-to-left world...

In reply to by mike320

It's not our place to decide what other people find offensive, but the point the article was making is that this is exactly what seems to have happened with the term "oriental" - various people, many of whom are not Asian, have decided that it is an offensive term, but the author (who is Asian-American) doesn't see why it should be offensive.

Article: "The term 'Oriental' is outdated, but is it racist?" - By Jayne Tsuchiyama
http://www.latimes.com/opinion/op-ed/la-oe-tsuchiyama-oriental-insult-2…

In reply to by shoogle

The whole orient discussion is interesting. I would point out that a long time ago (my history isn't precise...maybe between 1000-1500), "orient" used to refer to modern turkey area, then Middle East, then India, then SE Asia, then China, Korea, Japan. So the term itself embedds a bit of Westerners mental lumping of everything East of Europe together.

Anyway, I'm not a big fan of PC all the time, and I don't think in thus circumstance and others that "Orient" should be deemed an insult, but it is worth keeping these considerations in mind. Best to just say "right-to-left".

In reply to by Oded Violin

@Oded, I agree that, if I used a right-to-left language for reading and writing I would still read *instrumental* music left-to-right. It would probably take a little bit longer to learn, but I'm sure I would get used to it quite quickly. After all, there is no fundamental reason why music should be written in the same direction as text.

However, for *vocal* music it does present a problem, and I think I would appreciate the option to read it right-to-left because it would make the text much easier to read.

Regarding your point about people being unable to read left-to-right music, I would say that used to be an issue in the paper world, but in the digital world you can convert between mirrored and non-mirrored music at the push of a button.

Ultimately, I'm not encouraging anyone to implement this feature, and I'm not offering to implement it myself. I'm just curious to see if anyone does think it would be useful.

In reply to by Oded Violin

Hello! As a professional musician I was hoping you could answer a question for me. I have a line of music (in English) that I would like written in Hebrew. I need to know if it is okay to leave the music left to right. Even though once the lyrics are translated (Google translate?) they will be right to left? I'd like it to be accurate, so if someone who knows Hebrew would understand and not think it's weird that the music and lyrics go in the opposite direction! Thank you so much for your help!

In reply to by Melissa Dodd

In my experience with Western (or generally Eurocentric) vocal music, any text that is in a language that normally does not use the Latin script (our script) will be romanized on the sheet music. This avoids any potential orientation problems as well. Pronunciation guides may (and probably should) be included in the score as a preamble. Mixing scripts is only good for people who can actually read both languages, which might be the case for your situation, but is unlikely for most others, so the better option would be to romanize everything.

In reply to by Isaac Weiss

No, don't waste time on it.

Hebrew and Arabic speakers are generally also English speakers (and readers). I'm not saying that no-one writes music this way (A Google search reveals an Arabic Anglican church hymnal) but it has to rank as a pretty niche market compared to even other "rare" feature requests.

In reply to by Nicolas

Oh, too bad for me. I know I represent a small user base but I've been wondering all day how to get Musescore to do right to left. The beneficiaries would be amateur Arabic singers and Persian singers. You see, they're not experienced musicians so they're not used to conforming to LtoR and they're naturally influenced by their RtoL reading default. But they want to take advantage of music notation to improve their sound and timing when singing. The World's getting smaller quickly, I'm sure there was a time in the past when the internet only accepted URLs written in English too. Some much-cleverer-guy-than-me will crack it soon enough.

In reply to by rodneyandrobyn

I'm afraid when I suggested this the response was "if they are learning to read music they should learn to read it the way everyone one else does", but you might be able to give them a helping hand if you give them the lyrics written RtoL on a separate piece of paper.

You could try flipping the music using a tool for manipulating PDFs. Looking around online I can't see a tool that can mirror flip a PDF, but you could certainly use a PDF to image converter, flip the images, and then combine the images back into a PDF. You could even write the lyrics on the flipped image if you have enough time and patience.

In reply to by rodneyandrobyn

right to left is a great help to Cantors in the synagogue - especially in America. Doesn't take any time to learn how to "read backwards" as far as the music goes. But mashing up Hebrew words into syllables which read backwards creates "knots" for the singer. It is easier right to left in Hebrew for singers. I know, because I've done it with singers who read Hebrew. They were amazed to see how easy the transfer was, and seemed to appreciate the fact that they didn't have to read "Romanized," backward syllables.

Hi all, I wanted to jump in to this forum because I have been looking for this exact feature. I am working with church music in Iraq. Generally the music, which is mostly printed in Lebanon, is written RtL to accommodate the languages (Syriac and Chaldean - eastern liturgical languages - as well as Arabic). These languages are "cursive" (all letters are connected) so writing them backwards is quite awkward. As people before me have mentioned, amateur singers here typically read lyrics without notes, and many musicians play strictly by ear, but there is also a written standard of RtL. (Incidentally, when you're used to reading languages in two directions, it's not so hard to read music in two directions too, it just takes a little getting used to.) So here's my vote that the developers do add this feature.

You can see in the attached score that symbols stay the same direction, including note heads and flags, so it's not just a matter of flipping the final product. (Although the rests are inconsistent for some reason.) Style markings are in standard Latin letters. This is a Syriac-language melody printed in Lebanon.

Attachment Size
small تخشفوثو.jpg 970.58 KB

In reply to by meganchilds

Also, there might be a better place to post this, but adding quarter tones to playback would be extremely helpful. In my current version, I can write quarter tones as accidentals, but the playback is in regular tones and half tones. This makes it difficult to work with a large chunk of eastern music, which involves scales with quarter steps.

In reply to by meganchilds

"You can see in the attached score that symbols stay the same direction, including note heads and flags, so it's not just a matter of flipping the final product. (Although the rests are inconsistent for some reason.)"

I'm observing that numbers are flipped. I'm actually thinking what about allowing actual arabic numbers for time signatures.

Regarding the question of whether only some (not all) elements should be mirrored, I think that adds a lot of additional complexity. The easy solution would be after rendering, to mirror everything after rendering is complete. But now that I think some more, if someone entered arabic lyrics, then wouldn't want to mirror those lyrics again, cause that would make the arabic lyrics incorrect. So hard to say what is easiest.

As an aside, about a year ago while investigating unicode, I discovered issues relating to display of arabic text while interspersed with SMUFL glyphs... #177081: left-to-right unicode languages mixed with SMUFL symbols will overlap

In reply to by ericfontainejazz

So I just had a crazy idea. Could the solution be as simple as allow arabic text to be rendered mirrored (the incorrect direction of left to right). And then at the end when export to pdf/png/svg, the entire page would be mirrored, such that when arabic text gets mirrored a 2nd time, each text ends up being in the correct right-to-left direction.

In reply to by ericfontainejazz

I don't understand what you are proposing. If I check the example attached earlier, I see nothing flipped (in the sense of "mirrored"), on the contrary. The whole music is reversed, and layouted right to left. See for example the stems which still are at the standard side of the notehead (right when going up, left when going down). The only proper way we could achieve this in MuseScore is to provide an option to reverse the whole logic of the layout engine. I don't say it can't be done, but I'm unsure if it's a higher priority than proper support for microtonal key signature for example.

In reply to by Nicolas

No, I didn't say to reverse the whole logic of layout engine. I said:

First, render text elements mirrored, such that instead of being rendered in the correct direction, they are rendered incorrectly.
Then mirror the entire page. That would undo the mirrored text so that the initial mirror of the text is canceled out with the second mirror.

And yes the example attachment doesn't have many things mirrored in the final. So in order to do that would simply, would have to mirror symbols and also flip all note heads too before doing the final mirror.

In reply to by ericfontainejazz

"I'm observing that numbers are flipped."

Where? The only item I saw mirrored/flipped was an occasional rest.

If an Arabic speaker said other numbers were necessary I would agree that they should be considered, but the sample has our Arabic numbers.

I don't know if the lyrics would interfere if we were to enter this example. The only Arabic letters used are in the lyrics, everything else is Roman letters, so would there be left-to-right unicode mixed with SMUFL symbols?

If lyrics don't interfere with symbols, then the only thing needed would be to write everything from right-to-left with no item flipping necessary. I say this as though it's the easiest thing in the world, but I realize it will lead to some challenges in drawing beams and slurs backwards along with the order of EVERYTHING. I notice, for example, that Andantino is is right justified. I'm not sure how much code this would leave as usable.

In reply to by mike320

oh, you're right, there are fewer things flipped in those images.

"I say this as though it's the easiest thing in the world, but I realize it will lead to some challenges in drawing beams and slurs backwards along with the order of EVERYTHING."

Yes I imagine this will be very complicated indeed. If it were to be done in a wysiwyg fashion, would have to invert every x coordinate or thing that needs to be flipped and might have to worry about changing < and <= signs to > and >= signs, and a whole lot of other implicit assumptions that result from musescore being design assuming left-to-right only.

So that's why I suggest to only worry upon export about flipping text (and maybe flipping whatever symbols that in the end shouldn't be flipped), and then flipping the entire score. I know shoogle mentioned this at the top of and I guess was hoping for something better. Although it isn't wysiwyg, it is a simple solution, and is something that can be done without much fear of breaking something or recoding a lot of stuff.

In reply to by mike320

Here are more examples from a hymnal from a Carmelite monastery in Baghdad. This bass clef has dots on the other side. I'm not sure there's a completely consistent standard across the whole Arabic-speaking world...

so musescore seems to be designed for "western" or "european" musical notation with left-to-right input and reading. i went to wikipedia and learned that there are/have been very many different notation systems.
maybe musescore could have a fork just for other notation styles including RTL, braille, ancient or the many forms found east and south of europe or even for the just plain "alternative" or experimental.

In reply to by jmoses

MuseScore uses Common Western Music Notation (a.k.a. stave notation) because that is what the developers are interested in. If you (or anyone else) are interested in other forms of notation then you are perfectly welcome to fork MuseScore and add them yourself.

If your notation of choice is very popular (e.g. Jianpu) or very similar to standard CWMN (e.g. RtL notation) then we might even consider merging your into the main MuseScore repository (as has already happened with guitar tablature) but we wouldn't write the code ourselves because we are busy writing code for the form of notation that we are interested in.

Oh, I have a solution: If you first write the music right-to-left. The go through a process of photoshopping left-to-right, then drop the images to in the beginning pages; you will have both formats in one .mscz file.

In reply to by shoogle

I just figured out a best practice:
Use Adobe Illustrator. Export from Musescore as .SVG (perfect vectored lines)
Each page will be saved as individual files.
Open each page in Adobe Illustrator.
They show up perfectly vectored. Select all, right click option, Transform > Reflect > Vertical > Okay.
It's pretty easy to move things around if needed since they are objects. I re-mirrored individual numbers for triplets and can highlight all the time signatures then flip all at once.
Save as .SVG (Font Type: Convert to Objects)

Create blank pages into Muse Score: Select 1st measure, Right Click Option in blank area > Frames > Insert Vertical Frame.
Drop .SVG files as picture attachments in MuseScore. Scale image 200%, move around accordingly.

BAM!
See my example.
https://musescore.com/user/28267815/scores/5323188

In reply to by pressefr

Looks good! This certainly works if you really need it to, but it is not exactly convenient. If you look at this image of actual right-to-left music you will see that some symbols are mirrored (e.g. notes and dots) but others are not (e.g. clefs). This means that, after mirroring the whole score, you need to go through it and individually "unmirror" each of the symbols that shouldn't be flipped. You would need to do this every time you make a change to the score.

In reply to by shoogle

Yikes, that would take forever flipping individual notes and unpractical. Endless it was maybe one page. Or if your super serious, you can have a kid do it for you, but it is possible since in illustrator it's an .SVG individual shapes

But also another thing Adobe Illustrator is an expensive program. There is a way to get Adobe Illustrator free if you download Adobe Creative Suite / or parts on their website. Version CS2 is free.
https://www.adobe.com/downloads/other-downloads.html

But not easy to install. My experience Photoshop has the quirk of needing to setup in German, Choose French, for it to work. Illustrator's resolution isn't exactly perfect, but free is free.

I personally use Adobe CC, and it took a hot minute for me to figure out how to turn on Middle Easter Features
https://helpx.adobe.com/photoshop/using/arabic-hebrew.html#id_28884

Solution to be hard hardcore: Write the whole piece, move everything one perfect octave up, reorganize parts from bottom to top. Then First flip vertically, then flip horizontally.
TADA!

Attachment Size
NoteFlipCapture.PNG 21.53 KB
double flip capture.PNG 98.67 KB

In reply to by pressefr

Oh wait, it's not a perfect octave, it's just a reflection where it's placed on the staff. Well, that's confusing. Then you would have to click on each note, and move them up/down on the staff to be "reflective." But all this information is useful for a coding perspective!

For MuseScore to have an option for R-to-Left. mirrored staff to mirrored horizontal mirrored vertical, with individual times to stay the same. (Perhaps)
Just like how League of Legends is just mirror top and bottom gaming.

If R-to-L scores are implemented then it would be good do it properly and not by workarounds. A standard should be agreed and then implemented consistently across all applicable aspects of MuseScore, e.g. note entry, beams, ties, slurs, TAB entry, bar management, playback etc. so that it feels as natural to an R-to-L person as L-to-R scoring does for the rest of us.

Now I'm sure that this is no easy matter, but workarounds often leave the result feeling a bit unprofessional. They do have their uses but are better as short term fixes until a full implementation can be made.

In reply to by yonah_ag

Indeed, but don't expect to see this any time soon. It would most likely require a rewrite of the layout engine from the ground up. Notice how the bass clef in this image is not mirrored, but the dots have moved to the other side? I'm pretty sure the bass clef and its dots are included in one font symbol, so MuseScore can't move the dots to the other side. This means a special musical font would need to be created specifically for right-to-left languages. The time signature has also been localised, although it seems that is not universally done.

All in all, this is simply not something that can happen using the current layout engine, but if we ever do decide to redo the layout engine then we should keep it in mind to make the flow direction configurable from the beginning.

In reply to by shoogle

I agree it should be implemented and workarounds are too hard to do. You tell that to them.

Yes, the bass clef is not turned around: I just quickly did it and you can see the direction in which they were mirrored. By doing a double flip, you can easily ONLY have the clefs to flip around.

The caveat is having the dot on the other side; another roadblock of tediousness.

Another solution workaround:
I figured out a way to select specific notes and then move them to the mirrored location: use Selective notes by the same pitch, move manually or, theoretically use "Plugin in Creator" to save your actions to be repeatable.

Attachment Size
Same Pitch Capture.PNG 129.7 KB

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