Midi Dateien mit Orgelstimmen erzeugen/anwendung

Zur Navigation springen Zur Suche springen

\version "2.23.6"
\language "deutsch"

sop = \relative {
  c''4 c c c
}

alt = \relative {
  a'4 a a a
}

ten = \relative {
  f'4 f f f
}

bas = \relative c {
  c' c c c
}

midi-list =
#(define-void-function (name sop alt ten bas voc tempolist)
   ((string? #f) ly:music? ly:music? ly:music? ly:music? ly:music? list?)
   (for-each
    (lambda (tempo)
      (ly:book-process
       (apply
        ly:make-book
        $defaultpaper
        $defaultheader
        (list (scorify-music #{
          <<
            \new Staff {
              \new Voice {
                \set Staff.midiInstrument = "choir aahs"
                $voc
              }
            }
            \new Staff <<
              \set Staff.midiInstrument = "Church Organ"
              \new Voice $sop
              \new Voice $alt
              \new Voice $ten
              \new Voice $bas
            >>
          >>
                #})))
       $defaultpaper
       #{
         \midi {
           \tempo 4 = $tempo
         }
       #}
       (format #f "~a_~a"
         (or name (substring (ly:parser-output-name) 4))
         tempo)))
    tempolist))

\midi-list \sop \alt \ten \bas \sop #'(40)

\score {
  \new Staff <<
    \new Voice { \voiceOne \sop }
    \new Voice { \voiceTwo \alt }
    \new Voice { \voiceThree \ten }
    \new Voice { \voiceFour \bas }
  >>
}

%% Liste mit wählbarem Instrument, Angabe optionall
%%Tipp: falls keine Singstimme ausgegeben werden soll, den Ausdruck {} als Parameter übergeben

midi-list-instr =
#(define-void-function (instrument sop alt ten bas voc tempolist)
   ((string? #f) ly:music? ly:music? ly:music? ly:music? ly:music? list?)
   (for-each
    (lambda (tempo)
      (ly:book-process
       (apply
        ly:make-book
        $defaultpaper
        $defaultheader
        (list (scorify-music #{
          <<
            \new Staff {
              \new Voice {
                \set Staff.midiInstrument = "choir aahs"
                $voc
              }
            }
            \new Staff <<
              \set Staff.midiInstrument = #(or instrument "Church Organ")
              \new Voice $sop
              \new Voice $alt
              \new Voice $ten
              \new Voice $bas
            >>
          >>
                #})))
       $defaultpaper
       #{
         \midi {
           \tempo 4 = $tempo
         }
       #}
       (format #f "~a_~a"
        ; (or name (substring (ly:parser-output-name) 1))
          (substring (ly:parser-output-name) 0)
         tempo)))
    tempolist))

\version "2.23.6"
\language "deutsch"

sop = \relative {
  c''4 c c c
}

alt = \relative {
  a'4 a a a
}

ten = \relative {
  f'4 f f f
}

bas = \relative c {
  c' c c c
}

midi-list =
#(define-void-function (name sop alt ten bas voc tempolist)
   ((string? #f) ly:music? ly:music? ly:music? ly:music? ly:music? list?)
   (for-each
    (lambda (tempo)
      (ly:book-process
       (apply
        ly:make-book
        $defaultpaper
        $defaultheader
        (list (scorify-music #{
          <<
            \new Staff {
              \new Voice {
                \set Staff.midiInstrument = "choir aahs"
                $voc
              }
            }
            \new Staff <<
              \set Staff.midiInstrument = "Church Organ"
              \new Voice $sop
              \new Voice $alt
              \new Voice $ten
              \new Voice $bas
            >>
          >>
                #})))
       $defaultpaper
       #{
         \midi {
           \tempo 4 = $tempo
         }
       #}
       (format #f "~a_~a"
         (or name (substring (ly:parser-output-name) 4))
         tempo)))
    tempolist))

\midi-list \sop \alt \ten \bas \sop #'(40)

\score {
  \new Staff <<
    \new Voice { \voiceOne \sop }
    \new Voice { \voiceTwo \alt }
    \new Voice { \voiceThree \ten }
    \new Voice { \voiceFour \bas }
  >>
}

%% Liste mit wählbarem Instrument, Angabe optionall
%%Tipp: falls keine Singstimme ausgegeben werden soll, den Ausdruck {} als Parameter übergeben

midi-list-instr =
#(define-void-function (instrument sop alt ten bas voc tempolist)
   ((string? #f) ly:music? ly:music? ly:music? ly:music? ly:music? list?)
   (for-each
    (lambda (tempo)
      (ly:book-process
       (apply
        ly:make-book
        $defaultpaper
        $defaultheader
        (list (scorify-music #{
          <<
            \new Staff {
              \new Voice {
                \set Staff.midiInstrument = "choir aahs"
                $voc
              }
            }
            \new Staff <<
              \set Staff.midiInstrument = #(or instrument "Church Organ")
              \new Voice $sop
              \new Voice $alt
              \new Voice $ten
              \new Voice $bas
            >>
          >>
                #})))
       $defaultpaper
       #{
         \midi {
           \tempo 4 = $tempo
         }
       #}
       (format #f "~a_~a"
        ; (or name (substring (ly:parser-output-name) 1))
          (substring (ly:parser-output-name) 0)
         tempo)))
    tempolist))