Lilypond如何实现带Slur且单音符分配歌词的多verse圣咏谱?
多verse圣咏中实现单verse音符连音线+逐音符歌词的方案
针对这个需求,以专业乐谱排版工具LilyPond为例,你可以通过分离旋律上下文与歌词上下文,为需要连音线的verse单独配置带连音线的旋律副本来实现,具体操作如下:
第一步:定义基础旋律和带连音线的旋律副本,避免重复编写代码:
% 基础旋律(无连音线) baseMelody = \relative c' { c4 d4 e4 f4 } % 带连音线的旋律(仅在目标音符间添加连音线) melodyWithSlur = \relative c' { c4 \slurOn d4 \slurOff e4 f4 }第二步:构建乐谱结构,为不同verse匹配对应的旋律和歌词:
\score { \new StaffGroup { % 带连音线的verse \new Staff { \new Voice = "slur-verse" \melodyWithSlur } \new Lyrics \lyricsto "slur-verse" { 啊 哦 依 呜 } % 无连音线的verse \new Staff { \new Voice = "no-slur-verse" \baseMelody } \new Lyrics \lyricsto "no-slur-verse" { 哇 呀 诶 哦 } } }如果希望两个verse共用同一行旋律,仅在目标verse显示连音线,可以用上下文控制实现:
\score { \new Staff { \new Voice = "main" \baseMelody % 仅为第一个verse启用连音线 \once \override Slur #'stencil = ##t \slurBetween #1 #2 % 连接第1、2个音符 } \new Lyrics \lyricsto "main" { 啊 哦 依 呜 } \new Lyrics \lyricsto "main" { \override Slur #'stencil = ##f % 第二个verse隐藏连音线 哇 呀 诶 哦 } }
如果使用其他主流乐谱软件,操作逻辑类似:
- Sibelius:为目标verse单独创建旋律层,添加连音线后将歌词绑定到该层;其余verse使用基础旋律层,不添加连音线。
- Dorico:利用“ verse-specific markings ”功能,仅为需要连音线的verse添加标记,同时通过“ lyric per note ”选项确保每个音符分配到单独的歌词音节。
内容的提问来源于stack exchange,提问作者Jörg Krause
相关产品推荐
相关产品推荐

