Набор Современной Музыки В Lilypond

Один день Я уже рассказывал вам, что такое LilyPond и с чем его едят. К сожалению, мне пока не удалось выполнить свое обещание написать простую статью, но я собирался описать, как набрал ужасающий пример нотной записи.

Н.

Корндорф

Набор современной музыки в LilyPond

(«Добро пожаловать!» для шести женских голосов) Какие есть трудности?

  • Разные темпы для разных лагерей
  • Разное количество продолжительностей за одно и то же время
  • Составной размер
  • Несоответствие линии часов
Для решения первой проблемы необходимо изучить руководство по внутреннему устройству .

Там написано, что контекст Score содержит Metronome_mark_engraver, который отвечает за отображение отметки темпа.

Следующие строки рассматривают его в контексте нотоносца, позволяя вам писать разные темпы в разных строках (и многое другое).

  
  
  
  
   

\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" } .

}

Также здесь из контекста партитуры в контекст строфы передаются Default_bar_line_engraver и Timing_translator, отвечающие за тактовые линии и тактовые размеры (до третьей точки).

Вторую проблему можно решить, используя масштабирование длительности .

Команда \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).

Теги: #Типография #пруд с лилиями #набор нот #гравюра

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.