Voxint v0.33.0
What's new in v0.33.0
Added
- In-place voice embedding-space migration.
voxint speakers re-embeddiscovers the current embedding space, previews stale runs, replaces stored turn vectors and sourced enrollment centroids without re-transcription, and refreshes speaker matches.voxint doctornow warns about mixed or service-stale voice embedding spaces.
Fixed
- Cross-episode speaker matching no longer creates duplicate "Voice N" entries (#433). Auto-enroll's link-or-create decision was using grounding-tier cosine thresholds (>= 0.70), rejecting same-speaker matches in the empirical 0.60-0.70 variance band. Now uses standard thresholds with a singleton-roster guard.
- Auto-enrolled speaker centroids now grow over time (#431). When auto-enroll matched a label to an existing speaker, it recorded the decision but did not add a SpeakerEmbedding, leaving the centroid frozen at first enrollment. Matched labels now contribute embeddings.
- TitaNet ONNX embedding no longer crashes on diarization turns longer than about 120 s. ONNX Runtime failed with a BroadcastIterator::Init shape mismatch. Long turns are now embedded as capped sub-windows (#424).
- Timeline deep links now jump to the correct transcript row (#420).
- Timeline and transcript colours now agree (#420).
- Raw label badge restored on hydrated transcript rows (#420).
- Timeline lanes show the raw diarization label (#420).
Full changelog: https://github.com/bengizmo/voxint/blob/v0.33.0/CHANGELOG.md