【问题标题】:Programmatically create a MIDI file from any LilyPond file以编程方式从任何 LilyPond 文件创建 MIDI 文件
【发布时间】:2015-12-16 19:42:38
【问题描述】:

我想从 任何 LilyPond 文件创建一个 MIDI 文件,而无需手动添加 \midi { } 块。

这可以从命令行完成吗?理想情况下,我正在寻找像lilypond --midi 这样的选项。最终目标是创建一个 shell 脚本,lilypond2midi

【问题讨论】:

    标签: lilypond


    【解决方案1】:

    文档清楚地表明没有这样的命令行选项,所以这不是一个真正的 LilyPond 问题。

    但是,您可以做的是在您的 shell 脚本中动态地将 \midi 命令插入到 LilyPond 代码中。

    例如,您的脚本可以做这样的事情。 (我有一段时间没有做任何 AWK,但我认为这可行。Perl 也可以解决这个问题。)

    awk '/^\\score/ {inScore=1}
         /^}/ {if (inScore == 1) print "\midi {}"
                                 inScore=0
              }
         {print}' ${filename}.ly | lilypond -o $filename -
    

    这假定输入文件有一个\score 块,并且在\score 块开始之后的行首的第一个右大括号}\score 块的结束.

    这当然不会改变原始的 LilyPond 文件,但 LilyPond 会编译它,就好像它确实有一个\midi 命令。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-26
      • 2011-01-18
      • 2010-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-30
      • 1970-01-01
      相关资源
      最近更新 更多