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

Набор данных, использованный для исследования: http://neuron.arts.ryerson.ca/ravdess/?f=3, http://kahlan.eps.surrey.ac.uk/savee/Download.html.

Мы выбрали zip-файл только со звуком, потому что мы имеем дело с нахождением эмоций в речи. ZIP-файл содержал около 1500 аудиофайлов в формате wave. Второй сайт содержит около 500 аудио-выступлений четырех разных актеров с разными эмоциями.

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

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

1. Спокойствие 2. Счастье 3. Печаль 4. Злоба 5. Страх

Мы использовали библиотеку Librosa на Python для обработки и извлечения функций из аудиофайлов. Librosa - это пакет Python для анализа музыки и аудио. Он предоставляет строительные блоки, необходимые для создания систем поиска музыкальной информации. Используя библиотеку librosa, мы смогли извлечь функции, например, MFCC (Mel Frequency Cepstral Coefficient). MFCC - это функция, широко используемая в автоматическом распознавании речи и говорящего. Мы также разделили женский и мужской голос с помощью идентификаторов, представленных на веб-сайте. Это произошло потому, что в качестве эксперимента мы выяснили, что разделение мужских и женских голосов увеличилось на 15%. Это могло быть из-за того, что высота голоса влияла на результаты.

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

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

Следующие шаги включают перетасовку данных, разделение на обучение и тестирование, а затем построение модели для обучения наших данных. скоро добавлю код

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

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