lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

\unfoldRepeats for midi file


From: Ming Tsang
Subject: \unfoldRepeats for midi file
Date: Thu, 7 Dec 2017 11:42:36 -0500

Hi lilyponders,

I try to produce file file that unfoldRepeats. The following code did not produce repeats volta. I need help.

Thanks,

Ming

 

\version "2.19.80"

\language "english"

 

\header {

  subtitle = "Joy to the World / Angels We Have Heard on High"

}

 

global = {

  \key d \major

  \numericTimeSignature

  \time 2/4

}

 

eVar =

#(define-music-function (xx start stop) (list? index? index?)

   #{ #@(map (lambda (i) #{ $xx . #i #}) (iota (- stop start -1) start)) #})

 

\include "\articulate.ly"

 

                                          

sop.1  = { \key f\major \time 4/4 a'4 4 4 c'' |}  soj.1  = { d''4 cs''8. b'16 |}

sop.2  = { c''4. bf'8 a'2 |}                       soj.2  = { a'4. g'8 |}

sop.3  = { a'4 g' a' c''|}                         soj.3  = { fs'4 e'|}

sop.4  = { a'4. g'8 f'2 |\break }                  soj.4  = { d'4. a'8 |}

sop.5  = { a'4 4 4 c'' |}                          soj.5  = { b'4. 8 |}

sop.6  = { c''4. bf'8 a'2 |}                       soj.6  = { cs''4. 8 |}

sop.7  = { a'4 g' a' c'' |}                        soj.7  = { d''4. \bar""\break 8 |}

sop.8  = { a'4. g'8 f'2 |\break }                  soj.8  = { d''8( cs'') b'8( a') |}

sop.9  = { c''2( d''8 c'' bf' a' |}                soj.9  = { a'8.( g'16 fs'8) d''8|}

sop.10  = { bf'2 c''8 bf' a' g' |}                 soj.10  = { d''8( cs''8) b'8( a') |}

sop.11  = { a'2 bf'8 a' g' f') |}                  soj.11  = { a'8.( g'16 fs'8) \bar""\break fs'8|}

sop.12  = { g'4. c'8 2 |}                          soj.12  = { fs'8 8 8 16( g') |}

sop.13  = { f'4 g' a' bf' |}                       soj.13  = { a'4. g'16( fs')|}

sop.14  = { a'2 g' |\break }                       soj.14  = { e'8 8 8 16( fs')|}

sop.15  = { c''2( d''8 c'' bf' a' |}               soj.15  = {  g'4. \bar""\break fs'16( e') |}

sop.16  = { bf'2 c''8 bf' a' g' |}                  soj.16  = { d'8( d''4) b'8 |}

sop.17  = { a'2 bf'8 a' g' f') |}                  soj.17  = { a'8.( g'16 fs'8) g'8 |}

sop.18  = { g'4. c'8 2 |}                          soj.18  = { fs'4 e' |}

sop.19  = { f'4 g' a' bf' |}                       soj.19  = { d'2 |}

sop.20  = { a'2( g'2) |}                            soj.20  = { r4. r8 |}

sop.21  = { f'1 |  }                               soj.21  = { R4*2 |}

soprano =   {

  \global

  \repeat volta 1 { \eVar \soj 1 19 }

 

  \soj.20 \soj.21 \break

  \repeat volta 1 { \eVar \sop 1 21 }

 

  R1 R1 \break

  \global

  \eVar \soj 1 19 \bar"|."

}

 

verseOne = \lyricmode {  \set fontSize = #2.0 }

 

choirPart = \new ChoirStaff <<

  \new Staff = "soprano" \soprano

 

    >>

 

\score { 

  <<

    \choirPart

  >>

  \layout { }

  %midi {

  %  \tempo 4=100

  %}

}

\score { \unfoldRepeats

  <<

 

    \choirPart

  >>

  %\layout { }

  \midi {

    \tempo 4=100

  }

}

 

% Rehearsal MIDI files:

rehearsalMidi = #

(define-music-function

(parser location name midiInstrument lyrics) (string? string? ly:music?)

#{

   \unfoldRepeats <<

     \new Staff = "soprano" \new Voice = "soprano" { \soprano }

   

     \context Staff = $name {

       \set Score.midiMinimumVolume = #0.5

       \set Score.midiMaximumVolume = #0.5

       \set Score.tempoWholesPerMinute = #(ly:make-moment 100 4)

       \set Staff.midiMinimumVolume = #0.8

       \set Staff.midiMaximumVolume = #1.0

       \set Staff.midiInstrument = $midiInstrument

     }

     \new Lyrics \with {

       alignBelowContext = $name

     } \lyricsto $name $lyrics

   >>

#})

\book {

  \bookOutputSuffix "soprano"

  \score {

    \rehearsalMidi "soprano" "soprano sax" \verseOne

    \midi { }

  }

}

 

 

Sent from Mail for Windows 10

 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]