Views
No views yet
| Model | UA% | WA% | F1% | WF1% | Data |
|---|---|---|---|---|---|
| Ours (Frozen + MLP) | 16.3 | 25.4 | 14.2 | 21.9 | 500 synthetic (11Labs) |
| Ours (LoRA + MLP) | - | - | - | - | end-to-end |
| SenseVoice-S | 70.5 | 65.7 | 67.9 | 67.8 | zero-shot |
| emotion2vec+ large | ~80 | ~80 | - | - | IEMOCAP |
Tested on 477/1004 IEMOCAP test samples (4-class: neutral, happy, sad, angry). Our model trained only on synthetic ElevenLabs clips - low score is expected. Models marked ✅ were fine-tuned on IEMOCAP.
audio_tower() + mean poolingpython finetune_lora.pyemotion_head_lora_best.pt + LoRA adapter in lora_adapter/python benchmark_lora.pybash setup.shpython extract_features.pyfeatures.pkl - list of records with keys:features: numpy array (1280,)label: int (0-5)emotion: stringsplit: "train"/"validation"/"test"sensevoice_score: floatpython train.pyemotion_head_best.pt - Best model weightsconfusion_matrix.png - Test confusion matrixtraining_curve.png - Loss curvespython benchmark.pybenchmark_results.json1# 1. Setup
2bash setup.sh
3
4# 2. Extract features (~20 min)
5python extract_features.py
6
7# 3. Train (~10 min)
8python train.py
9
10# 4. Benchmark (~20 min)
11python benchmark.py
12
13# 5. Download results
14tar -czf results.tar.gz emotion_head_best.pt features.pkl \
15 confusion_matrix.png training_curve.png benchmark_results.jsonresults.tar.gz from RunPod Files tab.Voxtral Encoder (frozen)
↓
Mean Pooling (1280 dims)
↓
EmotionHead MLP
- Linear(1280, 512) + BatchNorm + ReLU + Dropout(0.3)
- Linear(512, 256) + BatchNorm + ReLU + Dropout(0.3)
- Linear(256, 6)