Методы искусственного интеллекта и анализа данных при разработке программного приложения, направленного на поиск известных музыкальных тем, используемых в других композициях

XXVI Международный конкурс научно-исследовательских и творческих работ учащихся
Старт в науке

Методы искусственного интеллекта и анализа данных при разработке программного приложения, направленного на поиск известных музыкальных тем, используемых в других композициях

Якушев Д.Д. 1
1МАОУ ДО Центр детского творчества и искусств "Родник" г. Краснодар
Рыбалко Е.Е. 1
1МАОУ ДО ЦДТиИ "Родник"
Автор работы награжден дипломом победителя III степени
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Введение

«ИИ не является ни добром, ни злом. Это инструмент.

Это технология, которую мы можем использовать»

Орен Эциони

Методы искусственного интеллекта и анализа данных – это современный инструмент, используемый в промышленном производстве, научных исследованиях, дистанционном управлении роботами, дистанционном зондировании Земли, а также в медицинской диагностике, лингвистике и искусстве. ИИ часто применяют при разработке различных приложений, в том числе и связанных с музыкой. На сегодняшний день их существует достаточно много. К наиболее популярным относятся: «MusicGen», «MusicLM», «Stable Audio 2.0», «Suno AI», «Shazam» и др. Большинство из них позволяют слушателям идентифицировать незнакомый им музыкальный трек (иными словами, определяют его автора и название). К ним относятся: Shazam, Яндекс музыка, SoundHound, Musixmatch. Также у ряда приложений есть функция подбора музыкальных треков, схожих по стилю, жанру и характеру, следовательно, пользователь может составить свой личный плейлист, подобранный ИИ. К таким приложениям относятся: WК music и Music Finder, Яндекс музыка. Набирают популярность и приложения, в которых ИИ может самостоятельно создавать музыкальные треки. Для этого требуется загрузить параметры желаемого, например, стиль, жанр, характер и пр. К таковым относятся: MusicGen, MusicLM. Однако большинство подобных приложений рассчитано на пользователей - любителей музыки. Для музыкантов –профессионалов нужен несколько иной инструмент.

В настоящее время у музыковедов пользуется большой популярностью направление, которое предполагает поиск и последующий анализ известных музыкальных тем, которые используются другими композиторами. Все чаще можно встретить курсовые, дипломные и даже кандидатские работы такого содержания. Но, как ни странно, успешность подобных работ не всегда связана с компетенциями автора. Порой решающим фактором выступает случай. Приведем пример: студент-музыкант пишет дипломную работу на тему «Цитирование музыки В.А. Моцарта в современном киноискусстве». Он работает с разными источниками информации, анализирует данные «вручную», изучая огромное количество кинофильмов. Времени уходит много, а результат - скудный. Но однажды его друг предложил посмотреть фильм «Побег из Шоушенка» и каково же было удивление студента, когда в одном из эпизодов он услышал дует из оперы «Свадьба Фигаро». Впоследствии он включил данную цитату в раздел «киномузыка» и анализировал психологический эффект ее применения. Что было решающим в данной ситуации? Случай. Использование приложения значительно бы упростило работу студента по нахождению цитат из музыки В.А. Моцарта. Но узкая направленность современных музыкальных приложений не предоставляет возможности для полноценного поиска знаменитых музыкальных тем в других композициях. Исходя из этого, мы можем наблюдать следующую проблему: существующие приложения не способны находить темы, которые цитируются другими авторами. Актуальность данной работы заключается в разработке такого инструмента, который бы значительно упростил музыковедам (и не только) поиск информации и тем самым значительно бы расширил возможности интерпретации примеров из мировой музыкальной классики в других областях музыкального искусства.

Гипотезой настоящего исследования выступило предположение, что, используя высокоуровневый язык программирования пэйтон в обучении ИИ можно создать приложение, ориентированное на поиск конкретных музыкальных тем в других произведениях. Новизна заключается в увеличении функциональных возможностей приложения, направленного на поиск музыки по различным параметрам благодаря повышению эффективности работы искусственного интеллекта через его обучение на входных данных с последующим самообучением. Объект: возможности искусственного интеллекта при создании приложения, направленного на поиск музыкальных цитат. Предмет: высокоуровневый язык программирования пэйтон как средство обучения ИИ. Цель: определить эффективность методов искусственного интеллекта в поиске определённых музыкальных тем, используемых в произведениях других композиторов. Задачи: 1)изучить методы искусственного интеллекта и анализа данных, применяемые в разработках программных приложений; 2) изучить возможности применения высокоуровневого языка программирования пэйтон в обучении ИИ; 3) разработать техническую часть приложения по обработке и анализу музыкальных произведений; 4) обосновать и экспериментально проверить эффективность методов ИИ на предмет поиска музыкальных цитат в произведениях разных композиторов. Теоретическая значимость исследованиязаключается в расширении функциональных возможностей работы искусственного интеллекта через его обучение с целью обработки и анализа больших объемов музыкальных источников. Практической значимостью работы являетсяразработка приложения, направленного на поиск музыки по различным параметрам. Методы исследования:методы теоретического анализа, обобщения; методы системного подхода, метод статистической обработки данных, измерения, метод чтения аудиофайлов, метод извлечения музыкальных характеристик, метод создания моделей нейронных сетей, метод алгоритмов машинного обучения, методы преобразования аудио, методы обработки текстовых данных, метод визуализации результатов анализа.

ГЛАВА 1.В настоящее время искусственный интеллект представляет собой набор алгоритмов, который дает возможность программам самостоятельно обучаться и в дальнейшем совершенствоваться. ИИ имеет обширный круг применения, в который входит как создание обычных чат-ботов, так и крупных нейросетей с большим потенциалом. На текущем этапе развития науки об искусственном интеллекте активно используются основы математической теории вычислений и теории алгоритмов.

В современном мире ИИ применяют «35% компаний, еще 42% — планируют внедрять его в будущем. Алгоритм ИИ задействуют везде, где необходима обработка больших данных: Google с его помощью анализирует поисковую выдачу, YouTube подбирает рекомендуемые видео, а Coca-Cola использует ChatGPT и DALL-E для улучшения маркетинга, создания креативных работ и привлечения новых клиентов» [2]. ИИ стремительно вносит новые изменения в современный мир, затрагивая и индустрию музыки, поскольку его технологии открывают безграничные возможности для развития, создания и поиска информации. Рассмотрим, как осуществляется процесс поиска музыки ИИ: нейросети используют ресурсы большого количества библиотек для обработки треков. Алгоритмы преобразуют звук в спектрограмму и раскладывают его на время, частоту и интенсивность. Программа распознавания строит спектрограмму звучащего отрывка и отправляет её в свою библиотеку треков. Затем сравнивает «картинку» искомой мелодии со спектрограммами других композиций и выбирает наиболее точное совпадение. При этом искусственный интеллект распознаёт мелодию даже сквозь серьёзные помехи вроде дорожного шума или ремонта в соседней квартире.

О методах ИИ и способах их применения пишут Эндрю Нг - один из ведущих исследователей в области искусственного интеллекта, основатель и генеральный директор компаний DeepLearning и Landing AI; Андрей Карпаты - бывший старший директор компании Tesla, а также ученый-исследователь в OpenAI; Демис Хассабис - вице-президент по инженерным вопросам в Google DeepMind, руководитель по искусственному интеллекту в Google; Кэсси Козырков - главный специалист по принятию решений в Google и автор серии статей «Дружба с машинным обучением» [8].

Вопросы применения ИИ в разработке приложений для поиска музыки рассматривали: Отмар Хиллигес - руководитель группы ученых, разрабатывавших методы для автоматизированного подбора музыкальных фрагментов, соответствующих настроению и вкусам пользователя; авторы проекта SIMAC разрабатывали прототипы программных средств для автоматической генерации метаданных звуковых файлов, которые можно было бы использовать для визуализации, организации и поиска музыкальных записей по различным критериям; учёные из Университета Луисвилля (США), которые разработали систему искусственного интеллекта для поиска музыки, предлагающую более точную и персонализированную систему рекомендаций по нахождению песен в интернете.

Как мы видим, методы ИИ широко применяются и для автоматизированного подбора музыкальных фрагментов, соответствующих настроению и вкусам пользователя, и для генерации метаданных звуковых файлов. Однако они не ориентированы на поиск определенных музыкальных цитат (известных музыкальных тем).

Термин «музыкальная тема» обозначает музыкальное построение, к котором совокупность интонационно-ритмических элементов создают индивидуальный и неповторимый образ. В музыковедении часто встречаются такие определения, как тема любви, тема рока, тема судьбы и т.п. Отметим, что все они не самостоятельны и являются частью какого-либо произведения, но при этом делают узнаваемым всю композицию в целом. Приведем несколько известных примеров: тема судьбы из симфонии № 5 Л. Бетховена; тема любви из балета «Щелкунчик» П. И. Чайковского и др.

К музыкальным темам можно отнести и такие музыкальные построения, которые не имеют в музыковедении определенного названия, но узнаваемы по всему миру. Например, начальный мотив «Лунной сонаты» Л. Бетховена; мелодия хора невольниц «Улетай на крыльях ветра» из оперы А.П. Бородина; «Танец феи Драже» из балета «Щелкунчик» П.И. Чайковского; «Хабанера» из оперы «Кармен» Ж. Бизе и много других примеров. Все эти темы могут использоваться другими композиторами не только «в чистом виде» как цитаты, но и другими способами. Например, как квази-цитата ((псевдоцитата) – вставка в текст произведения фрагмента, весьма схожего по звучанию с каким-либо другим известным произведением, но при этом с отсутствием точного цитирования) или как аллюзия (намек на тему или стиль другого произведения) [9]. Однако самостоятельно найти кто и где использует известные музыкальные темы, и, соответственно, узнать в каком «амплуа» они представлены другим автором подчас довольно сложно. Следовательно, создаваемое приложение на базе ИИ должно не только выявлять эти фрагменты из одних произведений, но и находить их в других.

ГЛАВА 2. Приступая к разработке приложения в качестве основы были определены язык программирования Python за счет своей универсальности в применении и удобстве работы с ИИ и база данных MySQL для хранения музыкальных тем, метаданных произведений и пользовательских данных. Также использовались MySQL-connector-python, PyMySQL и SQLAlchemy для интеграции базы данных MySQL с Python. Для создания интерфейса использовался Веб-интерфейс.При выборе библиотек искусственного интеллекта я использовал библиотеки для извлечения музыкальных характеристик и нейросетевые модели для анализа музыкальных произведений. Чтобы анализировать музыкальные произведения, нужно извлечь из них следующие элементы (характеристики): мелодию (ноты и последовательность звуков); ритм; темп; гармонию (аккорды); тональность и др. Для извлечения таких характеристик используются библиотеки Python: Librosa (для анализа звуковых сигналов); MIDI (если фрагмент доступен в формате MIDI); Essentia (более мощный инструмент для аудиоанализа).

Также были использованы нейросетевые модели для анализа звуковых файлов. Применялись предварительно обученные нейросети или собственные модели: музыкальная эмбеддинг-модель (это нейросеть, которая преобразует аудио или музыкальные фрагменты в числовые векторы (эмбеддинги)). Модели типа OpenL3, VGGish или MusiCNN также подошли для нашей цели. Эти эмбеддинги представляют музыкальную тему в сжатом виде. Для сравнения эмбеддингов (поиск похожих музыкальных тем) используются методы: Cosine Similarity. Nearest Neighbors Search (например, с помощью библиотеки FAISS). Чтобы найти похожие музыкальные темы, нам потребовался доступ к библиотеке музыкальных произведений Open-source базы (в частности архив Free Music Archive). Парсинг аудио так же происходит с лицензированных источников.

Этапы экспериментальной проверки эффективности методов ИИ на предмет поиска музыкальных цитат в произведениях других композиторов и создания функционального приложения для поиска музыкальных тем, используя Python, библиотеки AI и базу данных MySQL для хранения данных представлены в следующей последовательности:

I. Архитектура и структура базы данных.

1) Создание структуры базы данных MySQL (таблицы для хранения): а) темы: основные музыкальные темы, которые приложение должно уметь распознавать; б) музыкальные произведения: метаданные о произведении, включая автора, длительность, жанр и пр.; в) аналитические данные: результаты анализа, извлеченные признаки, соответствие музыкальным темам; г) пользователи: для персонализированного поиска или истории использования. 2) Моделирование схемы данных (связь между таблицами по следующим блокам): а) «музыкальная тема – произведение», когда одно произведение может содержать несколько тем; б) «произведение – пользователи» — для персонализированного поиска или истории использования.

II. Подготовка данных для обучения и анализа: 1) сбор и подготовка музыкальных произведений: поиск и загрузка датасетов с аудиозаписями (например, из открытых библиотек, таких как MusicNet или аудиоархивов). Аннотированная база с метками музыкальных тем значительно облегчила обучение; 2) преобразование аудио в обучающие данные: используя Librosa, извлекли основные характеристики: спектрограмму, темп, ритм, звук и гармонические структуры музыкальных тем. Затем создали обучающие наборы данных с размеченными музыкальными темами, чтобы модель (под термином модель мы имеем ввиду архитектуру и конфигурацию модели, а также используемые алгоритмы обучения ИИ) могла «узнавать» ее в дальнейшем; 3) разделение данных: разделили данные на обучающий, тестовый и валидационный наборы, чтобы оценить точность моделей.

III. Разработка модели искусственного интеллекта

1) Создание архитектуры модели: а) анализ музыкальных тем: для распознавания мелодий использовали рекуррентные нейронные сети (RNN), сверточные нейронные сети (CNN), адаптированные для анализа временных рядов; б) поиск похожих тем: реализовали алгоритм поиска ближайших соседей или поисковые модели на основе векторных представлений для нахождения схожих тем. 2) Обучение модели на заранее размеченных данных. В процессе обучения и настройки модели использовали TensorFlow, PyTorch. Далее оценили модель по метрикам точности и отзывчивости (precision, recall), чтобы определить её способность находить нужные музыкальные темы; 3) Тестирование модели на тестовых данных, оценив её качество в реальных сценариях.Провели дообучение и настройку гиперпараметров.

IV. Разработка функциональности для поиска и взаимодействия с пользователем: 1) создали API для взаимодействия с фронтендом для упрощенияпередачи данных между базой данных, аудиомоделями и интерфейсом. К возможным функциям API можно отнести: загрузку и анализ нового аудиофайла, поиск в базе по запросу и вывод найденных музыкальных тем;2) реализовали алгоритм поиска с учетом вариаций (например, скорость, стиль исполнения) и разработали функцию для сравнения новых аудиофайлов с уже существующими темами в базе.

V. Разработка интерфейса приложения: 1) веб-интерфейс (HTML + JS для фронтенда); 2) основные элементы интерфейса: а) поиск по аудио: поле для загрузки и анализа музыкального файла; б) просмотр тем: страница с результатами поиска, содержащая найденные темы и ссылки на совпадения; в) история поиска: возможность сохранения и просмотра истории поиска.

VI. Оптимизация и доработка: 1) оптимизация моделей: построили пайплайн для дообучения модели на новых данных.Оптимизировали алгоритмы поиска тем для повышения скорости отклика; 2) кэширование данных: для снижения нагрузки на сервер можно кэшировать часто запрашиваемые музыкальные темы и результаты.

VII. Тестирование и развёртывание: 1)тестирование: а) тестировали приложение на полноту и точность поиска, удобство интерфейса, производительность и стабильность; б) провели нагрузочное тестирование, чтобы оценить производительность при большом числе пользователей; 2)Развёртывание: при использовании веб-интерфейса развернули приложение на сервере; 3) Поддержка и обновления: а) настроили мониторинг для обнаружения возможных ошибок в производственном режиме.В будущемпредусматриваетсявыпускать регулярные обновления, добавляя новые музыкальные темы и дообучая модель.

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

Заключение. Проведя работу согласно вышеперечисленным этапам, используя Python, библиотеки AI, и базу данных MySQL для хранения данных, у нас получилось создать функциональное приложение для поиска музыкальных тем в других композициях. Подводя итоги, мы хотим подчеркнуть, что несмотря на определенную близость нашей работы к проектам, в данном случае разработка приложения стала инструментом для показа эффективности работы методов искусственного интеллекта в рамках поиска и анализа музыкальных тем. Разработанное приложение для поиска музыкальных цитат с помощью искусственного интеллекта и языка программирования высокого уровня Python позволило на практике доказать большую перспективу использования ИИ в области анализа музыки. Теперь, благодаря данному опыту, мы можем легко и быстро анализировать любые музыкальные произведения на предмет цитирования музыки других авторов и надеемся, что данная разработка пригодится не только вымышленному студенту, который пишет дипломную работу на тему цитирования музыки В.А. Моцарта, но и вполне реальным людям.

Список литературы и Интернет-источников:

  1. Анализ музыкальных предпочтений с использованием аудиоаналитики на Python / [Электронный ресурс] // Хабр : [сайт]. — URL: https://habr.com/ru/companies/otus/articles/757130/ (дата обращения: 14.10.2024).

  2. Булыгин О. Почему Python стал главным языком для ИИ и как применять такие технологии в своих проектах / О. Булыгин [Электронный ресурс] // Хайтек: [сайт]. — URL: https://hightech.fm/2023/06/09/python-main-ai (дата обращения: 5.10.2024).

  3. Егорова Е. Как ИИ меняет музыкальную индустрию / Е. Егорова [Электронный ресурс] // vc.ru: [сайт]. — URL: https://vc.ru/ai/1292711-kak-ii-menyaet-muzykalnuyu-industriyu?ysclid=m3uiyy125b86660792 (дата обращения: 02.10.2024).

  4. Левин А. Г. Искусственный интеллект в музыке. Его влияние на музыкальную индустрию в будущем / А. Г. Левин. — Текст: непосредственный // Молодой ученый. — 2024. — № 8 (507). — С. 123-129. — URL: https://moluch.ru/archive/507/111467/ (дата обращения: 13.10.2024).

  5. Никитин А., Айрапетян Г. Развитие искусственного интеллекта: история, современные тенденции / А. Никитин, Г. Айрапетян [Электронный ресурс] // GeekBrains: [сайт]. — URL: https://gb.ru/blog/razvitie-iskusstvennogo-intellekta/?ysclid=m3uj24zlk387089625 (дата обращения: 24.09.2024).

  6. ТОП-10 исследователей в области искусственного интеллекта, совершающих революцию в 2022 году / [Электронный ресурс] // Webiomed: [сайт]. — URL: https://webiomed.ru/blog/top-10-issledovatelei-v-oblasti-ii/ (дата обращения: 15.10.2024).

  7. Холопов Ю.Н. Полистилистика. Большая российская энциклопедия / Холопов Ю.Н. [Электронный ресурс] // bigenc.ru: [сайт]. — URL: https://bigenc.ru/c/polistilistika-d73c50 (дата обращения: 10.10.2024).

Просмотров работы: 17