You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Lilypond声乐总谱的全音符和弦中插入括号标注声部归属?

解决Lilypond合并声乐总谱全音符分声部括号问题

在Lilypond中处理合并声乐总谱的分声部全音符时,可通过\startGroup/\stopGroup或\leftBracket命令实现左侧垂直分组括号,具体方案如下:

核心方法

利用Lilypond的声部分组命令,配合声部标记(\voiceOne/\voiceTwo),自动为分声部的全音符添加左侧括号,明确区分声部归属。

代码示例

1. 分组括号实现(批量音符)

适用于多个分声部全音符的场景,用\startGroup开启分组,\stopGroup结束:

\score {
  <<
    % 上谱表:女高音+女中音
    \new Staff <<
      \new Voice = "soprano" {
        \voiceOne
        \startGroup c'1 f'1 \stopGroup % 女高音全音符组,带左括号
      }
      \new Voice = "alto" {
        \voiceTwo
        \startGroup a1 d'1 \stopGroup % 女中音全音符组,带左括号
      }
    >>
    % 下谱表:男高音+男低音
    \new Staff <<
      \new Voice = "tenor" {
        \voiceOne
        \startGroup c1 f1 \stopGroup % 男高音全音符组,带左括号
      }
      \new Voice = "bass" {
        \voiceTwo
        \startGroup g,1 c1 \stopGroup % 男低音全音符组,带左括号
      }
    >>
  >>
  \layout { }
}

2. 单个音符添加括号

若只需给单个全音符加括号,直接在音符前使用\leftBracket命令:

\new Staff <<
  \new Voice = "soprano" {
    \voiceOne
    \leftBracket c'1 % 单个全音符带左括号
  }
  \new Voice = "alto" {
    \voiceTwo
    \leftBracket a1
  }
>>

3. 调整括号样式(可选)

如果需要自定义括号的宽度、高度等样式,可在\layout块中添加\override命令:

\layout {
  \override Bracket.width = #0.3 % 调整括号粗细
  \override Bracket.height = #4.5 % 调整括号高度
  \override Bracket.y-offset = #0.2 % 调整垂直偏移
}

关键说明

  • 必须先通过\voiceOne/\voiceTwo标记声部,确保Lilypond识别不同声部的音符归属;
  • \startGroup/\stopGroup会自动为同一声部的连续音符添加分组括号,适合多音符分声部场景;
  • \leftBracket更灵活,适合单个或零散音符的括号需求。

内容的提问来源于stack exchange,提问作者mpgrayer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 16:55:16