我想从任何 LilyPond文件创建一个MIDI文件,而不必手动添加\midi { }块。
这能从命令行中完成吗?理想情况下,我正在寻找像lilypond --midi这样的选项。最后的目标是创建一个shell脚本lilypond2midi。
发布于 2016-01-01 21:26:40
文档非常清楚地表明,没有这样的命令行选项,因此这实际上不是一个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命令一样编译它。
https://stackoverflow.com/questions/34320723
复制相似问题