When compile the .ly there is no warning or error in the log file:
Starting lilypond-windows.exe 2.19.0 [test-midi.ly]...
Processing `C:/Users/Tsang/Dropbox/CHOIR/the-rock/test-midi.ly'
Parsing...
Interpreting music...[8][16][24][32]
Preprocessing graphical objects...
Interpreting music...
MIDI output to `test-midi.mid'...
Finding the ideal number of pages...
Fitting music on 3 or 4 pages...
Drawing systems...
Layout output to `test-midi.ps'...
Converting to `./test-midi.pdf'...
Success: compilation successfully completed
Completed successfully in 7.4".

but when I added rehearsal midi generation, I got warning bar-check error.
The rehearsal midi is adopted (generated) from Frescobaldi v2.0.13:
Starting lilypond-windows.exe 2.19.0 [test-midi.ly]...
Processing `C:/Users/Tsang/Dropbox/CHOIR/the-rock/test-midi.ly'
Parsing...
Interpreting music...
C:/Users/Tsang/Dropbox/CHOIR/the-rock/test-midi.ly:27:7: warning: barcheck 
failed at: 7/8
r4 
R1*6 %m00-06
C:/Users/Tsang/Dropbox/CHOIR/the-rock/test-midi.ly:28:3: warning: barcheck 
failed at: 3/8
R1*3   r2^\markup"Soprano Solo"r4 g'8a'8 |%m07-10 
C:/Users/Tsang/Dropbox/CHOIR/the-rock/test-midi.ly:28:44: warning: barcheck 
failed at: 7/8
R1*3   r2^\markup"Soprano Solo"r4 g'8a'8 
|%m07-10 
C:/Users/Tsang/Dropbox/CHOIR/the-rock/test-midi.ly:29:23: warning: barcheck 
failed at: 5/6
b'4.d'8~d'4b'8(a'8) 
| a'2r4a'8b'8 |%m11-12
C:/Users/Tsang/Dropbox/CHOIR/the-rock/test-midi.ly:31:16: warning: barcheck 
failed at: 7/8
g'2r4g'8fs'8 
|%m14
C:/Users/Tsang/Dropbox/CHOIR/the-rock/test-midi.ly:34:19: warning: barcheck 
failed at: 2/3
c''4.b'8~b'4g'4 
|%m17
C:/Users/Tsang/Dropbox/CHOIR/the-rock/test-midi.ly:35:17: warning: barcheck 
failed at: 7/8
a'2 r4 g'8a'8 
|%m18
C:/Users/Tsang/Dropbox/CHOIR/the-rock/test-midi.ly:37:17: warning: barcheck 
failed at: 3/4
a'2 r4 a'8b'8 
|%m20
MIDI output to `test-midi-sopranoVoiceI.mid'...
Interpreting music...
C:/Users/Tsang/Dropbox/CHOIR/the-rock/test-midi.ly:63:8: warning: barcheck 
failed at: 7/8
r4 
R1*6 |%m00-06
C:/Users/Tsang/Dropbox/CHOIR/the-rock/test-midi.ly:64:3: warning: barcheck 
failed at: 3/8
R1*3   r2^\markup"Tenor Solo"r4g8a8 |%m07-10 
C:/Users/Tsang/Dropbox/CHOIR/the-rock/test-midi.ly:64:39: warning: barcheck 
failed at: 7/8
R1*3   r2^\markup"Tenor Solo"r4g8a8 
|%m07-10 
C:/Users/Tsang/Dropbox/CHOIR/the-rock/test-midi.ly:65:15: warning: barcheck 
failed at: 2/3
b4.b8~b4d'4 
| d'2r4c'8b8 |%m11-12
C:/Users/Tsang/Dropbox/CHOIR/the-rock/test-midi.ly:65:28: warning: barcheck 
failed at: 7/8
b4.b8~b4d'4 | d'2r4c'8b8 
|%m11-12
C:/Users/Tsang/Dropbox/CHOIR/the-rock/test-midi.ly:67:12: warning: barcheck 
failed at: 3/4
b2r4b8a8 
|%m14
C:/Users/Tsang/Dropbox/CHOIR/the-rock/test-midi.ly:70:15: warning: barcheck 
failed at: 1/2
a4.b8~b4c'4 
|%m17
C:/Users/Tsang/Dropbox/CHOIR/the-rock/test-midi.ly:71:13: warning: barcheck 
failed at: 3/4
d'2r4g8a8 
|%m18
C:/Users/Tsang/Dropbox/CHOIR/the-rock/test-midi.ly:72:15: warning: barcheck 
failed at: 5/8
b4.b8~b4d'4 
|%m19
C:/Users/Tsang/Dropbox/CHOIR/the-rock/test-midi.ly:73:14: warning: barcheck 
failed at: 1/4
d'2r4c'8b8 
|%m20
C:/Users/Tsang/Dropbox/CHOIR/the-rock/test-midi.ly:74:28: warning: barcheck 
failed at: 3/8
a4.a8\tuplet3/2{a4b4c'4} 
|%m21
C:/Users/Tsang/Dropbox/CHOIR/the-rock/test-midi.ly:75:12: warning: barcheck 
failed at: 3/4
b2r4b8a8 
|%m22
MIDI output to `test-midi-tenorVoiceI.mid'...
Interpreting music...
C:/Users/Tsang/Dropbox/CHOIR/the-rock/test-midi.ly:326:5: warning: cannot find 
Voice `sopranoVoiceII'
\rehearsalMidi "sopranoVoiceII" "soprano sax" \sopranoVoiceII
MIDI output to `test-midi-sopranoVoiceII.mid'...
Interpreting music...
C:/Users/Tsang/Dropbox/CHOIR/the-rock/test-midi.ly:112:8: warning: barcheck 
failed at: 7/8
r4 
R1*6 |%m00-06
MIDI output to `test-midi-tenorVoiceII.mid'...
Interpreting music...
C:/Users/Tsang/Dropbox/CHOIR/the-rock/test-midi.ly:342:5: warning: cannot find 
Voice `bassVoice'
\rehearsalMidi "bassVoice" "soprano sax" \bassVoice
MIDI output to `test-midi-bassVoice.mid'...
Interpreting music...[8][16][24][32]
Preprocessing graphical objects...
Interpreting music...
MIDI output to `test-midi.mid'...
Finding the ideal number of pages...
Fitting music on 3 or 4 pages...
Drawing systems...
Layout output to `test-midi.ps'...
Converting to `./test-midi.pdf'...
Success: compilation successfully completed
Completed successfully in 7.8".
\version "2.19.0"
\language "english"


\header {
  % Remove default LilyPond tagline
  title = "The Rock"
  tagline = ##f
}
#(set-global-staff-size 19.0)
\paper {
  #(set-paper-size "letter")
}

 
global = {
  \key g \major
  \time 4/4
  \partial 4
  \tempo "Allegretto risoluto" 4=116
}

%soprano Solo
sopranoVoiceI =  {
  \global
  \dynamicUp
  r4  R1*6 %m00-06
  R1*3   r2^\markup"Soprano Solo"r4 g'8a'8 |%m07-10 
  b'4.d'8~d'4b'8(a'8) | a'2r4a'8b'8 |%m11-12
  c''4.c''8\tuplet 3/2{c''4b'4a'4} |%m13
  g'2r4g'8fs'8 |%m14
  e'4.e'8~e'8d'8e'8c'8 |%m15
  d'4a'8g'8~g'4a'8b'8 |%m16
  c''4.b'8~b'4g'4 |%m17
  a'2 r4 g'8a'8 |%m18
  b'4. d'8(d'4) b'8(a'8) |%m19
  a'2 r4 a'8b'8 |%m20
  c''4. c''8 \tuplet3/2{c''4b'4a'4} |%m21
  g'2r4g'8fs'8 |%m22
  e'4.e'8~e'8g'8c''8e''8 |%m23
  d''4b'8g'8~g'4 a'8b'8 |%m24
  c''4.c''8~c''4c''4 |%m25
  c''4.b'8~b'4 g'4 |%m26
  g'1 |%m27
  R1*6 |%m28-33
  R1  |%m34-38

}

verseSopranoVoiceI = \lyricmode {
  縱 使 風 雲 色 變, 幻 變
  中 主 基 督 看 顧, 縱 遇 巨 浪 信 心 仍 無 減 褪, 無 懼 天 昏 地
  暗. 踏 遍 天 涯 海 角, 禍 困 中 主 基 督 拖 帶, 衝 擊
  遍 遍, 無 懼 驚 風 駭 浪, 確 知 基 督 必 掌 管 世 界.
  
 
}

%Tenor Solo
tenorVoiceI =  {
  \global
  \dynamicUp
  r4   R1*6 |%m00-06
  R1*3   r2^\markup"Tenor Solo"r4g8a8 |%m07-10 
  b4.b8~b4d'4 | d'2r4c'8b8 |%m11-12
  a4.a8\tuplet3/2{a4b4c'4} |%m13
  b2r4b8a8 |%m14
  g4.c'8~c'8b8c'8g8 |%m15
  b4c'8b8~b4a8g8 |%m16
  a4.b8~b4c'4 |%m17
  d'2r4g8a8 |%m18
  b4.b8~b4d'4 |%m19
  d'2r4c'8b8 |%m20
  a4.a8\tuplet3/2{a4b4c'4} |%m21
  b2r4b8a8 |%m22
  g4.g8~g8c'8e'8c'8 |%m23
  b4d'8b8~b4 c'8b8 |%m24
  a4.a8~a4 a4 |%m25
  a4.d'8~d'4c'4 |%m26
  b1 |%m27
  R1*6 |%m28-33
  R1  |%m34-48

}

verseTenorVoiceI = \lyricmode {
  
}

%Soprano & Alto
sopranoVoiceII =   {
  \global
  \dynamicUp
  r4   R1*6 |%m00-06
  R1*6 %m07-12
  R1*5 |%m13-17
  R1*17 |%m18-38
  
}

verseSopranoVoiceII = \lyricmode {
  縱 使 風 雲 色 燮, 幻 變 中 主 基 督 看 顧, 縱 遇
  巨 浪 信 心 仍 無 減 褪, 無 懼 天 昏 地 暗, 踏 遍 天 涯 海
  角, 禍 困 中 主 基 督 拖 帶, 衝 擊 遍 遍, 無 懼 驚 風 駭 浪, 確 知

}

%Men
tenorVoiceII =   { 
  \global
  \dynamicUp
  r4   R1*6 |%m00-06
  R1*6 %m07-12
  R1*5 |%m13-17
  R1*16 |%m18-33
  r4r4r4^\markup"Men" b,8c8 |%m34

}

verseTenorVoiceII = \lyricmode {
  %\repeat unfold 63 {" "}
  在 世 間 面 對 種 種 挑 戰, 或 會 嗟 歎 屡 戰 屡 敗. 作 主
  精 兵, 在 這 沉 淪 世 代, 也 許 失 意 卻 不 會 喪 志, 用 信 心, 願 作
  洪 流 砥 柱, 強 勁 鬥 志 勇 往 直 前, 披 戴 基 督 全 副 軍 裝 向 前 行.
}

%Unison Voice
bassVoice =   {
  \global \clef treble
  \dynamicUp
  r4   R1*6 |%m00-06
  R1*6 %m07-12
  R1*5 |%m13-17
  R1*17 |%m18-48
  
}

verseBassVoice = \lyricmode {
  Ooo 主 基 督 看 顧,   Ooo
 
}

right =  {
  \global
  g''8(a''8 | b''4.d''4g''8a''8b''8 | a''2.)a''8(b''8 | %m00-02
  c'''4. e''4c'''8b''8a''8 | b''2.)c'''8(d''' | %m03-04
  <e'''c'''g''>4.g''4e'''8d'''8c'''8) |%m05 
  <d'''a''fs''>8d'''8e'''8<g''d''b'>4e''8(g''8b''8) |\break %m06
  <c'''g''e''c''>8([b''8]g''8)q4(b''8g''8[)<c'''~g''e''c''>8(] |%M07 
  q8[b''8]g''8)q4(b''8<g''e''c''>4) |%m08
  <g''e''d''c''>1 |%m09
  <fs''d''a'>4<e''c''g'>8<d''a'fs'>4.<c''a'fs'd'>4 |%m10
  <b'a'g'd'>2<d''b'a'g'd'>2 |%m11
  <a'fs'd'>2<d''a'fs'>2 |\break %m12
  <c''a'e'>2<b'a'ds'>2 |%m13
  <b'g'e'd'>2<g'e'd'b>2 |%m14
  <g'e'd'c'>4.<e'd'c'g>4g8(c'8e'8) |%m15
  <fs'd'b a>4a'8<g'e'd'b>4.<b'g'e'd'>4 |%m16
  <a'e'c'>4<b'a'e'>4<c''a'e'>4<g''e''c''g'>4 |\break %m17
  <g''d''a'>8<fs''d''a'>4<e''a'g'>8<d''a'fs'>4<c''g'e'>4 |%m18
  <b'a'g'd'>2<d''b'a'g'd'>2 |%m19
  <a'fs'd'>2<d''a'fs'd'>2 |%m20
  <c''a'e'>2<b'a'ds'>4(<fs''b'a'>4) |%m21
  <g''e''b'>4<fs''a'>8<e''b'g'>4b'8<e''b'g'>4 |\break %m22
  <e''c''g'>4.<c''g'e'>4g'8<g''e''c''>4 |%m23
  <fs''d''b'a'>4a''8<g''e''d''b'>4.<b''g''e''d''>4 |%m24
  <a''e''c''>4.<e''c''a'>4<a''e''c''>4. |%m25
  <a''fs''d''>4.<d'''b''fs''d''>4.<d'''a''fs''d''>4 |%m26
  <d'''b''g''d''>4.<b'g'd'>4d'8(<b'g'>8d''8 |\break %m27
  <c''a'f'>4.)<a'f'c'>4f'8(<c''a'>8f''!8 |%m28
  <d''b'g'>4.)<b'g'd'>4d'8(<b'g'>8d''8 |%m29
  <c''a'f'>4.)<a'f'c'>4f'8(<c''a'>8f''8 |%m30 
  <e''c''g'>4.)<c''g'e'>4g'8(<e''c''>8g''8 |%m31
  <g''d''a'>4.)<d''a'g'd'>4a'8(d''8g''8 |%m32
  <g''d''a'>4.)<d''a'g'd'>4a'8(d''8g''8) |\break %m33
  <a''fs''d''>8(a'8^.)r8<fs''d''a'>4e'8(<g'e'd'>8c''8) |%m34
 
  \label #'lastPage
}

left =   {
  \global
  r4 | \clef treble g8(d'g'a'b'2) |%m00-01
  fs8(d'8e'a'd''2) |%m02
  a8(e'8a'b'c''2) |%m03
  \clef bass e8(b8e'fs'g'2) %m04
  c8(g8c'8d'8e'2) |%m05
  <b fs b,>4. <d'b e>4. e4 |%m06
  a,8(e8a8b8c'8b8a8e8) |%m07
  d,8(a,8d8a8c'4)<c'd>4 |%m08
  <c c,>8(g,8c8d8e8g8c'8g'8) |%m09
  d,8[(a,8]d8)<d d,>4a,8d8[d,8] |%m10
  g,8(d8g8a8b2) %m11
  g,8(d8a8fs8d'2) |%m12
  fs,8(e8a8c'8<a b,>2) %m13
  e,8(b,8e8fs8g4)<d d,>4 %m14
  <c c,>2 q4. c,8 |%m15
  <b,b,,>4.<e e,>4.e8(e,8) |%m16
  a,8(e8a8b8c'8b8a8e8) |%m17
  d,8(a,8d8a8d'4)<d d,>4 |%m18
  g,8(d8g8a8b2) |%m19
  g,8(d8a8fs8d'2) |%m20
  fs,8(e8a8c'8)<a b,>2 |%m21
  e,8(b,8e8g8b4)<e e,>8(<d d,>8) %m22
  <c c,>2 q4.q8 |%m23
  <b,b,,>4.e,8(b,8e8) <e e,>4 |%m24
  a,8(e8a8b8c'8b8a8e8) |%m25
  d,8(a,8d8e8fs8a8<d'd>4) |%m26
  <g g,>4 q2 q4 |%m27
  <f f,>4 q2 q4 |%m28
  <g g,>4 q2 q4 |%m29
  <f f,>4 q2 q4 |%m30
  <c c,>4 q2 q4 |%m31
  <d d,>4 q2 a,4 |%m32
  <d d,>4 q2 a,4 |%m33
  <d' d>4.d8d,4 <d d,>4 |%m34
 
}

sopranoVoiceIPart = \new Staff \with {
  instrumentName = "S. Solo"
  shortInstrumentName = \markup \center-column{"S." "sol"}
  midiInstrument = "choir aahs"
} { \sopranoVoiceI }
\addlyrics { \verseSopranoVoiceI }

tenorVoiceIPart = \new Staff \with {
  instrumentName = "T. Solo"
  shortInstrumentName = \markup \center-column{"T." "sol"}
  midiInstrument = "choir aahs"
} { \clef "treble_8" \tenorVoiceI }
\addlyrics { \verseTenorVoiceI }

sopranoVoiceIIPart = \new Staff \with {
  instrumentName = "S. & A."
  shortInstrumentName = "SA"
  midiInstrument = "choir aahs"
} { \sopranoVoiceII }
%\addlyrics { \verseSopranoVoiceII }

tenorVoiceIIPart = \new Staff \with {
  instrumentName = "Men"
  shortInstrumentName = "Men"
  midiInstrument = "choir aahs"
} { \clef "treble_8" \tenorVoiceII }
\addlyrics { \verseTenorVoiceII }

bassVoicePart = \new Staff \with {
  instrumentName = "Unison"
  shortInstrumentName = "Uni"
  midiInstrument = "choir aahs"
} { \clef bass \bassVoice }
%\addlyrics { \verseBassVoice }

pianoPart = \new PianoStaff \with {
  instrumentName = "Pno."
  shortInstrumentName = "Pno."
} <<
  \new Staff = "right" \with {
    midiInstrument = "acoustic grand"
  } \right
  \new Staff = "left" \with {
    midiInstrument = "acoustic grand"
  } { \clef bass \left }
>>
% {
\score {
  <<
    \sopranoVoiceIPart
    \tenorVoiceIPart
    \sopranoVoiceIIPart
    \tenorVoiceIIPart
    \bassVoicePart
    \pianoPart
  >>
  \layout { }
  \midi { }
}
%}
% {

rehearsalMidi = #
(define-music-function
 (parser location name midiInstrument lyrics) (string? string? ly:music?)
 #{
   \unfoldRepeats <<
     \new Staff = "sopranoVoiceI" \new Voice = "sopranoVoiceI" { s1*0\f \sopranoVoiceI }
     \new Staff = "tenorVoiceI" \new Voice = "tenorVoiceI" { s1*0\f \tenorVoiceI }
     \new Staff = "sopranoVoiceII" \new Voice = "sopranoVoiceII" { s1*0\f \sopranoVoiceII }
     \new Staff = "tenorVoiceII" \new Voice = "tenorVoiceII" { s1*0\f \tenorVoiceII }
     \new Staff = "bassVoice" \new Voice = "bassVoice" { s1*0\f \bassVoice }
     \context Staff = $name {
       \set Score.midiMinimumVolume = #0.5
       \set Score.midiMaximumVolume = #0.5
       \set Score.tempoWholesPerMinute = #(ly:make-moment 116 4)
       \set Staff.midiMinimumVolume = #0.8
       \set Staff.midiMaximumVolume = #1.0
       \set Staff.midiInstrument = $midiInstrument
     }
     \new Lyrics \with {
       alignBelowContext = $name
     } \lyricsto $name $lyrics
   >>
 #})

% { Rehearsal MIDI files:
\book {
  \bookOutputSuffix "sopranoVoiceI"
  \score {
    \rehearsalMidi "sopranoVoiceI" "soprano sax" \sopranoVoiceI
    \midi { }
  }
}

\book {
  \bookOutputSuffix "tenorVoiceI"
  \score {
    \rehearsalMidi "tenorVoiceI" "soprano sax" \tenorVoiceI
    \midi { }
  }
}

\book {
  \bookOutputSuffix "sopranoVoiceII"
  \score {
    \rehearsalMidi "sopranoVoiceII" "soprano sax" \sopranoVoiceII
    \midi { }
  }
}

\book {
  \bookOutputSuffix "tenorVoiceII"
  \score {
    \rehearsalMidi "tenorVoiceII" "soprano sax" \tenorVoiceII
    \midi { }
  }
}

\book {
  \bookOutputSuffix "bassVoice"
  \score {
    \rehearsalMidi "bassVoice" "soprano sax" \bassVoice
    \midi { }
  }
}


%}
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to