Lyrics: Store end-line and end-paragraph markers

• Apr 8, 2020 - 21:05
Reported version
3.x-dev
Type
Functional
Frequency
Once
Severity
S5 - Suggestion
Reproducibility
Always
Status
active
Regression
No
Workaround
No
Project

Song lyrics are traditionally written as prose like a poem:

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

But in sheet music this effectively becomes a single line:

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

Information about where the newlines occur has been lost. (In this case we could guess that every capital letter after a comma should be on a new line, but this is not generally true.)

It's a similar story for verses/paragraphs: usually these occur on subsequent lyric lines, but sometimes the verses are written out in full (i.e. without repeats). Also, subsequent lyric lines are sometimes used to show a translation of the top line.

So it's not possible to convert back to prose format. This affects how lyrics are displayed with MuseScore's Copy Lyrics to Clipboard feature (in the Tools menu) and also the proposed Lyrics Editor/Viewer widget.

lyrics-editor.png

MusicXML's lyrics element has end-line and end-paragraph markers to enable conversion back to prose format. The lyric element also has attributes for name (VERSE/CHORUS/SECTION, etc.) and number (lyric line), which could be used to differentiate between verses and translations, etc. See MusicXML examples: lyric, end-line and end-paragraph.

We might be able to improve on MusicXML and replace end-line and end-paragraph with start-line and start-paragraph. The advantage is that starting elements can be used to store information about subsequent lyrics, like this:

<start-paragraph type="translation" language="fr" number="1" format="italics"/>