midicn EN

LilyPond 文本记谱

乐谱写成纯文本,改一行重排整份,代价是看不见版面。

约 2 分钟697 字条目记谱与制作软件更新 2026-10-31

记谱LilyPond纯文本排版

四重奏分谱要改三个音,图形界面里得点开三个窗口;源文件里改三行,重跑一次,整份版面按新内容重排。

文本换来的三件事

乐谱存成纯文本,第一件事是差异看得见:改了哪个音、动了哪条连线,版本记录逐行列出。第二件事是复用:主题写成变量,三个乐章引用同一个定义,改一处全跟着变。第三件事是批量:一套模板配不同参数,几十份分谱一次生成。代价同样具体,版面要编译后才看得到,少一个括号就要从报错行往回找。

一个文件分几层

写顺手的文件通常分四层:版本与纸张、音乐变量、谱表与歌词的装配、输出块。变量只放音高与节奏,装配层决定它落到哪张谱表、配哪段歌词,输出层分别生成版面与音频。层分清楚,改音高就不会牵动排版参数。

层典型写法改动之后
版本与纸张\version、\paper、全局谱表字号全文字号、页边与谱表间距
音乐变量music = \relative c' { … }所有引用处一起变
装配\new Staff、\new Lyrics \lyricsto谱表数、声部与歌词归属
输出\layout、\midiPDF 版面与音频文件

编译这一关

写完运行 lilypond 加文件名,得到 PDF 和一份日志。日志里最有用的是小节校验:每小节末尾写一条竖线,时值与拍号对不上就报出行号。未定义的变量、超出谱表的加线与缺失字体也在这里出现。升级版本时先用 convert-ly 改语法,再逐段比对输出,别一次把整份改完。

分谱与批量

总谱与分谱可出自同一个文件:给段落打标签,导出时按标签保留需要的声部。分谱的谱号、移调与换页单独设置,总谱版面不会替它适配。批量生成时把调性、速度、标题抽成参数,模板里只留结构;出错先查参数表再查模板。

哪里会坏

版面由算法决定,特殊间距要一层层覆盖参数,覆盖越多越脆,换个版本就可能全乱。大总谱编译要等,改一个音也重跑整份。协作者只读谱不读代码,改稿要经手会写文件的人。微分音、图形谱与部分民族记谱要靠额外宏包或手绘。导出的 MIDI 只是附带产物,连奏与力度记号表达有限,别拿它当演奏参考。

在库中听例子

Ich ruf zu dir, Herr Jesus ChristC13:14众赞歌三条音乐轨的轨名还留着 \new 字样,能看出文本谱表怎样直接变成 MIDI 轨详情ErlkoenigC13:58《魔王》的声乐与钢琴上下谱表各占一轨,轨名 up 与 down 来自同一声部组的上下两行详情Symphony5 1C15:16贝多芬第五第一乐章,12 条轨按 one 到 twelve 命名,木管、圆号与弦乐各占一行详情

每首均来自 midicn-lib,行内徽标为许可档位(C1 可商用 / C2 非商业 / C3 仅学习研究)。

同一条线

事实来源

  • LilyPond 官方 Notation Reference,音乐变量、谱表装配与版面设置章节
  • Mutopia Project 的公开乐谱源文件,LilyPond 源与导出 MIDI 可对照
  • Elaine Gould, Behind Bars, Faber Music,总谱与分谱排版的一般规范