Сергей Лебедев,
07.02.2004 (3-я ред.)
УМНЫЙ ШАРПАЙ
К проблеме оптического распознавания нотной графики
В последнее время на страницах интернета и в печати все чаще мелькает аббревиатура OMR. Она расшифровывается как Optical Music Recognition (по аналогии с OCR = Optical Character Recognition), или по-русски — оптическое распознавание музыки. OMR — несомненно прогрессивная компьютерная технология, призванная облегчить и ускорить процедуру первоначального ввода нот с печатного оригинала.
Попытки распознавания нот предпринимались с 80-х годов XX века, однако, до последнего времени результаты распознавания были настолько неудовлетворительными (отчасти, в связи с использованием MIDI как формата обмена данными), что во всех публичных и частных выступлениях по вопросам Finale я без малейшего сомнения отдавал предпочтение "ручному" набору через Спиди.
Появление программы SharpEye (в буквальном переводе с англ. — "острый глаз") английского математика Грэма Джонса (Graham Jones) 1, которую продает компания Recordare 2, вкупе с форматом обмена Music XML, который разрабатывает и продвигает все та же компания Recordare, позволяет, наконец, говорить об OMR серьезно.
Ниже я описываю метод ввода нот с использованием OMR, который при некоторых предпосылках может дать существенный выигрыш в скорости первоначального набора, а главное — элиминирует изрядно надоевшую рутину ручного набора. Перечислю эти "некоторые предпосылки":
Софты. Использовались программы: Adobe PhotoShop 7.0, SharpEye (далее — Шарпай) версии 2.33, Finale (далее — φ) версии 2003a, плагин Dolet (Долет) версии 1.1 компании Recordare. Разумеется, все указанные программы — for Windows only.
Печатные ноты. Использовались ноты Henle Verlag, Breitkopf und Härtel, изд-ва "Музыка", изд-ва "Квадривий" и др.
Результаты моих тестов, использовавших технологический маршрут SharpEye→Music XML→Finale, даны в конце этой публикации.

***
Подготовка скана (картинки) для Шарпая
Шарпай. Глобальная настройка

Прежде чем настраивать Шарпай, хорошенько посмотрите свой оригинал на предмет
Пора открывать наш оригинальный скан (только через меню; горячей клавиши для этой операции не предусмотрено). Графический образ нотной страницы появляется в отдельном окне.

Шарпай. Редактируем результат распознавания

Что надо делать в Finale

Тесты распознавания нотной графики (для продвинутых)
Тест 1. Бетховен. Соната №14 для фортепиано, ч.II. (Уртекст по Könemann Verlag, Budapest; отличная штамповка).

Оригинал
Результат
распознавания
Пример безукоризненного распознавания. С затактом разобрались и Шарпай и φ (пример "финальной" интерпретации здесь не приводится, в связи с его безошибочностью). Лиги, штрихи, внутритактовая смена ключа — все в порядке. Словом, в φ доводить практически нечего.

Тест 2. Бетховен. Соната №7 для фортепиано, ч.IV. (Уртекст по Henle Verlag, München, отличная штамповка).

Оригинал
Результат
распознавания
Результат импорта XML в φ
Тяжелый случай. "Графически" вязки через тактовую черту умный Шарпай увидел хорошо. Но это его не спасло — ритмические проблемы погубили Шарпая. Из-за нестандартных вязок неправильно проинтерпретировался затакт (ср. удачный вариант в Тесте 1).
Внимательное рассмотрите средний скриншот. Сосчитайте сначала длительности на верхнем, затем на нижнем нотоносце второго такта. Количество одно и то же, как будто все ok. И все же внутренне Шарпай недоумевает, не понимает "странной" ритмографической логики Бетховена (ужасно "странный" композитор эпохи нормативного классицизма). Об этом свидетельствует синий проблемный треугольник на нижнем нотоносце в конце второго такта. Видите? Его-то как раз мне не удалось элиминировать в редакторе Шарпая, несмотря не все старания.
Источник проблемы установить сложно — возможно, это недостаток формата базы данных самого Шарпая, возможно, одновременно это и неразработанность формата обмена MusicXML. Совсем расстроившись, Шарпай не распознал даже форшлаг (обычно с ним это не случается). Также потерялось несколько связующих лиг (ties), что не может быть по причине плохого скана (штамповка у Хенле всегда отличного качества).

Тест 3. Моцарт. Дон Жуан. I акт. Ария Донны Эльвиры (Клавир Breitkopf und Härtel, Leizpig; ГДРовская штамповка среднего качества).

Оригинал
Результат
распознавания
Тремоло — непосильная задача для Шарпая (возможно, из-за неоднозначности форматов, в которые он экспортирует свой файл). Caveat: при тесном положении соседних нотоносцев Шарпаю трудно решить, к какому из нотоносцев принадлежат распознанные ноты. Из приятного: OCR немецкого (и второго — итальянского) вокального текста для Шарпая не представляет сложности. Обратите внимание: распознаваемую лирику Шарпай дает шрифтом без засечек (Arial), распознаваемый прочий текст — шрифтом с засечками. В нашем примере хорошо видно, что слово Lepor. (место вступления Лепорелло) распознано как "прочий текст" и дано Таймсом (Times New Roman). Таким образом удобно предупреждать ошибки привязки текста (как известно, в φ Lyrics на особом положении) уже на этапе редактирования внутри Шарпая.

Тест 4. Бородин. Маленькая сюита для фортепиано: №6. Серенада (штамповка; Quadrivium publishers, Москва).

Оригинал
Результат
распознавания
Вся музыкальная строка состоит из нот-перебежчиков. Шарпай уверенно распознает сами ноты (высоты), но не знает, что с ними делать дальше. Педаль и снятие педали не распознается — Шарпай содержит ограниченное число распознаваемых штрихов: staccato, tenuto, акцент.

Тест 5. Чайковский. Детские песни: На берегу. Изд-во "Музыка" (плохая штамповка).

Оригинал
Результат
распознавания
В OCR-распознавании кириллицы Шарпай потерпел сокрушительное фиаско 7. Вместо Как Шарпай зачитал Kalt (по-немецки "холодный"; действительно, от такого распознавания похолодеешь). Из другого: хорошо видны ошибки в распознавании ритмов (лишние точки при длительностях) и графики (потеряна половинная в четвертом такте), которые обусловлены низким качеством старой советской штамповки.
В приведенных тестах я умышленно стремился показать слабые места Шарпая, что никоим образом не преуменьшает технологические достижения Грэма Джонса, создавшего "востроглазую", толковую и недорогую OMR-программу.


1 См. http://www.visiv.co.uk/autho.htm [вернуться к основному тексту]

2 За скромную сумму в 140 долларов. См. http://www.recordare.com/  [вернуться к основному тексту]

3 Для тех, кто не читал "Русскую книгу о Finale", напомню: так я называю аккорды, растянутые по вертикали на два нотоносца и группы нот под одной вязкой, объединяющей два нотоносца.  [вернуться к основному тексту]

4 Как сообщил мне разработчик программы, LZW-компрессия не используется по соображениям копирайта. [вернуться к основному тексту]

5 Правильно по-русски передавать "Доле" (с ударением на последний слог), по имени знаменитого французского переводчика XVI века, но склонять такое слово по-русски неудобно. Поэтому предлагается "Долет" (да еще с ударением на первый слог, иначе "долета" не разберешься).  [вернуться к основному тексту]

6 На одной из моих машин "полный Долет" все-таки затер дефолтовый Dolet Light, при этом и сам... отказался запускаться. При старте Ф. вылетает системное предупреждение: Music XML ActiveX initialization error. [вернуться к основному тексту]

7 Распознавание кириллицы под нотами, похоже, вообще больное место OMR-программ. Не справляется с этим, например, и главный конкурент Шарпая — PhotoScore Pro. Я списался с автором Шарпая Грэмом Джонсом и получил от него однозначный ответ - слишком мало просьб на эту тему он получает и не собирается в обозримом будущем тренировать Шарпай на кириллицу. Уважаемый читатель, не поленись и напиши разработчику Шарпая короткое письмо с просьбой: Please implement Cyrillic OCR — право, Шарпай стоит того! Электронный адрес Грэма Джонса: support@visiv.co.uk