如何在乐谱上方显示和弦名称

How to display chord names above staff

我是 Lilypond 的新手,我正在尝试用和弦名称和低音线编写 sheet 音乐。我想在五线谱上方显示和弦名称;然而,他们实际上显示在下面 的工作人员。我在 baseMelody 之前写 baseChords,但它根本没有帮助。这是我的全部代码:

baseChords = \chords {
    \set chordChanges = ##t
    c1:m7 f:7 bes:maj7 ees:maj7 
    a:m7.5- d:7.13- g:m6 g:m6 
}

baseMelody = \fixed c {
  \language "english"
c4 c ef g, 
f, f, a, c 
bf, bf, d f, 
ef ef g, bf, 
a, a, c ef 
d d fs, a, 
g, g, bf, d 
g, g, bf, d 
g,1
}

melody = {
  \key g \minor
  \clef bass
  \tempo 4 = 108
  <<
  \baseChords
  \baseMelody
  >>
}

\score {
  \new Staff <<
    \new Voice \melody
  >>
  \layout { }
}

\score {
  \new Staff <<
    \new Voice {
      r\mf
      \set Staff.midiInstrument = #"electric bass (finger)" \melody
    }
  >>
  \midi { }
}

...我参考了Demo MidiInstruments来写这段代码。这对我来说太复杂了,但我也想玩 MIDI,所以我不能避免使用它。这是我目前能做的最好的。请帮我。提前谢谢你。

我认为最好的方法是把和弦和旋律分开,然后你可以简单地在 Staff 上面的 score 块中创建一个 ChordNames

\language "english"

chord_sequence = \chords {
  \set chordChanges = ##t
  c1:m7 f:7 bf:maj7 ef:maj7 
  a:m7.5- d:7.13- g:m6 g:m6 
}

melody = \fixed c {
  \key g \minor
  \clef bass
  \tempo 4 = 108
  c4 c ef g, 
  f, f, a, c 
  bf, bf, d f, 
  ef ef g, bf, 
  a, a, c ef 
  d d fs, a, 
  g, g, bf, d 
  g, g, bf, d 
  g,1
}

\score {
  <<
    \new ChordNames {
      \chord_sequence
    }
    \new Staff {
      \melody
    }
  >>
  \layout {}
}