Разработка и реализация алгоритмов генерации стилизованных аудио произведений

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    2,39 Мб
  • Опубликовано:
    2017-10-13
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка и реализация алгоритмов генерации стилизованных аудио произведений

Оглавление

Введение

1. Обзор существующих подходов в генерации музыкальных произведений

1.1 Вокодер и автотюн

1.2 Результаты главы

2. Теоретическая разработка алгоритмов генерации стилизованных аудио произведений

2.1 Математический аппарат

2.1.1 Оконное преобразование Фурье

2.1.2 Алгоритм Гриффина-Лима

2.1.3 Сверточная нейронная сеть

2.1.4 Нейронный алгоритм художественного стиля (A Neural Algorithm of Artistic Style)

2.2 Алгоритм стилизации звука

2.3 Результаты

3. Практические результаты

3.1 Реализация алгоритма

3.1.1 Выбор средств и библиотек разработки

3.1.2 Реализация алгоритмов

3.3 Результаты работы алгоритма

3.4 Результаты

Заключение

Список используемых источников

Введение


Актуальность

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

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

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

Цель и задачи диссертации

Разработка алгоритмов создания стилизованных аудио произведений на основе современных нейросетевых алгоритмов.

Для достижения указанной цели поставлены и решены следующие основные задачи:

·              анализ существующих алгоритмов преобразования звуковых сигналов;

·              развитие использования (адаптация) нейронных сетей для генерации музыкальных произведений;

·              разработка программного обеспечения (далее - ПО) для генерации музыкальных произведений.

Объект и предмет исследования

Объект исследования - процессы анализа и генерации музыкальных произведений.

Предмет исследования - алгоритмы анализа и генерации музыкальных произведений.

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

Практическая ценность

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

Результаты, полученные автором

1. Алгоритмы создания стилизованных аудио произведений с помощью обученной нейронной сети или по стилизующему произведению.

. Программное обеспечение, реализующее описанные алгоритмы.

Публикации

нейросетевой алгоритм генерация музыкальное произведение

По теме научно-квалификационной работы автором было опубликовано 3 научных работы.

Содержание НКР

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

1. Обзор существующих подходов в генерации музыкальных произведений


1.1 Вокодер и автотюн


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

Вокодер как музыкальный эффект позволяет перенести свойства одного (модулирующего) сигнала на другой сигнал, который называют носителем. В качестве сигнала-модулятора используется голос человека, а в качестве носителя - сигнал, формируемый музыкальным синтезатором или другим музыкальным инструментом. Так достигается эффект "говорящего" или "поющего" музыкального инструмента. Помимо голоса, модулирующий сигнал может быть и гитарой, клавишными, барабанами и вообще любым звуком синтетического и "живого" происхождения. Также нет ограничений и на несущий сигнал. [1]

Рис 1.1 - Структурная схема вокодера

Частным случаем вокодера является автотюн.

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

Данный алгоритм сыскал свою популярность на поприще музыкальной индустрии, начиная примерно с 1998 года, он позволяет в режиме реального времени изменять и "исправлять" входящий сигнал, весь алгоритм даёт некоторую задержку, размер которой напрямую связан с размером окна прямого преобразования Фурье.

Алгоритм работы автотюна состоит из трёх основных этапов:

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

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

·              Преобразование сигнала - тоновая часть смещается на требуемую величину, форманты остаются, далее все обратно собирается.

Режимы функционирования работы автотюна:

·              Автоматическая подтяжка - изменение частоты звука до ближайшего точного тона.

·              Подтяжка по шаблону (guided, midi mode). В алгоритм посылается звук и MIDI-поток нот, к которым и приводится входящий звук.

·              Добавление одной или несколько копий звука к существующему, позволяет получить "подпевку".

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

Audio texture synthesis and style transfer - алгоритм передачи художественного стиля для аудио, который использует свертки со случайными весами для представления звуковых функций. [2]

Алгоритм работы

·              С помощью оконного преобразования Фурье исходное и стилевое аудио преобразуется в спектрограмму.

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

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

·              Восстановление сигнала по спектрограмме с помощью обратного преобразования Фурье.

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

1.2 Результаты главы


В настоящее время существует множество алгоритмов преобразования музыкальных произведений, большинство из которых использует заранее заложенные характеристики и свойства, есть небольшой пласт алгоритмов, который позволяет мутировать два или более музыкальных произведений в одно. Каждый из алгоритмов по-своему изменяет характеристики исходных произведений, и каждый из них создает свой особенный результат, не похожий на другие.

2. Теоретическая разработка алгоритмов генерации стилизованных аудио произведений


2.1 Математический аппарат


Для преобразования входных аудио данных в частотно временные характеристики для нейронной сети и обратно были рассмотрены 3 разных модели:

·              Дискретное и непрерывное вейвлет-преобразование.

·              Constant-Q преобразование.

При сравнении рассматривались следующие характеристики алгоритмов:

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

) Размерность получаемых данных при прямом преобразовании.

3) Получаемые характеристики.

·              Оконное преобразование Фурье:

После прямого и обратного преобразования Фурье качество сигнала падает. Причиной этому является предел Габора-Гейзенберга, который можно определить так: нельзя одновременно точно локализовать сигнал во временной и частотной областях сразу [3]. По этой причине теряются как временные спектральные характеристики, которые в меньшей степени влияют на результат, так и частотные характеристики. В зависимости от размера окна меняется влияния характеристик на результат по формуле:

∆t∆f≥С (1)

где t - среднеквадратичное отклонение по времени;

f-среднеквадратичное отклонение по частоте;

С - предел точности.

Размерность получаемых характеристик зависят от размера окна и шага. Частотные диапазон имеет линейное масштаб, что является очень выгодно для обработки музыки, так как звуки в музыкальных произведениях присутствуют практически во всем диапазоне 44,100 Hz.

·              Constant-Q преобразование

Представляет собой преобразование из серии данных в частотные области. Оно связано с преобразованием Фурье и с вейвлет преобразованием Морлета [4].

Искажение сигнала после прямого и обратного Constant-Q преобразования превышает показатели преобразования Фурье, а частотные характеристики имеют логарифмический масштаб, что увеличивает количество информации для низкочастотного сигнала и уменьшает таковой для высокочастотного.

·              Непрерывное вейвлет-преобразование - интегральное преобразование, которое представляет собой свертку вейвлет-функции с сигналом. Вейвлет-преобразование переводит сигнал из временного представления в частотно-временное [5].

При хорошем разрешении позволяет с высокой точностью восстановить исходный сигнал. Для восстановления сигнала с частотой от 0 до 22KHz, по теореме Котельникова требуется более 22000 измерений в секунду, следовательно, для хранения характеристик требуется довольно большие объемы памяти. Также результат вейвлет преобразования имеет логарифмический масштаб по частоте.

·              Дискретное вейвлет-преобразование.

Позволяет с практически стопроцентной точностью восстанавливать сигнал. Размерность получаемого результата можно контролировать размером окна и шагом. Основная проблема преобразования является невозможность локализовать частоту сигнала (рис.2.1), так для синусоидального сигнала частотой T, значение амплитуд частот кратных частот T для дискретного вейвлет преобразования будет одинаково.

Рис. 2.1 - Результат работы дискретного вейвлет преобразования на сигнале синусоидальной формы

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

2.1.1 Оконное преобразование Фурье

Преобразование Фурье - операция, сопоставляющая одной функции вещественной переменной другую функцию вещественной переменной. Эта новая функция описывает коэффициенты ("амплитуды") при разложении исходной функции на элементарные составляющие - гармонические колебания с разными частотами [6].

Классическое преобразование Фурье работает со спектром сигнала во всём диапазоне существования сигнала. Для получения локального распределения частот используется оконное преобразование Фурье [7].

Оконное преобразование Фурье является разновидностью преобразования Фурье и определяется следующим образом:

 

F (t,ω) =- (2)

где t - время;

ω - частота;

f () - исходный сигнал;

W ( - t) - некоторая оконная функция, обычно окно Ханна или окно Гаусса.

F (t, ω) - дает распределение частот оригинального сигнала f () в окрестностях времени t.

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

Рис 2.2 - Спектрограмма сигнала полученная оконным преобразованием Фурье

2.1.2 Алгоритм Гриффина-Лима

Впервые алгоритм Гриффина-Лима было представлено в 1984 году в журнале Acoustics, Speech and Signal Processing [9]. Данный алгоритм направлен на восстановление сигнала после оконного преобразования Фурье. Данный алгоритм является лучшим по качеству из всех существующих на текущий момент.

Данный алгоритм решает проблему восстановления сигнала, которую можно описать как поиск сигнала  и получение не негативных коэффициентов s, таких, что магнитуда оконного преобразования Фурье для сигнала x*: |Gx|, была как можно ближе к s:

 (3)

где |Gx| - магнитуда оконного преобразования Фурье.

Для удобства определим эквивалентную задачу с переменными оптимизации на стороне коэффициентов:

 (4)

где  |

Алгоритм работает путем проецирования сигнала итеративно на два различных множества в  обозначенных как С1 и С2.

С1 - множество точек допустимых для (4), а также набор коэффициентов с из  в области G:

 (5)

Проекция C1 может быть представлена следующим образом:

 (6)

 

С2 - множество коэффициентов минимизирующих (4) без жестких ограничений:

 (7)

Проекция C2 может быть представлена следующим образом:

 (8)

В таком случае алгоритм Гриффина-Лима на псевдоязыке выглядит следующим образом:

 

Fix the initial phase c0

Initialize c0=s*eic

Iterate for n = 1,2,.n=PС2 (PC2 (cn-1))

Until convergence*=G cn

2.1.3 Сверточная нейронная сеть

Сверточная нейронная сеть (англ. convolutional neural network, CNN) - специальная архитектура искусственных нейронных сетей, предложенная Яном Лекуном и нацеленная на эффективное распознавание изображений, входит в состав технологий глубинного обучения [9].

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

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

Рис 2.3 - Архитектура сверточной нейронной сети

Архитектура сверточной нейронной сети (рис.2.3).

·              Слой свертки

Слой свертки включает в себя для каждого канала свой фильтр, ядро свертки которого обрабатывает предыдущий слой. Весовые коэффициенты ядра свертки определяются на этапе обучения нейронной сети.

·              Слой ReLu - блок линейной ректификации. Слой релу представляет собой функцию активации описывающаяся следующей формулой и представлена на рисунке (рис.2.4):

 

f (x) =max (0, x) (9)

Рис. 2.4 - Активационная функция ReLu

·              Слой пулинга

Слой пулинга представляет собой слой нелинейного уплотнения карты признаков. Так группы "пикселей" размера n*m уплотняются до одного "пикселя", чаще всего с использованием функции максимума (рис.2.5). Операция пулинга позволяет существенно уменьшить пространство признаков.

Рис 2.5 - Пример операции пулинга

·              Полносвязная нейронная сеть

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

2.1.4 Нейронный алгоритм художественного стиля (A Neural Algorithm of Artistic Style)

Для работы данного алгоритма требуется использовать деконволюционную сеть - это такая же сеть со свертками и пулингом, но примененная в обратном порядке [12] [13]. Следовательно, для ее выполнения надо рассмотреть следующие операции:

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

·              Обратная свертка

Для обратной свертки используется транспонированная версия того же ядра свертки, но с выходами из обратного ReLu вместо предыдущего слоя, используемого при прямом проходе.

Рис 2.6 - Прямая и обратная свертка с ядром равны 2x2 и шагом 2

·              Обратный пулинг

Данная операция является не инвертируемой, но для решения предлагается использование карт максимумов, которые были при прямом проходе. Таким образом, при обратном проходе сигнал преобразуется так чтобы приближено сохранить структуру исходного сигнала (рис.2.7).

Рис 2.7 - Прямой и обратный пулинг

Каждый слой нейронной сети производит трехмерный тензор некоторой размерности. Если обозначим выход i-го слоя от входного как fi (x) и будем минимизировать сумму невязок между входным изображением с некоторым изображением, к которому стремимся с, то получим, то, что надо (10). В зависимости от слоев, которые можно зафиксировать, будут теряться те или иные характеристики изображения.

 (10)

Стилевые характеристики не должны зависеть от пространственных положениях фич. Для избавления от пространственных берется тензор на выходе некоторого слоя, разворачивается по пространственным координатам и подсчитывается матрица ковариации между плашками. Обозначив это преобразование как G получим:

 (11)

Для того чтобы генерировать изображение которое имело бы пространственные признаки одного и стилевые признаки другого изображений требуется смешать обе эти функции стоимости.

 (12)

Таким образом, будут присутствовать стилевые признаки, не привязанные к пространственным координатам, и сохраняются контент признаки, привязанные к пространственным координатам [15].

2.2 Алгоритм стилизации звука


Существует два основных варианта работы алгоритма:

·              Модификация характеристик исходного аудио характеристиками другого аудио произведения.

·              Модификация характеристик исходного аудио с использование характеристик классов обученной нейронной сети

Для первого случая обучение сети не требуется, следует использовать нейронную сеть со случайными значениями в ядрах свертки [11], для второго случая требуется собрать обучающую выборку и обучить нейронную сеть.

Рис 2.8 - Алгоритм стилизации аудио произведения по стилевому аудио произведению

Рис 2.9 - Алгоритм стилизации аудио произведения по классу обученной нейронной сети

Для получения стилизованного аудио произведения по стилевому аудио произведения требуется провести следующие этапы работы алгоритма (рис.2.8):

·              Подготовка исходных данных (исходного и стилевого аудиопроизведения).

Ø  Оконное преобразование Фурье для аудио произведения.

Ø  Нормализация спектрограммы для сверточной нейронной сети.

·              Определение фьюч исходных аудио произведений.

Ø  Прямой проход по сверточной нейронной сети.

Ø  Получение карт характеристик.

·              Обработка исходного аудиопроизведения.

Ø  Обратный проход по нейронной сети с комбинированной функцией потерь.

·              Обработка и сохранение полученных результатов.

Ø  Денормализация полученных данных.

Ø  Обратное преобразование Фурье алгоритмом Гриффина-Лима.

Ø  Сохранение полученных результатов в виде аудиофайла.

Рассмотрим некоторые шаги алгоритма более подробно.

·              Оконное преобразование Фурье для аудио произведения.

Каждое из аудио произведений читается и по нему производится оконное преобразование Фурье с окном равным 2048, на выходе после обработки будет получен двумерный массив из комплексных чисел размерностью 1024*M, где M зависит от продолжительности звукового файла.

·              Нормализация спектрограммы для сверточной нейронной сети.

Для нормализации берется модуль комплексного числа, прибавляется единица и по нему вычисляется логарифм:

 (13)

где S - массив из результирующих коэффициентов;

s - массив комплексных чисел полученных после оконного преобразование Фурье.

·              Денормализация полученных данных.

Для получения модулей спектра результирующего сигнала требуется произвести обратные вычисления:

 (14)

·              Обратное преобразование Фурье алгоритмом Гриффина-Лима.

Для Фазовой реконструкции сначала генерируется случайная величина фазы для каждого элемента массива, а потом итеративно приближают значение фазы до требуемого значения.

2.3 Результаты


Были проанализированы такие технологии и алгоритмы как

·              прямое оконное преобразование Фурье;

·              алгоритм Гриффина-Лима;

·              прямое и обратное constant-Q преобразование;

·              прямое и обратное вейвлет преобразование;

·              алгоритмы работы сверточных нейронных сетей;

·              алгоритмы деконволюции.

Был разработан и описан алгоритм стилизации аудио произведений по классу или по стилевому аудио произведению.

3. Практические результаты


3.1 Реализация алгоритма


3.1.1 Выбор средств и библиотек разработки

В качестве языка программирования для написания исходного кода был выбран Python 3.6.0. Данный язык используется большинством разработчиков работающих с технологиями машинного обучения и такими гигантами как Яндекс и Google. Также одним из основных критериев выбора данного языка является большое количество библиотек позволяющих сэкономить на времени разработки, и простоты языка.

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

·              LibROSA - библиотека для чтения и обработки аудио данных, как написано в официальной документации, данная библиотека предоставляет строительные блоки необходимые для создания музыкальных поисковых систем. Данная библиотека используется для удобства чтения аудио данных из всевозможных аудио форматов а также для прямого и обратного преобразование Фурье.

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


3.1.2 Реализация алгоритмов

Весь алгоритм можно логически разделить на 3 части:

·              Подготовка данных для машинного обучения.

Для подготовки данных потребуется две библиотеки LibROSA и NumPy.

def read_audio_spectrum (filename):, sr = librosa. load (filename)= librosa. stft (y, 2048)= np. log1p (np. abs (D))D, sr

·              Алгоритм стилизации.

Отрывки исходного кода стилизации аудио представлены ниже.

. # compute style features in feedforward mode

for i in range (len (styles)):= tf. Graph ()

with g. as_default (), g. device ('/cpu: 0'), tf. Session () as sess:= tf. placeholder ('float', shape=style_shapes [i])= vgg.net_preloaded (vgg_weights, image, pooling)_pre = np. array ([vgg. preprocess (styles [i], vgg_mean_pixel)])

for layer in STYLE_LAYERS:= net [layer]. eval (feed_dict={image: style_pre})= np. reshape (features, (-1, features. shape [3]))= np. matmul (features. T, features) / features. size_features [i] [layer] = gram

# style loss_loss = 0i in range (len (styles)):_losses = []style_layer in STYLE_LAYERS:= net [style_layer]

_, height, width, number = \(lambda i: i. value, layer. get_shape ())= height * width * number= tf. reshape (layer, (-1, number))= tf. matmul (tf. transpose (feats), feats) / size_gram = style_features [i] [style_layer]_losses. append (style_layers_weights [style_layer] * 2 * \. nn. l2_loss (gram - style_gram) / style_gram. size)_loss += style_weight * style_blend_weights [i] * \(tf. add, style_losses)

·              Восстановление аудиосигнала по полученным данным.

 

S = np. exp (result_spectum) - 1= 2 * np. pi * np. random. random_sample (D. shape) - np. pii in range (500):= S * np. exp (1j*angle)= librosa. istft (D)= np. angle (librosa. stft (y, N_FFT)). output. write_wav ('out. wav', y,)

На вход алгоритму подается путь до аудиофайла практически любого расширения, а на выходе получается аудиофайл wav-формата с именем "out".

3.3 Результаты работы алгоритма


Для проверки алгоритма были использованы множество музыкальных произведений, спектрограммы двух из которых представлены на рис 3.1 и рис 3.2 Результат использования этих двух музыкальных произведений как исходного и стилевого произведений представлен на рис 3.3.

Рис 3.1 - Спектрограмма исходного музыкального произведения

Рис 3.2 - Спектрограмма стилевого музыкального произведения

Рис 3.3 - спектрограмма результирующего музыкального произведения

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

3.4 Результаты


Были описаны используемые средства и библиотеки, используемые при написании исходного кода.

Был реализован алгоритм стилизации аудио произведений с помощью нейронных сетей, описанный во второй главе.

Были получены результаты его работы на примере стилизации одного аудио произведения.

Заключение


В результате выполнения диссертационного исследования автором были получены следующие результаты:

1.      Проведен обзор и анализ алгоритмов прямого и обратного преобразования звукового сигнала в частотно временные характеристики.

2.      Проведен обзор алгоритмов сверточных нейронных сетей и деконволюции.

.        Разработан алгоритм стилизации аудио произведений с использование стилизующего произведения или класса обученной нейронной сети.

.        Разработан прототип стилизации аудио произведений с использование стилизующего произведения или класса обученной нейронной сети.

.        Получены и рассмотрены результаты работы полученного алгоритма.

Список используемых источников


1.      Вокодер. [Электронный ресурс]. - Режим доступа: https: // ru. wikipedia.org/wiki/Вокодер <https://ru.wikipedia.org/wiki/%D0%92%D0%BE%D0%BA%D0%BE%D0%B4%D0%B5%D1%80>

.        Audio Style Transfer. [Электронный ресурс]. - Режим доступа: https: // github.com/DmitryUlyanov/neural-style-audio-tf <https://github.com/DmitryUlyanov/neural-style-audio-tf>

.        Uncertainty principle. [Электронный ресурс]. - Режим доступа: https: // en. wikipedia.org/wiki/Uncertainty_principle <https://en.wikipedia.org/wiki/Uncertainty_principle>

.        Constant-Q transform. [Электронный ресурс]. - Режим доступа: https: // en. wikipedia.org/wiki/Constant-Q_transform <https://en.wikipedia.org/wiki/Constant-Q_transform>

.        Вейвлет-преобразование. [Электронный ресурс]. - Режим доступа: https: // ru. wikipedia.org/wiki/Вейвлет-преобразование <https://ru.wikipedia.org/wiki/%D0%92%D0%B5%D0%B9%D0%B2%D0%BB%D0%B5%D1%82-%D0%BF%D1%80%D0%B5%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5>

.        Анализ математических основ получения спектральных характеристик звуковых сигналов / А.И. Каберов // Science Time. 2014. № 4. С.116-122.

.        Способ и алгоритмы поиска аудиодокументов по их содержанию / А.И. Каберов, С.Ю. Ржеуцкая // Информатизация процессов формирования открытых систем на основе СУБД, САПР, АСНИ и систем искусственного интеллекта: сб. тр. науч. - практич. Конф. - Вологда, 2015г. С.63-66.

.        Особенности реализации поиска по сходству в электронных музыкальных коллекциях / А.И. Каберов // Science Time. 2014. № 4. С.123-125.

.        D. Griffin and J. Lim, “Signal estimation from modified short-time fourier transform,” Acoustics, Speech and Signal Processing, IEEE Transactions on, vol.32, no.2, pp.236 - 243, 1984.

.        Свёрточная нейронная сеть. [Электронный ресурс]. - Режим доступа: https: // ru. wikipedia.org/wiki/Свёрточная_нейронная_сеть <https://ru.wikipedia.org/wiki/%D0%A1%D0%B2%D1%91%D1%80%D1%82%D0%BE%D1%87%D0%BD%D0%B0%D1%8F_%D0%BD%D0%B5%D0%B9%D1%80%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B5%D1%82%D1%8C>

.        Texture Synthesis Using Shallow Convolutional Networks with Random Filters. [Электронный ресурс]. - Режим доступа: https: // arxiv.org/abs/1606.00021 <https://arxiv.org/abs/1606.00021>

.        Visualizing and Understanding Convolutional Networks. [Электронный ресурс]. - Режим доступа: https: // arxiv.org/pdf/1311.2901v3. pdf <https://arxiv.org/pdf/1311.2901v3.pdf>

.        Deep Inside Convolutional Networks: Visualising Image Classification Models and Saliency Maps. [Электронный ресурс]. - Режим доступа: https: // arxiv.org/pdf/1312.6034. pdf <https://arxiv.org/pdf/1312.6034.pdf>

.        Striving for Simplicity: The All Convolutional Net. [Электронный ресурс]. - Режим доступа: https: // arxiv.org/pdf/1412.6806v3. pdf <https://arxiv.org/pdf/1412.6806v3.pdf>

.        A Neural Algorithm of Artistic Style. [Электронный ресурс]. - Режим доступа: https: // arxiv.org/pdf/1508.06576v2. pdf <https://arxiv.org/pdf/1508.06576v2.pdf>

.        TensorFlow: Open source machine learning. [Электронный ресурс]. - Режим доступа: https: // www.youtube.com/watch? v=oZikw5k_2FM <https://www.youtube.com/watch?v=oZikw5k_2FM>

Похожие работы на - Разработка и реализация алгоритмов генерации стилизованных аудио произведений

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!