Журнал LinuxFormat - перейти на главную

LXF126:LilyPond

Материал из Linuxformat
Версия от 14:07, 14 февраля 2011; Crazy Rebel (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Содержание

LilyPond Запечатлейте свою музыку

Джон Хадсон ныряет в Tex-подобное приложение нотной записи.

Создание на компьютере нотной записи профессионального вида может превратиться в изнурительный и затратный по времени процесс. LilyPond [англ. «пруд с лилиями»] — продвинутая программа для набора музыки — позаботится обо всем за вас, позволяя сконцентрировать вашу энергию целиком на композиции. Как в случае с научным языком разметки TeX, LilyPond родилась в результате неудовлетворенности современными печатными материалами, но по умолчанию в ней заложена масса функций, обеспечивающих легкий старт.

LilyPond можно скачать для вашего дистрибутива с сайта http://lilypond.org, а также найти на LXFDVD. После установки, откройте текстовый редактор, введите {e d c} [буквенные обозначения нот ми, ре, до] и сохраните файл в виде tmb.ly; затем откройте консоль, перейдите в каталог, где вы сохранили tmb.ly, и наберите lilypond tmb.ly. Вы должны увидеть нечто вроде следующего вывода, а также приведенной ниже картинки:


GNU LilyPond 2.10.33
Processing `tbm.ly’
Parsing...
tbm.ly: 0: warning: no \version statement found, please add
\version “2.10.33”
for future compatibility
Interpreting music...
Preprocessing graphical objects...
Layout output to `tbm.ps’...
Converting to `tbm.pdf’...

Вы видите, что LilyPond создала нотный стан, добавила скрипичный ключ и размер четыре четверти и нарисовала три четвертных ноты, октавой ниже, чем нам хотелось бы. Тон первой ноты задан ниже, но соотносится с нотой до первой октавы; поэтому, чтобы начать с ми над до первой октавы, нужно либо добавить к каждой ноте, либо использовать выражение \relative.

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

Длительность звучания ноты устанавливается по отношению к предыдущей (по умолчанию, длина первой ноты – четверть); поэтому для того, чтобы создать половинную третью ноту, нужно приписать 2. Указав номер версии, упомянутой в выводе, мы получим

\version “2.10.33”
\relative c’ {
{e d c2}
}

Наш PDF изменится соответственно. А теперь добавьте

e4 d c2 g4 f8 f e2 g4 f8 f e2

после с2'. Нам пришлось начать с е4, потому что последняя нота была c2; без 4, обе е и d будут читаться как половинные.

Взять верную октаву

После запуска LilyPond, в PDF половина нот будет октавой ниже, чем надо. При использовании \relative тон ноты задается также относительно предыдущей: так, g внизу ближе ко второй с. Чтобы задать g октавой выше, нужно добавить к первой g, но не к следующей, потому что g ближе к предыдущей е. Используйте , для задания ноты октавой ниже. По ходу мелодии, LilyPond автоматически добавит в нее тактовые черты, а также, там где надо, соединит ноты-восьмушки.

Запись нот – не единственная функция, предлагаемая LilyPond. Нередко требуется добавить под нотный стан слова песен. Чтобы ваш текст появился в PDF, наберите в конце документа tbm.ly следующий код:

\addlyrics {
Three blind mice, three blind mice;
see how they run, see how they run.
}

LilyPond автоматически припишет слово к каждой ноте; далее мы рассмотрим, как это можно изменить.

Лишь одно может показаться неинтуитивным для музыкантов: ноты вводятся на определенных линиях, а LilyPond затем решает, должны ли они быть с диезами или бемолями. Замените текст между \relative фигурными скобками на следующее:

\key d \major
{fis e d2 fis4 e d2 a’4 g8 g fis2 a4 g8 g fis2}

Диезы можно добавить с помощью is, а бемоли с помощью es.

В этой ре-мажорной мелодии четыре фа-диеза, но LilyPond знает, что они все опускаются, поскольку перекрываются указанием ключа.

Проигрываем все вместе

Следующий приведенный код находится на DVD под названием Cranbrook_1.ly, вам нужно только заменить номер версии в первой строке на ваш:


\version “2.10.33”
\relative c’ {
<<
\new ChoirStaff { \clef treble
<<
\new Voice = “Treble” { \voiceOne \relative c’
{c’2 g4. a8 g4 f e d c2. g’4 c( b) a( g) a( g) f( e) e2( d4)
s}
}
\new Voice = “Alto” { \voiceTwo \relative c’
{e2 g4. f8 e4\( d\) c\( b\) c2. e4 e( g) f( e) c2 b4( c) c2(
b4) r}
}
>>
}
\new ChoirStaff { \clef bass
<<
\new Voice = “Tenor” { \voiceThree \relative c’
{a2 d4. d8 d4\( a_~ a\) g f2. d’4 d2 d d a a2. r4}
}
\new Voice = “Bass” { \voiceFour \relative c
{d2 f4. g8 a2 a, d2. d4 d2 d g4( f) e( d) a2. s4}
}
>>
}
>>
}

Куски, которые нужно играть одновременно, обрамлены скобками << и >>. Таким образом, в пары скобок заключены нотный стан со скрипичным ключом и нотный стан с басовым ключом, а также партии для верхнего и нижнего голоса на каждом стане.

Начало каждого нотного стана отмечается с помощью \new ChoirStaff, а начало каждой партии – с помощью \new voice. Вы можете опустить часть голосов, но указание значений \voiceOne и \voiceThree, ноты которых имеют хвостики вверх, а также \voiceTwo и \voiceFour, у которых хвостики вниз, внесет ясность при чтении для певцов.

Ноты с точками (увеличивающими длительность) создаются – сюрприз, сюрприз! – добавлением . к нотам; паузы [rests] вводятся с помощью r и пробела, а заполняющие паузы – с помощью s. Там, где в нотном стане появляются паузы, нужно заполнить эти промежутки и в других партиях, чтобы LilyPond не занесла в свободное пространство следующую ноту мелодии.

Лиги добавляются с помощью открывающей скобки после первой ноты в лиге и закрывающей скобки после последней ноты. Во втором такте, связка в нижнем стане добавлена с помощью ~ к первой из соединяемых нот. Поскольку это верхний голос на стане, LilyPond по умолчанию добавляет лигу над нотами; чтобы лига добавлялась под ними, добавьте _ перед ~.

Лиги во втором такте являются фразовыми и введены с использованием \( после первой ноты и \) после последней ноты; такие лиги игнорируются при добавлении текста песни, тогда как обычные лиги влияют на расстановку слов. LilyPond автоматически добавляет место при долгих нотах и нотах с точкой для отображения их длительности, и это также создает дополнительное пространство в тех местах, где соединены несколько нот, чтобы сделать их лучше читаемыми.

Распев слов

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

\new Lyrics \lyricsto “Treble” {
While shep -- herds watched their flocks by night,
all sea -- ted on the ground,
}

Использование \addlyrics допустимо, если понятно, какие слова идут с какими нотами; использование \new Lyrics \lyricsto c указанием голоса сообщает LilyPond о партии, под который нужно подстроить слова.

В слова shepherd и seated вставлены два дефиса, окруженных пробелами, для обозначения их растягивания на две ноты. LilyPond автоматически перераспределит расстояния с учетом длины слов.

Мы можем задать название и указать имя автора, добавив следующее:

\header {
title = “Cranbrook”
composer = “Thomas Clark 1812”
}

И, наконец, можно добавить рекомендованный темп, вставив следующее перед первым \new ChoirStaff:

\tempo 4 = 150

Религиозная и светская версии текста песни имеются на DVD: соответственно, Cranebrook_While и Cranebrook_Whear.

Использование переменных

Мы могли бы обозначить каждую партию как переменную в начале файла:

trebleMusic = \relative c’ {c’2 g4. a8 . . .}
altoMusic = \relative c’ {e2 g4. f8 . . .}
tenorMusic = \relative c’ {a2 d4. d8 . . .}
bassMusic = \relative c {d2 f4. g8 . . .}

и затем вызывать их при помощи \trebleMusic и так далее внутри основного кода. Таким способом гораздо проще создавать отдельные партии для певцов или музыкантов на фоне всей партитуры вашей композиции.

Персональные инструменты
купить
подписаться
Яндекс.Метрика