
Real-Time AI · 2025
Voice Guardian
Emotion Recognition System
Emotion recognition papers report high accuracy on clean, labelled datasets — then collapse the moment a real microphone, a real room, and a real accent show up. Voice Guardian was built to survive that gap.
- Role
- Solo — feature engineering, model training, live dashboard, LLM coach.
- Timeline
- 6 weeks
- Source
- GitHub ↗
PythonTensorFlowGroqLlama-3MFCC
01 · Challenges
What was hard.
01
Features that generalise
MFCC alone plateaued at 85%. Ablation showed MFCC + Chroma + spectral contrast added +7% on held-out speakers — chosen over deeper nets for that reason.
02
Latency under a second
Groq for the coach response, streaming MFCC windows for classification. Full loop: mic → emotion → tailored reply in under 900ms.
03
Not pretending to be a therapist
The coach is scoped to reflective prompts, never diagnosis. Guardrails baked into the system prompt, tested against a red-team script.
02 · Architecture
How it fits together.
Mic → features → classifier → LLM coach
- ▸Sliding 2s windows with 0.5s stride keep the classifier responsive.
- ▸Confidence below threshold → silent, not a bad guess.
Mic stream
16 kHz · 2s sliding windows
Feature Extraction
MFCC + Chroma + Spectral
TF Classifier
emotion + confidence
Guardrails
scope + safety · silent below τ
Llama-3 via Groq
reflective coach reply
Live Dashboard
user-facing UI
03 · Outcomes
What shipped.
92%
accuracy on held-out data (offline, not production)
<900ms
mic → coach reply, measured in local testing
~+7 pts
over MFCC-only feature baseline
04 · Learnings
- —Ablation before architecture. Cheaper features often win.
- —Refusing to answer is a valid model output.
05 · Evidence
What the evidence supports.
Evaluation context
- ▸Accuracy is from an offline held-out split, which is not the same as performance on real microphones, rooms and accents in deployment.
- ▸Baseline: the same classifier using MFCC features only (~85%), versus MFCC + Chroma + spectral contrast.
- ▸Latency covers the loop from captured audio window to coach reply in local testing; it depends on network and Groq API response time.
- ▸Missing detail to confirm: exact dataset, speaker split, and number of test samples.
- ▸The coach offers reflective emotional-support prompts — it is not a clinical or diagnostic tool.