从 Lilypond 片段创建 MIDI 文件

Create MIDI files from Lilypond snippet

这不是 how to create a MIDI file from Lilypond 上的重复问题。我已经做过很多次了。

我创建了一些 lilypond 片段,我想从中提取 MIDI。通常我会在 \score 块中这样做:

\score {
  \music
  \layout { }
  \midi { }
}

但是,我的代码片段不包含 \score 块;它是这样写的:

\version "2.18.2"
\include "lilypond-book-preamble.ly"

\paper {
  indent = 2\mm
  line-width = 210\mm
}

\layout {
  indent = #0
  \context {
    \Score
    \remove "Bar_number_engraver"
  }
}

\relative c'
{
   \tempo 4 = 60
   \clef treble \key d \major g8^\markup { C } g8 b4   b8 b8 d4   cis8 cis8 e4  b8 b8 d4
}

这段代码创建了一个完美的 PDF 片段。但是我不知道把 \midi { } 块放在哪里来创建 MIDI 文件。

我认为最简单的解决方案是将您的音乐分配给一个变量并创建一个 \score 块。您是否有理由避免在示例中使用 \score 块?例如,下面的代码同时生成 MIDI 和 pdf 文件:

\version "2.18.2"
\include "lilypond-book-preamble.ly"

\paper {
  indent = 2\mm
  line-width = 210\mm
}

\layout {
  indent = #0
  \context {
    \Score
    \remove "Bar_number_engraver"
  }
}

music = \relative c'
{
   \tempo 4 = 60
   \clef treble \key d \major g8^\markup { C } g8 b4   b8 b8 d4   cis8 cis8 e4  b8 b8 d4
}

\score{
  \music
  \layout{}
  \midi{}
}