Changes between Version 1 and Version 2 of lessons/LilyPondVsWYSIWYG


Ignore:
Timestamp:
Feb 19, 2013, 5:50:14 PM (12 years ago)
Author:
uri
Comment:

Поправил опечатку, убрал лишние ссылки.

Legend:

Unmodified
Added
Removed
Modified
  • lessons/LilyPondVsWYSIWYG

    v1 v2  
    11= Сравнение LilyPond с WYSIWYG-редакторами =
    22
    3 LilyPond — это средство нотной гравировки, в котором нотный текст набирается с помощью разметки, напоминающей разметку популярной издательской системы LaTeX. WYSIWYG (What You See Is What You Get, "что видишь, то и получишь") — это обозначение интерфейсов, в которых документ отображается так, как он будет выглядеть на печати. Этот текст объясняет, почему для набора нот правильно использовать именно LilyPond.
     3!LilyPond — это средство нотной гравировки, в котором нотный текст набирается с помощью разметки, напоминающей разметку популярной издательской системы LaTeX. WYSIWYG (What You See Is What You Get, "что видишь, то и получишь") — это обозначение интерфейсов, в которых документ отображается так, как он будет выглядеть на печати. Этот текст объясняет, почему для набора нот правильно использовать именно !LilyPond.
    44
    5 Если коротко — потому, что LilyPond удобнее и проще WYSIWYG-редакторов. Даже если вам кажется, что это не так, я берусь убедить вас в обратном. Но для этого придётся разобраться с тем, что такое "удобство" и "простота".
     5Если коротко — потому, что !LilyPond удобнее и проще WYSIWYG-редакторов. Даже если вам кажется, что это не так, я берусь убедить вас в обратном. Но для этого придётся разобраться с тем, что такое "удобство" и "простота".
    66
    77== Удобство ==
     
    1414Согласитесь, разумные критерии. Действительно, программу, в которой для часто повторяющегося действия надо каждый раз искать нужный пункт в баобабообразном меню с двадцатью уровнями вложенности или нажимать последовательность из десяти клавиш, трудно назвать удобной. То же и с привычками — например, если одно и то же действие в похожих ситуациях приводит к совершенно разным результатам, вы почти наверняка будете путаться и раздражаться, правда?
    1515
    16 Давайте посмотрим, как обстоят дела с удобством LilyPond.
     16Давайте посмотрим, как обстоят дела с удобством !LilyPond.
    1717
    18 Что касается количества действий, то здесь LilyPond явно обгоняет WYSIWYG-редакторы. Там, где WYSIWYG-интерфейс требует выбрать из палитры нужный знак, попасть курсором в нужное место и нажать на левую кнопку мыши, в LilyPond достаточно нажать несколько кнопок на клавиатуре. Проверьте сами — что у вас получится быстрее, набрать гамму фа-мажор в любом доступном вам WYSIWYG-редакторе или напечатать строчку "`f g a b c d e f`"?
     18Что касается количества действий, то здесь !LilyPond явно обгоняет WYSIWYG-редакторы. Там, где WYSIWYG-интерфейс требует выбрать из палитры нужный знак, попасть курсором в нужное место и нажать на левую кнопку мыши, в !LilyPond достаточно нажать несколько кнопок на клавиатуре. Проверьте сами — что у вас получится быстрее, набрать гамму фа-мажор в любом доступном вам WYSIWYG-редакторе или напечатать строчку "`f g a b c d e f`"?
    1919
    20 Кроме того, в WYSIWYG-редакторах много времени приходится тратить на растаскивание наезжающих друг на друга знаков, а LilyPond большую часть таких проблем решает автоматически (подробнее об этом ниже).
     20Кроме того, в WYSIWYG-редакторах много времени приходится тратить на растаскивание наезжающих друг на друга знаков, а !LilyPond большую часть таких проблем решает автоматически (подробнее об этом ниже).
    2121
    22 Что же касается привычек, то человек, знающий LilyPond, набирает большие блоки кода (например, последовательность нот с лигой) так же автоматически, как мы набираем слова и предложения в обычном тексте. А вот в WYSIWYG-редакторах с возможностью сформировать привычки гораздо хуже — точное попадание мышкой нельзя сделать автоматическим, это в LilyPond "`c`" всегда означает "нота до ''в текущей позиции''", а вот в визуальных редакторах ''текущая позиция'' каждый раз разная.
     22Что же касается привычек, то человек, знающий !LilyPond, набирает большие блоки кода (например, последовательность нот с лигой) так же автоматически, как мы набираем слова и предложения в обычном тексте. А вот в WYSIWYG-редакторах с возможностью сформировать привычки гораздо хуже — точное попадание мышкой нельзя сделать автоматическим, это в !LilyPond "`c`" всегда означает "нота до ''в текущей позиции''", а вот в визуальных редакторах ''текущая позиция'' каждый раз разная.
    2323
    24 Люди, которые говорят, что LilyPond неудобен, путают удобство и привычность. Причём привычен для них при этом как раз неудобный интерфейс. Ну, запретить им продолжать его использовать мы не можем, но если уж изучать средство нотного набора с нуля, то лучше то, которое действительно удобнее, не так ли?
     24Люди, которые говорят, что !LilyPond неудобен, путают удобство и привычность. Причём привычен для них при этом как раз неудобный интерфейс. Ну, запретить им продолжать его использовать мы не можем, но если уж изучать средство нотного набора с нуля, то лучше то, которое действительно удобнее, не так ли?
    2525
    2626== Простота ==
     
    3333(Будет кто-то спорить? По-моему, опять же довольно очевидные утверждения.)
    3434
    35 Разберёмся сначала с количеством информации, которую надо усвоить, чтобы научиться набирать ноты в LilyPond и в визуальных редакторах. На первый вгляд, здесь WYSIWYG-средства гравировки выигрывают с большим отрывом: бери мышь да тыкай, вот и всё изучение. Но нотный текст, особенно песенный, состоит не только из отдельных нот: в нём есть сложные группировки, аккорды (спасибо, если без аккордовых сеток), обозначения аппликатуры, текст, репризы и прочие знаки сокращения, возможно, мелизмы и варианты мелодии! И вот при попытке всё это набрать визуальные редакторы обеспечат вам увлекательнейшие часы, проведённые за чтением документации и форумов.
     35Разберёмся сначала с количеством информации, которую надо усвоить, чтобы научиться набирать ноты в !LilyPond и в визуальных редакторах. На первый взгляд, здесь WYSIWYG-средства гравировки выигрывают с большим отрывом: бери мышь да тыкай, вот и всё изучение. Но нотный текст, особенно песенный, состоит не только из отдельных нот: в нём есть сложные группировки, аккорды (спасибо, если без аккордовых сеток), обозначения аппликатуры, текст, репризы и прочие знаки сокращения, возможно, мелизмы и варианты мелодии! И вот при попытке всё это набрать визуальные редакторы обеспечат вам увлекательнейшие часы, проведённые за чтением документации и форумов.
    3636
    37 LilyPond, в свою очередь, требует для старта некоторых (впрочем, на самом деле не слишком значительных) усилий. Но единожды приложив эти усилия, вы сходу сможете набирать даже не самые простые партитуры. И (что гораздо важнее), понять, как сделать какие-то более сложные вещи, вам будет куда проще, чем в случае использования визуальных редакторов.
    38 Можно сравнить LilyPond и WYSIWYG-редакторы, используя понятие "кривой обучения". Так называют график, отражающий (в обсуждаемом нами случае) зависимость доступных пользователю возможностей от усилий, которые он вложил в освоение программы. Для визуальных редакторов кривая обучения выглядит примерно так:
     37!LilyPond, в свою очередь, требует для старта некоторых (впрочем, на самом деле не слишком значительных) усилий. Но единожды приложив эти усилия, вы сходу сможете набирать даже не самые простые партитуры. И (что гораздо важнее), понять, как сделать какие-то более сложные вещи, вам будет куда проще, чем в случае использования визуальных редакторов.
     38Можно сравнить !LilyPond и WYSIWYG-редакторы, используя понятие "кривой обучения". Так называют график, отражающий (в обсуждаемом нами случае) зависимость доступных пользователю возможностей от усилий, которые он вложил в освоение программы. Для визуальных редакторов кривая обучения выглядит примерно так:
    3939
    4040[[Image(learning-curve-WYSIWYG.png)]]
     
    4242Базовые возможности в визуальных редакторах даются почти даром, но чем сложнее задача, тем больше приходится работать, график задирается всё круче и довольно быстро уходит в бесконечность — ну вот не заложили создатели таких возможностей в редактор, всего предусмотреть невозможно.
    4343
    44 А кривая обучения для LilyPond выглядит примерно так:
     44А кривая обучения для !LilyPond выглядит примерно так:
    4545
    4646[[Image(learning-curve-markup.png)]]
    4747
    48 Усилия придётся приложить сопоставимые. Но динамика кривой обучения в этом случае гораздо приятнее — чем дальше, тем меньше нам нужно изучать для того, чтобы продолжать развиваться. Более того, природа LilyPond такова, что нет чёткой грани между созданием документов с хитрой разметкой и дописыванием самой программы, то есть мы не ограничены теми возможностями, которые нам предоставили авторы — в общем-то, LilyPond позволяет сделать всё, что физически представимо на листе бумаги: к бесконечности стремятся ваши возможности, а не прилагаемые вами усилия.
     48Усилия придётся приложить сопоставимые. Но динамика кривой обучения в этом случае гораздо приятнее — чем дальше, тем меньше нам нужно изучать для того, чтобы продолжать развиваться. Более того, природа !LilyPond такова, что нет чёткой грани между созданием документов с хитрой разметкой и дописыванием самой программы, то есть мы не ограничены теми возможностями, которые нам предоставили авторы — в общем-то, !LilyPond позволяет сделать всё, что физически представимо на листе бумаги: к бесконечности стремятся ваши возможности, а не прилагаемые вами усилия.
    4949
    5050Людям свойственно путать простоту и пологость начального отрезка "кривой обучения". Но задумайтесь, что если вы имеете дело с нотами чуть сложнее "Чижика-пыжика", рано или поздно вам придётся продвинуться дальше начального отрезка. И учиться придётся, с каким бы редактором вы не имели дело. Как сказал однажды человек, кое-что, по слухам, понимавший в интерфейсах: «The only "intuitive" interface is the nipple. After that it's all learned.»
    5151
    52 Любая программа требует изучения. Но не всякая программа стóит изучения. LilyPond изучения стóит.
     52Любая программа требует изучения. Но не всякая программа стóит изучения. !LilyPond изучения стóит.
    5353
    54 Теперь разберёмся с наглядностью. На первый взгляд уж здесь-то WYSIWYG явно выигрывает у языков разметки вроде LilyPond. Но это только на первый взгляд. На самом деле, структура нотного текста обычно сложнее, чем его внешний вид. Например, принадлежность ноты к тому или иному голосу далеко не всегда однозначно определяется при взгляде на нотный текст. Кроме того, временно скрыть при работе над нотами какие-то элементы изображения (скажем, аппликатуру) в WYSIWYG-редакторе можно только удалив их, а в LilyPond мы можем, например, породить из одного файла и ноты для солирующего инструмента, и клавир, и оркестровую партитуру — в WYSIWYG-средствах не решить такую задачу без множественных copy/paste из файла в файл, ошибок и мучений.
     54Теперь разберёмся с наглядностью. На первый взгляд уж здесь-то WYSIWYG явно выигрывает у языков разметки вроде !LilyPond. Но это только на первый взгляд. На самом деле, структура нотного текста обычно сложнее, чем его внешний вид. Например, принадлежность ноты к тому или иному голосу далеко не всегда однозначно определяется при взгляде на нотный текст. Кроме того, временно скрыть при работе над нотами какие-то элементы изображения (скажем, аппликатуру) в WYSIWYG-редакторе можно только удалив их, а в !LilyPond мы можем, например, породить из одного файла и ноты для солирующего инструмента, и клавир, и оркестровую партитуру — в WYSIWYG-средствах не решить такую задачу без множественных copy/paste из файла в файл, ошибок и мучений.
    5555
    56 Разметка LilyPond — более наглядное отображение структуры нотного текста, чем сами печатные ноты. По ней проще отслеживать и изменять структуру нотного текста и проводить с ним сложные трансформации.
     56Разметка !LilyPond — более наглядное отображение структуры нотного текста, чем сами печатные ноты. По ней проще отслеживать и изменять структуру нотного текста и проводить с ним сложные трансформации.
    5757
    58 Не будем для простоты обсуждать тему генерации MIDI, мы всё-таки говорим о средствах нотной гравировки — но очевидно, что для MIDI-специфичных вещей интерфейс создания бумажного листа совершенно непригоден. Правда, если надо породить действительно сложный MIDI-файл, лучше использовать специализированные программы-секвенсоры, например, [http://www.rosegardenmusic.com/ Rosegarden] (кстати, в Rosegarden есть экспорт в LilyPond).
     58Не будем для простоты обсуждать тему генерации MIDI, мы всё-таки говорим о средствах нотной гравировки — но очевидно, что для MIDI-специфичных вещей интерфейс создания бумажного листа совершенно непригоден. Правда, если надо породить действительно сложный MIDI-файл, лучше использовать специализированные программы-секвенсоры, например, [http://www.rosegardenmusic.com/ Rosegarden] (кстати, в Rosegarden есть экспорт в !LilyPond).
    5959
    6060== И это ещё не всё ==
    6161
    62 [http://www.youtube.com/watch?v=2CvYE2tjNOc И это ещё не всё!] Есть ещё множество причин использовать для нотной гравировки именно LilyPond.
     62[http://www.youtube.com/watch?v=2CvYE2tjNOc И это ещё не всё!] Есть ещё множество причин использовать для нотной гравировки именно !LilyPond.
    6363
    6464=== LilyPond выдаёт очень качественные ноты ===
    6565
    6666И, что важно, выдаёт автоматически, в большинстве простых случаев не требуя или почти не требуя перемещения элементов нотной страницы вручную.
    67 Вот ссылки на сравнение с Finale и Sibelius. Во всех случаях авторы приходят к выводу, что и Finale, и Sibelius уступают LilyPond в качестве результата.
     67Вот ссылки на сравнение с Finale и Sibelius. Во всех случаях авторы приходят к выводу, что и Finale, и Sibelius уступают !LilyPond в качестве результата.
    6868
    6969 http://habrahabr.ru/post/127238/
    7070
    71  Здесь разбирается простенький нотный текст, набранный в Finale, Sibelius и LilyPond. Набранный в LilyPond вариант смотрится приятнее всего (по ссылке есть табличка, подсказывающая, на что обратить внимание).
     71 Здесь разбирается простенький нотный текст, набранный в Finale, Sibelius и !LilyPond. Набранный в !LilyPond вариант смотрится приятнее всего (по ссылке есть табличка, подсказывающая, на что обратить внимание).
    7272
    7373 http://lilypond.org/doc/v2.14/Documentation/essay/automated-engraving#getting-things-right
    7474
    75  Здесь Finale и Sibelius сравнивают сами авторы LilyPond на материале короткого отрывка из Баха. В Finale обнаруживается масса уродливо выглядящих фрагментов и даже одна ошибка; вариант, набранный в LilyPond, неплохо выглядит даже без ручного вмешательства.
     75 Здесь Finale и Sibelius сравнивают сами авторы !LilyPond на материале короткого отрывка из Баха. В Finale обнаруживается масса уродливо выглядящих фрагментов и даже одна ошибка; вариант, набранный в !LilyPond, неплохо выглядит даже без ручного вмешательства.
    7676
    7777 http://www.musicbyandrew.ca/info.html
    7878
    79  Это самая интересная ссылка. Автор, опытный пользователь Finale, провёл целое небольшое исследование, включавшее общий анализ Finale и LilyPond, гравировку сложного фрагмента из Рахманинова, проверку работы с песенным текстом и проверку скорости набора. Результат — убедительная победа LilyPond.
     79 Это самая интересная ссылка. Автор, опытный пользователь Finale, провёл целое небольшое исследование, включавшее общий анализ Finale и !LilyPond, гравировку сложного фрагмента из Рахманинова, проверку работы с песенным текстом и проверку скорости набора. Результат — убедительная победа !LilyPond.
    8080
    81 Я, правда, не видел сравнений качества вывода LilyPond с программой SCORE, применяемой издательством Bärenreiter, но SCORE тоже не является WYSIWYG-редактором и во многом ближе к LilyPond, чем к Finale и Sibelius.
     81Я, правда, не видел сравнений качества вывода !LilyPond с программой SCORE, применяемой издательством Bärenreiter, но SCORE тоже не является WYSIWYG-редактором и во многом ближе к !LilyPond, чем к Finale и Sibelius.
    8282
    8383=== LilyPond создаётся не программистами для покупателей, а музыкантами для собственных нужд ===
    8484
    85 Авторы LilyPond — музыканты, пишущие программу прежде всего для себя. Поэтому LilyPond развивается быстрее и умеет больше, чем проприетарные WYSIWYG-редакторы.
     85Авторы !LilyPond — музыканты, пишущие программу прежде всего для себя. Поэтому !LilyPond развивается быстрее и умеет больше, чем проприетарные WYSIWYG-редакторы.
    8686
    8787=== LilyPond — это переносимое ПО, работающее на множестве платформ ===
     
    9191=== LilyPond — это свободное ПО ===
    9292
    93 "Свободное" значит не просто "бесплатное" (хотя возможность скачать программу в любой момент, не заморачиваясь торрентами и постоянно меняющимися ссылками на файлообменники это тоже ценно). Проприетарная программа обычно прекращает развиваться, когда её забрасывает исходный разработчик. Свободную программу будут развивать, исправлять и переносить на новые платформы, пока вокруг неё существует заинтересованное сообщество (а вокруг LilyPond оно существует). Кроме того, именно благодаря тому, что LilyPond — свободный продукт, его используют как средство нотного набора, встроенное в разные сайты и программы: так, именно LilyPond используется для встраивания нот в движке !MediaWiki, на котором сделана Википедия.
     93"Свободное" значит не просто "бесплатное" (хотя возможность скачать программу в любой момент, не заморачиваясь торрентами и постоянно меняющимися ссылками на файлообменники это тоже ценно). Проприетарная программа обычно прекращает развиваться, когда её забрасывает исходный разработчик. Свободную программу будут развивать, исправлять и переносить на новые платформы, пока вокруг неё существует заинтересованное сообщество (а вокруг !LilyPond оно существует). Кроме того, именно благодаря тому, что !LilyPond — свободный продукт, его используют как средство нотного набора, встроенное в разные сайты и программы: так, именно !LilyPond используется для встраивания нот в движке !MediaWiki, на котором сделана Википедия.
    9494
    9595=== Вы, на самом деле, можете использовать WYSIWYG ===
    9696
    97 А если уж вам так нужен WYSIWYG, то существуют средства визуального набора с экспортом в LilyPond (хотя хочется надеяться, что после прочтения этого текста вы не захотите ими пользоваться). Также есть возможность [http://habrahabr.ru/post/149075/ вводить разметку LilyPond с помощью MIDI-клавиатуры].
     97А если уж вам так нужен WYSIWYG, то существуют средства визуального набора с экспортом в !LilyPond (хотя хочется надеяться, что после прочтения этого текста вы не захотите ими пользоваться). Также есть возможность [http://habrahabr.ru/post/149075/ вводить разметку !LilyPond с помощью MIDI-клавиатуры].