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

Lyrics - To which note does a syllable belongs? #151

Closed
mogenslundholm opened this issue Oct 4, 2016 · 6 comments
Closed

Lyrics - To which note does a syllable belongs? #151

mogenslundholm opened this issue Oct 4, 2016 · 6 comments

Comments

@mogenslundholm
Copy link

Notes are played more than once when repeats occur. A song may also have more verses.
Therefore a note need to be coupled to the right lyric syllable when played (i.e. converted to MIDI).
This is mainly for positioning lyrics for playback - but also to show the entire lyric text.
My first proposal was to let the number be in the format v.r.rr where v is the verse number, r is repeat number and rr is repeat in repeat.
Michael proposed to add the time-only attribute. This could look like (the line with plus-sign is added):

In schema/note.mod:
<!ATTLIST lyric
number NMTOKEN #IMPLIED
name CDATA #IMPLIED

  •    %time-only
      %justify;
      %position;
      %placement;
      %color;
      %print-object;
    
    So now, this is now my proposal.
    Regards
    Mogens
@mogenslundholm
Copy link
Author

mogenslundholm commented Oct 4, 2016

Was formatted wrong - put an arrow instead of the "+" that I wrote:
In schema/note.mod:

      <!ATTLIST lyric
          number NMTOKEN #IMPLIED
          name CDATA #IMPLIED
          %time-only                   <----------------
          %justify;
          %position;
          %placement;
          %color;
          %print-object;

@mdgood
Copy link

mdgood commented Oct 5, 2016

In the schema, this would involve adding an <xs:attribute name="time-only" type="time-only"/> to the lyric complex type. This would enable correct playback of lyrics in repeated sections through voice synthesis, or export of lyric events at the correct position in a MIDI file. The number attribute is suggestive but not sufficient to fully specify this information.

@mdgood
Copy link

mdgood commented Nov 23, 2016

Pull request #153 has been created with the implementations suggested above, including some cleanup of the lyric element documentation in the XSD.

@mogenslundholm
Copy link
Author

I hope that time-only shall solve the problem. "time-only" is defined as CDATA.
This should mean that it can be a list of numbers.
E.g. the most common text problem is this: The refrain is written once but has to
be played in all verses (MusicXML):
<lyric number="1" time-only="1, 2, 3, 4">

Hope I have understood this right (and a list of numbers may be provided)?

@mdgood
Copy link

mdgood commented Nov 28, 2016

Yes, a list of numbers may be provided.

The attribute is defined as CDATA in the DTD, but restricted with a pattern in the XSD. The documentation is more restricted still: "The value is a comma-separated list of positive integers arranged in ascending order, indicating which times through the repeated section that the element applies." We couldn't get the "ascending order" part into an XSD pattern definition.

@mdgood
Copy link

mdgood commented Nov 30, 2016

Pull request merged.

@mdgood mdgood closed this as completed Nov 30, 2016
@mdgood mdgood added this to the V3.1 milestone Jan 17, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants