v0.5.5-beta2 — Speaker tagging that actually works
beta1 was a structural release that shipped the speaker-tagging scaffolding. beta2 replaces the model and the pipeline behind it after a full day of dogfooding on real meetings. Speaker tagging now produces usable results on multi-person calls.
What changed
- New embedding model: replaced SpeechBrain ECAPA-TDNN with WeSpeaker ResNet34-LM (FluidInference’s Core ML port). On a 30-minute 4-person call this changed the result from “1 cluster of 140” (useless) to 3 clusters of [61, 42, 17] (correct, label the three voices and you’re done).
- Auto-K clustering: removed the magic similarity threshold. The clusterer now picks the number of speakers from the data itself using silhouette analysis with a same-speaker-centroid merge-back pass.
- Smarter chunking: live transcription used to cut the recording every 30 seconds regardless of content, often mid-sentence. It now waits for natural pauses (silence-anchored boundaries) on each stream independently, so utterances stay intact.
- Whisper hallucination filter: drops “Thank you”, “Like and subscribe”, and other captions-training stock phrases that Whisper emits during silence.
Speaker panel polish
- Renamed to “Other voices” with a hint that your own mic is labeled “You” — fixes the confusion about whether one of the listed speakers was you.
- “Merge all into one” action: one click collapses every cluster into the largest when you’re on a 1:1 and the model over-split.
- Cluster colors are now stable across app launches.
- Renaming a speaker updates the transcript labels live (no need to reopen the meeting).
Other fixes
- Action Items no longer show a stray “null” badge when the AI couldn’t identify an assignee.
- Voice tagging recovery flow surfaces meetings whose clustering didn’t complete (not only the “partial” ones).
- Library + meeting detail layout is stable when switching between meetings (no more divider sliding).
- About panel now credits WeSpeaker, VoxCeleb, WhisperKit, Sparkle, and FluidAudio.
Known limitations
- On 1:1 calls the model sometimes falsely produces K=2 due to within-speaker prosodic variance. The “Merge all into one” button is the one-click fix.
- Speaker tagging only runs on the system-audio stream. Your own microphone is labeled “You” and isn’t part of the cluster panel by design.