/ Модель

Характеристики

Параметры
403 млн
Лицензия
Apache 2.0
Архитектура
wav2vec2 · dense
Опубликована
22 сен 2022

wav2vec-english-speech-emotion-recognition

Распознавание речиАудио → текст3 профессии

Дообученная модель Wav2Vec 2.0 классифицирует английскую речь по семи эмоциональным категориям.

4 141скачиваний за 30 дней41лайквеса обновлены2 янв 2025

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Распознавание речи» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

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

Публичные оценки

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

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

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Модель r-f/wav2vec-english-speech-emotion-recognition разработана на основе jonatasgrosman/wav2vec2-large-xlsr-53-english и дообучена для распознавания эмоций в речи. Это модель семейства Wav2Vec 2.0 с архитектурой Wav2Vec2ForCTC, содержащая 402,7 млн параметров и работающая с аудиовходом.

Модель классифицирует речь по семи категориям: гнев, отвращение, страх, радость, нейтральное состояние, грусть и удивление. При дообучении использованы наборы SAVEE, RAVDESS и TESS; в README сообщается точность 0,97463 на оценочном наборе. Модель предназначена для анализа эмоциональной окраски английской речи, например в записях разговоров или голосовых материалах.

В метаданных задача обозначена как automatic-speech-recognition, однако описание и список меток в README указывают на классификацию эмоций, а не транскрибирование речи; поэтому этот тег приведён как задача каталога, но не следует считать подтверждением распознавания текста. Модель распространяется по лицензии Apache-2.0.

Сценарии применения

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

Ограничения

Модель обучена на эмоциональной речи актёров из SAVEE, RAVDESS и TESS, поэтому качество на спонтанной речи и других условиях записи не установлено. Заявленная точность относится к оценочному набору из README и не гарантирует аналогичный результат в реальных сценариях.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Speech Emotion Recognition By Fine-Tuning Wav2Vec 2.0

The model is a fine-tuned version of jonatasgrosman/wav2vec2-large-xlsr-53-english for a Speech Emotion Recognition (SER) task.

Several datasets were used the fine-tune the original model:

  • Surrey Audio-Visual Expressed Emotion (SAVEE) - 480 audio files from 4 male actors
  • Ryerson Audio-Visual Database of Emotional Speech and Song (RAVDESS) - 1440 audio files from 24 professional actors (12 female, 12 male)
  • Toronto emotional speech set (TESS) - 2800 audio files from 2 female actors

7 labels/emotions were used as classification labels

emotions = ['angry' 'disgust' 'fear' 'happy' 'neutral' 'sad' 'surprise']

It achieves the following results on the evaluation set:

  • Loss: 0.104075
  • Accuracy: 0.97463

Model Usage

pip install transformers librosa torch
from transformers import *
import librosa
import torch

feature_extractor = Wav2Vec2FeatureExtractor.from_pretrained("r-f/wav2vec-english-speech-emotion-recognition")
model = Wav2Vec2ForCTC.from_pretrained("r-f/wav2vec-english-speech-emotion-recognition")

def predict_emotion(audio_path):
    audio, rate = librosa.load(audio_path, sr=16000)
    inputs = feature_extractor(audio, sampling_rate=rate, return_tensors="pt", padding=True)
    
    with torch.no_grad():
        outputs = model(inputs.input_values)
        predictions = torch.nn.functional.softmax(outputs.logits.mean(dim=1), dim=-1)  # Average over sequence length
        predicted_label = torch.argmax(predictions, dim=-1)
        emotion = model.config.id2label[predicted_label.item()]
    return emotion

emotion = predict_emotion("example_audio.wav")
print(f"Predicted emotion: {emotion}")
>> Predicted emotion: angry

Training procedure

Training hyperparameters

The following hyperparameters were used during training:

  • learning_rate: 0.0001
  • train_batch_size: 4
  • eval_batch_size: 4
  • eval_steps: 500
  • seed: 42
  • gradient_accumulation_steps: 2
  • optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
  • num_epochs: 4
  • max_steps=7500
  • save_steps: 1500

Training results

StepTraining LossValidation LossAccuracy
5001.81241.3652120.486258
10000.88720.7731450.79704
15000.70350.5749540.852008
20000.68791.2867380.775899
25000.64980.6974550.832981
30000.56960.337240.892178
35000.42180.3070720.911205
40000.30880.3744430.930233
45000.26880.2604440.936575
50000.29730.3029850.92389
55000.17650.1654390.961945
60000.14750.1701990.961945
65000.12740.155310.966173
70000.06990.1038820.976744
75000.0830.1040750.97463

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм

Можно запустить

Подбираем GPU…

Класс архитектуры
Wav2Vec2ForCTC
Ревизия весов
2c59b3f

0 моделей