Распознавание нот по картинке

Распознавание нот по фото

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

Автор Грэхем Джоунс (Graham Jones) начал разработку программы примерно в 1996-м году. Надо сказать, что Джоунс — очень опытный, квалифицированный программист, участвовавший в создании не одного интересного интеллектуального продукта. На данный момент Джоунс является членом нескольких авторитетных союзов и ассоциаций, таких как IEEE Computer Society, British Machine Vision Association, The Association of C and C++ Users.

И разработки свои Джоунс ведет в старом стиле программирования, характерная черта которого — отсутствие дизайна, что, кстати, присуще многим разработкам того времени. Вторая отличительная особенность «старого» стиля — уникальные возможности, предоставляемые программой. Как тут не вспомнить вторую похожую программу — Cool Edit? Налицо — «программистский» дизайн и уникальные возможности.

Итак, Sharp Eye. Интерфейс программы состоит из двух основных окон. В одном окне отображается отсканированное изображение, во втором — основное окно программы, в котором находится главное меню и панель с кнопками. Самое интересное, что решение двух окон на экране мне сначала не понравилось, так как напомнило похожие решения 1996-1997 гг. Как известно, индустрия от них отказалась. Хотя, следует отметить, в Sharp Eye активными являются сразу два окна, а не только то, которое сверху (что отличает данную программу от других похожих). К тому же автор сделал опцию сохранения размещения окон на рабочем столе в том виде, который удобен пользователю.

Читайте также:  Пой моя гитара пой зайцев нет

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

Вторым этапом является непосредственно переход к основному окну, редактированию нот, элементов, символов, условных обозначений. Все воспроизводится на MIDI-синтезаторе и сохраняется в форматах MID и NIFF (Notation Interchange File Format — более расширенный MIDI-формат, содержащий в себе дополнительную и необходимую информацию, например, ключи; я бы назвал его более профессиональным).

В программе имеется банк символов и условных обозначений. Отдельное внимание уделено ритму, поэтому рекомендую внимательно изучить help.

Адрес сайта, с которого можно скачать Sharp Eye, — www.visiv.co.uk. Размер файла с последней версией занимает порядка 1.24 Мб. Скачав файл, скопируйте его в папку Windows/Temp и запускайте инсталляцию оттуда. В противном случае программа может не найти необходимых файлов. Программа бесплатна ровно 30 дней после установки, если хотите продолжения — зарегистрируйтесь.


Сферы применения программы

Надо сказать, что сейчас происходит повсеместный переход от представления данных в печатном виде к представлению оных в компьютерном формате. Однако библиотеки нот в Интернете — не слишком распространенное явление, более того, хорошие ноты в простых полиграфических изданиях — большая и дорогая редкость. Поэтому формат NIFF является палочкой-выручалочкой для наших музыкантов, а также для нотных библиотек, музыкальных школ, училищ, консерваторий. Переход к данному формату исправит существующее положение, с его помощью можно с гораздо меньшими усилиями перенести базу, хранящуюся в печатном виде, в компьютерный формат.

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

который поможет получить напечатанный текст из PDF документов и фотографий

Принцип работы ресурса

Отсканируйте или сфотографируйте текст для распознавания

Загрузите файл

Выберите язык содержимого текста в файле

После обработки файла, получите результат * длительность обработки файла может составлять до 60 секунд

  • Форматы файлов
  • Изображения: jpg, jpeg, png
  • Мульти-страничные документы: pdf
  • Сохранение результатов
  • Чистый текст (txt)
  • Adobe Acrobat (pdf)
  • Microsoft Word (docx)
  • OpenOffice (odf)

Наши преимущества

  • Легкий и удобный интерфейс
  • Мультиязычность
    Сайт переведен на 9 языков
  • Быстрое распознавание текста
  • Неограниченное количество запросов
  • Отсутствие регистрации
  • Защита данных. Данные между серверами передаются по SSL + автоматически будут удалены
  • Поддержка 35+ языков распознавания текста
  • Использование движка Tesseract OCR
  • Распознавание области изображения (в разработке)
  • Обработано более чем 5.7M+ запросов

Основные возможности

Распознавание отсканированных файлов и фотографий, которые содержат текст

Форматирование бумажных и PDF-документов в редактируемые форматы

Приветствуем студентов, офисных работников или большой библиотеки!

У Вас есть учебник или любой журнал, текст из которого необходимо получить, но нет времени чтобы напечатать текст?

Наш сервис поможет сделать перевод текста с фото. После получения результата, Вы сможете загрузить текст для перевода в Google Translate, конвертировать в PDF-файл или сохранить его в Word формате.

OCR или Оптическое Распознавание Текста никогда еще не было таким простым. Все, что Вам необходимо, это отсканировать или сфотографировать текст, далее выбрать файл и загрузить его на наш сервис по распознаванию текста. Если изображение с текстом было достаточно точным, то Вы получите распознанный и читабельный текст.

Сервис не поддерживает тексты написаны от руки.

Поддерживаемые языки:
Русский, Українська, English, Arabic, Azerbaijani, Azerbaijani — Cyrillic, Belarusian, Bengali, Tibetan, Bosnian, Bulgarian, Catalan; Valencian, Cebuano, Czech, Chinese — Simplified, Chinese — Traditional, Cherokee, Welsh, Danish, Deutsch, Greek, Esperanto, Estonian, Basque, Persian, Finnish, French, German Fraktur, Irish, Gujarati, Haitian; Haitian Creole, Hebrew, Croatian, Hungarian, Indonesian, Icelandic, Italiano, Javanese, Japanese, Georgian, Georgian — Old, Kazakh, Kirghiz; Kyrgyz, Korean, Latin, Latvian, Lithuanian, Dutch; Flemish, Norwegian, Polish Język polski, Portuguese, Romanian; Moldavian, Slovakian, Slovenian, Spanish; Castilian, Spanish; Castilian — Old, Serbian, Swedish, Syriac, Tajik, Thai, Turkish, Uzbek, Uzbek — Cyrillic, Vietnamese

© 2014-2019 img2txt Сервис распознавания изображений / v.0.6.5.0

Программа для распознавания нот.

  • Windows 10
  • Windows 8.1
  • Windows 8
  • Windows 7
  • Windows Vista
  • Windows XP

Тип лицензии:
Условно-бесплатное

Chord Pickout – специальный сервис для получения нотных страниц из аудиодорожек. Инструмент устанавливается на стандартные компьютеры и поддерживается операционной системой Windows всех версий (включая 64-битные).

Принцип работы программы очень прост: пользователь загружает композицию в формате MP3 или WAV, программа автоматически обрабатывает дорожку и выводит ноты на экран. Оперативные модули обработки Chord Pickout позволяют конвертировать в ноты сложную на ручной подбор музыку.

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

Источник

Тема: Программы для сканирования и распознавания нот?

Управление

Программы для сканирования и распознавания нот?

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

Нужно это, главным образом, для транспонирования. Ну и для аккомпанимента будет нелишне.

Re: Программы для сканирования и распознавания нот?

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

Нужно это, главным образом, для транспонирования. Ну и для аккомпанимента будет нелишне.

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

Я к примеру слушаю песню, которая мне понравилась. Как только полностью понимаю гармонию, то дальше уже могу сесть, подобрать и сыграть ее в любой тональности.

Источник

Приложение для распознавания нотного текста

Описание:
PDFtoMusic — профессиональная программа для музыкантов, которая умеет воспроизводить и редактировать PDF файлы с нотами, а также конвертировать их в другие форматы.

Помимо проигрывания нотной партитуры несколькими инструментами, приложение может исполнить и вокальную партию, благодаря встроенному модулю Virtual Singer для распознавания и воспроизведения текста голосом. Программа разрешает прослушивать нотные партитуры полностью или выбирать конкретные части, устанавливая маркеры на нотном стане в соответствующих местах. Кроме того, присутствует возможность увеличивать или уменьшать темп и громкость воспроизведения композиции и включать метроном. Также приложение имеет виртуальную фортепианную клавиатуру, которая во время проигрывания нот наглядно показывает, как правильно играется музыкальная партия.

Дополнительные функции PDFtoMusic позволяют конвертировать музыкальные PDF файлы в другие форматы (MusicXML, MIDI, Myr), что дает возможность работать с ними в других музыкальных редакторах. Также встроенный в программу конвертер имеет функцию преобразования исходных документов в цифровые аудиофайлы форматов WAV и AIFF для последующего прослушивания на медиапроигрывателе.

Помимо стандартной PDFtoMusic разработчики предлагают пользователям профессиональную версию с расширенным функционалом PDFtoMusic Pro.

Также вот тут поищите, полезные штуки — они и «на слух» смогут сделать нотную запись музыки автоматически (ну, вопрос КАЧЕСТВА не обсуждается, конечно — не всегда точно, но бывают и ОЧЕНЬ ТОЧНЫЕ попадания):

Источник

Notes recognition

Описание проекта

Recognition of music sheet and transcribing it into MIDI

Подход к распознаванию нот

После определённого количества безуспешных попыток написания проекта с нуля и проверки разных подходов, наткнулся на следующую статью: В ней описан подход к распознаванию нот с помощью связки Convolutional и Recurrent сетей. Этот подход используется, в частности, для распознавания текста. Поэтому я решил взять одну из реализаций Optical Character Recognition и обучить сеть на базе нот.

Была выбрана эта tensorflow модель. Научная статья, объясняющая принцип её работы.

Датасет

Наиболее полная информация касательно датасетов по распознаванию нот находится здесь. Однако, датасетов с размеченной высотой нот, подходящих для моих задач не нашлось. Единственный доступный датасет со звуковысотным маппингом был взят отсюда, у ребят написавших оригинальную статью, ссылка на которую представлена выше. Он представляет из себя сгенерированные в Lilypond изображения с соответствующими лейблами для каждой ноты и знака.

Характеристики датасета

94,984 случайных монофонических последовательностей, состоящих из 52 символов: музыкальных нот от С4 до Е5, 4 длительности (половина, четверь, восьмая, шестнадцатая), 4 паузы тех же длительностей, символы размеров (3/4, 4/4, 6/8), знаки альтерации (диез, бемоль, бекар), скрипичный ключ, тактовая черта.

Поскольку датасет составлен из сгенерированных изображений, распознавание не будет адекватно работать с фотографиями. Также, с нотами, чья структура отличается от характеристик датасета.

Датасет был обработан, чтобы соответстовать требованиям сети для обучения (созданы лейблы, изображения уменьшены и т.д.). 95% — обучающая выборка 5% — тестовая.

Обучение

Сеть обучалась в течение около 8 часов на NVIDIA Tesla K80. 16 эпох.

Сложности

1. Сейчас модель может распознавать небольшие последовательности. Ей нельзя скормить весь лист с нотами. Однако, эта проблема решаема. Я пытался сделать сегментацию листа (вычленение тактов) силами OpenCV и добился определённых результатов. Но код очень по-разному работает для изображений разного качества. Поэтому, в долгосрочной перспективе, тут нужно тренировать отдельный слой сети. Для этого нужны данные с разметкой тактов, систем и прочих высокоуровневых элементов системы нотного листа.

2. Не успел сделать конвертацию в MIDI. К сожалению, вопрос в лоб не решить. Думал просто конвертировать обратно в Lilypond но сделать это оказалось не так легко из-за того, что программа сама проставляет знаки альтерации в зависимости от тональности и ещё пары тонкостей. Возможно, тут лучше подойдёт OpenXML, на изучение формата которого, однако, у меня не хватило времени. Если успею и всё получится, реализую в ближайшие дни. Следите за гитхабом.

3. Также не хватило времени на «выкат в продакшен» версии для удобного тестирования без каких-либо установок. Поэтому, чтобы поиграться с распознаванием, нужно поставить https://github.com/emedvedev/attention-ocr и запустить функцию тестирования, это опишу ниже.

4. Также не успел, как следует протестить и собрать статистику. Единичный прогон по тестовой выборке показал результат в 99,5%.

Как запустить

aocr test —visualize ПУТЬ/К/notesTest.tfrecords —log-path ./log/log.log —max-width 1000 —max-height 61 —max-prediction 36 —full-ascii —model-dir ПУТЬ/К/checkpoints

Небольшое примечание. Распакованные checkpoints.zip содержат папку checkpointsDL — путь нужно указывать к ней.

Наблюдаем за процессом. А потом смотрим на результат в папке log. Там будут находиться папки для каждой картинки, для которой было проведено распознавание. В каждой папке файл word.txt где первая строка — предсказанный результат, вторая — ground-truth Также в папке находится гифка, показывающая процесс работы нейросети.

Для перевода результата в читаемый формат (переименование папок и файлов), кидаем питоновский скрипт в папку out и запускаем.

Быстрая установка и запуск на Линуксе

sudo pip install aocr
pip install tensorflow

git clone https://github.com/Dene33/notes-recognition
cd notes-recognition
unzip checkpoints.zip -d checkpoints

aocr test —visualize notesTest.tfrecords —max-width 1000 —max-height 61 —max-prediction 36 —full-ascii —model-dir ./checkpoints/checkpointsDL

Тест на своём датасете

Чтобы протестировать на своих картинках, создаём папку с картинками. Максимальная высота картинок — 60, ширина — 1000. Создаём текстовый файл (например labels.txt) с лейблами такого формата:

где ./datasets/images/hello.jpg — путь до картинки, hello — её лейбл. Какому символу какая нота соответствует можно посмотреть тут, где 1 столбец — лейблы, 2 — соответствующая нота или знак.

Затем, чтобы создать tfrecord из картинок выполняем:

aocr test —visualize ПУТЬ/К/testing.tfrecords —log-path ./log/log.log —max-width 1000 —max-height 61 —max-prediction 36 —full-ascii —model-dir ПУТЬ/К/checkpoints

Примеры картинок из обучаемой выборки и соответствующих лейблов:

MRRRROT:3+)R*

MRRN;RK+3R»QR Denis Cera, code

Комментарии

А не сравнивали качество с традиционными программами распознавания нот без нейросетей? https://en.wikipedia.org/wiki/Optical_music_recognition

Традиционные подходы работают более-менее, но 1. требовательны к качеству входного изображения — нужны отсканированные листы. 2. Не работают/работают плохо с рукописными нотами. Ну и конечно же, 3. большая часть подобного софта — проприетарные продукты. Нейронные же сети можно обучить распознавать ноты и на обычных фотографиях с телефона (был бы датасет подходящий).

В обратную сторону музыку в ноты переводить тоже можно? Не в рамках этого проекта, а вообще в принципе. Импровизируешь, потом читаешь.

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

По поводу символов — было бы круто, если бы проект в будущем научился распознавать ноты для барабанщиков. Прикол в том, что если есть слух, то прослушать и повторить проще, чем разбирать ноты и считать длительности)
А на будущее, можно было бы еще подумать насчет интеграции с каким-нибудь существующим музыкальным ПО, тот же guitar pro, например.
Или вообще уйти в другую сторону и по нотам генерировать какую-нибудь игру, типа tap-tap:)

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

То, что слушать и повторять легче, чем копаться в нотах — это прям то, из-за чего я решил взяться за этот проект. Я пою в хоре и иногда хочется просто прослушать, как звучит партия. 🙂 Надеюсь, со временем получится довести проект до уровня «сфотографировал партию, прослушал».

Гитар про умеет импортировать MIDI файлы. Тут главное найти наиболее удобный способ для работы с выходными данными, да. Сейчас они генерируются в MIDI посредством питоновской библиотеки mido.

Источник

Оцените статью