1

我想提供一个模式(例如,C 大调琶音,CEG)并让 Lilypond 在所有 12 个音阶中自动显示它的转置(作为一个乐谱)。

这是我目前的尝试:

music = { c' e' g' s }

\new Staff {
  \transpose c c   { \music }
  \transpose c f   { \music }
  \transpose c bes { \music }
  \transpose c ees { \music }
  \transpose c aes { \music }
  \transpose c des { \music }
  \transpose c fis { \music }
  \transpose c b   { \music }
  \transpose c e   { \music }
  \transpose c a   { \music }
  \transpose c d   { \music }
  \transpose c g   { \music }
}

我不知道如何在每个模式上方添加一个文本来指示移调键(例如,C、F、Bb 等)。我希望最终产品看起来像这样:

在此处输入图像描述

注意:无论模式的长度如何(可能比一个度量长),我都希望这段代码能够工作。

4

1 回答 1

2

如果你想要自动的音符名称,可以通过移调和弦来实现。这样的事情会产生与您显示的结果相似的结果。它并不简单和优雅,但它是自动的,因为您不需要事先知道目标和弦。

\version "2.19.31"

cOne=\chordmode {c1} 

mOne={ c'4 e' g' s }


<<
  \new ChordNames{
    \transpose c f {\transpose c f { \cOne }}
    \transpose c f { \cOne }
    \cOne  
    \transpose c g { \cOne }
    \transpose c g { \transpose c g { \cOne }}
    \transpose c g { \transpose c g { \transpose c g { \cOne }}}
  }

  \new Staff {
    \transpose c f,  {\transpose c f { \mOne }}
    \transpose c f { \mOne }
    \mOne
    \transpose c g { \mOne }
    \transpose c g, { \transpose c g { \mOne }}
    \transpose c g, { \transpose c g { \transpose c g { \mOne }}}
  }
>>

样本 lilypond 输出

于 2015-12-16T09:06:19.523 回答