shoorick: (Рыжий)
Для набора простых нот в до-мажоре графический интерфейс не нужен — можно сразу писать исходный текст для лилипонда. Как только тональность меняется, приходится брать что-нибудь графическое, потому что не получается держать во время набора ключевые знаки альтерации. Точнее, не получается это делать автоматически, а сознательный подсчёт диезов с бемолями утомляет.

В то же время существуют программы, автоматически расставляющие знаки в зависимости от используемой тональности — голова остаётся свободной. Поэтому сложные ноты набираются в два этапа: собственно набор партий в какой-либо из подобных программ и сборка этих партий на лист — редактирование исходников и компиляция.

Раньше для набора я использовал Denemo — оно вполне работоспособно, хоть выглядит страшно и имеет ряд странных глюков, таких как внезапные падения и не менее внезапное автоматическое транспонирование вводимых нот (лечится перезапуском программы). Denemo позволяет сохранить ноты в формате лилипонда и устроить дальшейшую их обработку своими силами.

Пробую в качестве GUI другой вариант — MuseScore. Раньше я уже сталкивался с этой программой, но что-то мне тогда в ней не понравилось — возможно, странные клавиатурные команды для набора. С другой стороны, на MuseScore явно оказал влияние Sibelius — а он мне хорошо знаком: я в сибелиусе несколько лет набирал ноты, когда жил под Windows. Качество получающихся нот меня не совсем устраивает — хоть MuseScore и использует те же шрифты, что и лилипонд, да и ноты, вроде, располагает достаточно удобно, результат по умолчанию выглядит неважно — например, динамика накладывается на текст (а в лилипонде они сразу разнесены на разную высоту).

Набранные в MuseScore ноты можно сохранить в разных форматах, среди которых есть разные форматы исходного кода (LilyPond, MusicXML), растровая графика (PNG), векторная (PDF, PostScript, SVG) и звук (MIDI, WAV, FLAC, Ogg Vorbis) — скорее всего лилипонд вызывается для генерации всей этой красоты. Создаваемый лилипондовый исходный файл сразу не компилируется — лилипонд ругается на ошибки синтаксиса, то есть файл требует доработки напильником.
shoorick: (В бабочке)
После двухмесячных блужданий по почтовым закоулкам до меня наконец-то доехал купленный на ебее шнурок: теперь синтезатор можно подключать к компьютеру (как MIDI-клавиатуру) и слышать не те сиплые звуки, что впаяли в него китайские калининградские рабочие, а нормальный звук: на саундбластере в компьютере — аппаратный (а значит, быстый) табличный (а значит, реалистично звучащий) MIDI-синтез. В общем-то, наличие аппаратного MIDI-синтеза было одним из критериев при выборе звуковой платы. Пока что удалось раскочегарить эту связку лишь под вражеской ОСью: Windows, вроде, ничего не говорила про обнаружение новых устройств, однако Sibelius всё заметил и при запуске сразу сказал, что видит что-то новенькое и тут же предложил протестировать найденное.

Данные по шнурку ходят в обе стороны: при включении записи на компьютере из динамиков синтезатора доносятся щелчки метронома, при этом сыгранные ноты появляются на экране. Обнаружил интересную особенность сибелиуса: если запись включена, то сохраняется и высота нот, и их длительность, а если выключена — ноты всё равно пишутся, но данные об их длительности теряются — получаются восьмушки.

Как снюхать клавиши с линуксовым ноутбуком — пока не знаю: я пробовал ставить когда-то Rosegarden (с кучей зависимостей), но забросил его, так и не разобравшись, поняв лишь, что в Denemo и Frescobaldi набирать ноты как-то привычнее. Да и звук после всех этих экспериментов куда-то пропадал.

Надо бы ещё раз попробовать...
shoorick: (Default)
Задача: поставить ОС и прикладное ПО на компьютер для человека, раньше не имевшего дела с вычислительной техникой (но весьма энергичного и способного к обучению). Пользователь собирается, в первую очередь, набирать и редактировать текст, смотреть видео, слушать музыку. Возможно, чуть позже попробует освоить набор нот. Если появится интернет (маловероятно) — может быть, будет разговаривать по скайпу.

Что же ставить? Windows или Linux? А если линукс, то какой? А какую оконную среду?

Попробуем взвесить за и против.

С одной стороны, людей, способных поставить и настроить винду, гораздо больше, чем красноглазых линуксоидов. С другой — есть надежда, что линукс будет живучим и не потребует много внимания.

Пользователя надо будет учить, а не переучивать — значит, он непосредственно не влияет на выбор ОС. Основные приёмы работы в различных офисных пакетах, вроде, схожи. Проблемой может стать набор нот: LilyPond — для программистов, Denemo — страшен, MuseScore какой-то недоделанный... — в сибелиусе начинающему проще набирать. Но сибелиус платный. Как и винда.

Какие будут мнения?
shoorick: (В бабочке)
Задумался, как же правильнее обозначать темп в нотах: сибелиус пишет все темпы (как в начале произведения, так и в других местах) полужирным начертанием, лилипонд начальный темп также делает полужирным, но особых методов ввода изменений темпа (кроме ^\markup) я в лилипонде не нашёл. В рукописных нотах, понятно, вообще трудно различить какие-либо начертания.

Погуглил — нашёл специальную книгу: Карцев А., Оленев Ю., Павчинский С. Руководство по графическому оформлению нотного текста. М., 1973 (например, есть в виде шестимегабайтного PDF-файла). Оказалось, что в большинстве случаев надо пользоваться полужирным шрифтом. В том числе и для темповых отклонений (ritenuto, accelerando, a tempo) — см. с. 12.

В книге больше 160 страниц — долго читать буду...
shoorick: (Default)
Лилипонд, как, впрочем, и сибелиус, при размещении нескольких голосов в одном нотном стане, рисует два комплекта пауз: для верхнего голоса и для нижнего. И даже в тех случаях, когда паузы совпадают, они не объединяются, а отображаются — и сверху, и снизу. В то же время в хоровых нотах нередко паузы всё-таки объединяют, вероятно для того, чтоб не замусоривать партитуру.

В сибелиусе есть метод объединения пауз — удалить паузы в одном из голосов (или можно ещё и прятать их? Не помню), в этом случае оставшая пауза встаёт по центру, на третью линейку.

В лилипонде такой метод не работает: даже при удалении паузы (точнее, при замене паузы r на пропуск s) пауза соседнего голоса никуда не двигается. Гугление (в 4 часа ночи) открыло несколько методов (включая написание какого-то мегахака на Scheme), но наиболее простым оказался такой: надо добавить строку
\revert Rest #'direction
в нотный стан, где сидят несколько голосов (ну или внутрь определения переменной, вызываемой из разных нотных станов) — после этого паузы наложатся друг на друга и наступит Щастье™. Или не наступит, если в нотах попадаются паузы с точками (в этом случае паузы обрастут двоеточиями: в нотах появится что-то похожее на 7:) и многотактовые паузы (они вообще не реагируют на эту команду).

Чтобы убрать двоеточия, придётся всё-таки одну из таких пауз заменить пропуском (мне вчера повезло: на 103 набранных такта нашлась всего одна пауза с точкой) — после этого отобразится одна точка, как и задумано.

С многотактовыми паузами оказалось посложнее: мануал не предлагал очевидного решения, в коллекции сниппетов заготовок не нашлось нужной, а в ненужных вообще написали, что задача нерешаема. Замена многотактовой паузы в одном из голосов кучей пропусков — тоже не вариант: многотактовая пауза превращается в кучу тактов, заполненных обычными паузами.

Придумал такой трюк: добавляем строку
\override MultiMeasureRest #'staff-position = 0
После этого и многострочные паузы становятся на третью линейку.
shoorick: (Default)
Вчера очередной раз провёл эксперимент по использованию комбинированного метода набора нот: сначала отдельные партии набираются в Denemo, затем набранное склеивается в Frescobaldi. Эксперимент можно считать вполне удачным: метод достаточно удобен и скорость набора высока, сравнима с той, что была в сибелиусе — во всяком случае, песню, занимающую в рукописном виде три с половиной страницы, я набрал за вечер (точнее, часа за два, ну, может, с половиной).

Суть метода: в Denemo набираются отдельные партии, причём без текстов. Многое из набираемого, относящее к нотам, удобно набирается в Denemo. Помимо самих нот можно сразу же (и достаточно удобно) набирать лиги, клавишами ( и ), которые действуют как соответствующие команды лилипонда, начиная и заканчивая фразировочную лигу соответственно, и клавишей t, с помощью которой связываются ноты одной высоты. Если при этом связываются ноты разных длительностей, то нет нужды нажимать клавишу, указывающую высоту — нота внезапно вводится при переключении длительности: например, нажатие 0ct1t2t3t4 даст залигованные целую, половинку, четверть и восьмую.

А уже когда отдельные партии готовы (можно не сохранять их в лилипондовый формат, а открыть в Denemo окошко с лилипондовым исходником:), то в Frescobaldi создаётся партитура с нужным количеством голосов (Ctrl+Shift+N) и в неё, вместо строк
% Music follows here.
вставляются нужные голоса. При этом надо учесть, что Frescobaldi вставляет в начало каждого голоса команду relative c, а Denemo — нет, поэтому для правильного отображения высоты нот надо её убрать.

После чего остаётся дописать текст, туда, где для особо талантливых припасён комментарий:
% Lyrics follows here.
и, запуская предпросмотр, тыкая мышью в дефекты и исправляя исходный текст в нужных местах, повторять это процесс до достижения приемлемого качества либо пока не надоест.

P. S. На ноутбуке в Denemo набирать даже удобнее, чем в сибелиусе: денемо не использует NumPad.
shoorick: (Default)
Вынес из комментов, чтобы повторно не гуглить:
Насчёт сибелиуса: рекомендую поглядеть кое-куда:
shoorick: (Default)
Иногда Sibelius расставляет ноты в аккорде с секундами не так, как мне надо, а по-своему. Пошерстив мануал, штатного метода борьбы с таким его поведением я не нашёл. Пришлось придумывать workaround:
  1. Пусть нам надо, чтобы нижняя нота в аккорде стояла под большинством остальных, а в сторону пусть выпирает какая-нибудь другая. В исходном аккорде, как мы видим, всё не так.
  2. Выделим ту ноту, которая должна выпирать.
  3. Создадим в аккорде точно такую же ноту нажатием клавиши 1.
  4. Появившаяся нота встанет на нужное место (то есть, будет выпирать), а нижняя нота встанет под остальными, чего мы и добиваемся.
  5. Среди головок нот есть и невидимая, её можно выбрать нажатием клавиш Alt+Shift+7. Получили искомое!
Расстановка нот
shoorick: (Default)
Практика набора нот в MuseScore показала:
  1. при сохранении нот в виде графического файла, хоть PNG, хоть PDF, сохраняется скриншот со всеми имеющимися глюками, а вовсе не приличная картинка, которую может сделать LilyPond.
  2. при сохранении в формате LilyPond теряются все тексты кроме названий инструментов.
  3. при сохранении в формате MusicXML файл сохраняется в кодировке windows-1251, однако в файле указано, что он якобы в ISO-8859-1.
  4. Sibelius может читать созданный в MuseScore файл формата MusicXML. Но из-за предыдущего пункта кириллица в нём портится. И тексты песен пропадают.
  5. выбор клавиш для задания длительностей нот в MuseScore нелогичен: четверти — на 1, восьмые  — на 2 и так далее, однако целые — на 6, а половинки — на 7.
  6. порядок нот в создаваемых файлах, что в MusicXML, что в LilyPond — не такой как мне надо. Мне было бы удобнее, если бы ноты были сгруппированы по голосам, а не по тактам. Да и мусора много появляется при таком чередовании.
shoorick: (В бабочке)
Поставил на ноутбук MuseScore — свободный нотный редактор (он кроссплатформенный, есть бинарник под винду, однако в портах FreeBSD его нет). Первое впечатление — похож на Sibelius. Ряд клавиатурных сочетаний совпадает, кое-что отличается. В отличие от проприетарного Сибелиуса, умеет сохранять ноты не только в собственном формате, но и куче других, включая MusicXML и LilyPond. Ну и, конечно, может экспортировать звук в MIDI-файл, а картинку — в PNG и PDF.

Вечером попробую разобраться.
shoorick: (Default)
Стремясь стать true-юниксоидом, не нуждающимся в винде и виндузовом софте, начал осваивать вместо сибелиуса другой метод рисования нот — с помощью lilypond. На домашней виндузовой машине lilypond можно запускать под цыгвином — он успешно работает. Хотя не в полном объёме: запускаемый им ghostscript справляется с преобразованием создаваемого лилипондом постскриптового файла в PDF, но отказывается делать растровую картинку в PNG.

Исходный текст нотной записи может в одном из простейших случаев выглядеть так:

\relative c'' {
	g e8 e
	g4 e8 e
	g f e d
	c2
}

Результат:
Пример

Продолжение следует…

Profile

shoorick: (Default)
shoorick

December 2016

S M T W T F S
    1 23
45678910
11121314151617
18 19 2021222324
25262728293031

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 12th, 2025 10:07 am
Powered by Dreamwidth Studios