stringtranslate.com

LilyPond

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

LilyPond является кроссплатформенным и доступен для нескольких распространенных операционных систем ; выпущенный на условиях GNU General Public License , LilyPond является свободным программным обеспечением и частью проекта GNU .

История

Проект LilyPond был начат в 1996 году Хан-Веном Ниенхёйсом и Яном Ниевенхёйзеном после того, как они решили отказаться от работы над MPP ( MusiXTeX PreProcessor), проектом, над которым они начали сотрудничать в 1995 году. [7] [8] Его название было вдохновлено как проектом Rosegarden , так и знакомой Ниенхёйса и Ниевенхёйзена по имени Сюзанна, имя, которое на иврите означает «лилия» ( שׁוֹשַׁנָּה ). [9]

Версия 1.0

LilyPond 1.0 был выпущен 31 июля 1998 года, ознаменовав разработку специального музыкального шрифта Feta и полное отделение LilyPond от MusiXTeX. [10]

Версия 2.0

LilyPond 2.0 был выпущен 24 сентября 2003 года, анонсируя упрощенную модель синтаксиса и гораздо более полный набор возможностей для записи различных стилей музыки. [11]

Дизайн

Скриншот LilyPond, работающего на Linux

LilyPond в основном написан на C++ и использует Scheme (интерпретируемый GNU Guile ) в качестве языка расширения, что позволяет настраивать его под пользователя. [12] Он имеет относительно большую кодовую базу ; по состоянию на 10 марта 2017 года исходный код включает более 600 000 строк C++, 140 000 строк Scheme и 120 000 строк кода Python . [13]

Он использует простую текстовую нотацию для ввода музыки, которую LilyPond интерпретирует и обрабатывает в несколько этапов. [14] На последнем этапе нотная запись выводится в PDF (через PostScript ) или другие графические форматы, такие как SVG или PNG . LilyPond также может генерировать файлы MIDI , которые соответствуют выходным данным нотной записи.

LilyPond — это текстовое приложение , поэтому оно не содержит собственного графического пользовательского интерфейса для помощи в создании партитур. (Однако графический интерфейс пользователя «LilyPad» на основе текстового редактора для Windows и MacOS включен по умолчанию в эти системы.) Однако оно имеет гибкий язык ввода, который стремится быть простым, облегчая кривую обучения для новых пользователей. LilyPond придерживается парадигмы WYSIWYM ; рабочий процесс набора нот с помощью LilyPond аналогичен процессу подготовки документов с помощью LaTeX .

LilyPond поддерживает экспериментальную музыкальную нотацию . Его гитарные возможности поддерживают альтернативные настройки , такие как настройка мажорной терции . [15]

Возможности программного обеспечения

Ноты Симфонии № 5 Бетховена , напечатанные с помощью цифровой гравировки PDF-файла, созданного LilyPond; выпущены проектом Mutopia

Основная цель LilyPond — производить продукцию, сопоставимую с профессионально выгравированными партитурами, а не продукцию, которая выглядит механической и сгенерированной компьютером. Эссе с веб-сайта LilyPond, написанное разработчиками LilyPond, объясняет некоторые типографские проблемы, которые решает LilyPond: [16]

Обзор синтаксиса ввода

Собственный язык ввода для LilyPond является всеобъемлющим и состоит из множества команд, необходимых для выражения любого вида артикуляции, динамики, метра и т. д. Он похож на TeX . Возможность встраивать код Scheme в исходный файл LilyPond допускает произвольные расширения входного языка и помогает с алгоритмической композицией . Некоторые общие синтаксические особенности перечислены ниже.

Интерфейс LilyPond с Pango требует, чтобы входная кодировка символов была UTF-8 . [23] Одним из преимуществ этого является то, что в один и тот же исходный файл можно включить более одного языка.

Пример входного файла LilyPond

\версия "2.22.2" \include "english.ly" \header { title = \markup { "Отрывок из" \italic "fibonacci" } composer = "Patrick McCarty" % copyright = \markup \fontsize #-5 % { % Copyright © 2009. % Набрано с помощью GNU LilyPond. % Передано в общественное достояние композитором. % } }                  \paper { высота-бумаги = 4.6 \ ширина-бумаги = 8.5 \ отступ = # 0 количество-систем = # 2 }             \score { \new PianoStaff = "pianostaff" << \new Staff = "RH" \relative c' { \accidentalStyle Score . piano \clef "treble" \time 2/4 \set Score . currentBarNumber = # 51 \tempo "Медленно и размеренно" 4 = 60 < e gs, > 4 \acciaccatura { cs 16 [ ds ] } < e gs, > 4 | % m. 51 < ds gs, > 4 \acciaccatura { e 16 [ ds ] } < cs gs > 4 | % m. 52 < cs gs > 4 \acciaccatura { ds 16 [ cs ] } < c g > 4 | % m. 53 < cs gs > 4 \acciaccatura { ds 16 [ e ] } < es bs gs > 4 | % м. 54                                                                          < e gs, > 4 \acciaccatura { cs 16 [ ds ] } e 16 f gs a | % m. 55 < gs c, > 8 \acciaccatura { as 16 [ gs ] } < es b > 8 ~ < es b > 16 ds b as | % m. 56                              б 16 г 8 бф 32 ж' г 16 аф бф с | % м. 57 < дф дф, > 16 ( с аф ) < е' е, > ( дс б ) < г' г, > ( дс | % м. 58                            \time 3/4 < gs gs, > 16 ) \noBeam d, 16 f gs a 16 e f b c 16 d, ( f gs | % m. 59                    а 16 б ) е, ( ж гс 16 б в ) ж, ( жс 16 как б в ) | % м. 60 }                    \new Динамика = "Динамика_pf" { s 4 \p \< s 4 | % м. 51 s 4 s 4 | % м. 52 s 4 \mp \> s 4 | % м. 53 s 4 s 4 \! | % м. 54 s 4 \p s 4 | % м. 55 s 1 * 2/4 | % м. 56 s 4 \< s 4 | % м. 57 s 4 s 4 | % м. 58 \override DynamicText . extra-spacing-width = # ' ( -0.75 . 0.75 ) s 16 \mf s 16 \p s 8 s 4 s 4 | % м. 59 s 2. | % м. 60 }                                                                \new Staff = "LH" \relative c, { \clef "bass" \time 2/4 cs 4. cs 8 | % m. 51 cs 4. d 8 | % m. 52 f 4. a 8 | % m. 53 f 4. d 8 | % m. 54                           cs 4. cs 8 | % м. 55 d 4 ds | % м. 56 gs 4. bf, 8 | % м. 57 f' 4 b, | % м. 58                \время 3/4 д 4. д 8 ~ д 4 | % м. 59 эф 2 ж 4 | % м. 60 } >> }             

Соответствующий вывод

Визуализированный вывод

Более сложный вывод

Lilypond также может создавать широко настраиваемый вывод. Примером может служить короткий отрывок из фортепианной пьесы Карлхайнца Штокхаузена ниже.

Отрывок из «Klavierstück II» Штокхаузена в качестве примера визуализации

Сотрудничество с другими проектами

Первые такты Adeste Fideles , сгенерированные LilyPond.

Несколько графических редакторов партитур — таких как Rosegarden , NoteEdit , Canorus, Denemo и TuxGuitar — могут экспортировать файлы напрямую в формат LilyPond. Другие графические приложения служат в качестве интерфейсов для LilyPond, включая Frescobaldi и плагин LilyPondTool для jEdit . Denemo интегрирует вывод PDF LilyPond в свой дисплей, позволяя выполнять некоторые операции редактирования в окончательно набранной партитуре.

Проект Mutopia , который распространяет бесплатный контент в виде нот, использует LilyPond для набора своей музыки, как и Musipedia, совместная музыкальная энциклопедия.

Режим org-mode в Emacs поддерживает встраивание оценок LilyPond в документы. [24]

OOoLilyPond, расширение LibreOffice, обеспечивает поддержку вызова LilyPond для встраивания результатов в документы. [25]

Интеграция в MediaWiki

Lilypond доступен в MediaWiki через код расширения Score. Это, например, преобразует нотацию

<score sound= "1" > \relative c' {
\key d \major      fis4  fis  g  a  a  g  fis  ed  de fis fis4 . ​ e8 e2 } </score>      

в

\relative c' {\key d \major fis4 fis gaag fis edde fis fis4. е8 е2 }

Выше приведен отрывок из 9-й симфонии Людвига ван Бетховена, широко известной как «Ода к радости». Более сложные партитуры, включая тексты песен, также возможны в вики MediaWiki. См. Pastime with Good Company для примера.

Интеграция в текст с использованиемlilypond-книга

Интеграция музыкальных элементов LilyPond в различные форматы документов (как в системы на основе TeX, такие как LaTeX и Texinfo , так и в страницы DocBook и HTML ) изначально поддерживается с помощью сопутствующей программы lilypond-book , разработанной и поддерживаемой сообществом LilyPond. [26] Это позволяет пользователям встраивать музыкальные элементы в тексты, такие как музыковедение, песенники, рабочие листы для обучения и школьные экзамены.

Интеграция в LaTeX

Для интеграции в систему подготовки документов LaTeX был разработан lyLuaTeX как пакет LuaLaTeX для встраивания музыкальных элементов в тексты. Он включает функции для согласования макета и внешнего вида музыкальных элементов с окружающим текстовым документом. [27] Музыкальные элементы могут состоять из музыкальных символов, текстов песен, схем гитарных аккордов, нотных листов, музыкальных отрывков, гитарных табулатур или многостраничных партитур.

Сравнение с другими авторами партитур

Finale и Sibelius — два фирменных партитуриста, которые часто сравнивают с LilyPond. Эндрю Гаврилюк, пользователь LilyPond, написал серию статей, сравнивающих качество вывода между Finale и LilyPond. [28]

Еще один редактор партитур с функциями, сопоставимыми с LilyPond, — это SCORE , но SCORE больше полагается на ручное позиционирование, чем Lilypond.

См. также Сравнение авторов партитур .

Смотрите также

Ссылки

  1. ^ "Авторы". Команда разработчиков LilyPond . Получено 21 марта 2015 г.
  2. ^ Ошибка: Невозможно правильно отобразить ссылку из Wikidata. Технические детали:
    • Причина сбоя {{ Cite web }} : Ссылка Wikidata содержит URL-адрес загрузки свойства (P4945), который не назначен ни одному параметру этого шаблона.
    • Причина сбоя {{ Cite Q }} : Ссылка Wikidata содержит URL-адрес загрузки свойства (P4945), который не назначен ни одному параметру этого шаблона.
    Более подробную информацию смотрите в документации .
  3. ^ Ошибка: Невозможно правильно отобразить ссылку из Wikidata. Технические детали:
    • Причина сбоя {{ Cite web }} : Ссылка Wikidata содержит URL-адрес загрузки свойства (P4945), который не назначен ни одному параметру этого шаблона.
    • Причина сбоя {{ Cite Q }} : Ссылка Wikidata содержит URL-адрес загрузки свойства (P4945), который не назначен ни одному параметру этого шаблона.
    Более подробную информацию смотрите в документации .
  4. ^ "Исходный tarball". lilypond.org . Получено 4 марта 2016 г. .
  5. ^ "Загрузки для LilyPond 2.18.2". lilypond.org . Получено 4 марта 2016 г. .
  6. ^ "ЛИЦЕНЗИЯ - lilypond.git - GNU LilyPond". git.savannah.gnu.org .
  7. ^ "GNU LilyPond Learning Manual: Предисловие" . Получено 23 декабря 2017 г.
  8. ^ "MusiXTeX PreProcessor README". GitHub . Получено 31 марта 2010 г.
  9. ^ Крогер, Педро (2004). "Re: Происхождение названия lilypond". Почтовая рассылка lilypond-user . lists.gnu.org . Получено 19 марта 2014 г. .
  10. Nienhuys, Han-Wen (31 июля 1998 г.). "GNU LilyPond 1.0 выпущен". gnu-music-discuss (список рассылки) . Получено 16 февраля 2010 г.
  11. ^ Ниенхейс, Хан-Вэнь (24 сентября 2003 г.). «LilyPond 2.0 – создавайте красивые музыкальные отпечатки». info-lilypond (список рассылки) . Получено 16 февраля 2010 г.
  12. ^ "Языки программирования LilyPond" . Получено 21 марта 2015 г. .
  13. ^ "GNU LilyPond Music Typesetter – Code Analysis" . Получено 25 июля 2017 г. .
  14. ^ "Обзор архитектуры LilyPond" . Получено 21 марта 2015 г. .
  15. ^ Griewank, Andreas (4 января 2010 г.). «Настройка гитар и чтение музыки в мажорных терциях». Препринты Matheon . 695. Берлин, Германия: Исследовательский центр DFG «MATHEON, Математика для ключевых технологий» . Получено 14 января 2020 г.
  16. ^ "LilyPond - Эссе об автоматизированной гравировке нот" . Получено 23 декабря 2017 г.
  17. ^ "Пропорциональная нотация" . Получено 21 марта 2015 г.
  18. ^ "LilyPond Learning Manual: 1.2.2 Работа с входными файлами" . Получено 21 марта 2015 г.
  19. ^ "LilyPond Notation Reference: 1.1.1 Написание питчей" . Получено 21 марта 2015 г.
  20. ^ "LilyPond Notation Reference: 1.3.1 Выразительные знаки, прикрепленные к примечаниям" . Получено 21 марта 2015 г.
  21. ^ "LilyPond Notation Reference: 1.3.2 Выразительные знаки как кривые" . Получено 21 марта 2015 г. .
  22. ^ "LilyPond Notation Reference: 1.2.4 Beams" . Получено 21 марта 2015 г. .
  23. ^ "LilyPond Notation Reference: 3.3.3 Текстовое кодирование" . Получено 21 марта 2015 г.
  24. ^ "org-babel lilypond language module". 17 декабря 2018 г. Получено 30 ноября 2019 г. – через GitHub.
  25. ^ Клаус Блюм (18 апреля 2017 г.). "OOoLilyPond: Создание музыкальных фрагментов в документах LibreOffice" . Получено 12 октября 2017 г. .[ постоянная мертвая ссылка ]
  26. ^ Сообщество LilyPond (1996–2020). «Руководство по использованию LilyPond».
  27. ^ Перон, Фр. Жак; Лиска, Урс; Спрингуэль, Бр. Сэмюэль (27 мая 2019 г.). "LyLuaTeX 1.0f" (PDF) . Comprehensive TeX Archive Network (CTAN) . Получено 16 апреля 2020 г.
  28. ^ Гаврилюк, Эндрю. "Finale and LilyPond" . Получено 15 февраля 2010 г.

Внешние ссылки