在Lilypond中标注和弦声部:能否实现Schillinger风格的和弦示例效果?
在LilyPond中实现Schillinger和弦示例效果
完全可以实现这类Schillinger风格的和弦标注与排版效果,以下是具体实现方案:
核心实现思路
借助LilyPond的\markup系统自定义和弦结构标注,结合多声部排版还原示例中的叠置和弦视觉效果,通过对齐指令确保标注与音符精准对应。
代码示例
\version "2.24.0" \header { title = "Schillinger Chord Example" } % 自定义Schillinger和弦标注样式 schillingerChordMarkup = #(lambda (chordText) (markup \center-align \bracket \fontsize #-1 \chordmode #chordText )) \score { << \new Staff { \clef treble \time 4/4 % 基础三和弦示例 c'1 ^ \schillingerChordMarkup { c e g } % 叠置和弦示例(上下双标注) << { e'1 ^ \schillingerChordMarkup { e g b } } { c'1 _ \schillingerChordMarkup { c e g } } >> % 七和弦扩展示例 g'1 ^ \schillingerChordMarkup { g b d f } } >> \layout { indent = 0 \context { \Staff \remove "Time_signature_engraver" } } }
关键细节调整
- 自定义
schillingerChordMarkup函数,用\bracket生成括号包裹的和弦标注,\fontsize缩小标注字号,\center-align确保标注对齐音符中心 - 用嵌套
<< >>实现多声部叠置,通过^(上方标注)和_(下方标注)控制标注位置,还原示例的上下叠置效果 - 若需要更紧凑的排版,可添加间距调整:
\layout { indent = 0 \context { \Staff \remove "Time_signature_engraver" \override SpacingSpanner.spacing-increment = #0.5 } }
内容的提问来源于stack exchange,提问作者Dot Rose
相关产品推荐
相关产品推荐

