Кіріспе

LilyPond – музыка жазуға арналған компьютерлік бағдарлама және файл форматы. LilyPond-тың басты мақсаттарының бірі – дәстүрлі беттеу ережелерімен жасалған ноталар шығару, олар ноталардың қолмен түсірілген кезеңін көрсетеді. LilyPond көп платформалы, және көптеген таралған операциялық жүйелерде қолжетімді; GNU General Public License талаптары бойынша таратылатын LilyPond – тегін бағдарламалық құрал және GNU жобасының бір бөлігі.

Тарих

LilyPond жобасы 1996 жылы Хан Вэнь Ниенхойс және Ян Ниувенхуйзен бастамасымен құрылды, олар 1995 жылы бірлесіп жұмыс істей бастаған MPP (MusiXTeX PreProcessor) жобасын тоқтатуға бел буды. Атауы Розегарден жобасынан және Ниенхойс пен Ниувенхуйзеннің танысы Сузан есімді әйелден шабыттанды, ал Сузан есімінің еврей тілінде лилия деген мағынасы бар ([[wikt:שושנה).

1.0 нұсқасы

LilyPond 1.0 1998 жылдың 31 шілдесінде жарық көрді, осымен Feta атты арнайы музыка шрифтінің жасалуы және LilyPond-тың MusiXTeX жүйесінен толық бөлінуі белгіленді.

2.0 нұсқасы

LilyPond 2.0 2003 жылдың 24 қыркүйегінде жарық көрді, жаңа, қарапайым синтаксис моделі және әртүрлі музыка стилдерін нотаға түсіруге арналған көптеген мүмкіндіктерді ұсынды.

Дизайн

LilyPond негізінен C++ тілінде жазылған және Scheme (GNU Guile арқылы интерпретацияланатын) тілін кеңейтім тілі ретінде пайдаланады, бұл пайдаланушыға өзгерістер енгізуге мүмкіндік береді. Оның салыстырмалы түрде үлкен код базасы бар; 2017 жылдың 10 наурызына қарай, кодта C++-тың 600 000-нан астам жолы, Scheme-нің 140 000 жолы және Python кодының 120 000 жолы бар. Ол музыка енгізу үшін қарапайым мәтіндік нотацияны қолданады, LilyPond оны бірнеше кезеңде интерпретациялайды және өңдейді. Соңғы кезеңде музыкалық нотация PDF (PostScript арқылы) немесе SVG немесе PNG сияқты басқа графикалық форматтарға шығарылады. LilyPond музыкалық нотацияға сәйкес келетін MIDI файлдарын да жасай алады. LilyPond мәтінге негізделген бағдарлама болғандықтан, оның жеке графикалық интерфейсі жоқ. (Дегенмен, Windows және MacOS жүйелерінде әдепкі бойынша "LilyPad" деп аталатын мәтіндік редакторға негізделген GUI қосымшасы бар.) Бірақ, оның икемді енгізу тілі бар, ол жаңа пайдаланушылар үшін оқу қисығын жеңілдету мақсатында қарапайым болуға тырысады. LilyPond WYSIWYM қағидасын ұстанады; LilyPond-та музыкалық нотацияны жинау жұмысы LaTeX-та құжаттарды дайындау сияқты. LilyPond эксперименталды музыкалық нотацияны қолдайды. Оның гитара мүмкіндіктері альтернативті құлауларды, мысалы, үлкен третья құлауын қолдайды.

Бағдарламалық қамтамасыз ету ерекшеліктері

LilyPond-тың басты мақсаты – механикалық және компьютерде жасалғандай көрінетін шығармалардың орнына, кәсіби түрде гравюраланған ноталармен салмақтастырылатын нәтижелерді жасау. LilyPond веб-сайтындағы, LilyPond әзірлеушілері жазған мақалада LilyPond шешетін типографиялық мәселелерге тоқталады:

Оптикалық шрифт өлшемдемесі: нота тақтасының мөлшеріне қарай музыка шрифтінің дизайны сәл өзгертіледі; бұл Дональд Кнуттың «Компьютерлік заманауи» шрифтінің танымал ерекшелігі. Соның салдарынан нота бастары дөңгелектеу, ал нота тақтасының сызықтары жуандайды. Оптикалық аралықтар: келесі ноталардың арасы белгіленгенде нота сабақтарының бағыты ескеріледі. Арнайы қосымша сызықтарды өңдеу: жанында басқа белгілер болғанда қосымша сызықтар қысқартылып, оқуға қолайлылық арттырылады. Пропорционалды аралық: ноталар олардың ұзақтығын нақты бейнелейтіндей етіп орналастырылуы мүмкін. Мысалы, бұл параметрмен бір-бірінен кейін келетін төрттік ноталар арасындағы аралық, бір-бірінен кейін келетін он алтылық ноталар арасындағы аралықтан төрт есе үлкен болады.

Кіріс синтаксисінің жалпы көрінісі

LilyPond-тің бастапқы кіріс тілі жан-жақты және кез келген артикуляцияны, динамиканы, өлшемді және т.б. білдіруге қажетті көптеген командалардан тұрады. Ол TeX тіліне ұқсас. LilyPond бастапқы файлына Scheme кодын енгізу мүмкіндігі кіріс тілін кездейсоқ кеңейтуге және алгоритмдік композицияға көмектеседі. Кейбір жалпы синтаксистік ерекшеліктер төменде келтірілген. Біржолғы түсініктемелер процент белгісімен (%) басталады. Ноталар биіктік-ұзақтық форматында көрсетіледі: биіктік Хельмольц нотациясымен, ал ұзақтық – сандық жүйемен беріледі. Биіктік-ұзақтық форматының мағынасы қолданылып жатқан кіріс режиміне байланысты өзгереді; бұл LilyPond нұсқаулығында толыққанды түсіндірілген. Мысалы, абсолюттік режимде a'4 – бұл негізгі A-дан (ғылыми нотация бойынша A3) бір октава жоғары A нотасы, оның ұзақтығы – шаршы нота. Командалар көбінесе кері қисық сызықтан басталады (мысалы, \time немесе \slurUp). Команданың функциясы оның қайда орналастырылатынын анықтайды; мысалы, егер команда белгілі бір нотадағы динамиканы көрсету үшін қолданылса, ол нотадан кейін орналастырылады. Кейбір жиі қолданылатын командалар теруді жеңілдету үшін символдармен белгіленеді. Мысалы, қоршаулар үшін ( және ) сәйкесінше қоршаудың басталуын және аяқталуын көрсетеді. Тағы бір мысал – қолмен сәулелендіру, онда [ және ] сәуленің шегін көрсетеді. LilyPond-тың Pango-мен байланысы кіріс мәтінінің UTF-8 кодировкасын талап етеді. Бұл мүмкіндіктің арқасында бір бастапқы файлға бірнеше тілді қосуға болады.

Күрделірек шығыс

Lilypond сонымен қатар кеңейтілген, толыққанды бейімделген шығыстарды да жасауға мүмкіндік береді. Мысалы, төменде Карльхайнц Стокхаузеннің фортепиано туындысының қысқа бөлігі келтірілген.

Басқа жобалармен ынтымақтастық

Бірнеше графикалық нота жазу бағдарламалары, мысалы Rosegarden, NoteEdit, Canorus, Denemo және TuxGuitar файлдарды тікелей LilyPond форматына экспорттай алады. Басқа графикалық қолданбалар LilyPond-қа интерфейс ретінде қызмет етеді, оның ішінде Frescobaldi және jEdit үшін LilyPondTool плагині. Denemo LilyPond-тың PDF шығысын өзінің экранында көрсетеді, бұл соңғы жиналған нотаға кейбір өңдеулер енгізуге мүмкіндік береді. Mutopia жобасы тегін ноталарды таратады және өз музыкасын жинау үшін LilyPond-ты пайдаланады, сондай-ақ Musipedia, ынтымақтастық музыка энциклопедиясы да LilyPond-ты қолданады. Emacs-тің org режимі құжаттарға LilyPond ноталарын ендіруді қолдайды. OOoLilyPond, LibreOffice кеңейтуі, LilyPond-ты шақырып, құжаттарға ноталарды ендіруге мүмкіндік береді.

lilypond-book арқылы мәтінге кіріктіру

LilyPond музыкалық элементтерін әртүрлі құжат форматтарына (LaTeX және Texinfo сияқты TeX негізделген жүйелер, сондай-ақ DocBook және HTML беттері) енгізу LilyPond қауымдастығы жасаған және қолдап келе жатқан lilypond book бағдарламасы арқылы тікелей қолдауға ие. Бұл пайдаланушыларға музыкалогия, ән жинақтары, оқытуға арналған жұмыс парақтары және мектеп емтихандары сияқты мәтіндердің ішіне музыкалық элементтерді қоюға мүмкіндік береді.

LaTeX-ке кірігу

LaTeX құжатты дайындау жүйесіне ендіру үшін, lyLuaTeX LuaLaTeX пакеті ретінде әзірленді, ол мәтінге музыкалық элементтерді қоюға мүмкіндік береді. Ол музыкалық элементтердің макетін және сыртқы түрін айналадағы мәтіндік құжатқа сәйкес келтіру мүмкіндіктерін ұсынады. Музыкалық элементтерге ноталар, ән сөздері, гитара аккордтарының схемалары, ноталар жинағы, музыкалық үзінділер, гитара табы және көп беттік партитуралар кіруі мүмкін.

Басқа композиторлармен салыстыру

Финале және Сибелиус – екі авторлық нота жазу бағдарламасы, олар көбінесе ЛилиПондпен салыстырылады. ЛилиПонд қолданушысы Эндрю Ховрилук, Финале мен ЛилиПонд арасындағы нәтиже сапасын салыстыратын бірнеше мақала жазды. ЛилиПондқа ұқсас мүмкіндіктері бар тағы бір нота жазу бағдарламасы – SCORE, бірақ SCORE ЛилиПондқа қарағанда қолмен орналастыруға көбірек тәуелді. Сондай-ақ, "Нота жазу бағдарламаларының салыстыруы" деген мақалаға қараңыз.