Spaces:
Sleeping
Sleeping
Commit History
-
Add multi-user speaker profiles, collective voice, and mode toggle
jefffffff9 +1: Claude Sonnet 4.6Task 1 — SpeakerProfileManager (src/voice/speaker_profiles.py): SpeechBrain ECAPA-TDNN identifies speakers by cosine similarity of 192-d embeddings (threshold 0.75). Each user gets user_N_sb.npy (running-average SpeechBrain embedding) and user_N_ov.npy (running-average OpenVoice V2 tone-color SE). New utterances update the running average so profiles sharpen over time. Task 2 — get_collective_embedding() (speaker_profiles.py): Loads all user_N_ov.npy files and returns their mean vector — the "Collective Voice" that blends all known speakers into one SE. Task 3 — Voice Mode toggle (app_lab.py + src/tts/voice_cloner.py): Added Individual / Collective radio to the UI. In Individual mode the TTS output is cloned into the last detected speaker's voice via OpenVoice V2 ToneColorConverter. In Collective mode the mean SE is used. Text-input path falls back to the collective SE. Both modes degrade gracefully to base VITS voice if OpenVoice is not ready. requirem…49910a9