Из Википедии, бесплатной энциклопедии
  (Перенаправлено из GNU LilyPond )
Перейти к навигации Перейти к поиску

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

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

История [ править ]

Проект LilyPond был начат в 1996 году Хан Уэн Ниенуйс и Ян Ньюенхайзен, после того, как они решили отказаться от работы на MPP ( MusiXTeX препроцессор), проект они начали сотрудничать с в 1995 году [7] [8] Его имя было вдохновлено как по Rosegarden проект и знакомство Nienhuys и Ньюенхайзно имя Сюзанн, имя , которое означает лилию на иврите (שׁוּשָׁן). [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 ++, 140000 строк Scheme и 120 000 строк кода Python. [13]

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

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

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

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

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

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

  • Оптическое масштабирование шрифта : в зависимости от размера нотоносца, немного меняется дизайн музыкального шрифта; это особенность, которой известен шрифт Дональда Кнута Computer Modern . В результате головки нот становятся более округлыми, а линии нотоносца - толще.
  • Оптический интервал : направление стержней учитывается при размещении последующих нот.
  • Специальная обработка строк книги: строки книги укорачиваются, когда рядом находятся случайные предметы, что улучшает читаемость.
  • Пропорциональный интервал : ноты можно располагать таким образом, чтобы они точно отражали их продолжительность. Например, при этой настройке интервал между последовательными четвертными нотами в четыре раза больше, чем между последовательными шестнадцатыми нотами . [17]

Обзор синтаксиса ввода [ править ]

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

  • Однострочные комментарии начинаются со знака процента %. [18]
  • Примечания представлены в пеке длительность формате: шаг задаются Гельмгольц основного тона записи , и длительность задаются с номером системой , основанной. Семантика формата длительности основного тона меняется в зависимости от активного режима ввода; это подробно объясняется в руководстве LilyPond. Например, в абсолютном режиме a'4- это ля, расположенная на одну октаву выше основного ля (А3 в научном представлении высоты тона ), длины четверти. [19]
  • Команды обычно начинаются с обратной косой черты (например \time, или \slurUp). Функция рассматриваемой команды определяет место размещения команды; например, если команда используется для обозначения фиксированной динамики конкретной заметки, она помещается после заметки. [20]
  • Некоторые общие команды представлены символически для облегчения набора текста. Один из примеров - с оскорблениями , где (и )обозначают начало и конец оскорбления, соответственно. [21] Другой пример - ручное излучение , где [и ]указывают протяженность луча. [22]

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

Пример входного файла LilyPond [ править ]

\ версия "2.19.82"\ include "english.ly"\ header  { title = \ markup  { "Отрывок из" \ italic "fibonacci" } composer = "Патрик Маккарти" % copyright = \ markup \ fontsize # -5  % {  % Copyright © 2009.  % Набор с помощью GNU LilyPond.  % Передано композитором в общественное достояние.  %} }\ paper  { paper-height = 4.6 \ in paper-width = 8.5 \ in отступ = # 0 system-count = # 2}\ score  {  \ new PianoStaff = "pianostaff" << \ new Staff = "RH" \ relative c ' {  \ случайноStyle Score.piano \ clef "treble" \ time 2/4 \ set Score.currentBarNumber = # 51 \ tempo " Медленно и ровно "4 = 60 <например,> 4 \ acciaccatura  { cs16 [ds] } <например,> 4 | % м. 51 <ds gs,> 4 \ acciaccatura  { e16 [ds] } <cs gs> 4 | % м. 52 <cs gs> 4 \ acciaccatura  { ds16 [cs] } <c g> 4 | % м. 53 <cs gs> 4 \ acciaccatura  { ds16 [e] } <es bs gs> 4 | % м. 54 <e gs,> 4 \ acciaccatura  { cs16 [ds] } e16 f gs a | % м. 55 <gs c,> 8 \ acciaccatura  { as16 [gs] } <es b> 8 ~ <es b> 16 ds b as | % м. 56 b16 d8 bf32 f 'g16 af bf c | % м. 57 <df df,> 16 (c af) <e 'e,> (ds b) <g' g,> (ds | % m. 58 \ время 3/4 <gs gs,> 16) \ noBeam d, 16 f gs a16 efb c16 d, (f gs | % m. 59 а16 б) д, (ж gs16 bc) f, ( gs16 как bc) | % м. 60  } \ new Dynamics = "Динамика _ pf" { s4 \ p  \ < s4 | % м. 51 s4 s4 | % м. 52 s4 \ mp  \> s4 | % м. 53 s4 s4 \! | % м. 54 s4 \ p s4 | % м. 55 s1 * 2/4 | % м. 56 s4 \ < s4 | % м. 57 s4 s4 | % м. 58  \ переопределение DynamicText.extra-интервал ширина = # '(-. 0,75 0,75) s16 \ mf s16 \ p s8 s4 s4 | % м. 59 с2. | % м. 60  } \ new Staff = "LH" \ relative c, {  \ clef "bass" \ time 2/4 cs4. cs8 | % м. 51 cs4. d8 | % м. 52 f4. a8 | % м. 53 f4. d8 | % м. 54 cs4. cs8 | % м. 55 d4 ds | % м. 56 гс4. bf, 8 | % м. 57 f'4 b, | % м. 58 \ время 3/4 d4. d8 ~ d4 | % м. 59 ef2 f4 | % м. 60  } >>}

Соответствующий вывод [ править ]

Более сложный вывод [ править ]

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

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

Первые меры по Adeste Fideles , порожденные LilyPond.

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

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

Emacs ' орг-режим содержит поддержку для встраивания LilyPond оценки в документы. [24]

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

Интеграция в MediaWiki [ править ]

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

<score  sound = "1" > \ relative c '{fdfadfed cis a cis eagfe} </score>

в

Музыкальные партитуры временно отключены.

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

Интеграция в текст с помощью lilypond-book [ править ]

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

Интеграция с LaTeX [ править ]

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

Сравнение с другими авторами партитуры [ править ]

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

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

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

См. Также [ править ]

  • Обозначение ABC
  • Общие музыкальные обозначения
  • Денемо
  • Фрескобальди
  • Ноты GUIDO
  • MuseScore
  • VexFlow
  • MusicXML
  • MusiXTeX
  • ПримечаниеПравить
  • Музыкальный писец Филиппа
  • Сад роз
  • SCORE (программное обеспечение)
  • Список музыкального программного обеспечения
  • Список составителей партитуры

Ссылки [ править ]

  1. ^ «Авторы» . Команда разработчиков LilyPond . Проверено 21 марта 2015 года .
  2. ^ "LilyPond - Ноты для всех" . 10 января 2021 . Проверено 10 января 2021 года .
  3. ^ "LilyPond - Ноты для всех" . 24 января 2021 . Проверено 24 января 2021 года .
  4. ^ "Архив с исходным кодом" . 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: Предисловие" . Проверено 23 декабря 2017 года .
  8. ^ "README препроцессора MusiXTeX" . Проверено 31 марта 2010 года .
  9. Перейти ↑ Kroger, Pedro (2004). «Re: Происхождение названия кувшинок» . Список рассылки пользователей lilypond . lists.gnu.org . Проверено 19 марта 2014 года .
  10. ^ Nienhuys, Хан-Вен (31 июля 1998). «Выпущен GNU LilyPond 1.0» . gnu-music-Disc (Список рассылки) . Проверено 16 февраля 2010 года .
  11. ^ Nienhuys, Хан-Вен (24 сентября 2003). «LilyPond 2.0 - создавайте красивые нотные репродукции» . info-lilypond (Список рассылки) . Проверено 16 февраля 2010 года .
  12. ^ "Языки программирования LilyPond" . Проверено 21 марта 2015 года .
  13. ^ "Наборщик музыки GNU LilyPond - Анализ кода" . Проверено 25 июля 2017 года .
  14. ^ "Обзор архитектуры LilyPond" . Проверено 21 марта 2015 года .
  15. ^ Griewank, Andreas (4 января 2010). «Настройка гитар и чтение нот в мажорных третях» . Препринты Matheon . Берлин, Германия: Исследовательский центр DFG «МАТЕОН, Математика для ключевых технологий». 695 . Проверено 14 января 2020 года .
  16. ^ "LilyPond - Очерк автоматической гравировки нот" . Проверено 23 декабря 2017 года .
  17. ^ "Пропорциональное обозначение" . Проверено 21 марта 2015 года .
  18. ^ «Учебное пособие по LilyPond: 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: 1.2.4 Лучи" . Проверено 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. Перон, о. Жак; Лиска, Урс; Springuel, Br. Самуэль (27 мая 2019 г.). «LyLuaTeX 1.0f» (PDF) . Комплексная сеть архивов TeX (CTAN) . Проверено 16 апреля 2020 года .
  28. ^ Hawryluk, Эндрю. «Финал и пруд с лилиями» . Проверено 15 февраля 2010 года .

Внешние ссылки [ править ]

  • Официальный веб-сайт
  • "lyluatex - Команды для включения оценок lilypond в документ LATEX (Lua)" . Проверено 16 апреля 2020 года .