如何在LilyPond中覆盖被误识别的Cm和弦名称?
解决LilyPond中特定和弦名称覆盖问题
针对你遇到的<c c' ees' g'>被识别为“C ♭10 12”的问题,有两种可靠方法强制将其显示为“Cm”:
方法1:临时单和弦覆盖
直接在目标和弦前添加\set chordName = "Cm",仅对当前和弦生效:
\score { \new ChordNames { % 临时设置和弦名称 \set chordName = "Cm" <c c' ees' g'>1 } \new TabStaff { % 你的吉他指法设置 \set stringTunings = #standardTuning <c c' ees' g'>1 % 已设置正确Voicing的和弦 } }
方法2:全局和弦例外定义
如果需要在整个乐谱中统一处理该和弦结构,使用\chordNameExceptions全局定义规则,避免重复设置:
% 全局定义和弦名称例外 \chordNameExceptions { <c c' ees' g'> = "Cm" } \score { \new ChordNames { <c c' ees' g'>1 % 其他和弦不受影响 <c e g>1 } \new TabStaff { \set stringTunings = #standardTuning <c c' ees' g'>1 <c e g>1 } }
关于sequential-music-to-chord-exceptions的错误说明
你之前尝试的sequential-music-to-chord-exceptions是用于将**序列音乐(如连续音符)**转换为和弦例外的函数,不适用于直接定义的和弦结构,因此会出现语法错误。改用上述chordNameExceptions即可解决。
内容的提问来源于stack exchange,提问作者Ernest Izdebski
相关产品推荐
相关产品推荐

