- GNU LilyPond
-
GNU LilyPond Тип Операционная система Последняя версия 2.16.0 (24 августа 2012)
Тестовая версия 2.17.3
Лицензия Сайт 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; -*- %% Тема из "Огнедышащих", самодельной игры NES, находящейся в вечной %% разработке. Композитор Urpo Lankinen. %% Примечание: Композитор сделал этот исходный код доступным Википедии под %% лицензией GFDL. Некоторые предыдущие версии этого кода могут также быть %% доступны под лицензией CC BY-SA. %% В этом файле используются обозначения нот, принятые в Европе и в России %% (например, вместо употребляемых американцами "F#" и "Bb", использованы %% "Fis" и "B" соответственно). %% Голландские названия нот используются по умолчанию. \include "suomi.ly" %% Необязательная подсказка для обновления языка. \version "2.6.0" %% Заголовки. \header { title = "Тема из ``Огнедышащих!''" instrument = "Для 2A03 или 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 "|." } %% Мелодии, слова и аккорды могут присваиваться переменной и затем %% *повторно использоваться* где-либо ещё. Здесь представлены три %% различных шаблона аккомпанемента используемые для сопровождения %% всей мелодии. 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 "|." } %% Высокоуровневое определение музыки. << \new Staff \Melody \new Staff \Accompaniment \new Staff \SecondVoice >>
Результат работы
Достоинства программы
- Возможность создавать высококачественные партитуры практически любого уровня — от простых одноголосных мелодий до больших оркестровых партитур;
- Возможность быстро изменять содержимое файла, просто редактируя текст;
- Малое потребление системных ресурсов;
- Небольшой размер входящих файлов; исходящий pdf-файл также в несколько раз меньше соответствующего отсканированного изображения;
Создатели программы провели большую работу над музыкальными шрифтами, нотами и знаками, используемыми в программе: за основу были взяты издательские технологии XIX века.
Ещё одной из уникальных особенностей GNU LilyPond является тот факт, что работа в нём возможна даже для людей со значительными ограничениями здоровья, например, для полностью слепых[1], тогда как альтернативными графическими редакторами такие люди пользоваться не имеют возможности.
Доступность программы для людей с ограниченными возможностями является официально декларируемой особенностью продукта, которая отдельно подчёркивается самими разработчиками.[2]
Недостатки программы
- Относительная сложность в освоении «языка» написания исходных файлов;
- Достаточно слабая реализация механизма конвертации MIDI
Взаимодействие с другими программами
Некоторые графические нотные редакторы, такие как Canorus, Denemo, MuseScore, NoteEdit, Rosegarden — могут экспортировать файлы в формате LilyPond. MuseScore может также импортировать такие файлы.
Существует LilyKDE — плагин для текстового редактора kate, упрощающий набор партитур в kate. Для KDE 4 существует отдельная программа — Frescobaldi.
С помощью модуля OOoLilyPond возможна интеграция файла Lilypond в документ OpenOffice.org.
Существует плагин LilyPondTool к редактору jEdit.
sib2ly — комплекс из плагина к Sibelius и программы на Ruby, позволяющих конвертировать партитуры в формат LilyPond. На данный момент реализована только часть возможностей Sibelius.[3]
В состав LilyPond входит программа lilypond-book, позволяющая использовать разметку LilyPond в LaTeX, HTML, Texinfo и DocBook: lilypond-book извлекает разметку LilyPond, генерирует изображения нотных фрагментов в формате PostScript либо PNG, после чего заменяет разметку командами вставки соответствующих изображений[4].
Примечания
- ↑ Цейковец Н. — Нотный редактор GNU LilyPond: музыка, стирающая границы
- ↑ LilyPond — Music notation for everyone: Features
- ↑ Сайт проекта на SourceForge
- ↑ lilypond-book: Integrating text and music (англ.). GNU LilyPond — The music typesetter. Архивировано из первоисточника 10 марта 2012. Проверено 23 января 2010.
Ссылки
На «Мета-вики» имеется страница «Music markup»- Официальный сайт LilyPond
- «Lilypond, a system for automated music engraving» — брошюра авторов программы (Han-Wen Nienhuys, Jan Nieuwenhuizen); PDF)
- Форум по LilyPond
- Архив нот, набранных с помощью LilyPond
- Денемо — графический интерфейс для LilyPond.
- LilyPondTool, плагин для jEdit с поддержкой LilyPond.
- Музипедия, свободная энциклопедия, использующая LilyPond
Нотные редакторы Свободные Denemo • Frescobaldi • GNU LilyPond • Impro-Visor • MuseScore • MusiXTeX • NoteEdit • Rosegarden • TuxGuitar Проприетарные Capella • Encore • Finale • Guitar Pro • Igor Engraver • Mozart • Mus2 • MusEdit • MusiCAD • Music Write • NOTION • NoteWorthy Composer • Overture • SCORE • Sibelius • SmartScore • Power Tab Editor Список нотных редакторов • Сравнение нотных редакторов Языки разметки документов Офисных документов Compound Document Format · OOXML (SpreadsheetML, PresentationML, WordprocessingML) · ODF · UOF Общеизвестные HTML · XHTML · MathML · JSON · RTF · TeX · LaTeX Менее известные CML · C-HTML · ConTeXt · Crossmark · DITA · DocBook · eLML · EAD · Enriched text · FHTML · GML · GuideML · HDML · HyTime · HyperTeX · IPF · FictionBook · LilyPond · LinuxDoc · Lout · MIF · MAML · MEI · MusicXML · OMDoc · OpenMath · POD · RTML · RTML · RFT · S1000D · TEI · Texinfo · troff · Вики-текст · WML · WapTV · XAML · YAML · Z Format Проект GNU История Лицензии GNU GPL • GNU LGPL • Affero GPL • GNU FDL • GPL linking exception
Программное
обеспечениеПерсоналии Александре Олива • Бенджамин Хилл • Брэдли Кун • Эбен Моглен • Федерико Хейнц • Джордж Грив • Георг Греве • Джошуа Гэй • Лоис Дечэри • Мэтт Ли • Рикардо Галли • Ричард Столлман • Роберт Часселл • Вильям Джон Салливан
Другие темы Категории:- Программное обеспечение по алфавиту
- Свободные музыкальные редакторы
- Нотные редакторы
- GNU
- Кроссплатформенное программное обеспечение
- Свободное программное обеспечение, написанное на C++
- Программное обеспечение для Linux
- Программное обеспечение для Windows
- Программное обеспечение для Mac OS X
- Программное обеспечение с лицензией GNU GPL
Wikimedia Foundation. 2010.