feat: add configurable streaming latency for Parakeet and Nemotron models#1666
Open
nub235 wants to merge 1 commit into
Open
feat: add configurable streaming latency for Parakeet and Nemotron models#1666nub235 wants to merge 1 commit into
nub235 wants to merge 1 commit into
Conversation
Author
|
I tested Parakeet Unified with CPU only, and the first two latency settings still cause it to lag behind, so those only really work on a machine that has good GPU, like a Mac, or high end Windows laptop. Nemotron models still work fine, even at the lowest latency setting, since they use cache aware streaming and therefore do not have to recompute left context every time. It defaults to highest latency setting for these models, so it will not harm the out of the box experience. But it is worth noting, especially if users don't read the tooltip and then think the app is broken when they use lower latency. |
…dels
Add a speed-to-accuracy slider in Model Settings for streaming-capable
models. Auto-detects model type at runtime and selects the correct
stream extension:
- Nemotron 3.5/Speech (cache-aware): att_context_right ∈ {0, 3/1, 6, 13}
- Parakeet Unified (buffered): (left_ms, chunk_ms, right_ms) tuples
at {320, 480, 1120, 2080}ms lookahead
Includes reset button on the Slider component.
nub235
force-pushed
the
streaming-latency
branch
from
July 15, 2026 23:53
c15e752 to
be9f358
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Before Submitting This PR
Please confirm you have done the following:
If this is a feature or change that was previously closed/rejected:
Human Written Description
Currently, the app only lets you use Parakeet Unified and Nemotron models on the highest latency setting, 1120 ms for Nemotron and 2080 ms for Parakeet. I added a slider in each model's settings card so users can choose between four latency options for each model to get their preferred balance of speed and accuracy. I did not expose specific latency in milliseconds in the interface, in order to keep it simple and intuitive. For Nemotron models, it sets the right context value, and for Parakeet Unified, it sets a tuple of left, chunk, and right values, depending on the position of the slider.
Community Feedback
There is a discussion at #1654
Testing
I thoroughly tested each of the four latency options for each of the three models, including on long dictations.
In my testing, I found Parakeet Unified can lag behind on very low latency, so I set the minimum latency for this model to 320 ms. On weak hardware running on CPU only, 320 ms may also lag behind after a while, so I warned about that in the Streaming Latency tooltip.
The only other issue I found is that for Nemotron Speech Streaming EN, on the second latency setting (160 ms), after around a minute, it sometimes drops sentences, I was not able to figure out why this happens. It's not a super big deal, but I thought it was worth mentioning.
Screenshots/Videos (if applicable)
AI Assistance
If AI was used: