Downloads · 30 days
93
100% of all-time downloads
cris-cmd/michi-audio-affect
michi-audio-affect is a audio classification model from cris-cmd. Use it for the audio classification task on the model card, and read the license before you ship it in a product. It is set up for transformers.js. The card lists the license as apache-2.0.
An English speech-emotion classifier built for the fast listener in Michi. It classifies 16 kHz mono speech into six coarse vocal-tone labels:
Downloads · 30 days
93
100% of all-time downloads
All-time downloads
93
Public
Repo size
123 MB
Likes
1
Public
Click a slice to open those files.
.onnx123 MB · 100%
From the Hugging Face model README
An English speech-emotion classifier built for the fast listener in Michi. It classifies 16 kHz mono speech into six coarse vocal-tone labels:
| Label | Meaning |
|---|---|
ang | anger |
dis | disgust |
fea | fear |
hap | happiness |
neu | neutral |
sad | sadness |
The repository contains the quantized ONNX runtime artifact. It does not contain training audio.
This model is intended as a low-latency, secondary signal for conversational presentation. Michi combines its output with text emotion and deterministic rules; the model never changes plans, prices, reservations, or other application state.
Do not use it to diagnose mental health, infer stable personal traits, make high-impact decisions, or treat a predicted emotion as a fact about a person.
facebook/wav2vec2-base, frozen at revision 0b5b8e8myleslinder/crema-d, revision 8a11ae8Wav2Vec2ForSequenceClassification → ONNX → dynamic int8 quantizationThe dependency- and revision-pinned build recipe is in scripts/train-audio-affect-head.py in the Michi repository. It is intended to be repeatable, but does not promise bit-for-bit identical artifacts across operating systems and hardware.
The logistic-regression head reached 78.2% accuracy across six classes on an actor-disjoint validation split. The same validation split selected the best of 13 encoder layers, so this is a model-selection result rather than an estimate from an untouched test set. The score was calculated before ONNX export; the quantized artifact has runtime behavior checks, but has not been evaluated over the complete validation split.
| Class | Recall |
|---|---|
| anger | 95.5% |
| disgust | 77.7% |
| fear | 63.4% |
| happiness | 73.2% |
| neutral | 93.8% |
| sadness | 67.9% |
The pre-export confusion matrix, validation actor IDs, and source revisions are in TRAINING_REPORT.json.
import { pipeline } from "@huggingface/transformers";
const classify = await pipeline(
"audio-classification",
"cris-cmd/michi-audio-affect",
{ dtype: "q8" },
);
// Float32Array containing mono, 16 kHz PCM samples.
const scores = await classify(audio, { top_k: null });
Michi pins a downloaded copy under models/affect/michi-audio-affect so it can run without a model-host request during a conversation.
The exported model is released under Apache-2.0. The base encoder is Apache-2.0. CREMA-D is distributed under the Open Database License, with individual contents covered by the Database Contents License. Users are responsible for complying with the source dataset terms.
CREMA-D citation:
@article{cao2014crema,
title={CREMA-D: Crowd-sourced Emotional Multimodal Actors Dataset},
author={Cao, Houwei and Cooper, David G. and Keutmann, Michael K. and Gur, Ruben C. and Nenkova, Ani and Verma, Ragini},
journal={IEEE Transactions on Affective Computing},
volume={5},
number={4},
pages={377--390},
year={2014},
doi={10.1109/TAFFC.2014.2336244}
}