Jan Warchol wrote "I don't know how it could be done, and i strongly
recommend not doing
this. Separating different types of content is in my opinion very
beneficial"
I agree that separating content is useful. As you point out, it allows one
to easily recombine it in various formats. It's just that I prefer to have
the computer do the work whenever possible. Let me see if I can clarify
what I mean by that.
Conceptually, I could write a preprocessor that would use special comment
prefixes '%!T' and '%!!T' to take input like
%!T These are lyr- rics
%!!T do8 re mi fa
%!T and a few more.
%!!T sol la ti do
and output the music and the lyrics in separate variable assignments
\tenormelody = \relative do { do8 re mi fa sol la ti do }
\tenorlyric = \lyricmode { These are ly-rics and a few more }
and then use these in your template, right? I can code that up in Python in
a heartbeat, but it's an unappealing solution for obvious reasons. Hence
the query about how to do it with LilyPond and Scheme.
Cheers,
Mike
On Wed, Dec 15, 2010 at 1:52 AM, Jan Warchoł <
[email protected]> wrote:
> Hi,
>
> 2010/12/14 Michael Ellis <[email protected]>:
> > Is there a clean way to enter a phrase followed by the corresponding
> notes
> > in a \relative block? The example given in the docs,
> >
> > {
> > \time 3/4
> > \relative c' { c2 e4 g2. }
> > \addlyrics { play the game }
> > }
> >
> > is fine for a small example, but it gets messy for longer music. I do a
> > lot of transcribing choral parts out of printed scores and would like to
> be
> > able to keep the lyrics together with the music in chunks of a few bars
>
> I don't know how it could be done, and i strongly recommend not doing
> this. Separating different types of content is in my opinion very
> beneficial, for example i use the following template for choral music
> and i find it very logically structured, clear to read and easy to
> maintain (for example i can easily change an existing piece to be
> written on two staves instead of four just by changing structure in
> "choir" block):
>
> \version "2.12.3"
> \pointAndClickOff
> \header {
> title = ""
> subtitle = ""
> poet = "słowa: "
> composer = "muzyka: "
> arranger = "opracowanie: "
> }
> global = {
> \autoBeamOff
> \key
> \time
> }
> scoretempomarker = {
> \tempo
> \set Score.tempoHideNote = ##t
> }
> %--------------------------------MUSIC--------------------------------
> sopranomelody = \relative c'' {
>
> \bar "|."
> }
> altomelody = \relative f' {
>
> \bar "|."
> }
> tenormelody = \relative c' {
>
> \bar "|."
> }
> bassmelody = \relative f {
>
> \bar "|."
> }
> akordy = \chordmode {
>
> }
> %--------------------------------LYRICS--------------------------------
> sopranotext = \lyricmode { \set stanza = "1. "
>
> }
> altotext = \lyricmode { \set stanza = "1. "
>
> }
> tenortext = \lyricmode { \set stanza = "1. "
>
> }
> basstext = \lyricmode { \set stanza = "1. "
>
> }
> stanzas = \markup {
> }
> %--------------------------------THE BIG STRUCTURE
> VARIABLE--------------------------------
>
> choirpart = {
> \new ChoirStaff <<
> \scoretempomarker
> \new ChordNames { \germanChords \akordy }
> \new Staff = soprano {
> \clef treble
> \set Staff.instrumentName = "S "
> \set Staff.shortInstrumentName = "S "
> \new Voice = soprano {
> \global
> \set Voice.midiInstrument = "clarinet"
> \sopranomelody
> }
> }
> \new Lyrics = sopranolyrics \lyricsto soprano \sopranotext
>
> \new Staff = alto {
> \clef treble
> \set Staff.instrumentName = "A "
> \set Staff.shortInstrumentName = "A "
> \new Voice = alto {
> \global
> \set Voice.midiInstrument = "english horn"
> \altomelody
> }
> }
> \new Lyrics = altolyrics \lyricsto alto \altotext
>
> \new Staff = tenor {
> \clef "treble_8"
> \set Staff.instrumentName = "T "
> \set Staff.shortInstrumentName = "T "
> \new Voice = tenor {
> \global
> \set Voice.midiInstrument = "english horn"
> \tenormelody
> }
> }
> \new Lyrics = tenorlyrics \lyricsto tenor \tenortext
>
> \new Staff = bass {
> \clef bass
> \set Staff.instrumentName = "B "
> \set Staff.shortInstrumentName = "B "
> \new Voice = bass {
> \global
> \set Voice.midiInstrument = "clarinet"
> \bassmelody
> }
> }
> \new Lyrics = basslyrics \lyricsto bass \basstext
> >>
> }
>
> %---------------------------------MIDI---------------------------------
> \score {
> \unfoldRepeats \choir
> \midi {
> \context {
> \Staff \remove "Staff_performer"
> }
> \context {
> \Voice
> \consists "Staff_performer"
> \remove "Dynamic_performer"
> }
> }
> }
>
> %--------------------------------LAYOUT--------------------------------
> \score {
> \choir
> \layout {
> indent = 0\cm
> \context {
> \Staff \consists "Ambitus_engraver"
> }
> }
> }
>
> \stanzas
>
> (if anyone wants to use this template, feel free to do it).
>
> cheers,
> Janek
>
_______________________________________________
lilypond-user mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/lilypond-user