Skip to content

Commit d86dab7

Browse files
committed
docs(nvidia-stt): correct the finalize rationale — Riva does endpoint itself
The comment claimed "Riva's own endpointing never fires". Live logs disprove it: a final arrives mid-meeting with no Answer Now press, from Riva's own endpointing. What Riva will not do is release the utterance still IN FLIGHT when the user asks for an answer — and that trailing fragment is usually the question. One measured press: a 14-char final had already landed on its own; the 39-char remainder, which was the actual question, only arrived once finalize closed the call. So the rotation is still required and the code is unchanged. Only the stated reason was wrong, and wrong in a way that would mislead the next person into thinking a no-op merely delayed finals rather than dropping the important one.
1 parent 0156f5e commit d86dab7

1 file changed

Lines changed: 11 additions & 5 deletions

File tree

electron/audio/NvidiaNimStreamingSTT.ts

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -104,11 +104,17 @@ export class NvidiaNimStreamingSTT extends EventEmitter {
104104
*
105105
* The renderer calls this on every "Answer Now" to mean "transcribe what I
106106
* just said". Riva has NO flush control — StreamingRecognize is one long
107-
* call, and half-closing it is the only way to make the server emit the
108-
* final it is holding. That is why the original `stream.end()` produced a
109-
* transcript, and why replacing it with a no-op produced NONE at all: the
110-
* mic's silence suppressor sends keepalive frames rather than real silence,
111-
* so Riva's own endpointing never fires and nothing else forces the final.
107+
* call, and half-closing it is the only way to make the server release a
108+
* final it is still holding.
109+
*
110+
* Riva DOES endpoint on its own for completed utterances; live logs show
111+
* finals arriving mid-meeting with no press. What it will not do is release
112+
* the utterance still in flight at the moment the user asks for an answer,
113+
* and that trailing fragment is usually the question itself. Measured on one
114+
* press: a 14-char final had already landed from normal endpointing, and the
115+
* 39-char remainder — the actual question — only arrived once this closed the
116+
* call. Replacing end() with a no-op therefore did not merely delay finals,
117+
* it lost the one that mattered.
112118
*
113119
* So: ROTATE rather than close. End the current call (the server flushes its
114120
* final, which still reaches the listener — the 'data' handler emits

0 commit comments

Comments
 (0)