wiki:lessons/LilyPondGuitar

Version 5 (modified by uri, 15 years ago) (diff)

Добавлен рассказ про обозначение позиций

Набор гитарных нот в LilyPond

В этом уроке я расскажу, как можно добавлять к нотам обозначения гитарной аппликатуры. В качестве примера мы возьмём упражнение 189 из классического учебника Петра Спиридоновича Агафошина "Школа игры на шестиструнной гитаре". В учебнике ноты выглядят вот так:

Агафошин, пример 189 --- исходные ноты в книжке

Наберём сами ноты. Это несложно, надо только обратить внимание на направление штилей в третьем такте и вид некоторых тактовых черт:

\version "2.12.1"

% European system (A B H C D E F G)
\include "deutsch.ly"

global = {
  \key d \major
  \time 2/4
}

One = \new Voice {\relative c'' {
  \voiceOne
  a16 h cis d e fis g a
  h8 <d, fis a> <d fis a> r
  \bar "||"
  \stemDown
  c'16 a fis e dis fis dis h
  \stemUp
  c a fis e dis fis dis h
  \bar "|."
}}

Two = \new Voice {\relative c' {
  \voiceTwo
  a4 a
  d2.
}}

\score {
  \new Staff
  <<
    \global
    \One
    \\
    \Two
  >>
  \layout{}
  \midi{}
}

Должно получиться что-то примерно такое:

Агафошин, пример 189 --- сам нотный текст

Теперь начнём добавлять аппликатурные обозначения. Начнём с самого простого — указания пальцев левой руки. Для этого достаточно после каждой ноты поставить дефис и номер пальца, вот так:

...
One = \new Voice {\relative c'' {
  \voiceOne
  a16-2 h-4 cis-1 d-2 e-4 fis-1 g-2 a-4
  h8-4 <d,-3 fis-2 a-1> <d fis a> r
  \bar "||"
  \stemDown
  c'16-2 a-4 fis-1 e-3 dis-2 fis-1 dis h-3
  \stemUp
  c-4 a-1 fis-4 e-2 dis-1 fis-4 dis h-2
  \bar "|."
}}
...

Выглядеть это станет вот так:

Агафошин, пример 189 --- добавлены обозначения пальцев левой руки

Теперь добавим обозначения позиции. Так как мы хотим, чтобы (как и в исходных нотах, набранных вручную) вдоль нот, которые надо играть в указанной позиции, тянулся пунктир, нам придётся переопределить стандартное значение переменной TextSpanner. Делается это совсем просто: там, где нужно расположить указание позиции, даём команду \override TextSpanner #'(bound-details left text) = "II ", где {{II}} — это номер нужной позиции; после ноты, с которой должен начинаться пунктир, даём команду \startTextSpan, а после ноты, на которой пунктир должен закончиться — команду \stopTextSpan.

Пунктир, предлагаемый LilyPond по умолчанию, показался мне крупноватым, и я сделал его более мелким командой \override TextSpanner #'dash-period = #2. Кроме того, в книжке он выровнен вертикально по центру римской цифры, обозначающей позицию; добиться того же в LilyPond можно командой \override TextSpanner #'(bound-details left stencil-align-dir-y) = #CENTER.

В результате соответствующий фрагмент исходника приобретает следующий вид:

...
One = \new Voice {\relative c'' {
  \voiceOne
  a16-2 h-4 cis-1 d-2 e-4 fis-1 g-2 a-4
  h8-4 <d,-3 fis-2 a-1> <d fis a> r
  \bar "||"
  \stemDown
  \textSpannerUp
  \override TextSpanner #'dash-period = #2
  \override TextSpanner #'(bound-details left stencil-align-dir-y) = #CENTER
  \override TextSpanner #'(bound-details left text) = "VII "
  c'16-2\startTextSpan a-4 fis-1 e-3 dis-2 fis-1 dis h-3
  \stemUp
  c-4\stopTextSpan a-1
  \override TextSpanner #'(bound-details left text) = "VI "
  fis-4\startTextSpan e-2 dis-1 fis-4 dis h-2\stopTextSpan
  \bar "|."
...
}}

В результате получается вот что:

Агафошин, пример 189 --- добавлены обозначения позиций

Attachments (10)

Download all attachments as: .zip