Корндорф
(«Добро пожаловать!» для шести женских голосов)
Какие есть трудности?
- Разные темпы для разных лагерей
- Разное количество продолжительностей за одно и то же время
- Составной размер
- Несоответствие линии часов
Там написано, что контекст Score содержит Metronome_mark_engraver, который отвечает за отображение отметки темпа.
Следующие строки рассматривают его в контексте нотоносца, позволяя вам писать разные темпы в разных строках (и многое другое).
Также здесь из контекста партитуры в контекст строфы передаются Default_bar_line_engraver и Timing_translator, отвечающие за тактовые линии и тактовые размеры (до третьей точки).\layout { \context { \Score \remove "Timing_translator" \remove "Default_bar_line_engraver" \remove "Metronome_mark_engraver" .
} \context { \Staff \consists "Timing_translator" \consists "Default_bar_line_engraver" \consists "Metronome_mark_engraver" } .
}
Вторую проблему можно решить, используя масштабирование длительности .
Команда \scaleDurations изменяет длительность в указанном соотношении.
Порядок аргументов (такой же, как у команды \times, создающей триплеты, кварты, квинтуплеты и другие кортежи) я помню следующий: вместо 88 - 80. Дробь я сознательно не уменьшал, так как она соответствует соотношению темпов (пример: второй стан).
\scaleDurations #'(88 .
80) { \relative c' { f4\repeatTie ( g2) g4 ~ g8. g16 ( ~ g4 ~ g8. fis16 ~ fis4 fis8 g ~ g4 | .
}
\addlyrics {
_ la ka ma na pa ra sa
}
}
Я приступил к размерам и линиям стержней следующим образом.
Во-первых, в версии 2.15 (скоро выйдет стабильная 2.16) появилась простая команда \compoundMeter, с помощью которой можно рисовать тактовый размер со знаками плюс.
Но простое использование этой команды не даст нам желаемого эффекта: в этом случае размер бара будет равен сумме всех составляющих, а здесь нам нужно разделить их тактовыми линиями.
На помощь приходит ручная настройка размера доли (пример: первый стэн).
\compoundMeter #'((11 4) (11 4) (11 4) (11 4))
\set Timing.measureLength = #(ly:make-moment 11 4)
Третье и шестое оглушение сложнее: их компоненты не равны (пример: третье оглушение).
\compoundMeter #'((9 4) (3 4) (6 4) (6 4) (3 4) (9 4))
\tempo 4 = 72
\relative c' {
\dynamicUp
\scaleDurations #' (88 .
72)
{
\set Timing.measureLength = #(ly:make-moment 11 4)
e8.\repeatTie ( f16 ~ f4 ~f8 e ~ e4 dis4 ~ dis8. e16 ~ e4 ~ e8.) e16~ ( e4 |
\set Timing.measureLength = #(ly:make-moment 11 12)
e8 f ~ f4 e ~ |
\set Timing.measureLength = #(ly:make-moment 11 6)
e8. dis16 ~ dis4 dis16 e8. ~ e4) e2
\once \override Staff.BarLine #'allow-span-bar = ##f
\set Timing.measureLength = #(ly:make-moment 11 6)
e4~( e8. dis16 ~ dis4 ~ dis8 e8 ~ e4 dis4 ~ |
\set Timing.measureLength = #(ly:make-moment 11 12)
dis8. e16 ~ e4 ~ e8.) e16~ |
\set Timing.measureLength = #(ly:make-moment 11 4)
e4 ~ e8 e8\mp\<~( e4 dis ~ dis8. e16 ~ e4 ~ e8. ) f16->\mf~f4 ~ f8 f8~ | \bar "||"
f4
}
}
Здесь в каждом новом цикле свойству Timing.measureLength присваивается соответствующее значение.
Функция #(ly:make-moment) создает определенную длительность.
Внимание: внутри блока ScaleDurations по-прежнему необходимо рассчитывать размеры часов.
по глобальному времени : отсюда размеры 11/4, 11/6 и 11/12. Кроме того, однократное (\once) изменение свойстваallow-span-bar запрещает соединение этой тактовой черты с другой на пятом стане.
Там же такая же конструкция зарегистрирована и на четвертом лагере.
В чем разница между \set и \override Команда \set управляет свойствами контекста, а команда \override — свойствами гробов (grob = графический объект).
Существует также команда \tweak, которая изменяет свойства следующего объекта; его тип даже не обязательно указывать.
Параметр \once \override переопределяет свойство только для одного использования (но не обязательно для того, которое следует сразу за данной командой).
Косметические изменения включали уменьшение параметра spacing-increment (увеличение расстояния между нотами относительно базовой при удвоении их длительности) со значения по умолчанию 1,2 до 0.
,5 и изменив шрифт и размер текста: \layout {
.
\override SpacingSpanner #'spacing-increment = #0.5 } .
\context {
\Lyrics
\override LyricText #'font-name = #"Century"
\override LyricText #'font-size = #3
}
}
Буду рад объяснить любые другие нюансы комплекта, если они будут неясны.
Источник: Pastebin.com/EXsYRQzg Загрузите последнюю нестабильную версию: lilypond.org/development.html (не будет работать на 2.14).
Теги: #Типография #пруд с лилиями #набор нот #гравюра
-
Феррит
19 Oct, 24 -
Прыжковое Движение. Впечатление
19 Oct, 24 -
Хабраштуки, Ооо
19 Oct, 24 -
Кодируемость: Советы И Примеры
19 Oct, 24 -
Еженедельный Подкаст №70
19 Oct, 24 -
Андрей Терновский Путешествует По Штатам
19 Oct, 24