Commit Graph
22 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 cedf2389b9 Use the shared favicon on capture pages 2026-10-26 16:12:57 +00:00
kawaiipunk a95b05254c Add shared room workflow menu 2026-10-26 16:02:30 +00:00
kawaiipunk 4a4b572209 Add shared status UI and offline LAN relay support 2026-10-26 14:32:50 +00:00
kawaiipunk 7f4af0d7ed Replace per-user keys with self-service rooms 2026-10-26 13:09:26 +00:00
kawaiipunk 90ee99c6f3 Point browser probes and bundle sync at the key registry
The private-relay and cross-origin browser probes still built apps with the
removed CAPTION_API_KEY argument and seeded the relay with hand-written rooms.
They now create a KeyRegistry, derive the probe user's rooms and tokens with the
shared master secret, and configure the relay from that secret. The bundle sync
also rewrites the claim link to the service so the hosted capture page does not
point at a page it cannot serve. A cross-language test pins the derivation
vector shared with the relay's JavaScript implementation.
2026-10-16 13:49:51 +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 ccecc17b3a Provision browser test dependency and clarify successful discard feedback 2026-09-07 18:04:17 -04:00
Steve Seguin dc982909fc Release abandoned capture sessions and test browser recovery in CI 2026-09-07 18:00:22 -04:00
Steve Seguin f8dcb3b615 Simplify capture onboarding and document desktop and mobile visual review 2026-09-07 17:16:54 -04:00
Steve Seguin c090401f80 Add visual self-hosting introduction and concise onboarding links 2026-09-07 16:46:32 -04:00
Steve Seguin 6a2cdadd0b Verify hosted private workflow and stop retrying rejected caption frames 2026-09-07 15:51:52 -04:00
Steve Seguin 7af8fcf491 Integrate private relay recovery and verify setup and TLS workflows 2026-09-07 15:28:50 -04:00
Steve Seguin c792cff777 Support private Caption Ninja relays and validate isolated caption delivery 2026-09-07 14:44:15 -04:00
Steve Seguin a092674e44 Validate sustained CUDA capture and preserve Windows/WSL environments 2026-09-07 01:26:10 -04:00
Steve Seguin 75f45a1fe0 Validate native CUDA decoding and reject competing GPU benchmark workloads 2026-09-05 23:18:05 -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 ce316a5859 Validate medium CPU quality and rotate all multilingual output modes 2026-09-05 21:53:31 -04:00
Steve Seguin bad2d131de Make browser capacity summaries and memory acceptance reproducible 2026-09-05 18:33:36 -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 5bd7bc2895 Support Windows validation tooling and environment-local CUDA libraries 2026-09-05 17:30:49 -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