Lyrics Editor/Viewer window

• Feb 14, 2015 - 18:37

The lyrics editing facility in MuseScore is pretty good, but it can be a bit of a pain. For the purposes of editing and spell-checking it would be very helpful to be able to see the lyrics side-by-side in plain text format in a special dedicated Lyrics Editor. This would also make it easier to copy lyrics found on the internet.

The Lyrics Editor would probably take the form of sub-window within the main window, like the "Inspector". It would display the lyrics in plain text format for the currently selected Part/Voice/Verse and would have two modes that the user can toggle between. Changes made in each mode would be updated live across the score, or perhaps after the user clicks an "Apply changes" button. Naturally, changes made in the score would instantly update in the Lyrics Editor.

Example of how "Row your boat" would be displayed in the Lyrics Editor:

Normal Mode (hides rhythm markings)

Row, row, row your boat,
Gently down the stream.
Merrily, merrily, merrily, merrily,
Life is but a dream.

Rhythm Mode (includes rhythm markings like dashes and underscores)

Row, row, row your boat,
Gent-ly down the stream._
Mer-ri-ly, mer-ril-y, mer-ri-ly, mer-ri-ly,
Life is but a dream._


  1. "Normal mode" is used for entering the text or pasting from websites. If a user enters a special character (like "-" or "_") in Normal Mode then it will be displayed in the actual score (like pressing Ctrl+- or Ctrl+_).
  2. Entering special character in "Rhythm Mode" causes them to be interpreted in the usual way:
    • " " (space or newline) - move to the next note
    • "-" (dash) - move to the next note with a dash
    • "_" (underscore) - move to the next note with an underline (melisma).

In "Rhythm Mode" syntax highlighting could be used to distinguish between rhythm markings and actual dashes/underscores.

Potential extra features:

  1. Include a spell-checker in Normal Mode.
  2. Ability to link lyrics between parts. E.g.: Alto lyrics: same as Sopranos.

Of course, these extra features would be made somewhat redundant by the ease of simply copying and pasting between parts and other programs such as MS Office or LibreOffice.


These are very good suggestions, definitely on the list for consideration some day! Could even make an interesting Google Summer of Code project, maybe.

In reply to by Marc Sabatella

Thanks very much! As it happens I am a student and I have done a bit of coding before. I would be very keen to get involved if I can, and if you'd have me of course! If you're interested perhaps you could contact me via email or something more appropriate than a public forum?

In reply to by shoogle

Regarding lyrics...yours is a great suggestion!
From my reading of many forum posts over the years, I imagine that choristers, barbershop quartets, etc. who utilize lyrics would be appreciative for something like this.

Also, as a non-singing instrumentalist, I sometimes use lyrics (when available) as a 'place finder' in a score.
At other times (e.g. while performing solo melodic arrangements) I *think* the lyrics, rather than sing out loud.

I hope your idea flies someday...

In reply to by shoogle

I've just been reading up a bit more about the Google Summer of Code. I see that Google selects the Open-Source projects and then the project developers choose the students. Has MuseScore applied again this year? Given the success MuseScore has had with this in the past I imagine it will be quite competitive for students this year. I'll have to work extra hard on my application! ;)

Excellent proposal. This sounds similar in many respects to the lyrics-entry model used in Guitar Pro 6, which I find quite a bit easier to work with than Musescore's current one. The Normal/Rhythm mode idea even improves on GP6's model a bit.

In reply to by manonash

Thanks very much! I suggested this back in 2015 but unfortunately MuseScore wasn't selected for GSoC that year, but MuseScore did make it into this year's GSoC and I was chosen to do a project on real-time note entry. However, I did make a start on a Lyrics Editor and if you or anybody else would like to get involved with MuseScore's development then feel free to pick up where I left off - it would make a good first-time project!

In reply to by chen lung

There are difficulties, but nothing insurmountable I think. Melismas would be indicated by a series of underscores or hyphens after the elongated syllable. E.g.:


As for repeats, etc., syllables would be taken from the input text box and added to each note in turn, according to playback order. If a note already has lyrics then the new words are added to a new lyrics line below the first.

So the only problem is repeats where the words are the same. There are a few different ways this could be handled:

1. The words are written out twice in the text box, and twice in the score (obviously not ideal).
2. The words could be written out twice in the text box, but only once in the score. (Some kind of diff algorithm is used to detect that the words are the same).
3. The words are only written once in the text box and once in the score. (Some kind of markup code is used in the text box to indicate that the words are to be repeated.)

In reply to by shoogle

Perhaps some markup for each section. Labels in the the editor could be Verse 1, Verse 2, Chorus. All the words for Verse 1 and 2 would end up on the correct line and the chorus (or refrain) would only be on a single line. Of course this will probably require some sort of similar score marking, but it's far better than now exists.

In reply to by mike320

Apparently colon ":" and pipe symbols "|" are sometimes used together as repeat markings, so how about this for the markup of a repeated section?


Hot cross buns!
Hot cross buns!
One a penny,
Two a penny,
Hot cross buns!

With repeat markings

|: Hot cross buns! :|
One a penny,
Two a penny,
Hot cross buns!

Alternative with number of repeats given

|: Hot cross buns! :| (×2)
One a penny,
Two a penny,
Hot cross buns!

The syntax can be extended to voltas (first and second time endings)


Pease porridge hot,
Pease porridge cold,
Pease porridge in the pot,
Nine days old

With volta markings

|: Pease porridge [ hot :| cold :| in the pot ]
Nine days old

Volta with numbers given

|: Pease porridge [ 1. hot :| 2. cold :| 3. in the pot ]
Nine days old

This is really great! As I saw on GitHub, the existing implementation could already be used as a viewer. To my opinion, it would already be a benefit to have it in Musescore right now. I'm always struggling with (small) inconsistencies between the textbook and the score. The review would be much easier with this facility in.

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