Kieren MacMillan
2018-12-07 17:18:41 UTC
Hi all,
In the snippet below, I’m trying to develop some custom contexts so that people can write out lyrics with chords (but no music).
Right now, I’m trying to fix two things:
1. I want to eliminate all LyricHyphens entirely, and present words as complete words (rather than syllables). This would be solved, of course, if we had a "first-class citizen" LyricWord grob (q.v. the discussion a few years ago during Janek’s GSOC Lyrics work). Short of that, what can I do to squeeze out all LyricHyphens and spaces between syllables?
2. I want lyrics to be naturally spaced (i.e., not affected at all by the duration of the notes they are attached to). In the first line of output from the snippet, there are spaces "Mary ____ had a ____ little lamb" etc. How can I eliminate those?
Thanks,
Kieren.
%%% SNIPPET BEGINS
\version "2.19.80"
\paper {
indent = 0
ragged-right = ##t
system-system-spacing = #'((basic-distance . 6) (minimum-distance . 6) (padding . 2.5) (stretchability . 0))
score-system-spacing.padding = #12
}
\layout {
\context {
\ChordNames
\override ChordName.font-name = #"Alegreya Medium"
\override VerticalAxisGroup.staff-affinity = #DOWN
\override VerticalAxisGroup.nonstaff-relatedstaff-spacing =
#'((basic-distance . 2.5) (minimum-distance . 2.5) (padding . 1.25) (stretchability . 0))
}
\context {
\Lyrics
\override LyricText.font-name = #"Alegreya"
\override VerticalAxisGroup.staff-affinity = #UP
\override VerticalAxisGroup.nonstaff-relatedstaff-spacing =
#'((basic-distance . 5.5) (minimum-distance . 5.5) (padding . 1.25) (stretchability . 0))
}
\context {
\ChordNames
\name LyricSheetChords
\alias ChordNames
\inherit-acceptability LyricSheetChords ChordNames
\override VerticalAxisGroup.nonstaff-nonstaff-spacing =
#'((basic-distance . 1) (minimum-distance . 1) (padding . 1) (stretchability . 0))
}
\context {
\Lyrics
\name LyricSheetLyrics
\alias Lyrics
\inherit-acceptability LyricSheetLyrics Lyrics
\override VerticalAxisGroup.staff-affinity = #UP
\override VerticalAxisGroup.nonstaff-relatedstaff-spacing =
#'((basic-distance . 3) (minimum-distance . 3) (padding . 2) (stretchability . 0))
\override LyricText.self-alignment-X = #-0.9
\override LyricSpace.minimum-distance = #0.625
\override LyricSpace.minimum-length = #0.5
}
}
theMelody = {
e'4 d' c' d'
e'4 4 4 4
d'4 4 e' d'
c'2 r4 d'
e'4 d' c' d'
e'4 4 4 4
d'4 4 e' d'
c'2. r4
}
theChords = \chordmode {
c2 f
c1
d2:m g
c1
c2 f
c1
d2:m g
c1
}
lyricsbreak = \tag #'lyricsheet { \bar "" \break }
theWords = \lyricmode {
Mar -- y had a lit -- tle lamb,
\lyricsbreak
Its fleece was white as snow.
\lyricsbreak
And ev -- ery -- where that Mar -- y went
\lyricsbreak
The lamb was sure to go.
}
\score {
\removeWithTag #'lyricsheet <<
\new ChordNames \theChords
\new Staff \new Voice = "melody" \theMelody
\new Lyrics \lyricsto "melody" \theWords
\layout {
ragged-right = ##f
}
}
\score {
\keepWithTag #'lyricsheet <<
\new ChordNames \theChords
\new Devnull = "melody" \theMelody
\new LyricSheetLyrics \lyricsto "melody" \theWords
\layout {
line-width = 6\in
indent = 2\in
short-indent = 2\in
\context {
\Score
\remove "Bar_number_engraver"
\remove "Bar_engraver"
}
}
}
%%% SNIPPET ENDS
________________________________
Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: ***@kierenmacmillan.info
In the snippet below, I’m trying to develop some custom contexts so that people can write out lyrics with chords (but no music).
Right now, I’m trying to fix two things:
1. I want to eliminate all LyricHyphens entirely, and present words as complete words (rather than syllables). This would be solved, of course, if we had a "first-class citizen" LyricWord grob (q.v. the discussion a few years ago during Janek’s GSOC Lyrics work). Short of that, what can I do to squeeze out all LyricHyphens and spaces between syllables?
2. I want lyrics to be naturally spaced (i.e., not affected at all by the duration of the notes they are attached to). In the first line of output from the snippet, there are spaces "Mary ____ had a ____ little lamb" etc. How can I eliminate those?
Thanks,
Kieren.
%%% SNIPPET BEGINS
\version "2.19.80"
\paper {
indent = 0
ragged-right = ##t
system-system-spacing = #'((basic-distance . 6) (minimum-distance . 6) (padding . 2.5) (stretchability . 0))
score-system-spacing.padding = #12
}
\layout {
\context {
\ChordNames
\override ChordName.font-name = #"Alegreya Medium"
\override VerticalAxisGroup.staff-affinity = #DOWN
\override VerticalAxisGroup.nonstaff-relatedstaff-spacing =
#'((basic-distance . 2.5) (minimum-distance . 2.5) (padding . 1.25) (stretchability . 0))
}
\context {
\Lyrics
\override LyricText.font-name = #"Alegreya"
\override VerticalAxisGroup.staff-affinity = #UP
\override VerticalAxisGroup.nonstaff-relatedstaff-spacing =
#'((basic-distance . 5.5) (minimum-distance . 5.5) (padding . 1.25) (stretchability . 0))
}
\context {
\ChordNames
\name LyricSheetChords
\alias ChordNames
\inherit-acceptability LyricSheetChords ChordNames
\override VerticalAxisGroup.nonstaff-nonstaff-spacing =
#'((basic-distance . 1) (minimum-distance . 1) (padding . 1) (stretchability . 0))
}
\context {
\Lyrics
\name LyricSheetLyrics
\alias Lyrics
\inherit-acceptability LyricSheetLyrics Lyrics
\override VerticalAxisGroup.staff-affinity = #UP
\override VerticalAxisGroup.nonstaff-relatedstaff-spacing =
#'((basic-distance . 3) (minimum-distance . 3) (padding . 2) (stretchability . 0))
\override LyricText.self-alignment-X = #-0.9
\override LyricSpace.minimum-distance = #0.625
\override LyricSpace.minimum-length = #0.5
}
}
theMelody = {
e'4 d' c' d'
e'4 4 4 4
d'4 4 e' d'
c'2 r4 d'
e'4 d' c' d'
e'4 4 4 4
d'4 4 e' d'
c'2. r4
}
theChords = \chordmode {
c2 f
c1
d2:m g
c1
c2 f
c1
d2:m g
c1
}
lyricsbreak = \tag #'lyricsheet { \bar "" \break }
theWords = \lyricmode {
Mar -- y had a lit -- tle lamb,
\lyricsbreak
Its fleece was white as snow.
\lyricsbreak
And ev -- ery -- where that Mar -- y went
\lyricsbreak
The lamb was sure to go.
}
\score {
\removeWithTag #'lyricsheet <<
\new ChordNames \theChords
\new Staff \new Voice = "melody" \theMelody
\new Lyrics \lyricsto "melody" \theWords
\layout {
ragged-right = ##f
}
}
\score {
\keepWithTag #'lyricsheet <<
\new ChordNames \theChords
\new Devnull = "melody" \theMelody
\new LyricSheetLyrics \lyricsto "melody" \theWords
\layout {
line-width = 6\in
indent = 2\in
short-indent = 2\in
\context {
\Score
\remove "Bar_number_engraver"
\remove "Bar_engraver"
}
}
}
%%% SNIPPET ENDS
________________________________
Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: ***@kierenmacmillan.info