Commit Graph
7 Commits
Author SHA1 Message Date
trav 618f7ffc22 Add optional automatic speaker labels and room cast lists
CPU-only online speaker labelling for caption windows (CAPTION_DIARIZATION=1):
pyannote segmentation-3.0 finds local turns, a TitaNet-small voiceprint via
sherpa-onnx matches them to per-room speakers numbered in arrival order.
/transcribe?speakers=1 returns committed words grouped into segments with a
speaker ID and the name assigned for the show. Models are SHA-256 pinned and
cached with the Whisper weights; audio and voiceprints are never stored.

Rooms gain a persisted cast list and in-memory per-show names through
/api/rooms/<id>/speakers. The capture page offers "Identify speakers
automatically", publishes one relay caption per speaker turn with label and
spk, and shares a speaker-names panel (speaker-names.js) with the editor.

Also adds scripts/diarize_eval.py, deploy.py --speakers, and copies rooms.py
into the GPU image.
2026-10-28 10:54:05 -07:00
kawaiipunk 7f4af0d7ed Replace per-user keys with self-service rooms 2026-10-26 13:09:26 +00:00
kawaiipunk 9f1365a3ef Add per-user keys and invites with derived relay rooms
Replace the shared CAPTION_API_KEY with an optional per-user registry.
keys.py stores 64-character keys and single-use invites as SHA-256 digests
and derives each user's source/output rooms and capability tokens from a
shared master secret. /relay-config now returns those per-key values,
/claim.html redeems invites, and /admin.html (gated by CAPTION_ADMIN_KEY)
mints invites and revokes keys. /health and the static pages are public.
2026-10-16 13:10:59 +00:00
Steve Seguin dc982909fc Release abandoned capture sessions and test browser recovery in CI 2026-09-07 18:00:22 -04:00
Steve Seguin d4d2c11d75 Add separate self-hosted capture page and authenticated origin access 2026-09-05 22:41:48 -04:00
Steve Seguin f6f97e024b Add bounded WAV API, optional access control and multilingual validation tooling 2026-09-05 18:28:22 -04:00
Steve Seguin 9b585f5749 Publish Caption Local with Linux CPU deployment, stream isolation and release guides 2026-09-05 16:59:14 -04:00