LilyPond 表情记号与编辑标记实战:力度、速度、演奏法、指法一次学会
【免费下载链接】lilypondThis is just a mirror of GNU LilyPond repository. If you'd like to contribute to LilyPond, please look at http://www.lilypond.org/development.html项目地址: https://gitcode.com/gh_mirrors/li/lilypond
LilyPond 表情记号是乐谱排版中最常被新手卡住的部分:如何写力度记号(dynamics)、速度记号(tempo)、演奏法(articulation)和指法标记(fingering)?本文用一份完整清单,带你一次学会 LilyPond 中最实用的表情与编辑标记写法,从单个音符上的p、f,到跨音符的力度线、弓弦、跳音,再到手指编号,全部覆盖。
一、先搞懂:LilyPond 的记号放在哪里?
LilyPond 的核心理念是「记号直接写在音符后面」。比如想给一个中央 C 标注piano(弱),就写:
c4\p\p紧贴音符,标记下方;写成c4^\p则标记上方(_下、^上)。- 大多数表情记号是「事件」,跟随所在音符一起演奏、一起排版,无需额外定位。
所有预定义记号都集中在项目源码里,想查某个记号是否存在,直接看这几个文件即可:
- 力度记号:
ly/dynamic-scripts-init.ly - 演奏法与装饰音:
ly/script-init.ly - 连线类跨度记号(渐强、琶音等):
ly/spanners-init.ly - 官方详解文档:Documentation/en/notation/expressive.itely
二、力度记号(Dynamics):从 p 到 fff 全清单 💪
1. 绝对力度:直接写在音符后
LilyPond 内置了 20 个标准力度级,从小到大:
ppppp→pppp→ppp→pp→p→mp→mf→f→ff→fff→ffff→fffff
另有突强与特殊记号:
| 记号 | 含义 | 记号 | 含义 |
|---|---|---|---|
\sf | 突强(sforzando) | \sfz | 更短的突强线 |
\fp | 强后骤弱 | \sfp/\sff | 弱/强后渐弱 |
\rfz | 反向突强 | \n | 自然力度(niente) |
示例(完整定义见 ly/dynamic-scripts-init.ly):
\relative c'' { c2\ppp c\mp c2\rfz c^\mf }⚠️ 新手常踩的坑:小写
f在 LilyPond 里是音名 F,所以「强」必须写作\f。
2. 渐强与渐弱:尖角线(Hairpin)
用<和>开始,用!或某个力度级结束:
\relative c'' { c2\< c\! % 渐强后收住 d2\< d\f % 渐强到强 e2\> e\mp % 渐弱到中弱 }\cr/\decr等价于\</\>,\endcr/\enddecr等价于\!。- 想要文字版「cresc.」「dim.」而不是尖角线?在谱面开头加入
\crescTextCresc即可切换,定义同样在 ly/spanners-init.ly 中。
三、速度记号(Tempo):让乐谱「动起来」 🎚️
1. 全局速度与文字速度
\tempo 4 = 120 % 四分音符等于 120 \tempo "Allegro" 4 = 112 % 带文字的完整速度行4 = 120中的4是时值,表示「以四分音符为拍」。- 谱面中显示的节拍器数字由MetronomeMark渲染,
metronome-performer.cc负责它进入 MIDI 输出的部分。
2. 表情速度变化:rall.、accel. 与 a tempo
这些是「跨度式」文字记号,写在音符上方并跨越多拍:
{ \tweak font-size #20 s1^\markup { \italic "rall." } s1^\markup { \italic "accel." } s1^\markup { \italic "a tempo" } }- 用
s(静音时值)承载文字,可精确控制位置。 - 配合
\after还能把记号推迟到长音进行中的某个时刻,适合「长音中段渐慢」的真实乐谱写法。
3. 速度变化要进 MIDI 吗?
如果希望导出的 MIDI 也体现 rall/accel,加载ly/articulate.ly后把乐谱包进\articulate << ... >>,它会把速度变化真正换算成 MIDI 事件(见 ly/articulate.ly 顶部注释)。
四、演奏法(Articulation):跳音、重音、断音三件套
1. 单音记号:写在音符上或后
| 记号 | 效果 | 记号 | 效果 |
|---|---|---|---|
\staccato | 跳音点 | \tenuto | 保持线 |
\accent | 重音> | \marcato | 加重音^ |
\portato | 圆点保持 | \portato+ 连音线 | 波浪线 |
\relative c'' { c4\staccato d4\accent e4\marcato f4\tenuto }2. 连音线(Slur):跨度记号
\relative c'' { c4 ~ d ~ e ~ f % ~ 表示同音高延续 g4 d, e f % 不同音高用 slur: << \slur \relative c'' { g4 d e f } >> }\slur把一段音符全部连起来;\phrasingSlur则只是「分句弧线」,不改变音符时值。- 想控制弧线方向(上/下),可加
\tweak direction #DOWN。
3. 装饰音(Ornaments):颤音与回音
\relative c'' { c4\trill d4\prall e4\mordent f4\turn }这些装饰音在打印乐谱上只显示符号;若想让MIDI 也真的颤音,同样交给\articulate展开。
五、指法标记(Fingering):让演奏者一眼看到手指编号 🖐️
1. 基本指法:\fingering
\relative c' { \set fingeringOrientations = #'(RIGHT) c4^\fingering "1" d4^\fingering "2" e4^\fingering "3" f4^\fingering "4" }- 数字写在音符上方(
^),避免与力度记号(默认下方)打架。 - 弦乐/长笛演奏者更习惯指法在符干一侧,一行
\set fingeringOrientations = #'(RIGHT)即可整体右移,这是新手最容易忽略的设置。
2. 进阶:Fretboard(指板图)
弹吉他、曼陀林的乐谱需要「按哪根弦第几品」的指板图,LilyPond 提供整套 Fretboard 体系:
- 预置指板模板:
ly/predefined-fretboards-init.ly - 定义方式:
<c'4 e4 g4 a'4 c'4>4^\fret 1,配合fretboard-engraver.cc渲染出完整指板图。
对吉他谱新手来说,这一块基本「开箱即用」,官方文档有完整指板示例。
六、组合实战:一段带全套标记的乐句
把前面内容串起来,就是真实乐谱的写法:
\relative c'' { \tempo "Allegro moderato" 4 = 116 c2\p\< \fingering "1" d4\mf\staccato e4\sfz f2\!\< g2\> a1\ff_\fingering "3" \trill }一行代码 = 速度行 + 渐强 + 指法 + 跳音 + 突强 + 收束 + 颤音。这就是 LilyPond 表达式写法的威力:记号即数据,排版全自动。
七、新手常见问题 FAQ ❓
Q1:力度记号总是跑到奇怪的位置?用^和_强制上/下;跨声部重叠时给\DynamicPerformer加\tweak padding #2增加间距。
Q2:\f报错了?f是音名。永远写作反斜杠形式\f;字符串内定义时才用"f"(源码里就是这么绕过的,见ly/dynamic-scripts-init.ly第 40 行注释)。
Q3:渐强线到小节线前突然断开?这是设计行为——落在弱拍起点的 hairpin 会停在前面小节线。想让尖角线跨越小节线,把记号放在小节线后的第一个音符上即可。
Q4:MIDI 不认我的 rall/accel?默认 MIDI 输出只做基本速度换算。加载ly/articulate.ly并用\articulate包裹乐谱,演奏法与速度变化才会「听得到」。
写在最后
LilyPond 的表情记号体系可以总结成一张速查表:
| 类别 | 核心语法 | 位置参考 |
|---|---|---|
| 绝对力度 | c4\ff、\sfz、\rfz | ly/dynamic-scripts-init.ly |
| 渐强渐弱 | c2\<…d\! | ly/spanners-init.ly |
| 速度 | \tempo "Allegro" 4 = 112 | ly/midi-init.ly |
| 演奏法 | \staccato\accent\tenuto | ly/script-init.ly |
| 装饰音 | \trill\turn\mordent | ly/script-init.ly |
| 指法 | ^\fingering "1" | ly/fingering相关 engraver |
记住三个原则:记号贴音符、方向用^_、跨度用~或跨度命令,LilyPond 的表情记号就不再难。动手把上面每段代码各敲一遍,你的乐谱就会拥有专业排版的表情语言! 🎼
【免费下载链接】lilypondThis is just a mirror of GNU LilyPond repository. If you'd like to contribute to LilyPond, please look at http://www.lilypond.org/development.html项目地址: https://gitcode.com/gh_mirrors/li/lilypond
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考