Changes between Initial Version and Version 1 of lessons/LilyPondVsWYSIWYG


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

--

Legend:

Unmodified
Added
Removed
Modified
  • lessons/LilyPondVsWYSIWYG

    v1 v1  
     1= Сравнение LilyPond с WYSIWYG-редакторами =
     2
     3LilyPond — это средство нотной гравировки, в котором нотный текст набирается с помощью разметки, напоминающей разметку популярной издательской системы LaTeX. WYSIWYG (What You See Is What You Get, "что видишь, то и получишь") — это обозначение интерфейсов, в которых документ отображается так, как он будет выглядеть на печати. Этот текст объясняет, почему для набора нот правильно использовать именно LilyPond.
     4
     5Если коротко — потому, что LilyPond удобнее и проще WYSIWYG-редакторов. Даже если вам кажется, что это не так, я берусь убедить вас в обратном. Но для этого придётся разобраться с тем, что такое "удобство" и "простота".
     6
     7== Удобство ==
     8
     9Можно ли объективно оценить то, насколько программа удобна, или всё, что здесь можно сказать — "на вкус и цвет все фломастеры разные"? Оказывается, можно. Специалисты по эргономике (например, [http://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D1%81%D0%BA%D0%B8%D0%BD,_%D0%94%D0%B6%D0%B5%D1%84 Джеф Раскин], разрабатывавший интерфейс первых "Макинтошей", долгое время считавшийся эталоном "дружественности к пользователю") предлагают считать удобной ту программу, которая:
     10
     11 * во-первых, требует от пользователя меньше действий для выполнения какой-то задачи, чем другие программы;
     12 * во-вторых, позволяет большее количество действий сделать рефлекторными, автоматическими.
     13
     14Согласитесь, разумные критерии. Действительно, программу, в которой для часто повторяющегося действия надо каждый раз искать нужный пункт в баобабообразном меню с двадцатью уровнями вложенности или нажимать последовательность из десяти клавиш, трудно назвать удобной. То же и с привычками — например, если одно и то же действие в похожих ситуациях приводит к совершенно разным результатам, вы почти наверняка будете путаться и раздражаться, правда?
     15
     16Давайте посмотрим, как обстоят дела с удобством LilyPond.
     17
     18Что касается количества действий, то здесь LilyPond явно обгоняет WYSIWYG-редакторы. Там, где WYSIWYG-интерфейс требует выбрать из палитры нужный знак, попасть курсором в нужное место и нажать на левую кнопку мыши, в LilyPond достаточно нажать несколько кнопок на клавиатуре. Проверьте сами — что у вас получится быстрее, набрать гамму фа-мажор в любом доступном вам WYSIWYG-редакторе или напечатать строчку "`f g a b c d e f`"?
     19
     20Кроме того, в WYSIWYG-редакторах много времени приходится тратить на растаскивание наезжающих друг на друга знаков, а LilyPond большую часть таких проблем решает автоматически (подробнее об этом ниже).
     21
     22Что же касается привычек, то человек, знающий LilyPond, набирает большие блоки кода (например, последовательность нот с лигой) так же автоматически, как мы набираем слова и предложения в обычном тексте. А вот в WYSIWYG-редакторах с возможностью сформировать привычки гораздо хуже — точное попадание мышкой нельзя сделать автоматическим, это в LilyPond "`c`" всегда означает "нота до ''в текущей позиции''", а вот в визуальных редакторах ''текущая позиция'' каждый раз разная.
     23
     24Люди, которые говорят, что LilyPond неудобен, путают удобство и привычность. Причём привычен для них при этом как раз неудобный интерфейс. Ну, запретить им продолжать его использовать мы не можем, но если уж изучать средство нотного набора с нуля, то лучше то, которое действительно удобнее, не так ли?
     25
     26== Простота ==
     27
     28А можно ли оценить простоту использования программы? На самом деле, тоже да:
     29
     30 * использовать программу тем проще, чем меньше информации надо усвоить пользователю, чтобы решать свои задачи;
     31 * использовать программу тем проще, чем больше информации о состоянии задачи пользователь видит в момент работы и, соответственно, чем меньше ему надо удерживать в голове, т.е. насколько интерфейс нагляден.
     32
     33(Будет кто-то спорить? По-моему, опять же довольно очевидные утверждения.)
     34
     35Разберёмся сначала с количеством информации, которую надо усвоить, чтобы научиться набирать ноты в LilyPond и в визуальных редакторах. На первый вгляд, здесь WYSIWYG-средства гравировки выигрывают с большим отрывом: бери мышь да тыкай, вот и всё изучение. Но нотный текст, особенно песенный, состоит не только из отдельных нот: в нём есть сложные группировки, аккорды (спасибо, если без аккордовых сеток), обозначения аппликатуры, текст, репризы и прочие знаки сокращения, возможно, мелизмы и варианты мелодии! И вот при попытке всё это набрать визуальные редакторы обеспечат вам увлекательнейшие часы, проведённые за чтением документации и форумов.
     36
     37LilyPond, в свою очередь, требует для старта некоторых (впрочем, на самом деле не слишком значительных) усилий. Но единожды приложив эти усилия, вы сходу сможете набирать даже не самые простые партитуры. И (что гораздо важнее), понять, как сделать какие-то более сложные вещи, вам будет куда проще, чем в случае использования визуальных редакторов.
     38Можно сравнить LilyPond и WYSIWYG-редакторы, используя понятие "кривой обучения". Так называют график, отражающий (в обсуждаемом нами случае) зависимость доступных пользователю возможностей от усилий, которые он вложил в освоение программы. Для визуальных редакторов кривая обучения выглядит примерно так:
     39
     40[[Image(learning-curve-WYSIWYG.png)]]
     41
     42Базовые возможности в визуальных редакторах даются почти даром, но чем сложнее задача, тем больше приходится работать, график задирается всё круче и довольно быстро уходит в бесконечность — ну вот не заложили создатели таких возможностей в редактор, всего предусмотреть невозможно.
     43
     44А кривая обучения для LilyPond выглядит примерно так:
     45
     46[[Image(learning-curve-markup.png)]]
     47
     48Усилия придётся приложить сопоставимые. Но динамика кривой обучения в этом случае гораздо приятнее — чем дальше, тем меньше нам нужно изучать для того, чтобы продолжать развиваться. Более того, природа LilyPond такова, что нет чёткой грани между созданием документов с хитрой разметкой и дописыванием самой программы, то есть мы не ограничены теми возможностями, которые нам предоставили авторы — в общем-то, LilyPond позволяет сделать всё, что физически представимо на листе бумаги: к бесконечности стремятся ваши возможности, а не прилагаемые вами усилия.
     49
     50Людям свойственно путать простоту и пологость начального отрезка "кривой обучения". Но задумайтесь, что если вы имеете дело с нотами чуть сложнее "Чижика-пыжика", рано или поздно вам придётся продвинуться дальше начального отрезка. И учиться придётся, с каким бы редактором вы не имели дело. Как сказал однажды человек, кое-что, по слухам, понимавший в интерфейсах: «The only "intuitive" interface is the nipple. After that it's all learned.»
     51
     52Любая программа требует изучения. Но не всякая программа стóит изучения. LilyPond изучения стóит.
     53
     54Теперь разберёмся с наглядностью. На первый взгляд уж здесь-то WYSIWYG явно выигрывает у языков разметки вроде LilyPond. Но это только на первый взгляд. На самом деле, структура нотного текста обычно сложнее, чем его внешний вид. Например, принадлежность ноты к тому или иному голосу далеко не всегда однозначно определяется при взгляде на нотный текст. Кроме того, временно скрыть при работе над нотами какие-то элементы изображения (скажем, аппликатуру) в WYSIWYG-редакторе можно только удалив их, а в LilyPond мы можем, например, породить из одного файла и ноты для солирующего инструмента, и клавир, и оркестровую партитуру — в WYSIWYG-средствах не решить такую задачу без множественных copy/paste из файла в файл, ошибок и мучений.
     55
     56Разметка LilyPond — более наглядное отображение структуры нотного текста, чем сами печатные ноты. По ней проще отслеживать и изменять структуру нотного текста и проводить с ним сложные трансформации.
     57
     58Не будем для простоты обсуждать тему генерации MIDI, мы всё-таки говорим о средствах нотной гравировки — но очевидно, что для MIDI-специфичных вещей интерфейс создания бумажного листа совершенно непригоден. Правда, если надо породить действительно сложный MIDI-файл, лучше использовать специализированные программы-секвенсоры, например, [http://www.rosegardenmusic.com/ Rosegarden] (кстати, в Rosegarden есть экспорт в LilyPond).
     59
     60== И это ещё не всё ==
     61
     62[http://www.youtube.com/watch?v=2CvYE2tjNOc И это ещё не всё!] Есть ещё множество причин использовать для нотной гравировки именно LilyPond.
     63
     64=== LilyPond выдаёт очень качественные ноты ===
     65
     66И, что важно, выдаёт автоматически, в большинстве простых случаев не требуя или почти не требуя перемещения элементов нотной страницы вручную.
     67Вот ссылки на сравнение с Finale и Sibelius. Во всех случаях авторы приходят к выводу, что и Finale, и Sibelius уступают LilyPond в качестве результата.
     68
     69 http://habrahabr.ru/post/127238/
     70
     71 Здесь разбирается простенький нотный текст, набранный в Finale, Sibelius и LilyPond. Набранный в LilyPond вариант смотрится приятнее всего (по ссылке есть табличка, подсказывающая, на что обратить внимание).
     72
     73 http://lilypond.org/doc/v2.14/Documentation/essay/automated-engraving#getting-things-right
     74
     75 Здесь Finale и Sibelius сравнивают сами авторы LilyPond на материале короткого отрывка из Баха. В Finale обнаруживается масса уродливо выглядящих фрагментов и даже одна ошибка; вариант, набранный в LilyPond, неплохо выглядит даже без ручного вмешательства.
     76
     77 http://www.musicbyandrew.ca/info.html
     78
     79 Это самая интересная ссылка. Автор, опытный пользователь Finale, провёл целое небольшое исследование, включавшее общий анализ Finale и LilyPond, гравировку сложного фрагмента из Рахманинова, проверку работы с песенным текстом и проверку скорости набора. Результат — убедительная победа LilyPond.
     80
     81Я, правда, не видел сравнений качества вывода LilyPond с программой SCORE, применяемой издательством Bärenreiter, но SCORE тоже не является WYSIWYG-редактором и во многом ближе к LilyPond, чем к Finale и Sibelius.
     82
     83=== LilyPond создаётся не программистами для покупателей, а музыкантами для собственных нужд ===
     84
     85Авторы LilyPond — музыканты, пишущие программу прежде всего для себя. Поэтому LilyPond развивается быстрее и умеет больше, чем проприетарные WYSIWYG-редакторы.
     86
     87=== LilyPond — это переносимое ПО, работающее на множестве платформ ===
     88
     89Вы можете перейти с Windows на Mac OS X, а потом с Mac OS X на Linux, продолжая использовать одну и ту же программу.
     90
     91=== LilyPond — это свободное ПО ===
     92
     93"Свободное" значит не просто "бесплатное" (хотя возможность скачать программу в любой момент, не заморачиваясь торрентами и постоянно меняющимися ссылками на файлообменники это тоже ценно). Проприетарная программа обычно прекращает развиваться, когда её забрасывает исходный разработчик. Свободную программу будут развивать, исправлять и переносить на новые платформы, пока вокруг неё существует заинтересованное сообщество (а вокруг LilyPond оно существует). Кроме того, именно благодаря тому, что LilyPond — свободный продукт, его используют как средство нотного набора, встроенное в разные сайты и программы: так, именно LilyPond используется для встраивания нот в движке !MediaWiki, на котором сделана Википедия.
     94
     95=== Вы, на самом деле, можете использовать WYSIWYG ===
     96
     97А если уж вам так нужен WYSIWYG, то существуют средства визуального набора с экспортом в LilyPond (хотя хочется надеяться, что после прочтения этого текста вы не захотите ими пользоваться). Также есть возможность [http://habrahabr.ru/post/149075/ вводить разметку LilyPond с помощью MIDI-клавиатуры].