Введение 3
Постановка задачи 7
Обзор литературы 11
Глава 1. Подготовка данных 13
1.1. Наборы данных 13
1.2. Скачивание данных 15
Глава 2. Характеристики аудио 18
2.1. Характеристики, связанные со временем 18
2.2. Спектральные характеристики 20
2.3. Извлечение характеристик 25
Глава 3. Классификация 30
3.1. Предыдущие результаты 30
3.2. Используемые методы 31
3.3. Data Augmentation 32
3.4. Batch Normalization 34
3.5. Dropout 35
3.6. Transfer Learning 35
3.7. Архитектура сети 36
Глава 4. Тестирование и результаты 40
Заключение 45
Список литературы 47
Современные методы обработки информации сделали большой шаг вперёд в различных задачах обработки и анализа данных. В этом постоянно возрастающем объёме цифровой информации особую роль играет аудио, так как около 20% информации человек получает через слух [1]. Существует огромное количество различных стриминговых платформ и сервисов, которые предоставляют доступ к мультимедийному контенту в разных формах.
Всё это привело к тому, что появляется необходимость в разработке различных методов и систем для автоматического анализа такого контента. Новые техники и подходы помогают решать большой спектр задач: распознавание речи, поиск информации на основе аудиофайлов, мультимодальный анализ, классификация аудиофайлов, сегментация, распознавание событий для систем безопасности и автоматизации процессов и т.д.
Ранние работы на тему извлечения музыкальной информации использовали символьные представления или нотации, такие как MIDI файлы [2]. С символьными представлениями было довольно легко работать, так как они не требуют высоких производительных мощностей. Это привело к разработке инструментов для синтаксического анализа таких представлений. Монофонические и полифонические транскрипции помогали работать с аудио, используя анализ символьных представлений. Однако распространяемая цифровым путём музыка в основном имеют форму неструктурированных аудиофайлов.
Различные исследования показали, что слушатели обращают внимание не на отдельные ноты, а на другие аспекты звука, которые пропадают из поля зрения автоматических систем, делающих упор на музыкальную теорию [3]. Ни одна из систем, использующих монофонические и полифонические транскрипции, не была достаточно успешной для работы с сигналами реального мира.
Развивающаяся междисциплинарная наука извлечения информации из аудио объединила различные области: информатику, машинное обучение, обработку сигналов, психологию, психоакустику. Дисциплина имеет множество практических приложений для категоризации, манипуляции и даже для генерации новой информации.
Методы, которые основываются на семантическом сходстве экземпляров, используются для создания рекомендательных систем [4]. Раннее такие системы основывались только на метаданных - информации об исполнителе, жанре, годе выпуска и т.д. Другой подход использовал информацию о прослушиваниях других пользователей и делал предложения, основываясь на соответствующих коллекциях. Современные системы позволяют взглянуть на внутреннюю структуру сигнала и анализируют непосредственно характеристики аудио.
Извлечённые характеристики помогают решить задачу сепарации трека без доступа к изначальной студийной версии. Соответствующие программы, могут распознать и разделить трек на отдельные инструменты. Таким образом создаются караоке версии музыкальных композиций, однако качество не всегда бывает идеальным, потому что диапазон частот вокала находится внутри диапазонов некоторых других инструментов.
Часть приложений делает упор на автоматической транскрипции музыки, то есть процесса приведения аудиозаписи к символьной нотации. Результатом работы таких программ могут быть данные о ритме, мелодии, гармоническая информация и конечные MIDI файлы. Эта задача усложняется при увеличении количества инструментов в миксе и высокой полифонии в случаях, когда независимые мелодии накладываются друг на друга.
Помимо этого, проводится большое количество исследований в области автоматической генерации аудио. Также, как и с автоматическим созданием изображений разработанные алгоритмы имеют ограниченный успех с точки зрения человеческого восприятия и оценки результата. Например, в 2019 году в день рождения немецкого композитора Иоганна Себастьяна Баха компания Google выпустила интерактивный Doodle. Пользователи могли выбрать ноты, которые использовались для составления композиции в стиле известного композитора. Модель обучалась на наборе из 306 композиций Иоганна Себастьяна Баха, составляя закономерности при помощи алгоритмов машинного обучения [5].
Область машинного обучения, связанная с использованием глубоких нейросетей, проникает во все сферы. На примере набора данных MNIST (Modified National Institute of Standards and Technology database) для классификации рукописных цифр появляются аналогичные наборы аудиоданных для анализа произнесённых цифр и пола говорящего [6, 7].
Данная работа фокусируется на решении задачи классификации аудио событий. В отличии от классификации музыки, совокупность классов событий не ограничивается жанрами, инструментами, а принимает во внимание и аудиозаписи с другим содержанием. Множество классов, которое рассматривается в работе, варьируется от звуков природы и животных до звуков городской среды. Некоторые из таких классов имеют большой интерес в области безопасности. Например, своевременное распознавание звуков стрельбы или шума разбившегося стекла может помочь соответствующим службам вовремя отреагировать на экстренную ситуацию.
В современном мире системы безопасности можно встретить повсюду. Некоторые из таких систем имеют возможность записывать не только видео, но и аудио. Аудиосигнал после обработки может нести информацию, которая будет помогать работе “умного дома”.
Распознаванию звуковых событий уделяется немалый интерес в последние годы. Появляются приложения, которые решают задачи мониторинга в области здравоохранения, анализа городских звуков и даже отслеживания популяции птиц [8, 9].
Постановка задачи
Возрастающее количество и доступность аудиоданных привели к появлению автоматических систем, которые их анализируют. Целями квалификационной работы являются
• Разработка и проверка работоспособности алгоритма для классификации аудиоинформации. Созданный алгоритм должен автоматически присваивать любой аудиозаписи один или несколько заранее заданных классов.
Для достижения этих целей были поставлены следующие задачи:
1. Поиск репрезентативного набора данных.
2. Извлечение характеристик аудиофайлов.
3. Применение и сравнение алгоритмов классификации.
4. Перенос знаний модели, обученной на большом наборе данных.
Самый первый шаг в работе очень важен, потому что от правильного выбора набора данных напрямую зависит результат работы алгоритмов. В рамках работы необходимо рассмотреть наборы данных с хорошей выборкой классов городских звуков.
Аудио может хранится во многих форматах, которые имеют различное предназначение. Данные форматы представления звуковых данных хранят информацию о частоте и амплитуде звука. Они отличаются друг от друга степенью сжатия и направленностью на профессиональное или бюджетное звуковоспроизводящее оборудование.
Существует три основных формата аудиофайлов:
• Форматы без сжатия, WAV, AIFF, RAW.
• Форматы со сжатием без потерь, FLAC, M4A.
• Форматы со сжатием звука с потерями, MP3, AAC.
Несмотря на то, что MP3 является очень популярным форматом и используется повсеместно в файлообменных сетях, принцип сжатия значительно снижает точность частей звукового потока, которые считаются трудноразличимыми для человеческого уха. Психоакустическая модель позволяет корректировать степень сжатия в зависимости от пределов восприятия звука. Считается, что нижний предел восприятия равен 16 Гц, а верхний предел - 20000 Гц. От уровня звукового давления, который измеряется в децибелах (дБ), и частоты зависит абсолютный порог слышимости [10].
Звукозаписывающие устройства способны захватывать аудио за пределами порога слышимости человека, что позволяет использовать дополнительную информацию в исследовании.
В данной работе используются аудиофайлы в формате WAV, который был разработан Microsoft и IBM в 1991 году. WAV файлы являются одним из примеров контейнерного формата RIFF (Resource Interchange File Format). Аудиофайлы в формате WAV хранят аудио со сжатием и без сжатия, хотя наиболее распространённой является оцифровка без сжатия с использованием импульсно-кодовой модуляции (pulse code modulation, PCM).
Линейная импульсно-кодовая модуляция (linear pulse code modulation, LPCM) широко используется в цифровой звукозаписи. Например, WAV, MP3, FLAC и другие форматы используют импульсно-кодовую модуляцию во время преобразования аналогового сигнала с компакт-диска в цифровой. Частота дискретизации таких файлов - 44100 Гц с 16 битами на семпл. В
профессиональной звукозаписи формат WAV с LPCM используется для достижения высокого качества аудио.
С форматом WAV работает большинство устройств, также файлы в данном формате довольно легко редактировать и обрабатывать с помощью специального программного обеспечения.
Исходные данные исследования - это набор одноканальных аудиофайлов, приведённых к формату WAV. Каждому аудиофайлу ставится в соответствие вектор у, который хранит информацию о классах звуковых событий, присутствующих в записи.
Звуковое событие - это класс или метка, которая отвечает на вопрос, что происходит на аудиозаписи. Звуковые события помогают понять и описать структуру аудио, соответствующей сцены (улица, небольшая комната). Например, оживлённая улица может содержать следующие звуковые события: звук проезжающих автомобилей и гудков, шаги и речь людей. Каждое звуковое событие можно описать с различной степенью информативности. Класс “музыка” может содержать большое количество подклассов, описывающих жанр, конкретный инструмент или даже часть мира, где можно услышать определённое звуковое событие. Класс “речь” может дополнительно описывать говорящего с помощью подклассов “мужской голос”, “женский голос” и т. д.
Изначальный набор аудиосигналов используется для извлечения характеристик. Характеристики аудиофайла могут быть связаны со временем, частотой или темпом. После объединения характеристик для каждого экземпляра получается вектор х, который содержит численную информацию и может использоваться как входной вектор для классификаторов и нейросетей.
Задачу классификации можно постепенно усложнять и переходить от бинарной классификации к мультиклассификации. Для решения первой задачи необходимо разделить набор данных на два класса, например, звуковые события, которые связаны с человеческой речью и другие. Далее в модель добавляются новые классы, и каждый аудиофайл может содержать несколько меток событий, что существенно усложняет задачу.
В данной работе должны быть рассмотрены популярные алгоритмы классификации. Получившиеся модели сравниваются между собой. Веса этих моделей можно использовать, как начальные веса для других наборов данных.
Конечная модель должна классифицировать поступающий аудиосигнал в режиме реального времени. Результатом работы программы является вектор предсказанных моделью классов. В выборе лучшего метода должна будет учитываться точность и время работы алгоритма.
В ходе работы удалось выполнить поставленные задачи. Были реализованы алгоритмы скачивания данных, извлечения характеристик. Помимо этого, были найдены решения для увеличения объёма выборки для небольших наборов данных.
Полученные модели, основанные на нейросетях, способны классифицировать широкий спектр звуковых событий. Они не уступают по показателям ранее разработанным алгоритмам на основе методов k-ближайших соседей и опорных векторов.
Модели, обученные на большом наборе AudioSet, неплохо показали себя для расширенного набора Urban Sound Classification. Предыдущие работы достигали 74% точности, предварительно обученным VGG моделям удалось улучшить этот результат, доведя точность до 85%.
Можно отметить, что увеличение количества скрытых слоёв в VGG- подобных моделях повышает точность лишь на небольшие значения. Возможно, стоит обратить внимание на более простые модели с меньшим количеством параметров, потому что для некоторых задач увеличение вычислительной сложности только повышает время обучения.
Классификация аудиозаписей происходит со скоростью, достаточной для работы в реальном времени. Следующими шагами в исследовании будут внедрение автоматического захвата аудио и одновременного анализа аудиопотока, что позволит классифицировать звуковые события, захваченные микрофоном на любом устройстве.
Реализованные классификаторы могут быть использованы в различных областях. Они могут помочь заранее оповестить службы об экстренной ситуации, либо о состоянии пациента, который проходит мониторинг. Некоторые приложение даже включают в себя отслеживание миграции животных на основе звукового анализа.
Кроме того, подобные сети можно использовать для автоматической генерации новых аудиозаписей. Большой интерес составляет применение вариационных автоэнкодеров и генеративно-состязательных сетей в области музыки.
Вероятно, новейшие алгоритмы, основанные на остаточном обучении, и более тонкая настройка параметров смогут значительно повысить эффективность решения задач классификации и анализа аудиоданных.
1. Dale E. Audio-Visual Methods in Teaching, 3rd ed., Holt, Rinehart & Winston, New York, 1969, P. 108.
2. Tzanetakis G., Cook P. Audio Information Retrieval (AIR) Tools. 2002.
3. Martin K., Scheirer E., Vercoe B. Musical content analysis through models of audition. In Proc. ACM Multimedia Workshop on Content-Based Processing of Music, Bristol, UK, 1998.
4. Chen H., Chen A.L.P. A Music Recommendation System Based on Music and User Grouping. J Intell Inf Syst 24, 113-132 (2005).
5. День Иоганна Себастьяна Баха.
https://www.google.com/doodles/celebrating-johann-sebastian-bach
6. LeCun Y., Cortes C., Burges CJ. MNIST handwritten digit database. // ATT Labs. Vol. 2. 2010.
7. Free Spoken Digit Dataset (FSDD). https://github.com/Jakobovski/free-spoken- digit-dataset
8. Goetze S., Schroder J., Gerlach S., Hollosi D., Appell J.-E., Wallhoff F. Acoustic monitoring and localization for social care // Journal of Computing Science and Engineering, vol. 6, no. 1, pp. 40-50.
9. 2012.Stowell D., Clayton D. Acoustic event detection for multiple overlapping similar sources // 2015 IEEE Workshop on Applications of Signal Processing to Audio and Acoustics (WASPAA), 2015, pp. 1-5.
10. Jayant N., Johnston J., Safranek R. // "Signal Compression Based on Models of Human Perception". Proceedings of the IEEE. 81 (10): 1385-1422. (October 1993).
11. Cakir E., Parascandolo G., Heittola T., Huttunen H., Virtanen T. Convolutional Recurrent Neural Networks for Polyphonic Sound Event Detection. 2017.
12. Giannakopoulos T. pyAudioAnalysis: An Open-Source Python Library for Audio Signal Analysis. 2015.
13. Defferrard M., Benzi K., Vandergheynst P., Bresson X. FMA: A dataset for music analysis. 2017.
14. Bertin-Mahieux T., Ellis D., Whitman B., Lamere P. The Million Song Dataset // Proceedings of the 12th International Conference on Music Information Retrieval (ISMIR). 2011.
15. Nagrani A., Chung J.S., Zisserman A. VoxCeleb: a large-scale speaker identification dataset // INTERSPEECH. 2017.
16. Baumann T., Kohn A., Hennig F. The Spoken Wikipedia Corpus collection: Harvesting, alignment and an application to hyperlistening // Language Resources and Evaluation. 2018.
17. Gemmeke J., Ellis D., Freedman D., Jansen A., Lawrence W., Moore R.C., Plakal M., Ritter M. Audio Set: An ontology and human-labeled dataset for audio events // Proc. IEEE ICASSP. 2017.
18. Salamon J., Jacoby C., Bello J. P. A Dataset and Taxonomy for Urban Sound Research // 22nd ACM International Conference on Multimedia. 2014.
19. pytube3 9.6.4 documentation. https://python-pytube.readthedocs.io/en/latest/
20. FFMpeg. https://ffmpeg.org/
21. scikit-learn: machine learning in Python. https://scikit-learn.org/stable/
22. NumPy. https://numpy.org/
23. Librosa. https://librosa.github.io/
24. Ioffe S., Szegedy C. Batch normalization: Accelerating deep network training by reducing internal covariate shift // Proceedings of Machine Learning Research, vol. 37. PMLR, 07-09 Jul 2015, pp. 448-456.
25. Santurkar S., Tsipras D., Ilyas A., Madry A. How does batch normalization help optimization? // Curran Associates, Inc., 2018, pp. 2483-2493.
26. G. E. Hinton, N. Srivastava, A. Krizhevsky, I. Sutskever, and R. Salakhutdinov. Improving neural networks by preventing co-adaptation of feature detectors // CoRR, vol. abs/1207.0580, 2012.
27. PyTorch. https://pytorch.org/
28. K. Song and Y. Yan. A noise robust method based on completed local binary patterns for hot-rolled steel strip surface defects // Applied Surface Science, vol. 285, pp. 858 - 864, 2013.
29. K. Simonyan and A. Zisserman. Very deep convolutional networks for large- scale image recognition // CoRR, vol. abs/1409.1556, 2014.
30. D. P. Kingma and J. Ba, “Adam: A method for stochastic optimization,” 2014.
31. Google Colaboratory. https://colab.research.google.com/