An Azure service that integrates speech processing into apps and services.
CRITICAL ISSUE Azure AI Speech SDK – Numbers getting Added , Deleted and Substituted and sometimes Exceeds too much time while using the microsoft realtime speech to text conginitve services API
We are using Azure Speech Service with the browser Speech SDK for real-time speech-to-text transcription.
We are observing an issue when users speak continuous digits. The recognizer sometimes returns a significantly different number of digits than were actually spoken. In some cases, digits are added, removed, or substituted.
Example Scenarios
Example 1
User speech:
111111111
Expected result:
111111111
Observed behavior:
The recognizer sometimes returns a much longer sequence of digits (for example, dozens of digits) or formats the output as phone-number-like patterns.
Example 2
User speech:
424
Observed behavior:
The recognizer occasionally replaces the middle digit with a longer numeric sequence instead of returning the expected three digits.
Example 3
User speech:
123 123 111
Observed behavior:
In some cases the recognizer removes digits or inserts additional digits that were not spoken.
Example WebSocket Response where user speaks 1 about 9 times
Example response:
"DisplayText":"1-111-111-1111, 111-111-1111, 1-111-111-1111, 1-111-111-1111.",
Observations:
The Lexical output contains ~40 occurrences of "one"
The ITN layer formats digits into phone-number patterns
The spoken input contained far fewer digits (~9)
Speech SDK Configuration
SDK version
microsoft-cognitiveservices-speech-sdk@1.46
Recognition mode
ContinuousRecognition
Language
en-US
Output format
Detailed
Configuration snippet:
speechConfig.speechRecognitionLanguage = "en-US";
Latency Requirement
This system requires low latency transcription, so we are using a short segmentation silence timeout:
Speech_SegmentationSilenceTimeoutMs = 420
This configuration is required to ensure fast recognition responses in our application. Increasing the timeout significantly would introduce noticeable delays.
Phrase List Biasing
We are also using PhraseListGrammar to bias recognition toward certain words and numeric phrases.
Example:
const phraseList = SpeechSDK.PhraseListGrammar.fromRecognizer(recognizer);
Token Refresh and Session Handling
To support long-running recognition sessions, we periodically refresh the authorization token and restart the recognizer.
Token refresh interval:
9 minutes
Recognizer restart interval:
9 minutes
During refresh, the new token is applied to both the speechConfig and the active recognizer.
Environment
Platform
Browser application (Angular)
Audio source
Microphone MediaStream
Recognition mode
Continuous recognition
Language
en-US
SDK
Browser Speech SDK 1.46
Questions
Is continuous digit speech (for example repeated digits spoken quickly) a known edge case for Azure Speech recognition?
Is the recognizer attempting to interpret repeated digits as formatted numbers such as phone numbers?
Are there recommended configurations or best practices for applications that need to recognize digit-heavy speech input?
Could the segmentation silence timeout influence this behavior when digits are spoken quickly?
Any guidance or recommended configuration for improving recognition accuracy for continuous digits would be greatly appreciated.