Add speaker identification with Resemblyzer

Adds voice-based speaker ID triggered by YAMNet speech detection.
New speaker_id.py module with SQLite-backed voice enrollment and
cosine similarity matching. Endpoints: POST /speakers/enroll,
POST /speakers/enroll-from-mic, GET /speakers, DELETE /speakers/{name}.
Orange LED animation during enrollment.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Alex
2026-02-01 21:21:02 -06:00
parent 0607be3db5
commit 1cb3bd6833
4 changed files with 281 additions and 4 deletions

View File

@@ -176,6 +176,7 @@ class SoundClassifier:
"top_classes": top_classes,
"dominant_category": dominant,
"timestamp": now,
"audio_float32": audio_f32,
}
def get_history(self, seconds=30):