Как сделать так, чтобы аккорды, длящиеся полтакта, правильно отображались в размере 6/8 в LilyPond / Frescobaldi?

В настоящее время я использую шаблон лид-листа, чтобы сделать для кого-то справочный лид-лист (я хочу проверить, верны ли найденные аккорды, но это совсем другая проблема). В LilyPond / Frescobaldi я не могу правильно отобразить аккорды в секции C. Я могу просто поместить их в виде текста, но для дальнейшего использования я хотел бы знать, что я делаю неправильно. Вот что у меня есть на данный момент (раздел C выделен звездочками, просто чтобы вы знали, что изначально их не было в LilyPond):

\version "2.19.55"
\header {
  
title = "Spartacus Love Theme"
  
composer = "Alex North" 
subtitle = "Original Movie Version"
}

\language "english" 
melody = \relative c' '  {
  \time 6/8 
\key a \minor
 \partial 4 a8 e' 
\repeat volta 2 
{  c4.~ c8 a e' 
c4.~ c8 a b 
c4 a8 c4 d8 
d c4 r8 a8 e' 
c4.~ c8 a8 e' 
c4.~ c8 a8 b 
c4 a8 c4 d8   } 
\alternative { {  e c4 r8 c g'  \bar "||" 
e4. d8 a d 
e4. r8 c g' 
e4. d8 a d 
e4. \fermata r8 e fs 
g4. r8 fs e 
fs e4 r4 e16 a 
g4. r8 fs e 
fs4. r8 fs g 
a4.~ a8. g16 f[ e] 
d4.~ d8. c16 b[ a] 
gs4.~ gs4. 
g4.\fermata ~ g8 a\fermata e'\fermata } 
{  e c4 r8 a e' 
c4.~ c8 c g' 
e4.~e8 f, c' 
a4.~ a8 bf g 
a4. r8 a8 e' 
\key a \major cs4.~ cs8 a e' 
cs4.~ cs8 a e' 
cs4. b8 fs b 
cs4.~ cs8 a e' 
cs4.~ cs8 cs gs' 
e4.~ e8 a, e' 
cs4.~ cs8 a e' 
cs4.\fermata~ cs8 a\fermata e'\fermata
cs4.~ cs8 a e' 
cs4.~ cs8 a e' 
cs4. b8 fs b 
cs4.~ cs8 a e' 
cs4.~ cs8 a e' 
cs4.~ cs8 a e' 
cs4.~ cs8 a\fermata e'\fermata 
cs4.\fermata~ cs4. 
cs4.\fermata~ cs4. \bar "|." } }
}
 
harmonies = \chordmode { r4  d2.:m7 a2.:m7 d2.:m7 a2.:m7                         
f2.:maj7 e2.:m7 d2.:m7    c2.:maj7  
f2.:maj7 c2.:maj7 f2.:maj7 cs2.:m9 
e2.:m7 e2.:m7/d e2.:m7/c b2.:9- 
f2.:maj7 bf2.:maj7 e2.:9- a2.:7  
c2.:maj7

**f2.:maj7 d4.:maj7, bf4.:maj711+, g4.:maj9, and ef4.:7 fs2.:m7/a 
d2.:maj711+ b2.:m9 g2..:maj711+ a2..:maj711+ 
fs2.:m9 d4.:maj9 b4.:m9 g4.:maj9 ef4.:m75- a2..:maj711+  
d2.:maj711+ b4.:m9 g4..:maj711+ ef4.:m75- e4.:7 a2..:maj711+                         
d4.:maj7 d4.:m7 cs4.:m75- fs4.:7 b4.:m7 ef4.:m75-  a2.:maj7 a2.:5**                        
} 
 
\score {  
<<    
\new ChordNames {
\set chordChanges = ##t
\harmonies
}

\new Staff \melody  
>>
  
\layout{ }  
\midi { }
}

Ответы (1)

**f2.:maj7 d4.:maj7, bf4.:maj711+, g4.:maj9, and ef4.:7 fs2.:m7/a 
d2.:maj711+ b2.:m9 g2..:maj711+ a2..:maj711+ 
fs2.:m9 d4.:maj9 b4.:m9 g4.:maj9 ef4.:m75- a2..:maj711+ 
 
d2.:maj711+ b4.:m9 g4..:maj711+ ef4.:m75- e4.:7 a2..:maj711+                         
 
d4.:maj7 d4.:m7 cs4.:m75- fs4.:7 b4.:m7 ef4.:m75-  a2.:maj7 a2.:5** 

Я вижу пару запятых и слово «и», которые вызывают у меня ошибки компиляции. Когда я удаляю их, он компилируется. (Я предполагаю, что вы уже сделали это в своем исходном протоколе.)

Теперь иногда у вас есть две точки вместо одной, например, во второй строке:

g2..:maj711+ a2..:maj711+ 

что может быть причиной ваших проблем. 2.производит аккорд длиной 6/8, но 2..производит аккорд продолжительностью 7/8, например, чуть больше одного такта. Это сдвигает последующие аккорды вправо; поэтому они больше не соответствуют мелодии.

Вы можете заметить подобные проблемы во время компиляции , последовательно используя символы штрихов ( |) в вашей мелодии и аккордах, где бы вы ни ожидали окончания такта. По крайней мере, это уже спасло меня от пары головных болей. См. руководство, раздел Проверки стержней и номеров стержней , для более подробной информации. Просто поставив |между g2..:maj711+и a2..:maj711+дает:

test.ly:124:33: warning: barcheck failed at: 1/8
d2.:maj711+ b2.:m9 g2..:maj711+ 
                                | a2..:maj711+

поэтому он точно сообщает вам, где ваша (первая) ошибка.

Я прошу прощения за то, что оставил двойные точки и «и» там, когда я опубликовал это. Сразу после того, как я это сделал, я увидел их и удалил из партитуры. Чего я не увидел, так это запятых, которые у меня были там. Спасибо за ответ (обычно я обнаружил, что когда я не могу что-то сделать с LilyPond, это происходит из-за моей собственной глупой ошибки, хотя и не всегда).