/ Модель

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

Параметры
113 млн
Архитектура
hubert · dense
Опубликована
2 мар 2022

Hubert_emotion

Классификация аудиоАудио → label3 профессии

Модель HuBERT классифицирует эмоции в аудиозаписях и возвращает метки с оценками уверенности.

50скачиваний за 30 дней33лайкавеса обновлены19 ноя 2022

Бенчмарки

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

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

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

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

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

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

Rajaram1996/Hubert_emotion — модель классификации аудио на базе HuBERT, предназначенная для определения эмоций по локальным аудиозаписям. В примере карточки она присваивает записи эмоциональные метки, например male_sad и male_fear, с оценками уверенности. Модель содержит 113,3 млн параметров и опубликована в формате PyTorch.

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

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

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

Ограничения

В README приведён только пример с метками мужской грусти и страха; полный список классов и качество на разных типах аудио не описаны. Лицензия в доступных данных не указана.

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

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

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

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

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

Открыть на Hugging Face

Working example of using pretrained model to predict emotion in local audio file


def predict_emotion_hubert(audio_file):
    """ inspired by an example from https://github.com/m3hrdadfi/soxan """
    from audio_models import HubertForSpeechClassification
    from transformers import  Wav2Vec2FeatureExtractor, AutoConfig
    import torch.nn.functional as F
    import torch
    import numpy as np
    from pydub import AudioSegment

    model = HubertForSpeechClassification.from_pretrained("Rajaram1996/Hubert_emotion") # Downloading: 362M
    feature_extractor = Wav2Vec2FeatureExtractor.from_pretrained("facebook/hubert-base-ls960")
    sampling_rate=16000 # defined by the model; must convert mp3 to this rate.
    config = AutoConfig.from_pretrained("Rajaram1996/Hubert_emotion")

    def speech_file_to_array(path, sampling_rate):
        # using torchaudio...
        # speech_array, _sampling_rate = torchaudio.load(path)
        # resampler = torchaudio.transforms.Resample(_sampling_rate, sampling_rate)
        # speech = resampler(speech_array).squeeze().numpy()
        sound = AudioSegment.from_file(path)
        sound = sound.set_frame_rate(sampling_rate)
        sound_array = np.array(sound.get_array_of_samples())
        return sound_array

    sound_array = speech_file_to_array(audio_file, sampling_rate)
    inputs = feature_extractor(sound_array, sampling_rate=sampling_rate, return_tensors="pt", padding=True)
    inputs = {key: inputs[key].to("cpu").float() for key in inputs}

    with torch.no_grad():
        logits = model(**inputs).logits

    scores = F.softmax(logits, dim=1).detach().cpu().numpy()[0]
    outputs = [{
        "emo": config.id2label[i],
        "score": round(score * 100, 1)}
        for i, score in enumerate(scores)
    ]
    return [row for row in sorted(outputs, key=lambda x:x["score"], reverse=True) if row['score'] != '0.0%'][:2]

result = predict_emotion_hubert("male-crying.mp3")
>>> result
[{'emo': 'male_sad', 'score': 91.0}, {'emo': 'male_fear', 'score': 4.8}]

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

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

GPU в ailist

Универсальный рантайм · audio-classification

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

Подбираем GPU…

Класс архитектуры
HubertForSpeechClassification
Ревизия весов
81e08bf

0 моделей