Lilypond for interactive learning
Hi Lilypond team! I have a question about using Lilypond. Is it possible to create a scrolling singalong type embed on my website using this? For example, I'm trying to teach a student how to read the sheet music for "Adoro te devote." They press play and I sync the chant audio with a lighting up note. I suppose an advanced level of this would include the ability to pause and click on the note for a pitch reference. Godspeed! Grace Brown *Graceful | a Catholic Blog* e. grace.elaine.br...@gmail.com w. GracefulCatholic.com
Re: Separate time signatures in left and right hands.
Sorry, that got sent too early. This line: > \layout { \enablePolymeter } shouldn't be here since you say “even though the right hand time signature isn't changing, it needs to be displayed again”. signature.asc Description: This is a digitally signed message part
Re: Separate time signatures in left and right hands.
> First off, is there a better way to do this? Yes. See [https://lilypond.org/doc/v2.24/Documentation/notation/displaying-rhythms.html#polymetric-notation](https://lilypond.org/doc/v2.24/Documentation/notation/displaying-rhythms.html#polymetric-notation) > It gets worse. There is a section where both hands are in common time, but > even though the right hand time signature isn't changing, it needs to be > displayed again. Again, my tactic would be to fake the time changes. > However, there is a break in the piece that has one time signature before the > break and a different one after. What I should really do is have a change > time signature after the bar but before the break. I don't know how to > "fake" that. Adapting the example from the documentation: ``` \version "2.24.2" \layout { \enablePolymeter } \relative << \new Staff { \time 3/4 c'4 c c | c4 c c | \break c2. } \new Staff { \time 3/4 \set Staff.timeSignatureFraction = 9/8 \scaleDurations 2/3 { \repeat unfold 3 { c8[ c c] } \repeat unfold 3 { c4 c8 } } \unset Staff.timeSignatureFraction \time 3/4 c2. } >> ``` Best, Jean signature.asc Description: This is a digitally signed message part
Re: Separate time signatures in left and right hands.
On Fri, Nov 10, 2023 at 11:56 AM Knute Snortum wrote: > I'm engraving a Scriabin piano etude that starts with common time in the > right hand and 12/8 in the left. ... > I think I have a better solution now. It's attached. -- Knute Snortum \version "2.24.2" \paper { ragged-right = ##t } % tsMarkup.128 = \markup { % \override #'(baseline-skip . 0.5) % \column { \concat { \number 1 \number 2 } \translate #'(0.6 . 0) \number 8 } % } tsMarkup.128 = \markup { \override #'(baseline-skip . 0.5) \column { \translate #'(-0.6 . 0) \concat { \number 1 \number 2 } \number 8 } } tsMarkup.C = \markup { \override #'(baseline-skip . 0.5) \column { \musicglyph "timesig.C44" } } fakeTimeSignature = #(define-music-function (tsMarkup) (markup?) #{ \override Staff.TimeSignature.style = #'default \override Staff.TimeSignature.stencil = #(lambda (grob) (grob-interpret-markup grob tsMarkup)) #}) rightHand = \relative { \time 4/4 c'8^"left hand 12/8" \repeat unfold 7 { c8 } \break \bar "||" c8^"show time sig again" \repeat unfold 7 { c8 } \break \bar "||" c8^"original time signature" \repeat unfold 7 { c8 } } leftHand = \relative { \clef bass \fakeTimeSignature \tsMarkup.128 \time 4/4 \scaleDurations 2/3 { \repeat unfold 12 { c8 } } \bar "||" \fakeTimeSignature \tsMarkup.C \time 4/4 \repeat unfold 8 { c8 } \fakeTimeSignature \tsMarkup.128 \time 4/4 \scaleDurations 2/3 { \repeat unfold 12 { c8 } } } \score { \new PianoStaff << \new Staff \rightHand \new Staff \leftHand >> }
Re: Questions about LSR
> I have some questions about the LSR and I hope this is the place to ask > them. > > I have noticed that some snippets take up a lot of blank space under > them. This is because they have marked the snippet as stand-alone, > but haven't put a "tagline = ##f" in the paper or header block. I'm > happy to look through the LSR, find snippets like this and modify > them, but it doesn't look like I have the privileges to do this. I do exactly this, and Harm does the same: Adding `tagline = ##f` whenever I see such a snippet. > So, 1) do we want to modify some of the snippets to add tagline = > ##f, and if so 2) how would I go about modifying the LSR DB? Ad (1): Yes. Ideally, the framework of the LSR should be changed so that this gets automatically added. However, I'm not sure whether this is going to happen in the near future. Ad (2): You need to become an LSR editor. I suggest you contact Sebastiano, with CCing me, Harm, or Jean. Werner
Separate time signatures in left and right hands.
I'm engraving a Scriabin piano etude that starts with common time in the right hand and 12/8 in the left. My first instinct for how to do this is to set the \time to 4/4 in both hands, fake the 8/12 time signature, and use \scaledDurations. First off, is there a better way to do this? It gets worse. There is a section where both hands are in common time, but even though the right hand time signature isn't changing, it needs to be displayed again. Again, my tactic would be to fake the time changes. However, there is a break in the piece that has one time signature before the break and a different one after. What I should really do is have a change time signature after the bar but before the break. I don't know how to "fake" that. In the spirit of a MWE, I've attached a source file I have been using to experiment with different approaches to solve the problems. It's not minimal, but it's a place to start . If anyone is interested in seeing the entire etude, here is a URL (it's number 7): https://vmirror.imslp.org/files/imglnks/usimg/a/a9/IMSLP263772-PMLP07375-Skrjabin_-_Etudes_-12-,_Op.8_-Moscow,_Muzgiz-.pdf -- Knute Snortum \version "2.24.2" \paper { ragged-right = ##t } moveC = \tweak outside-staff-priority ##f \tweak Y-offset 0 \etc spacerGrace = \grace { s8 s16 } twelve = \markup { \concat { \musicglyph "one" \musicglyph "two" } } eight = \markup \musicglyph "eight" moveTwelve = \tweak extra-offset #'(-3.5 . -2.5) \etc moveEight = \tweak extra-offset #'(-2.9 . 2.5) \etc rightHand = \relative { \time 4/4 c'8^"left hand 12/8" \repeat unfold 7 { c8 } \break \bar "||" <>-\moveC ^\markup \musicglyph "timesig.C44" \spacerGrace c8^"show time sig again" \repeat unfold 7 { c8 } \break \bar "||" <>-\moveC ^\markup \musicglyph "timesig.C44" \spacerGrace c8^"back to the first time sigs" \repeat unfold 7 { c8 } } leftHand = \relative { \clef bass \scaleDurations 2/3 { \once \override TextScript.outside-staff-priority = ##f c8-\moveTwelve ^\twelve -\moveEight _\eight \repeat unfold 11 { c8 } } \bar "||" <>-\moveC ^\markup \musicglyph "timesig.C44" \spacerGrace c8 \repeat unfold 7 { c8 } \spacerGrace \scaleDurations 2/3 { \once \override TextScript.outside-staff-priority = ##f c8-\moveTwelve ^\twelve -\moveEight _\eight \repeat unfold 11 { c8 } } } \score { \new PianoStaff << \new Staff \rightHand \new Staff \with { \remove Time_signature_engraver } \leftHand >> }
Questions about LSR
I have some questions about the LSR and I hope this is the place to ask them. I have noticed that some snippets take up a lot of blank space under them. This is because they have marked the snippet as stand-alone, but haven't put a "tagline = ##f" in the paper or header block. I'm happy to look through the LSR, find snippets like this and modify them, but it doesn't look like I have the privileges to do this. So, 1) do we want to modify some of the snippets to add tagline = ##f, and if so 2) how would I go about modifying the LSR DB? -- Knute Snortum
Re: Repeat volta Score.startRepeatBarType & Score.endRepeatBarType
On 2023-11-09 08:42, Michael Werner wrote: On Wed, Nov 8, 2023 at 7:21 PM Stu McKenzie wrote: I'd like to differentiate between two repeat voltas in a score by using 2 different start and end bar types. The following bar types are already defined in LilyPond: Score.startRepeatBarType = #"[|:" Score.endRepeatBarType = #":|]" I'd like to define a second bar type with double opening and closing parentheses, e.g.: Score.startRepeatBarType = #"[[|:" Score.endRepeatBarType = #":|]]" How would that be acheived? Hi there, Maybe something like this: \version "2.25.9" \language "english" \new Staff { \defineBarLine "[[|:" #'( #t #t #t ) \defineBarLine ":|]]" #'( #t #t #t ) \new Voice { \relative c' { \set Score.startRepeatBarType = #"[|:" \set Score.endRepeatBarType = #":|]" c' d e f \repeat volta 2 { c d e f } c d e f \set Score.startRepeatBarType = #"[[|:" \set Score.endRepeatBarType = #":|]]" \repeat volta 2 { c d e f } } } } which produces: image.png For details on how to define the new bar lines, see http://lilypond.org/doc/v2.25/Documentation/notation/bar-lines But basically the two \defineBarLine lines are what actually define the bars lines to use, then later on you use them as desired. The three bool values after define the behavior a beginning of line, mid line, end end of line. Those will need adjusted to your needs. -- Michael Thank you, Michael, for the working example. It seems that additional combinations of defineBarLine were added in version 2.25. I downloaded version 2.25.9 and found that adding break resulted in inconsistent results using the defineBarLine with the Score.startRepeatBarType and Score.endRepeatBarType. For example simply adding a \break before changing the Score.startRepeatBarType, i.e.: c d e f \break \set Score.startRepeatBarType = #"[[|:" results in the bar line at the end of the first line to include the new start repeat bar type. I've tried defining various combinatons of bar lines, as defined on the documentation for 2.25.9, e.g.: \defineBarLine "[[|:-StartDouble_fff" #'( #f #f #f ) \defineBarLine "[[|:-EndDouble_fff" #'( #f #f #f ) \defineBarLine "[[|:-StartDouble_ttf" #'( #t #t #f ) \defineBarLine "[[|:-EndDouble_ttf" #'( #t #t #f ) \defineBarLine "[[|:-StartDouble_ttt" #'( #t #t #t ) \defineBarLine "[[|:-EndDouble_ttt" #'( #t #t #t ) but cannot get the results that I'd like, especially when alternatives are added to the repeat volta. Any further suggestions?