Начальный курс по работе с LilyPond

(По материалам телеграм канала, который был закрыт)
Дата публикации:20.05.2022
Поделиться в Twitter Поделиться в F******k Поделиться в VKontakte Поделиться в Telegram Поделиться в Mastodon

Основы работы в LilyPond

В этой статье приводится базовая информация по работе с приложением LilyPond. Разумеется, текст по большей части переводится, однако, переводиться будет не всё. Автор будет стараться давать материалы в удобной для восприятия форме. Итак ... поехали!

Прежде всего нужно отметить, что LilyPond напоминает больше всего язык программирования. Но не стоит пугаться этого. Ведь это так просто: написать текст по правилам и дать программе это всё пережевать, чтобы на выходе получился нужный нам звуковой файл в виде (midi). Мы пишем текст в любом текстовом редакторе, подчёркивается, в текстовом редакторе, а не в текстовом процессоре. Если же вы, дорогой читатель, всё же предпочитаете набирать текст, скажем, в microsoft word, тогда вам всё равно придётся сохранить материал в текстовом файле, то есть в файле с расширением .txt. Далее, нужно это расширение заменить на .ly. Или же в блокноте при сохранении файла выбрать тип файла - "все файлы" и дописать к имени файла указанное расширение. Таким образом, набранный по всем правилам файл называется входным файлом.

Процесс пережевывания приложением этого входного файла называется компиляция. В итоге после компиляции можно получить три вида выходных файлов:

  1. pdf - этот файл можно рассматривать как картинку или выводить на принтер;
  2. png - разработчики рекомендуют использовать этот формат файла для онлайн-публикаций, но это всё равно картинка;
  3. mid - звуковой файл, который можно будет прослушивать и обрабатывать так, как нам удобно.

По понятным соображениям, нас интересует именно последний формат файла.

Ну так вот, если все правила были соблюдены, то после компиляции будет получен соответствующий выходной файл.

Давайте ознакомимся со структурой входного файла. Это, так называемый, "привет мир":

\version "2.22.1"
{
c' e' g' e'
}

В первой строке записано ключевое слово

\version "2.22.1"

Это позволяет программе указать, в какой версии LilyPond входной файл будет компилироваться. Также это может помочь в будущем перекомпилировать этот же файл в следующих версиях. В принципе эта строка необязательна, однако при компиляции в файле с расширением .log появится предупреждение, что нет именно этой строки. Поэтому очень желательно ее вставлять.

Еще одна характерная черта для ключевых слов - это обратная косая черта перед словом. Обратная косая черта, ключевое слово, далее пробел - это и есть основная структура. Само ключевое слово - это полное слово на английском языке, которое отражает понятие или термин из теории музыки. Это очень удобно, заодно осваивается музыкальная терминология. Конечно, есть некоторые исключения. Не все ключевые слова начинаются с обратной косой черты. Есть маленькие кирпичики, которые воспринимаются очень легко, так как знакомы музыкантам, особенно тем, кто читает латинскую нотацию в музыке.

Фигурные скобки {...} - 'Это еще одна характерная черта LilyPond. Благодаря этому элементу форматирования выделяются логические части нотации.

Ноты записываются строчными латинскими буквами, так что нет необходимости нажимать клавишу Shift:

  • c - до
  • d - ре
  • e - ми
  • f - фа
  • g - соль
  • a - ля
  • b - си
  • is - диез
  • es - бемоль
  • isis - дубль-диез
  • eses - дубль-бемоль

Почему выбраны для диеза и бемоля такие буквосочетания? Для диеза понятно, это последние буквы от голландского слова "kruis". Для бемоля ... Возможный, просто для противопоставления "i" и "e". Автор не нашёл в русско-голландском словаре слово "бемоль", в котором есть эти буквы. Ну да ладно... Не суть важно. Важно - запомнить эти обозначения. Как употреблять эти знаки альтерации, объясняется далее по мере необходимости. Обратите внимание, дорогие читатели, нет знака "бекар", сначала это смущало автора, потом он привык.

' (апостроф) и , (запятая) - эти два знака указывают на повышение на одну октаву и понижение, соответственно. Визуально Апостроф расположен на строке выше (верхняя запятая), а запятая - ниже, поэтому мнемонически легко для зрячего запомнить это. Тот, Кто пользуется брайлевской нотацией, знает правило, что между октавой и нотой никакие другие знаки не ставятся. То же самое и здесь, между нотой и октавой никаких знаков не может быть.

Существуют две системы обозначения положения нот относительно друг друга: абсолютное положение и относительное. Теперь давайте вновь посмотрим уже более осмысленным взглядом на исходник нотации.

\version "2.22.1"
{
c' e' g' e'
}

Как видно из этого фрагмента, после каждой ноты идет знак апострофа.

Это говорит о том, что нота содержит точное указание октавы. Так как речь здесь идёт об абсолютном расположении нот, то:

  • ' (один апостроф) - первая октава.
  • '' (два апострофа) - вторая октава и так далее.
  • (нота без апострофа) - малая октава.
  • , (одна запятая) - большая октава.
  • ,, (две запятые) - контр октава и так далее.

Во фрагменте мы не видим каких-либо указаний ключа, размера, тональности и длительности нот. Если таковых указаний нет явно, то LilyPond использует указания по умолчанию. В нашем случае они таковы:

  • Ключ - скрипичный.
  • Размер - четыре четвертых.
  • Тональность - до мажор или ля минор.
  • Первая нота - четвертная.

Ттак как не указано ни одной длительности, то все ноты будут четвертными.

Во фрагменте четыре ноты и все они четвертные и все первой октавы. А ноты, соответственно: до ми соль до.

Если был бы указан другой размер, скажем, шесть восьмых, тогда первая нота была бы по длительностью восьмой. Дело в том, что LilyPond берёт информацию из знаменателя текущего размера, в нашем случае это - восемь. Однако, очень рекомендуется указывать длительность первой ноты. Это улучшает читаемость текста нотации.

Что касается относительного положения нот, то здесь тоже ничего сложного не происходит. Тот, кто изучал брайлевскую нотацию, поймёт эту систему быстро. Хотя всё логично и понятно будет любому заинтересованному.

А теперь давайте взглянем на этот же фрагмент входного файла, но с относительным расположением нот:

\version "2.22.1"
\relative
{
c'4 e g e
}

Отличий в этом фрагменте от предудыщего несколько:

  1. Используется новое ключевое слово - \relative. По-английски, разумеется, дорогие читатели, вы догадались, это означает "относительный".
  2. Знак октавы указан только для первой ноты, а остальные октавы вычисляются по определенному алгоритму.
  3. Как было оговорено выше, указывается длительность для первой ноты.

Пока не будем спешить с компиляцией, нужно разобраться с синтаксисом. Всё равно в процессе компиляции получится только pdf-файл. Пока же постепенно разберемся с правилами.

Прежде всего, вот сами длительности нот:

  • 1 - целая.
  • 2 - половинная.
  • 4 - четвертная.
  • 8 - восьмая.
  • 16 - шестнадцатая.
  • 32 - тридцать вторая.
  • 64 - шестьдесят четвертая.

Символ точки ставится при необходимости сразу же после обозначения длительности. могут следовать и более одной точки после длительности, всё зависит от музыкального произведения. например:

c4.
До малой октавы четвертная с точкой.

Следовательно, ноту до малой октавы нужно проиграть длительностью равной четвертная плюс восьмая.

Теперь следует рассмотреть тот самый алгоритм, по которому рассчитывается относительное расположение нот. Если от одной ноты до другой не более трех ступеней, то знак октавы ставить не надо, так как знак апострофа уже не обозначает октаву, он обозначает на сколько октав нужно повысить ноту. Соответственно, знак запятой обозначает, насколько октав надо понизить ноту. Всё зависит от количества этих знаков. Далее, из примеров всё станет ясно.

Порядок нот нам известен, но всё же надо напомнить: до, ре, ми, фа, соль, ля, си.

Не более трех ступеней:

  • До ми - здесь не более трех ступеней.
  • Фа ля - здесь не более трех ступеней.
  • До ля - Здесь не более трех ступеней.

Если же между нотами более трех ступеней, то вступает правило самой ближайшей ноты при условии, если октава ноты путем понижения или повышения явным образом не указана. Например:

\version "2.22.1"
\relative
{
c'2 f
}

ДО первой октавы и фа первой октавы, как видно из листинга, они обе половинные, но сейчас это не важно. От до до фа включительно - четыре ступени, а если считать назад от до до фа включительно будет пять ступеней. Но так как понижающий или повышающий знак октавы явно не указан, берётся ближайшая нота по ступени. А это нота фа той же октавы. Честно говоря, не корректно называть порядковый номер ступенью, лучше бы назвать нотным пробелом, но тогда пришлось бы объяснять графическое расположение нот, чтобы дать определение нотного пробела. Но вы, дорогие читатели, как и сам автор этого канала суть незрячие люди. И поэтому автор избегает ненужной для нас информации. А если всё же нам надо записать ноту фа не первой октавы, а к примеру, ближайшей - малой, тогда фрагмент будет выглядеть так:

\version "2.22.1"
\relative
{
c'2 f,
}

Если мы напишем так:

\version "2.22.1"
\relative
{
c'2 g
}

То в какой октаве будет записана нота соль? Правильно: нота соль в малой октаве, потому что она ближе, чем нота соль первой октавы относительно ноты до первой октавы. А чтобы записать именно ноту соль первой октавы, надо изменить листинг так:

\version "2.22.1"
\relative
{
c'2 g'
}

При расчёте расстояний между нотами знаки альтерации не учитываются.

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

Что касается пауз и других важнейших ключевых слов, то они выглядят следующим образом:

r - от английского слова "rest" "пауза". Вообще-то имеются и другие виды пауз, но для наших практических нужд это достаточно. Пауза определенной длительности записывается также просто как нота. Например:

  • r4 - четвертная пауза.
  • r8 - восьмая пауза.
  • И так далее.

\time - размер, английское слово, обозначающее "время". Примеры:

  • \time 3/4 Размер три четвертых.
  • \time 12/8 размер двеннадцать восьмых.
  • И так далее.

\key - тональность, по-английски означает "ключ" То есть знаки при ключе. Примеры:

  • \key g \major Здесь ключевым словом \major обозначен всем известный термин мажор. В примере за ключевым словом идет нота соль а затем ключевое слово, которое обозначает "мажор". Другими словами, тональность соль мажор.
  • \key e \minor Всё логично и понятно. Тональность ми минор.
  • И так далее.

И еще одно ключевое слово: \clef - ключ, знак на нотоносце, по которому и ведется отсчет нот. Примеры:

\clef "treble" ключ скрипичный. В кавычках указано название ключа:
  • "treble" - скрипичный.
  • "bass" - басовый.

Нам больше для практики и не нужно знать, хотя и имеются ещё и другие ключи.

Скрипичный ключ говорит о том, что на второй линейке нотоносца расположена нота соль первой октавы. Басовый же ключ сообщает, что на четвертой линейке нотоносца расположена нота фа малой октавы. Ну это так... для справки. В нашем курсе для практики в основном понадобится лишь скрипичный ключ.

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



Распространение материалов сайта означает, что распространитель принял условия лицензионного соглашения.
Идея и реализация: © Владимир Довыденков и Анатолий Камынин,  2004-2024