Expose confidence estimation / token probabilities (currently always 1.0)
Maintainers usually reply within 5 days
@pskrunner14 is already working on this.
Since Sep 30, 2026.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 48/100
Research direction
Start at the /v1/audio/transcriptions endpoint and trace how its confidence response field is produced, then inspect the decoder output that currently yields per-token probabilities. Use NeMo's documented entropy-based confidence_cfg as a reference for the intended behavior. Done means the API returns useful varying confidence values rather than always returning 1.0, including for incorrect, silent, or garbled audio.
Written by the indexing model from the issue text.
Description
Description:
I'm running nemotron-3.5-asr-streaming-0.6b via nemo-speech.cpp's /v1/audio/transcriptions endpoint. The confidence field in the response is always exactly 1.0, regardless of whether the transcription is actually correct.
Concrete example: audio saying "chi è Alfonso?" (Italian) is transcribed as "che è alfonso" (wrong word) — still returns confidence: 1.0. It also returns 1.0 on pure silence and on clearly hallucinated/garbled output.
I switched to running the same model through the full NeMo Python toolkit directly (not this C++ port), enabling decoding_cfg.confidence_cfg with the entropy-based method (tsallis entropy, entropy_norm: exp) documented in NeMo's own docs. That gives real, varying per-word confidence values (e.g., 0.02–0.9 depending on the utterance), which is genuinely useful for rejecting hallucinated output — something a flat 1.0 can't do.
Is there a plan to expose this confidence estimation in nemo-speech.cpp's API? The underlying decoder already computes per-token probabilities to pick output tokens, so it seems like this would be a matter of exposing an existing internal computation rather than a fundamental limitation — similar to a related open request on transcribe.cpp (#164) asking for per-token logprobs on Parakeet TDT/Qwen3-ASR.
Happy to share the exact confidence_cfg I used if useful!
- Dominant language
- C++
- Stars
- 150
- Forks
- 32
- Avg merge
- 8d 4h
- Merged PRs (30d)
- 9
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from NVIDIA/NeMo-Speech.cpp
-
enhancement
NVIDIA/NeMo-Speech.cpp#56 · 3 comments ·
Maintainers usually reply within 5 days
-
Difficulty 4/5 3-5 days Newbie friendliness 52/100
NVIDIA/NeMo-Speech.cpp#49 · 1 comment · 1 reaction ·
Maintainers usually reply within 5 days
-
Streaming RNNT wedges after sustained zero-PCM silence; Vulkan aborts with GGML_ASSERT(ne3 == ne13)Open
Difficulty 4/5 3-5 days Newbie friendliness 48/100
NVIDIA/NeMo-Speech.cpp#48 ·
Maintainers usually reply within 5 days
-
Token-silence EOU misfires mid-sentence, hard reset corrupts transcriptPossibly taken @ryanleary claimed this 24 days ago. Open
Difficulty 5/5 Over a week Newbie friendliness 45/100
NVIDIA/NeMo-Speech.cpp#40 ·
Maintainers usually reply within 5 days
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
NVIDIA/NeMo-Speech.cpp#34 ·
Maintainers usually reply within 5 days
All issues in NVIDIA/NeMo-Speech.cpp
Similar issues
-
agent:WSL bug linux LOW ui
Difficulty 1/5 Under an hour Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
Copter: PosHold brake-entry threshold became 16 deg instead of 0.16 deg after the radians conversionOpen
Difficulty 1/5 Under an hour Newbie friendliness 78/100
ArduPilot/ardupilot#34617 · 1 comment · 1 reaction ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
tesseract-robotics/tesseract_nanobind#168 ·
Maintainers usually reply within 1 day
-
Self-hosted runner Dockerfile pins actions/runner 2.327.1, below GitHub's new minimum (2.329.0)Openauto-triaged bug
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Maintainers usually reply within 1 day
-
bug needs-triage
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
microsoft/microsoft-ui-xaml#12158 ·
Maintainers usually reply within 1 day