Распознавание мелодии с помощью нечеткого поиска

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

 

 

 

 

 

 

Курсовая работа

 

 

на тему:

 

"Распознавание мелодии с помощью нечеткого поиска"

 

 

Введение

 

Моя курсовая работа посвящена исследованию проблемы сравнения звуковых файлов и определения степени их схожести. Существует множество форматов для хранения аудиофайлов:

Midi.

mp3.

ogg.

wav и т.д.

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

Задача сравнения звука на данный момент является достаточно сложной и интересной, ее решение может найти применение во многих областях, например, его можно использовать при поиске определенных данных о мелодии, если мы знаем только то, как она звучит. С развитием технологий задача сравнения файлов, в том числе и звуковых, становится проще, в настоящее время имеются программные продукты, которые позволяют осуществлять сравнение звуковых файлов (например, Audio Comparer позволяет сравнивать форматы MP3, MP2, MP1, WMA, AIF, WAV, OGG), но не существует свободно распространяемых приложений или сервисов свободного доступа, которые бы позволяли получить информацию о степени схожести двух мелодий.

Несмотря на то, что наиболее распространенным музыкальным форматом является mp3, особое внимание и интерес хотелось бы уделить звуковым файлам в MIDI-формате. Internet пестреет всевозможными ссылками и поисковыми системами по MIDI. Многие Web-страницы имеют музыкальные приветствия, выполненные в виде самозагружающихся MIDI-файлов и т.д. Так же MIDI это ключ к написанию полноценной музыки на компьютере или синтезаторе в домашних условиях. Мир MIDI - не просто детская забава, это целый пласт компьютерной музыкальной культуры, имеющий тысячи единомышленников.

Данный формат имеет ряд плюсов:

занимает малое количество памяти на диске (хотя объемы жестких дисков становятся все больше, но и количество хранимой информации все возрастает)

структура (она содержит в себе особым образом закодированную информацию о сыгранных нотах)

нет зависимости от тембра (колористическая (обертоновая) окраска звука), то есть не важно, на каком инструменте сыграна мелодия, на размер файла это никак не повлияет

большинство программ звукозаписи сохраняют мелодию именно в этом формате.

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

Удобство формата MIDI как формата представления данных позволяет реализовывать устройства, производящие автоматическую аранжировку по заданным аккордам, а также приложения 3D-визуализации звука. Кроме того, такие файлы, как правило, имеют на несколько порядков меньший размер, чем оцифрованный звук сравнимого качества.

Реализация сравнения файлов даёт возможность сообщить информацию об известном файле при их совпадении, поиска похожих среди имеющихся файлов.

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

Расстояние Левенштейна и его обобщения активно применяется:

для исправления ошибок в слове (в поисковых системах, базах данных, при вводе текста, при автоматическом распознавании отсканированного текста или речи)

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

в биоинформатике для сравнения генов, хромосом, белков.

В связи со структурой данных MIDI-файла и использования метода нечеткого поиска, основанного на расстоянии Левенштейна, задача сравнения рассматривается с совершенно иной стороны, чем для цифровых форматов, это показывает новизну рассматриваемого вопроса, с этим связана его актуальность.

Цель работы заключается в подведении теоретической базы для распознавания и сравнения MIDI-файлов и непосредственно реализация алгоритмов считывания из файлов .mid необходимых данных, реализации алгоритма нечеткого поиска с использованием расстояния Левенштейна. Происходит считывание данных из файлов в матричное представление, проведение на основе полученной информации анализа, вычисление расстояния между двумя мелодиями, анализ результата сравнения и предоставление решения об их схожести (совпадении).

В работе рассматривается:

считывание данных о MIDI-файле

анализ считываемой информации

представление данных в удобной для сравнения форме

механизм сравнения двух звуковых файлов.

Для реализации необходимых процедур используются программные средства, созданные с помощью платформы. Net, а именно, Microsoft Visual Studio 2010, язык разработки C#.

Из самых очевидных плюсов C# можно выделить:

-Высокая скорость разработки (благодаря Фреймворку)

-Неплохое быстродействие, для подобных языков (например, в отличие от той же Java он пред-компилируемый, а не полностью интерпретируемый)

-Одно из основных применений - приложения не критичные к производительности.# больше подходит для прикладного программирования под платформу Windows.

Как модель программирования, С#/.NET предусматривает униве?/p>