docs(architecture): per-stream diarization via split channels in stop data flow (FR-SPK)
This commit is contained in:
1 parent
3d183fdd7c
commit
0e0f3a09f1
1 file changed
+6
-6
@@ -86,12 +86,12 @@ issues from feature briefs.
|
||||
5. The notes view renders Markdown that updates as segments arrive (FR-NOTE-1, FR-NOTE-6).
|
||||
6. On `stop_recording`: finalize the WAV; run `diarization`, align speaker IDs to segments,
|
||||
apply name mappings; persist transcript JSON + metadata via `storage` (FR-STORE-1). When the mic
|
||||
is on, attribution is **per-stream** (ADR-0005 Phase 3, FR-SPK): the mic-activity timeline that
|
||||
`audio` recorded (in `audio.wav` frame time, where the mic is folded into the loopback writer) is
|
||||
the user's "You" spans directly, and sherpa clusters only the far side — the recording diarized
|
||||
with those ranges masked out. Blind whole-signal clustering + voiceprint is the mic-off fallback.
|
||||
If "Record this meeting" is **off**, delete the working WAV **after** the transcript is finalized;
|
||||
if **on**, keep it as `audio.wav` (ADR-0009, FR-REC-1/4).
|
||||
is on, `audio.wav` is a **dual-channel split** (left = mic, right = loopback; ADR-0005 Phase 3.5,
|
||||
FR-SPK), so attribution is **per-stream**: sherpa clusters the **right channel only** →
|
||||
`Speaker N`, and "You" comes from **left-channel** voice activity. Blind whole-signal clustering
|
||||
+ voiceprint is the mic-off (`summed`) fallback. If "Record this meeting" is **off**, delete the
|
||||
working WAV **after** the transcript is finalized; if **on**, keep it as `audio.wav` (ADR-0009,
|
||||
FR-REC-1/4).
|
||||
7. If an LLM provider is configured: `llm` builds a prompt (transcript + metadata + template),
|
||||
streams a summary/decisions/action-items into the summary panel (FR-LLM-2/4).
|
||||
8. Action items are parsed and presented for confirmation; confirmed ones persist and may raise
|
||||
|
||||
Reference in new issue
Block a user