Лилипруд - LilyPond
эта статья нужны дополнительные цитаты для проверка.Июль 2016) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Разработчики) | Давид Каструп, Вернер Лемберг, Хан-Вен Ниенхейс, Ян Ньювенхайзен, Карл Соренсен, Янек Вархол, и другие.[1] |
---|---|
изначальный выпуск | 1996 |
Стабильный выпуск | 2.20.0 (1 марта 2020 г.[2]) [±] |
Предварительный выпуск | 2.21.7 (11 октября 2020 г.[3]) [±] |
Репозиторий | |
Написано в | C ++, Схема, Метафонт, PostScript, Python[4] |
Операционная система |
|
Размер | 20–100 МБ |
Стандарт (s) | EPS, MIDI, MusicXML, PDF, PS, SVG |
Доступно в | Английский, каталонский, голландский, французский, немецкий, венгерский, итальянский, японский, испанский |
Тип | Музыкальное программное обеспечение, автор партитуры |
Лицензия | GPLv3[6] |
Интернет сайт | лилии |
Лилипруд это компьютерная программа и формат файла за музыкальная гравюра. Одна из основных целей LilyPond - создавать партитуры с выгравированными традиционными правилами компоновки, отражающими эпоху, когда партитуры гравировали вручную.
LilyPond - это кросс-платформенный, и доступен для нескольких распространенных операционные системы; выпущен в соответствии с условиями Стандартная общественная лицензия GNU, LilyPond - это свободное программное обеспечение.
История
Проект LilyPond был начат в 1996 году Хан-Веном Ниенхейсом и Яном Ньювенхёйзеном после того, как они решили отказаться от работы над MPP (MusiXTeX PreProcessor), над которым они начали сотрудничать в 1995 году.[7][8] Его название было вдохновлено как Сад роз Проект и знакомый Nienhuys и Nieuwenhuizen по имени Сюзанна, имя, которое означает лилия на иврите (שׁוּשָׁן).[9]
Версия 1.0
LilyPond 1.0 был выпущен 31 июля 1998 года и ознаменовал разработку специального музыкального шрифта Feta и полное отделение LilyPond от MusiXTeX.[10]
Версия 2.0
LilyPond 2.0 был выпущен 24 сентября 2003 года, объявляя об упрощенной синтаксической модели и гораздо более полном наборе средств для записи различных стилей музыки.[11]
дизайн
LilyPond в основном написан на C ++ и использует Схема (интерпретируется 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 аналогичен процессу подготовки документов с помощью Латекс.
LilyPond поддерживает экспериментальные нотная запись. Поддержка гитарного оборудования альтернативные настройки, такие как настройка мажорной трети.[15]
Возможности программного обеспечения
Основная цель LilyPond - производить продукцию, сопоставимую с профессионально выгравированными партитурами, вместо результатов, которые выглядят механическими и сгенерированными компьютером. Эссе с веб-сайта LilyPond, написанное разработчиками LilyPond, объясняет некоторые типографские проблемы, которые решает LilyPond:[16]
- Оптическое масштабирование шрифтов: в зависимости от размера нотоносца немного изменяется дизайн музыкального шрифта; это особенность, которая Дональда Кнута Компьютер Модерн шрифт известен. В результате головки нот становятся более округлыми, а линии нотоносца - толще.
- Оптическое расстояние: направление стержня учитывается при размещении последующих нот.
- Обработка строк специальной бухгалтерской книги: строки книги укорачиваются, когда поблизости находятся случайные предметы, что улучшает читаемость.
- Пропорциональный интервал: notes можно расположить таким образом, чтобы именно так отражает их продолжительность. Например, при этой настройке интервал между последовательными четвертные ноты в четыре раза больше, чем между последовательными шестнадцатые ноты.[17]
Обзор синтаксиса ввода
Родной язык ввода для LilyPond является всеобъемлющим и состоит из множества команд, необходимых для выражения любого вида артикуляции, динамики, измерения и т. Д. Он похож на язык ввода в LilyPond. TeX. Возможность встраивать код схемы в исходный файл LilyPond позволяет произвольно расширять язык ввода и помогает с алгоритмическая композиция. Некоторые общие синтаксические особенности перечислены ниже.
- Одна линия Комментарии начать со знака процента
%
.[18] - Примечания представлены в продолжительность подачи формат: подача указывается с Обозначение высоты тона Гельмгольца, и продолжительность указывается с цифра основанная система. Семантика продолжительность подачи изменение формата в зависимости от активного режима ввода; это подробно объясняется в руководстве LilyPond. Например, в абсолютном режиме
а'4
- ля, расположенная на октаву выше основной ля (A3 в научная нотация звука ), длиной четверть.[19] - Команды обычно начинаются с обратной косой черты (например,
время
, илиslurUp
). Функция рассматриваемой команды определяет место размещения команды; например, если команда используется для обозначения фиксированного динамичный на конкретном примечании помещается после заметка.[20] - Некоторые общие команды представлены символически для облегчения набора текста. Один пример с оскорбления, где
(
и)
указывают начало и конец оскорбления соответственно.[21] Другой пример - с ручным сияющий, где[
и]
указать протяженность луча.[22]
Интерфейс LilyPond с Панго требует ввода кодировка символов быть UTF-8.[23] Одним из преимуществ этого является то, что в один исходный файл можно включить более одного языка.
Пример входного файла LilyPond
версия "2.19.82"включают "english.ly" заголовок { title = разметка { «Отрывок из» курсив "фибоначчи" } composer = "Патрик Маккарти" % copyright = разметка fontsize # -5 % { % Авторские права © 2009. % Набор с помощью GNU LilyPond. % Передано композитором в общественное достояние. % }}бумага { высота бумаги = 4,6в ширина бумаги = 8,5в отступ = # 0 system-count = # 2}счет { новый PianoStaff = "pianostaff" << новый Персонал = "RH" относительный c ' { randomalStyle Score.piano ключ "тройной" время 2/4 набор Score.currentBarNumber = # 51 темп "Медленно и стабильно" 4 = 60 <например,> 4 acciaccatura { cs16 [ds] } <например,> 4 | % м. 51 4 acciaccatura { e16 [ds] } 4 | % м. 52 4 acciaccatura { ds16 [cs] } 4 | % м. 53 4 acciaccatura { ds16 [e] } 4 | % м. 54 <например,> 4 acciaccatura { cs16 [ds] } e16 f gs a | % м. 55 8 acciaccatura { as16 [gs] } 8 ~ 16 ds b as | % м. 56 b16 d8 bf32 f 'g16 af bf c | % м. 57 16 (c af) (ds b) (ds | % м. 58 время 3/4 16) noBeam d, 16 f gs a16 e f b c16 d, (f gs | % м. 59 a16 b) e, (f gs16 b c) f, (gs16 as b c) | % м. 60 } новый Dynamics = "Динамика"_ПФ" { s4 п \< s4 | % м. 51 s4 s4 | % м. 52 s4 mp \> s4 | % м. 53 s4 s4 \! | % м. 54 s4 п s4 | % м. 55 s1 * 2/4 | % м. 56 s4 \< s4 | % м. 57 s4 s4 | % м. 58 переопределить DynamicText.extra-spacing-width = # '(- 0,75. 0,75) s16 mf s16 п s8 s4 s4 | % м. 59 s2. | % м. 60 } новый Персонал = "LH" относительный c, { ключ "бас" время 2/4 cs4. cs8 | % м. 51 cs4. d8 | % м. 52 f4. a8 | % м. 53 f4. d8 | % м. 54 cs4. cs8 | % м. 55 d4 ds | % м. 56 GS4. bf, 8 | % м. 57 f'4 b, | % м. 58 время 3/4 d4. d8 ~ d4 | % м. 59 ef2 f4 | % м. 60 } >>}
Соответствующий вывод
Более сложный вывод
Lilypond также может создавать широко настраиваемые выходные данные. Примером может служить краткий отрывок из фортепианной пьесы Штокхаузена ниже.
Сотрудничество с другими проектами
Несколько графических счетчики -такие как Сад роз, ПримечаниеПравить, Канор, Денемо, и TuxGuitar - можно экспортировать файлы прямо в формат LilyPond. Другие графические приложения служат интерфейсом для LilyPond, включая Фрескобальди и плагин LilyPondTool для jEdit. Денемо объединяет PDF вывод LilyPond на его дисплей, что позволяет редактировать окончательную партитуру.
В Проект Мутопия, который распространяет бесплатный контент ноты, использует LilyPond для набора своей музыки, как и Musipedia, совместная музыкальная энциклопедия.
Emacs ' орг-режим содержит поддержку для встраивания оценок LilyPond в документы.[24]
OOoLilyPond, а LibreOffice Расширение обеспечивает поддержку вызова LilyPond для встраивания оценок в документы.[25]
Интеграция в MediaWiki
Lilypond доступен в MediaWiki через Увеличение очков code.Это, например, преобразует обозначение
<оценка звук ="1"> relative c '{f d f a d f e d cis a cis e a g f e}</score>
в
Приведенный выше отрывок представляет собой упрощенную версию сольфеджио до минор автора. C.P.E. Бах. Более сложные партитуры, включая тексты песен, также доступны в MediaWikis.
Интеграция в текст с помощью кувшинок
Интеграция музыкальных элементов лилии в различные форматы документов (оба TeX -системы, такие как Латекс и Texinfo, а также DocBook и HTML страниц) изначально поддерживается сопутствующей программой кувшинок, разработан и поддерживается сообществом LilyPond.[26] Это позволяет пользователям встраивать в тексты музыкальные элементы, такие как музыковедение, буклеты с песнями, рабочие листы для обучения и школьных экзаменов.
Интеграция в LaTeX
Для интеграции в Латекс система подготовки документов, лыLuaTеX был разработан как LuaLаТеИкс пакет для встраивания музыкальных элементов в текст. Он включает в себя функции для согласования макета и внешнего вида музыкальных элементов с окружающим текстовым документом.[27] Музыкальные элементы могут состоять из музыкальных символов, текстов песен, диаграмм гитарных аккордов, отрывков, музыкальных отрывков, гитарных табулатур или многостраничных партитур.
Сравнение с другими авторами партитуры
Финал и Сибелиус два проприетарный Авторы партитуры часто сравнивают с LilyPond. Эндрю Гаврилюк, пользователь LilyPond, написал серию статей, сравнивающих качество вывода между Finale и LilyPond.[28]
Еще один составитель партитур с функциями, сопоставимыми с LilyPond, - это ГОЛ, но SCORE полагается на ручное позиционирование больше, чем Lilypond.
Смотрите также Сравнение авторов партитуры.
Смотрите также
использованная литература
- ^ "Авторы". Команда разработчиков LilyPond. Получено Двадцать первое марта, 2015.
- ^ «LilyPond - Ноты для всех». 3 марта 2020 г.. Получено 6 марта, 2020.
- ^ «LilyPond - Ноты для всех». 11 октября 2020 г.. Получено 11 октября, 2020.
- ^ "Архив с исходным кодом". lilypond.org. Получено 4 марта, 2016.
- ^ "Загрузки для LilyPond 2.18.2". lilypond.org. Получено 4 марта, 2016.
- ^ "КОПИРОВАНИЕ - lilypond.git - GNU LilyPond". git.savannah.gnu.org.
- ^ "Учебное пособие по GNU LilyPond: предисловие". Получено 23 декабря, 2017.
- ^ "README препроцессора MusiXTeX". Получено 31 марта, 2010.
- ^ Крогер, Педро (2004). "Re: Происхождение названия кувшинок". список рассылки пользователей lilypond. lists.gnu.org. Получено 19 марта, 2014.
- ^ Ниенхуйс, Хан-Вэнь (31 июля 1998 г.). «Выпущен GNU LilyPond 1.0». Гну-музыка-обсуждение (Список рассылки). Получено 16 февраля, 2010.
- ^ Ниенхейс, Хан-Вэнь (24 сентября 2003 г.). «LilyPond 2.0 - создавайте красивые нотные принты». информационный пруд (Список рассылки). Получено 16 февраля, 2010.
- ^ "Языки программирования LilyPond". Получено Двадцать первое марта, 2015.
- ^ "Наборщик музыки GNU LilyPond - Анализ кода". Получено 25 июля, 2017.
- ^ «Обзор архитектуры LilyPond». Получено Двадцать первое марта, 2015.
- ^ Гриванк, Андреас (4 января 2010 г.). «Настройка гитар и чтение нот в мажорных третях». Препринты Matheon. Берлин, Германия: Исследовательский центр DFG "MATHEON, Математика для ключевых технологий". 695. Получено 14 января, 2020.
- ^ «LilyPond - Очерк автоматической гравировки нот». Получено 23 декабря, 2017.
- ^ «Пропорциональное обозначение». Получено Двадцать первое марта, 2015.
- ^ «Учебное пособие по LilyPond: 1.2.2 Работа с входными файлами». Получено Двадцать первое марта, 2015.
- ^ «Ссылка на LilyPond Notation: 1.1.1 Написание нот». Получено Двадцать первое марта, 2015.
- ^ «Ссылка на LilyPond Notation: 1.3.1 Выразительные знаки, прикрепленные к нотам». Получено Двадцать первое марта, 2015.
- ^ «Ссылка на обозначения LilyPond: 1.3.2 Выразительные знаки в виде кривых». Получено Двадцать первое марта, 2015.
- ^ "Ссылка на обозначения LilyPond: 1.2.4 Лучи". Получено Двадцать первое марта, 2015.
- ^ «Ссылка на LilyPond Notation: 3.3.3 Кодирование текста». Получено Двадцать первое марта, 2015.
- ^ "org-babel lilypond language module". 17 декабря 2018 г.. Получено 30 ноября, 2019 - через GitHub.
- ^ Клаус Блюм (18 апреля 2017 г.). «OOoLilyPond: Создание музыкальных фрагментов в документах LibreOffice». Получено 12 октября, 2017.
- ^ Сообщество LilyPond, (1996–2020). "Руководство по использованию LilyPond".CS1 maint: лишняя пунктуация (ссылка на сайт)
- ^ Перон, о. Жак; Лиска, Урс; Springuel, Br. Самуэль (27 мая 2019 г.). «LyLuaTeX 1.0f» (PDF). Комплексная сеть архивов TeX (CTAN). Получено 16 апреля, 2020.
- ^ Гаврилюк, Андрей. «Финал и пруд с лилиями». Получено 15 февраля, 2010.
внешняя ссылка
- Официальный веб-сайт
- "lyluatex - Команды для включения оценок lilypond в документ LATEX (Lua)". Получено 16 апреля, 2020.