On 01/25/2011 12:25 PM, lilyp...@josebreden.nl wrote:
Hello,
Singing in a coral I would like to exercise the different parts
(soprano, alto, bass).
So I would like to generate from a single .ly-file, multiple midi-files:
- all parts together (which is allready working)
- only soprano part
- only alto part
- only bass part
With a small kind of switch.
Sorry I don't know how to do it with a switch, but I've attached
something that does something similar, it just does it all at once.
From one lilypond source, O_Magnum_Mysterium.ly, it generates:
O_Magnum_Mysterium-soprano.pdf
O_Magnum_Mysterium-soprano.midi
O_Magnum_Mysterium-alto.pdf
O_Magnum_Mysterium-alto.midi
O_Magnum_Mysterium-tenor.pdf
O_Magnum_Mysterium-tenor.midi
O_Magnum_Mysterium-bass.pdf
O_Magnum_Mysterium-bass.midi
O_Magnum_Mysterium-choir.pdf
O_Magnum_Mysterium-choir.midi
O_Magnum_Mysterium-piano-reduction.pdf
Maybe it will give you an idea.
Patrick
#(set-global-staff-size 18)
\header {
filename = "o_magnum_mysterium.ly"
title = "O Magnum Mysterium"
poet = "from Matins of Christmas"
subtitle = "for mixed chorus, a cappella"
instrument = "Four Part Voice"
opus = ""
composer = "Tomás Luis de Victoria (1549-1611)"
date = "1572"
mutopiatitle = "O Magnum Mysterium"
mutopiacomposer = "VictoriaTLd"
mutopiapoet = "from Matins of Christmas"
mutopiainstrument = "Voice"
source = "Arista Edition"
style = "Renaissance"
copyright = "Creative Commons Attribution-ShareAlike 3.0"
typesetter = "Jeff Covey & Patrick Horgan"
maintainer = "Jeff Covey & Patrick Horgan"
maintainerEmail = "jeff.covey at pobox dot com & patrick at dbp-consulting dot com"
maintainerWeb = "http://jeffcovey.net/"
% brought up to 2.11.49 and minor edits by patr...@dbp-consulting.com
% put 2.10.33 in as version just because 2.11 is development and not out yet.
lastupdated = "2008/06/30"
footer = "Mutopia-2008/06/30-244"
tagline = \markup {
\override #'(box-padding . 1.0)
\override #'(baseline-skip . 2.7)
\box \center-align {
\small \line {
Sheet music from \with-url #"http://www.MutopiaProject.org" \line {
\teeny www. \hspace #-1.0 MutopiaProject \hspace #-1.0 \teeny .org
\hspace #0.5
}
ââ¬Â¢ \hspace #0.5
\italic Free to download, with the \italic freedom to distribute, modify and perform.
}
\line {
\small \line {
Typeset using \with-url #"http://www.LilyPond.org" \line {
\teeny www. \hspace #-1.0 LilyPond \hspace #-1.0 \teeny .org
} by \typesetter \hspace #-1.0 . \hspace #0.5 Reference: \footer
}
}
\line {
\teeny \line {
This sheet music has been placed in the public domain by the typesetter,
for details see: \hspace #-0.5
\with-url #"http://creativecommons.org/licenses/publicdomain"
http://creativecommons.org/licenses/publicdomain
}
}
}
}
}
%{ thanks to jcn for all the help on this one! :) %}
\version "2.11.49"
global = {
\transpose f e
\key f \minor
\tempo 4 = 110
\time 4/4
\compressFullBarRests
\override MultiMeasureRest #'expand-limit = 3
\skip 1*39 \bar "||"
\skip 1*13 \bar "||" \time 3/4
\skip 2.*14 \bar "||" \time 4/4
\skip 1*8 \bar "|."
}
sopranoMelody = \relative c'' {
\clef "violin"
c1 f,2 c' ~ c4 c des des c2 r4
f des ees f4. f8 f4 c des c ~
( c8[ bes aes g aes bes c aes] bes[ aes] aes[ g16 f] g2 ~ g ) f
% 10
a1 bes2 a4. ( bes8 c4 )
des4. ( c8 bes4 ~ bes a ) bes ( aes8 [ g ] f4 ) g aes2
% 15
r4 f' des ees f4. f8 f4 des bes c des4. des8 des4 c4. bes8 bes4 ( ~ bes a ) bes2
% 20
r1 r4 des4 c4. a8 bes4 c des bes des4. des8 des4 des c2 c
% 25
a4 c c4. c8 c4 d ees2 des?4 ( c8[ bes ] c2 des ) c r1
% 30
r4 f, bes2 aes4 f g ( a ) bes4. ( c8 des!4 ) des c2 r r1
% 35
r4 bes ees2 des4 bes c d ees4. ( des8 [ c bes ] bes4 ~
bes a8 [ g ] a4 ) a bes2 r
% 40
a2. a4 a2 bes a4. ( bes8 c4 des ~ des8 [ c ] c4. bes8 bes4 )
c a2 a4 bes4. bes8 bes2
% 46
r4 bes4. ( c8 [ des bes ] c4 ) f ees2 des4 f ees c
des4. ( c8 [ bes aes ] aes [ g16 f ]
% 50
g4 ) g f c' ~ c aes2 des4 ( ~ des8 [ c ] bes2 a4 )
% 53 3/4 time starts here
bes2 des4 c2 a4 bes4. aes?8 ( [ bes c] ) des4 c2
des2 bes4 aes2 f4 g4. f8 ( [ g aes] )
% 60
bes2 a4 bes2. r4 r ees des4. ( c8 [ des bes ]
c4 ) aes8 ( [ bes c des ] ) ees2 ees4 des4 f2
% 67 back to 4/4 time
f1 r4 f f8 ( [ ees des c ] bes4 ) ees4. ( des8 [ c bes ]
a4 bes2 a4 ) bes1 ~ bes ~ bes ~ bes
}
altoMelody = \relative c' {
\clef "violin"
r1 r2 f2 ~ f bes, f'2. f4 ges ges f2 r4
f des ees f4. f8 f4 c des f2 ( e8 [ d ] e2 ) f
% 10
f1 f2 f4. ( g8 aes?4 ) aes, bes4. ( c8 des4 ) c bes
f' f ees c4. c8
% 15
c4 des4. c8 bes4 ( ~ bes a ) bes
bes' f aes aes4. aes8 aes2 f4 ges4 f2 f ~
% 20
f2 r2 r4 bes aes4. f8 g4 a bes f f4. f8 f4 g aes2 g
% 25
f4 aes? aes4. aes8 aes4 aes bes c ( ~ c8 [ bes ] bes2 a4 )
bes f aes?4. ( g16 [ aes ] bes4 aes8 [ g ] f4 ) c
% 30
r2 r4 bes f'2 ees4 c d ees ( f8 [ ees f g ]
aes4. g16 [ aes ] bes4 ) aes8 ( [ g ] ) f2 r4 c
% 35
f2 ees4 c des8 ( [ ees f g ] aes2 ) bes4. ( aes8 [ ges f ] ges4
f2. ) f4 d2 r
% 40
f2. f4 f2 f f1 ~ f f2 r4 f ~ f f ges4. ges8
% 46
f4 bes,8 ( [ c des ees f g ] aes4 ) aes aes2 f4 f g a
bes4. ( aes?8 [ g f ] f4 ~ f ) e f aes ( ~ aes8 [ g f ees ] f2 )
des4 ( ees ) f2
% 53 3/4 time starts here
f2 bes4 aes2 f4 g4. f8 ( [ g aes] ) bes2 a4 bes2 f4 f2 c4 ees2 ees4
% 60
f4 f2 f2 des4 bes2 a4 bes2 bes'4 aes2 f4
g4. f8 ( [ g aes] ) bes2 a4
% 67 back to 4/4 time
bes2 r4 f4 f8 ( [ ees des c ] bes4 ) bes' ( ~ bes8 [ aes ges f ] es4 ges )
f2 r4 c des4. ( ees8 f4 ) ges ( ~ ges f ees4. f8 ges2 )
f ~ f1
}
tenorMelody = \relative c' {
\clef "violin_8"
R1*7 r2 c2 ~ c f,2
% 10
c'2. c4 des des c2 r4 f des ees
f4. f8 f4 c des c4. ( bes8 [ aes g ]
% 15
aes2 bes c ) des4 f des ees f4. f8 f4 ees des ( ees ) c2 bes4 des
% 20
c4. a8 bes4 c des bes f'4. f8 ees4 c bes des des4. des8 des4 des
ees f2 ( e4 )
% 25
f f, f'4. f8 f4 f ees2 ges f r4 bes, f'2 ees4 c d ( ees )
% 30
f8 ( [ ees des c bes c des bes ] c2. ) c4 bes2 r4 bes
f'2 ees4 c des c4. ( bes8 [ aes g ]
% 35
aes4 bes2 ) a4 bes des ees f ( ges4. f8 [ ees des ] ees4
des c8 [ bes ] c4 ) c bes2 r
% 40
c2. c4 c2 des c2. ( bes4 c2 des ) c4 c2 c4
% 45
d4. d8 ees4 bes8 ( [ c des ees ] f2 ) des4
ees ( des2 c4 ) des des ees f bes,2. des4 c1 aes bes2 c
% 53 3/4 time starts here
bes2 bes4 f'2 f4 ees2 ees4 bes4 f'2 bes,2 des4
c2 aes4 bes4. aes8 ( [ bes c ] )
% 60
des4 c2 bes2 f4 g4 ees2 f2 des'4 c2 aes4 bes2 bes4 bes4 c2
% 67 back to 4/4 time
bes4 des c8 ( [ bes aes g ] f4 ) bes8 ( [ c des ees f des ]
ees4. f8 ges [ f ees des ] c4 bes ) c f f8 ( [ es des c ] bes4 )
des ( ees f ges4. f8 ees2. ) d?8 ( [ c ] d1 )
}
bassMelody = \relative c {
\clef "bass"
R1*9
% 10
f1 bes,2 f' ~ f4 f ges ges f2 r4 f des ees f4. f8
% 15
f4 des ges2 f2 bes,4 bes bes' aes des,4. des8 des4 aes' bes ( ees, ) f2
bes,4 bes'
% 20
aes4. f8 g4 a bes2 r r r4 bes, bes'4. bes8 bes4 bes aes4. ( bes8 ) c2
% 25
f,2 r r1 r2 r4 f4 bes2 aes4 f4 g aes ( bes aes8 [ g ]
% 30
f4. aes8 ges4 ) ges f2 r
r4 ees4 bes'2 aes4 f g ( aes ) bes ( aes8 [ g ] f4. ees8
% 35
des4 c8 [ bes ] c4 ) c bes bes' aes f ( ees1 f2. ) f4 bes,2 r
% 40
f'2. f4 f2 bes, f'4. ( g8 a4 bes ~ bes8 [ a ] a4 bes2 )
f4 f2 f4 bes4. bes8 ees,2
% 46
bes'2. bes4 aes ( des, aes'2 ) des, r
r1 r2 f ~ f des ges ( f )
% 53 3/4 time starts here
bes,2 r4 r2. r r r2 bes4 f'2 f4 ees2 ees4
% 60
bes f'2 bes,2 bes4 ees4 c2 bes2 bes4 f'2 f4
ees2 ees4 ges4 f2
% 67 back to 4/4 time
bes,4 bes' aes8 ( [ g f ees des c bes aes ] bes2 ) ees1 ( f )
bes,4 bes' bes8 ( [ aes ges f ] ees4 d ) ees2 ~ ees
bes ~ bes1
}
sopranoLyrics = \lyricmode {
O ma -- gnum __ my -- ste -- ri -- um
et ad -- mi -- ra -- bi -- le sa -- cra -- men __ tum,
O ma -- gnum __ my -- ste -- ri -- um
et ad -- mi -- ra -- bi -- le,
et ad -- mi -- ra -- bi -- le sa -- cra -- men -- tum,
% 21
ut a -- ni -- ma -- li -- a vi -- de -- rent Do -- mi -- num na -- tum,
vi -- de -- rent Do -- mi -- num na -- tum
% 30
ja -- cent -- tem in prae -- se -- pi -- o,
% 35
ja -- cent -- tem in prae -- _ se -- pi -- o,
% 40
O be -- a -- ta Vir -- go, cu -- ius
% 45
vi -- sce -- ra
me -- ru -- e -- runt
por -- ta -- re
% 49
Do -- mi -- num Je -- sum Chri --
% 53 3/4 time starts here
stum.
Al -- le -- lu -- ia,
al -- le -- lu -- ia,
al -- le -- lu -- ia,
al -- le -- lu -- ia,
% 62
al -- le -- lu -- ia,
al -- le -- lu --
% 67 back to 4/4 time
ia,
al -- le -- lu -- ia. __
}
altoLyrics = \lyricmode {
% 2
O _ma -- gnum my -- ste -- ri -- um
et ad -- mi -- ra -- bi -- le sa -- cra -- men -- tum,
% 10
o ma -- gnum _my -- ste -- ri -- um,
et ad -- mi -- ra -- bi -- le sa -- cra -- men -- tum,
et ad -- mi -- ra -- bi -- le sa -- cra -- men -- tum, __
% 21
ut a -- ni -- ma -- li -- a
vi -- de -- rent Do -- mi -- num na -- tum,
vi -- de -- rent Do -- mi -- num na -- tum,
ja -- cen -- tem
% 30
ja -- cent -- tem in prae -- se -- pi -- o,
ja -- cen -- tem in prae -- se -- pi -- o.
% 40
O be -- a -- ta Vir -- go,
cu -- jus vi -- sce -- ra me -- ru -- e -- runt por -- ta -- re
% 49
Do -- mi -- num Je -- sum _Chri --
% 53 3/4 time starts here
stum.
Al -- le -- lu -- ja, al -- le -- lu -- ja,
al -- le -- lu -- ja, al -- le -- lu -- ja,
al -- le -- lu -- ja, al -- le -- lu -- ja,
al -- le -- lu --
% 67 back to 4/4 time
ja, al -- le -- lu -- ja,
al -- le -- lu -- ja. __
}
tenorLyrics = \lyricmode {
% 8
O _ma -- gnum my -- ste -- ri -- um
et ad -- mi -- ra -- bi -- le sa -- cra -- men --
-- tum,
et ad -- mi -- ra -- bi -- le sa -- cra -- men -- tum,
% 19
ut a -- ni -- ma -- li -- a,
ut a -- ni -- ma -- li -- a,
vi -- de -- rent Do -- mi -- num na --
% 25
tum, vi -- de -- rent Do -- mi -- num na -- tum
% 28
ja -- cen -- tem in prae -- se -- pi -- o,
ja -- cen -- tem in prae -- se -- pi -- o,
in prae -- se -- pi --o.
% 40
O be -- a -- ta Vir -- go, cu -- jus vi -- sce -- ra
me -- ru -- e -- runt por -- ta -- re
% 49
Do -- mi -- num Je -- sum Chri --
% 53 3/4 time starts here
stum.
Al -- le -- lu -- ja, al -- le -- lu -- ja, al -- le -- lu -- ja, al -- le -- lu -- ja,
al -- le -- lu -- ja, al -- le -- lu ja, al -- le -- lu --
% 67 back to 4/4 time
ja, al -- le -- lu -- ja,
al -- le -- lu -- ja. __
}
bassLyrics = \lyricmode {
% 10
O ma -- gnum _my -- ste -- ri -- um
et ad -- mi -- ra -- bi -- le sa -- cra -- men -- tum,
et ad -- mi -- ra -- bi -- le sa -- cra -- men -- tum,
% 19
ut a -- ni -- ma -- li -- a,
vi -- de -- rent Do -- mi -- num _na --
% 25
tum,
% 27
ja -- cen -- tem in prae -- se -- pi -- o,
ja -- cen -- tem in prae -- se -- pi --
o, in prae -- se -- pi -- o.
% 40
O be -- a -- ta Vir -- go,
cu -- jus vi -- sce -- ra me -- ru -- e -- runt
% 50
Je -- sum Chri --
% 53 3/4 time starts here
stum.
al -- le -- lu -- ja, al -- le -- lu -- ja,
al -- le -- lu -- ja, al -- le -- lu -- ja,
al -- le -- lu --
% 67 back to 4/4 time
ja, al -- le -- lu -- ja,
al -- le -- lu -- ja. __
}
sopranoTotal = \simultaneous {
\new Staff = "soprano" {
\set Staff.instrumentName = "Soprano"
\set Staff.midiInstrument = "violin"
\new Voice=soprano<< \global \sopranoMelody >>
}
\context Lyrics = soprano \lyricsto soprano \sopranoLyrics
}
altoTotal = \simultaneous {
\new Staff = "alto" {
\set Staff.instrumentName = "Alto"
\set Staff.midiInstrument = "violin"
\new Voice=alto<< \global \altoMelody >>
}
\context Lyrics = alto \lyricsto alto \altoLyrics
}
tenorTotal = \simultaneous {
\new Staff = "tenor" {
\set Staff.instrumentName = "Tenor"
\set Staff.midiInstrument = "cello"
\new Voice=tenor<< \global \tenorMelody >>
}
\context Lyrics = tenor \lyricsto tenor \tenorLyrics
}
bassTotal = \simultaneous {
\new Staff = "bass" {
\set Staff.instrumentName = "Bass"
\set Staff.midiInstrument = "cello"
\new Voice=bass<< \global \bassMelody >>
}
\context Lyrics = bass \lyricsto bass \bassLyrics
}
#(define output-suffix "soprano")
\book {
\paper {
ragged-last-bottom=##f
}
\score {
\sopranoTotal
\layout{ }
\midi { }
}
}
#(define output-suffix "alto")
\book {
\paper {
ragged-last-bottom=##f
}
\score {
\altoTotal
\layout{ }
\midi { }
}
}
#(define output-suffix "tenor")
\book {
\paper {
ragged-last-bottom=##f
}
\score {
\tenorTotal
\layout{
\context {
\Score
skipBars = ##t
}
}
\midi { }
}
}
#(define output-suffix "bass")
\book {
\paper {
ragged-last-bottom=##f
}
\score {
\bassTotal
\layout{
\context {
\Score
skipBars = ##t
}
}
\midi { }
}
}
#(define output-suffix "choir")
\book {
\paper {
ragged-last-bottom=##t
ragged-bottom=##f
head-separation = 3
page-top-space = 7
%annotate-spacing = ##t
}
\score {
\new ChoirStaff = "choir" <<
\sopranoTotal
\altoTotal
\tenorTotal
\bassTotal
>>
\layout {
#(layout-set-staff-size 17)
\context {
\Score
ragged-last-bottom = ##t
}
}
\midi { }
}
}
#(define output-suffix "piano-reduction")
\book {
\paper {
ragged-last-page=##t
ragged-bottom=##t
between-system-space = 30
}
\score {
<<
\new ChoirStaff = "choir" <<
\sopranoTotal
\altoTotal
\tenorTotal
\bassTotal
>>
\new PianoStaff <<
\new Staff <<
\set Staff.printPartCombineTexts = ##f
\partcombine
<< \global \sopranoMelody >>
<< \global \altoMelody >>
>>
\new Staff <<
\clef bass
\set Staff.printPartCombineTexts = ##f
\partcombine
<< \global \tenorMelody >>
<< \global \bassMelody >>
>>
>>
>>
\layout {
\context {
\Staff
\override VerticalAxisGroup #'minimum-Y-extent = #'(-3 . 3)
}
}
}
}
% EOF
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user