В настоящее время я использую шаблон лид-листа, чтобы сделать для кого-то справочный лид-лист (я хочу проверить, верны ли найденные аккорды, но это совсем другая проблема). В 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 { }
}
**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+
поэтому он точно сообщает вам, где ваша (первая) ошибка.
Гостевой постер