AI SeedbankHelp preserve open and free AI for humanity's future

← All models

audeering_wav2vec2-large-robust-12-ft-emotion-msp-dim

audeering · View on Hugging Face ↗

Get this model

Download TorrentMagnet Link

Seeders: · Leechers:

Model card

The complete upstream card, rendered from this payload's README.md — the same hash-verified bytes the torrent distributes. Images and off-site links are removed; the original card on Hugging Face carries them.


language: en datasets:

  • msp-podcast inference: true tags:
  • speech
  • audio
  • wav2vec2
  • audio-classification
  • emotion-recognition license: cc-by-nc-sa-4.0 pipeline_tag: audio-classification

Model for Dimensional Speech Emotion Recognition based on Wav2vec 2.0

Please note that this model is for research purpose only. A commercial license for a model that has been trained on much more data can be acquired with audEERING. The model expects a raw audio signal as input, and outputs predictions for arousal, dominance and valence in a range of approximately 0...1. In addition, it provides the pooled states of the last transformer layer. The model was created by fine-tuning Wav2Vec2-Large-Robust on MSP-Podcast (v1.7). The model was pruned from 24 to 12 transformer layers before fine-tuning. An ONNX export of the model is available from doi:10.5281/zenodo.6221127. Further details are given in the associated paper and tutorial.

Usage

import numpy as np
import torch
import torch.nn as nn
from transformers import Wav2Vec2Processor
from transformers.models.wav2vec2.modeling_wav2vec2 import (
    Wav2Vec2Model,
    Wav2Vec2PreTrainedModel,
)


class RegressionHead(nn.Module):
    r"""Classification head."""

    def __init__(self, config):

        super().__init__()

        self.dense = nn.Linear(config.hidden_size, config.hidden_size)
        self.dropout = nn.Dropout(config.final_dropout)
        self.out_proj = nn.Linear(config.hidden_size, config.num_labels)

    def forward(self, features, **kwargs):

        x = features
        x = self.dropout(x)
        x = self.dense(x)
        x = torch.tanh(x)
        x = self.dropout(x)
        x = self.out_proj(x)

        return x


class EmotionModel(Wav2Vec2PreTrainedModel):
    r"""Speech emotion classifier."""

    def __init__(self, config):

        super().__init__(config)

        self.config = config
        self.wav2vec2 = Wav2Vec2Model(config)
        self.classifier = RegressionHead(config)
        self.init_weights()

    def forward(
            self,
            input_values,
    ):

        outputs = self.wav2vec2(input_values)
        hidden_states = outputs[0]
        hidden_states = torch.mean(hidden_states, dim=1)
        logits = self.classifier(hidden_states)

        return hidden_states, logits



# load model from hub
device = 'cpu'
model_name = 'audeering/wav2vec2-large-robust-12-ft-emotion-msp-dim'
processor = Wav2Vec2Processor.from_pretrained(model_name)
model = EmotionModel.from_pretrained(model_name).to(device)

# dummy signal
sampling_rate = 16000
signal = np.zeros((1, sampling_rate), dtype=np.float32)


def process_func(
    x: np.ndarray,
    sampling_rate: int,
    embeddings: bool = False,
) -> np.ndarray:
    r"""Predict emotions or extract embeddings from raw audio signal."""

    # run through processor to normalize signal
    # always returns a batch, so we just get the first entry
    # then we put it on the device
    y = processor(x, sampling_rate=sampling_rate)
    y = y['input_values'][0]
    y = y.reshape(1, -1)
    y = torch.from_numpy(y).to(device)

    # run through model
    with torch.no_grad():
        y = model(y)[0 if embeddings else 1]

    # convert to numpy
    y = y.detach().cpu().numpy()

    return y


print(process_func(signal, sampling_rate))
#  Arousal    dominance valence
# [[0.5460754  0.6062266  0.40431657]]

print(process_func(signal, sampling_rate, embeddings=True))
# Pooled hidden states of last transformer layer
# [[-0.00752167  0.0065819  -0.00746342 ...  0.00663632  0.00848748
#    0.00599211]]

Magnet link

Opens the swarm directly in your torrent client — no file download needed. Copy-paste works too:

magnet:?xt=urn:btih:75ac775e3a3df9efb6802bac20dbf784347df13b&dn=audeering_wav2vec2-large-robust-12-ft-emotion-msp-dim

Open magnet in torrent client · infohash 75ac775e3a3df9efb6802bac20dbf784347df13b

Files & hashes

PathSizesha1sha256
LICENSE20.4 KB (20,850 B)7cdbe0b482f604a06a0988dad8877ae8d9257f7de66c269d4819aaab34b49ef5220c4ddab6756f21bb5180761a4eb8561f2b7bbd
README.md3.8 KB (3,913 B)c344aaa927989b261a8beeaefe59a93d1e1a18325fe5eb9afb24ab938fb3facf0eebe64a0f8a8628eb93fd772ba5c7120a45365d
config.json2.3 KB (2,344 B)a9596a6e736ce7ddf629657e6b22c1a3756a554dc0962c3d1f065972bbebbba0bbffb8016ef4e9aae4a9b07e5fec22f770d2cddb
model.safetensors630.7 MB (661,375,508 B)cabeef4c249227d951a52adc34ae261a1ac3b282efa5ac1a13b2d2f42182738e44794b1eb4c0cdd221a8b4ae11304c3a5f5fae95
preprocessor_config.json214 B (214 B)73caa151574001d3d495fae897e1d3896824971260ca5a31e13f69ee2fbf147504c8676db5f6398fd7a6b12294341dff838edfcf
pytorch_model.bin630.8 MB (661,436,013 B)b5b6bdfd40d11293524c3f26130f2a3ea706d025176d9d1ce29a8bddbab44068b9c1c194c51624c7f1812905e01355da58b18816
vocab.json2 B (2 B)9e26dfeeb6e641a33dae4961196235bdb965b21b44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a

Cite this release

Canonical URL
https://aiseedbank.org/models/audeering_wav2vec2-large-robust-12-ft-emotion-msp-dim/
Slug
audeering_wav2vec2-large-robust-12-ft-emotion-msp-dim
Infohash
75ac775e3a3df9efb6802bac20dbf784347df13b
License
cc-by-nc-sa-4.0
Signing key fingerprint
85a3b32c3712427b

Every file carries a locally computed sha256 — verify a download against the signed sums: audeering_wav2vec2-large-robust-12-ft-emotion-msp-dim.SHA256SUMS (+ minisign signature).

Provenance

Upstream repositoryaudeering/wav2vec2-large-robust-12-ft-emotion-msp-dim
Revision (pinned)6eba34a2485ea31cb03600241787c3a5edab8626
Fetched at2026-09-03T20:58:09Z
License at fetchcc-by-nc-sa-4.0
Snapshot toolhuggingface · seedbank 0.1.0

Trackers

✓ verified · rehash-vs-hf-metadata at 2026-09-03T20:58:23Z

cc-by-nc-sa-4.0non-commercial use only1.23 GB (1,322,838,844 bytes)transformerspytorchsafetensorswav2vec2speechaudioaudio-classificationemotion-recognitionendpoints_compatible1 language (en)paper: 2203.07378