Generate staff-less chord and lyrics sheet

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

Generate staff-less chord and lyrics sheet

Annette Kusma
Hi,

I have a working .ly-file that displays a staff with notes, lyrics and
chordnames, all correctly counted/aligned.

I wonder if there is any command to generate a sheet with only chords
and lyrics, no staves.

The output should look something like this:


C               F     C
Mary had a little lamb
     F               G          C
Its fleece was white as snow


with the chord names printed nicely above the corresponding syllable
(the .ly-file could calculate the alignment from combining the given
lyrics- and notes-information), but hyphens removed, and linebreaks
at, say every given number of measures.

What would be the term to search for, in case there already is some
ready-to-learn solution?

I could simply write my sheet in some office programme, but it will be
easier to transpose things forth and back and to regenerate sheets
from new and modified files, so I'd really look forward to a solution.

Thanks,
Annette

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Generate staff-less chord and lyrics sheet

Andrew Bernard
Hi Annette,

A minimal working example would be good (MWE).

But can't you simply hide the staff?

See NR for 2.19.82 Section 1.6.2, subsection Hiding Staves. [Works in earlier lilypond versions as well.]

"Staff lines can be hidden by removing the Staff_symbol_engraver from the Staff context. As an alternative, \stopStaff may be used. "

Andrew


On Fri, 7 Dec 2018 at 08:38, Annette Kusma <[hidden email]> wrote:

I wonder if there is any command to generate a sheet with only chords
and lyrics, no staves.


_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Generate staff-less chord and lyrics sheet

Kieren MacMillan
In reply to this post by Annette Kusma
Hi Annette,

> I wonder if there is any command to generate a sheet with only chords
> and lyrics, no staves.

Here’s one attempt. You should be able to take it from here.

Hope this helps!
Kieren.

%%%  SNIPPET BEGINS

\version "2.19.80"

theMelody = {
  e'4 d' c' d'
  e'4 4 4 4
  d'4 4 e' d'
  c'2. r4
}

theChords = \chordmode {
  c2 f
  c1
  f2 g
  c1
}

theWords = \lyricmode {
  Mar4 -- y had a lit -- tle lamb,
  Its fleece was white as snow.2
}

\score {
  <<
    \new ChordNames \theChords
    \new Staff \new Voice = "melody" \theMelody
    \new Lyrics \lyricsto "melody" \theWords
  >>
  \layout {
    ragged-right = ##f
  }
}

\score {
  <<
    \new Devnull \new NullVoice = "melody" \theMelody
    \new ChordNames \theChords
    \new Lyrics \lyricsto "melody" \theWords
  >>
  \layout {
    ragged-right = ##f
    \context {
      \Staff
      \omit StaffSymbol
      \omit BarLine
      \omit Clef
      \omit TimeSignature
    }
  }
}

%%%  SNIPPET ENDS
________________________________

Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: [hidden email]


_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Generate staff-less chord and lyrics sheet

Kieren MacMillan
Hi Annette,

Here’s a simpler version that seems to work.

Kieren.

\version "2.19.80"

theMelody = {
  e'4 d' c' d'
  e'4 4 4 4
  d'4 4 e' d'
  c'2. r4
}

theChords = \chordmode {
  c2 f
  c1
  f2 g
  c1
}

theWords = \lyricmode {
  Mar -- y had a lit -- tle lamb,
  Its fleece was white as snow.
}

\score {
  <<
    \new ChordNames \theChords
    \new Staff \new Voice = "melody" \theMelody
    \new Lyrics \lyricsto "melody" \theWords
  >>
  \layout {
    ragged-right = ##f
  }
}

\score {
  <<
    \new Devnull = "melody" \theMelody
    \new ChordNames \theChords
    \new Lyrics \lyricsto "melody" \theWords
  >>
  \layout {
    ragged-right = ##f
  }
}

Cheers,
Kieren.
________________________________

Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: [hidden email]


_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Generate staff-less chord and lyrics sheet

Carl Sorensen-3
In reply to this post by Annette Kusma


On 12/6/18, 1:15 PM, "Annette Kusma" <[hidden email]> wrote:

    Hi,
   
    I have a working .ly-file that displays a staff with notes, lyrics and
    chordnames, all correctly counted/aligned.
   
    I wonder if there is any command to generate a sheet with only chords
    and lyrics, no staves.
   
    The output should look something like this:
   
   
    C               F     C
    Mary had a little lamb
         F               G          C
    Its fleece was white as snow
   
   
    with the chord names printed nicely above the corresponding syllable
    (the .ly-file could calculate the alignment from combining the given
    lyrics- and notes-information), but hyphens removed, and linebreaks
    at, say every given number of measures.
   
    What would be the term to search for, in case there already is some
    ready-to-learn solution?
   
    I could simply write my sheet in some office programme, but it will be
    easier to transpose things forth and back and to regenerate sheets
    from new and modified files, so I'd really look forward to a solution.
   
I really find Kieren's solution to be interesting.  I have made a number of guitar chord/lyrics sheets like this, and I generally don't use LilyPond. Maybe for the benefit of transposing I'll start using LilyPond.

What I've been using is Chordii/ChordPro.  It's not as powerful as LilyPond, but also not as complicated.

HTH,

Carl
   

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Generate staff-less chord and lyrics sheet

Carl Sorensen-3


On 12/6/18, 6:41 PM, "Carl Sorensen" <[hidden email]> wrote:

   
   
    What I've been using is Chordii/ChordPro.  It's not as powerful as LilyPond, but also not as complicated.
   

Oops -- that's my mistake.  I haven't been using Chordii, I've been using the gchords package in LaTeX, which is similar.

Thanks,

Carl

   

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Generate staff-less chord and lyrics sheet

Kieren MacMillan
In reply to this post by Annette Kusma
Hi Carl (et al.),

> I really find Kieren's solution to be interesting.

I’m glad!

Below, I’ve done a little custom-context-building, in the hopes we might crowd-source a real solution to this problem (which crops up on the list fairly often). I’ve added a way (using tags) to break lyrics at appropriate spots, independent of breaks in the musical score. I’ve also shown how lyrics could be "centred" on the page (using indents, etc.); of course, this could also be done using margins, but I wanted to see if it could be done on a single page (equiv. in a single bookpart).

Best,
Kieren.

\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 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 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 LyricHyphen.minimum-length = #0
    \override LyricHyphen.minimum-distance = #0
    \override LyricText.self-alignment-X = #-0.9
  }
}

lyricsbreak =  \tag #'lyricsheet { \bar "" \break }

theMelody = {
  e'4 d' c' d'
  e'4 4 4 \lyricsbreak 4
  d'4 4 e' d'
  c'2. r4
}

theChords = \chordmode {
  c2 f
  c1
  f2:6 g
  c1
}

theWords = \lyricmode {
  Mar -- y had a lit -- tle lamb,
  Its fleece was white as snow.
}

\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"
    }
  }
}
________________________________

Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: [hidden email]


_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Generate staff-less chord and lyrics sheet

Johan Vromans
In reply to this post by Annette Kusma
On Thu, 6 Dec 2018 21:15:43 +0100, Annette Kusma <[hidden email]>
wrote:

> The output should look something like this:
>
> C               F     C
> Mary had a little lamb
>      F               G          C
> Its fleece was white as snow
>
> I could simply write my sheet in some office programme,

Instead of trying to abuse office programs, why not take a look at
https://www.chordpro.org ?

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Generate staff-less chord and lyrics sheet

Thomas Morley-2
Am Sa., 8. Dez. 2018 um 10:08 Uhr schrieb Johan Vromans <[hidden email]>:

>
> On Thu, 6 Dec 2018 21:15:43 +0100, Annette Kusma <[hidden email]>
> wrote:
>
> > The output should look something like this:
> >
> > C               F     C
> > Mary had a little lamb
> >      F               G          C
> > Its fleece was white as snow
> >
> > I could simply write my sheet in some office programme,
>
> Instead of trying to abuse office programs, why not take a look at
> https://www.chordpro.org ?

I doubt the initial request will ever work sufficiently with LilyPond.

Well, it's possible to eleminate the hyphen and the space it creates,
yes, but ligatures are not possible.
It's the same as in markup, regard
\markup \override #'(word-space . 0) \line { f i }

If one "joins" the texts, in markup one could do \markup \concat { f i
}, then for LyricText you would need to "join" the duration as well.
How to place ChordName then?

Evenwithout Hyphen
<<
  \new ChordNames \chordmode { c4:7 c:7.13 }
  \new Devnull { c' c' }
  \new Lyrics \lyricmode { f i }
>>

the manually joined result looks strange in both cases

<<
  \new ChordNames \chordmode { c4:7 c:7.13 }
  \new Devnull { c' c' }
  \new Lyrics \lyricmode { fi2 }
>>

The warning about "staff-affinities should only decrease" may be cured
easily, though

Admittedly even with a text-editing program placing two chords with
extensions over a very short syllable may lead to unsatisfying
results.

So for now I'd like to second Johan pointing to a different program.



Cheers,
  Harm

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Generate staff-less chord and lyrics sheet

Annette Kusma
In reply to this post by Kieren MacMillan
Hi Kieren,

thanks for your replies. Your first solution was sort of working for
me. Seems like a good idea to develop a better solution.

One problem I immediately ran into was syncopes at measure boundaries.
Assume that the information given to Lilypond is for example that a
syllable starts at the last eigth of a measure and continues into the
next measure. In a chord sheet you would want to place the chord
symbol right on top of that syllable, not between it and the next one,
which will make the sheet harder to read.

I guess, one might give directions to Lilypond in some way to to
straighten syncoped syllables, either by comparing the length of the
tone before and after the measure boundary, or by setting a certain
value, for Pop/Rock for example one eight: If a syllable stretches
over a measure boundary and the first measure contains only one eigth,
then ignore that eigth.

I am not a very frequent user of Lilypond and won't be able to
technically help develop any solution, so I will follow the further
development of this mailing thread and issue only when time allows.

Thanks all, and Happy Christmas Season!
Annette

2018-12-07 16:02 GMT+01:00, Kieren MacMillan <[hidden email]>:

> Hi Carl (et al.),
>
>> I really find Kieren's solution to be interesting.
>
> I’m glad!
>
> Below, I’ve done a little custom-context-building, in the hopes we might
> crowd-source a real solution to this problem (which crops up on the list
> fairly often). I’ve added a way (using tags) to break lyrics at appropriate
> spots, independent of breaks in the musical score. I’ve also shown how
> lyrics could be "centred" on the page (using indents, etc.); of course, this
> could also be done using margins, but I wanted to see if it could be done on
> a single page (equiv. in a single bookpart).
>
> Best,
> Kieren.
>

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user