GNU LilyPond
GNU LilyPond | |
Тип | Нотный редактор |
ОС | Кроссплатформенное программное обеспечение |
Версия | 2.12.2 (21 марта 2009) |
Тестовая версия | 2.13.0 (21 марта 2009) |
Лицензия | GNU GPL |
Сайт | lilypond.org |
GNU LilyPond — свободный нотный редактор, разработанный голландскими программистами и предназначенный для создания музыкальных партитур путём компиляции файла из особым образом набранного текста (используется технология TeX). Программа изначально рассчитана на работу под GNU/Linux, существуют также версии для Microsoft Windows и Apple Mac OS. LilyPond написан на C++ и в своей работе использует библиотеку языка Scheme.
Процесс создания партитуры в LilyPond напоминает программирование: выходной файл компилируется в соответствии с текстом, набранным по определённым правилам. Освоение этого «языка» требует некоторых навыков. Программа создаёт несколько файлов: сначала промежуточный (в формате PostScript, SVG, TeX и др.), который затем преобразуется в PDF или другие форматы (PNG, DVI). LilyPond также способен создавать MIDI-файлы (указание на создание файла задаётся в самом файле с нотами, а не в виде параметра командной строки).
В отличие от других нотных редакторов (Finale, Sibelius и др.) LilyPond не имеет графического интерфейса и не поддерживает WYSIWYG: программа сама определяет оптимальное расположение элементов партитуры на странице (например, количество тактов в строке или расстояние между нотами), хотя есть возможность управлять этим, указывая необходимые параметры в исходном файле.
Единственная кодировка, которую понимает LilyPond — UTF-8. Это позволяет использовать текст на разных языках (например, на русском, греческом, иврите, японском) в одном и том же файле. Первая строка сообщает редактору emacs, что этот файл следует читать и записывать в UTF-8. Если использовать не emacs, а какой-либо другой редактор, важно убедиться, что текст действительно сохраняется в кодировке UTF-8; в противном случае наличие любых не-ASCII символов вызовет ошибку.
Примеры работы
Пример простейшей партитуры
В любом текстовом редакторе (например, в Блокноте) необходимо набрать текст
{ a b c d }
Файл нужно сохранить с расширением .ly
, после чего запустить из командной строки команду lilypond имя файла
или просто перетащить файл мышью на значок программы. Если при наборе не было допущено ошибок, будет сгенерирован pdf-файл с готовыми нотами. В процессе генерации файла автоматически создаётся log-файл, в котором в случае ошибки будет указана причина, по которой сгенерировать файл не удалось.
Результат представлен на рисунке.
Сложный пример
Используемый синтаксис
Текст, идущий за знаком процента (%) — это комментарий. Двойные знаки проценты используются здесь для удобочитаемости.
В LilyPond ноты вводятся в формате нота, октава и длительность; октава задаётся серией запятых или апострофов, каждый из которых, соответственно, понижает или повышает ноту на одну октаву. Например, a'4
обозначает ноту ля (A), на октаву выше базовой, длительностью в одну четвёртую. Синтаксисом предусмотрено правило: все остальные модификаторы — в том числе открывающие скобки, которые по обычным правилам должны были бы быть до ноты — добавляются после ноты, так d8[ c]
означает пару восьмых нот, соединённых общим ребром, что обозначается квадратными скобками.
Исходный текст
#!lilypond firebreathers.ly -*- coding: utf-8; -*-
%% Theme to "Fire Breathers", a homebrew NES game perpetually
%% under development. Composed by Urpo Lankinen.
%% Note: The composer has made this source code available
%% to Wikipedia under the GFDL license. Some previous versions
%% of this code may also be available under CC BY-SA license.
%% В этом файле используются обозначения нот, принятые в Европе и в России
%% (например, вместо употребляемых американцами "F#" и "Bb",
%% использованы "Fis" и "B" соответственно).
%% Dutch note names are used by default.
\include "suomi.ly"
%% Optional language upgrade helper.
\version "2.6.0"
%% Заголовки.
\header {
title = "Theme to ``Fire Breathers!''"
instrument = "For the 2A03 or SID"
composer = "Urpo Lankinen"
enteredby = "Urpo Lankinen"
updatedby = "Jan Nieuwenhuizen"
date = "June 2005"
}
Melody = \relative c'' {
\clef treble
\time 3/4
\key a \minor
%% Пьеса начинается с затакта длиной в четверть, "\partial 4"
%% на это и указывает.
\partial 4
a4 | e'4.( d8[ c]) r8 | d4.( c8[ h]) r8 | a2. | e2
a4 | e'4.( d8[ c]) r8 | d4.( e8[ f]) r8 | e2. | r2
e4 | f4.( e8[ d]) r8 | d4.( c8[ h]) r8 | a2. | e2
a4 | e'4.( d8[ c]) r8 | d4.( c8[ h]) r8 | a2. ~ a2 r4 | \bar "|."
}
%% Второй голос.
SecondVoice = \relative c {
\clef bass
\time 3/4
\key a \minor
\partial 4
r4 | e2. | d2. | a2. | e2
a4 | e'2. | d2 f4 | e2. | r2.
| f2. | d2. | a2. | e2
a4 | e'2. | d2 h4 | a2. ~ a2 r4 | \bar "|."
}
%% Melodies, lyrics and chords can be assigned to a variable and then
%% be *reused* elsewhere. Here are three different accompaniment
%% patterns, which are used throughout the accompaniment melody.
AccompA = \relative c { a4 e'8 a, e' a, | }
AccompB = \relative c { g4 d'8 g, d' g, | }
AccompC = \relative c { e,4 h'8 e, h' e, | }
Accompaniment = {
\clef bass
\time 3/4
\key a \minor
\partial 4
r4 | \AccompA \AccompB \AccompA \AccompA
\AccompA \AccompB \AccompA \AccompA
\AccompC \AccompC \AccompA \AccompA
\AccompA \AccompB \AccompA | a2 r4 | \bar "|."
}
%% The top level music definition.
<<
\new Staff \Melody
\new Staff \Accompaniment
\new Staff \SecondVoice
>>
Результат работы
Результат обработки сложного примера
Достоинства программы
- Возможность создавать высококачественные партитуры практически любого уровня — от простых одноголосных мелодий до больших оркестровых партитур;
- Возможность быстро изменять содержимое файла, просто редактируя текст;
- Малое потребление системных ресурсов;
- Небольшой размер входящих файлов; исходящий pdf-файл также в несколько раз меньше соответствующего отсканированного изображения;
Создатели программы провели большую работу над музыкальными шрифтами, нотами и знаками, используемыми в программе: за основу были взяты издательские технологии XIX века.
Недостатки программы
- Относительная сложность в освоении «языка» написания исходных файлов;
- Отсутствие WYSIWYG;
- Достаточно слабая реализация механизма конвертации MIDI
Взаимодействие с другими программами
Некоторые графические нотные редакторы, такие как Canorus, Denemo, MuseScore, NoteEdit, Rosegarden — могут экспортировать файлы в формате LilyPond. MuseScore может также импортировать такие файлы.
Существует LilyKDE — плагин для текстового редактора kate, упрощающий набор партитур в kate. Для KDE 4 существует отдельная программа — Frescobaldi.
С помощью модуля OOoLilyPond возможна интеграция файла Lilypond в документ OpenOffice.org.
В состав LilyPond входит программа lilypond-book, позволяющая использовать разметку LilyPond в LaTeX, HTML, Texinfo и DocBook: lilypond-book извлекает разметку LilyPond, генерирует изображения нотных фрагментов в формате PostScript либо PNG, после чего заменяет разметку командами вставки соответствующих изображений[1].
Примечания
- ↑ lilypond-book: Integrating text and music (англ.). GNU LilyPond — The music typesetter. Проверено 23 января 2010.
Ссылки
- Официальный сайт LilyPond
- «Lilypond, a system for automated music engraving» — брошюра авторов программы (Han-Wen Nienhuys, Jan Nieuwenhuizen); PDF)
- Форум по LilyPond
- Архив нот, набранных с помощью LilyPond
- Денемо — графический интерфейс для LilyPond.
- LilyPondTool, плагин для jEdit с поддержкой LilyPond.
- Музипедия, свободная энциклопедия, использующая LilyPond
Проект GNU |
||
---|---|---|
История | Манифест GNU • Проект GNU • Фонд СПО (Европейский • Индийский • Латиноамериканский) • История СПО | Файл:Heckert GNU white.svg |
Лицензии | GNU GPL • GNU LGPL • Affero GPL • GNU FDL • GPL linking exception | |
Программное обеспечение |
GNU (варианты) • Hurd • GNOME • Bash • GCC • GNU Emacs • glibc • GNU Coreutils • Build system • GNUnet • GNUzilla (IceCat) • Gnash • другие пакеты… | |
Персоналии | Александре Олива • Бенджамин Хилл • Брэдли Кун • Эбен Моглен • Федерико Хейнц • Джордж Грив • Георг Греве • Джошуа Гэй • Лоис Дечэри • Мэтт Ли • Рикардо Галли • Ричард Столлман • Роберт Часселл • Вильям Джон Салливан | |
Другие темы | Спор об именовании GNU/Linux • Revolution OS • BadVista • Defective by Design |
В Википедии есть портал «Свободное программное обеспечение» |
ПО | Это незавершённая статья о свободном программном обеспечении. Вы можете помочь проекту, исправив и дополнив её. |
ca:LilyPond de:LilyPond en:GNU LilyPond eo:LilyPond es:GNU LilyPond fr:LilyPond hu:GNU LilyPond it:GNU LilyPond ja:GNU LilyPond lv:GNU LilyPond nl:LilyPond no:Lilypond pl:LilyPond pt:LilyPond tr:LilyPond
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....
- Страницы, использующие устаревший тег source
- Страницы с ошибками в подсветке синтаксиса
- Википедия:Статьи о программах без скриншотов
- Страницы с неработающими файловыми ссылками
- Свободные музыкальные редакторы
- Нотные редакторы
- GNU
- Программное обеспечение для Mac OS X
- Незавершённые статьи о свободном программном обеспечении