← Back to work
Voice Guardian — social share cover
Social share preview · 1200 × 630
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
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.