Pronunciation Assessment header ignored — PronunciationAssessment block missing from NBest[0] despite correct configuration

Walter Roman 0 Reputation points
2026-07-12T19:30:15.7633333+00:00

iI am using the Speech to Text REST API for short audio with the Pronunciation Assessment feature enabled via the "Pronunciation-Assessment" header. Base speech recognition succeeds correctly (transcription, confidence score, and lexical/ITN/display text are all returned accurately), but the "PronunciationAssessment" object is entirely missing from NBest[0] in the response — instead I receive the error: "NBest[0] is missing PronunciationAssessment block".

TROUBLESHOOTING ALREADY PERFORMED:

  • Tested with two separate Speech resources, in two different regions (eastus and westus2).
  • Verified the Pronunciation-Assessment header is valid base64-encoded compact JSON, containing: ReferenceText, GradingSystem: "HundredMark", Granularity: "Phoneme", Dimension: "Comprehensive", EnableMiscue: true.
  • Verified Content-Type header is set correctly to "audio/wav; codecs=audio/pcm; samplerate=16000".
  • Verified audio is real human speech, WAV format, 16kHz mono PCM.
  • Verified format=detailed and language=en-US are present as URL query parameters (not headers).
  • Reference text matches the spoken audio content (confirmed by comparing to the successful Lexical/Display transcription in the response).
  • Issue is 100% reproducible across both resources/regions tested — same request structure, same failure every time.

REQUEST:

  • Endpoint: https://{region}.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?language=en-US&format=detailed
  • Method: POST
  • Headers: Ocp-Apim-Subscription-Key, Content-Type: audio/wav; codecs=audio/pcm; samplerate=16000, Pronunciation-Assessment: [base64-encoded config]

EXPECTED RESPONSE:

NBest[0] should contain a "PronunciationAssessment" object with AccuracyScore, FluencyScore, CompletenessScore, and PronScore, per the documented example in "Use pronunciation assessment" (learn.microsoft.com/azure/ai-services/speech-service/how-to-pronunciation-assessment).

ACTUAL RESPONSE:

Base recognition succeeds (RecognitionStatus: Success, correct Lexical/ITN/Display text with high confidence), but the PronunciationAssessment object is absent, and the API instead returns: {"error":"NBest[0] is missing PronunciationAssessment block"}.

Please advise whether this is a known service-side issue, and help identify the root cause on your end since client-side configuration has been verified against current documentation and reproduces consistently across resources and regions.

Azure Speech in Foundry Tools
0 comments No comments

2 answers

Sort by: Oldest
  1. Christos Panagiotidis 3,551 Reputation points
    2026-07-13T10:24:50.7+00:00

    Hi! Your basic recognition setup looks correct. I would reproduce the request with a minimal curl call and then test the same audio and reference text through the Speech SDK’s Pronunciation Assessment API. That will show whether this is header serialization or a REST-service regression. Capture the response request ID and timestamp. If the SDK succeeds while the identical REST request omits PronunciationAssessment, submit those two results to Azure Speech Support.

    Was this answer helpful?

    0 comments No comments

  2. Thanmayi Godithi 11,825 Reputation points Microsoft External Staff Moderator
    2026-08-04T16:40:05.1133333+00:00

    Walter Roman , Thank you for the detailed information and for outlining the validation steps you've already performed.

    Based on the information provided, your request appears to be configured correctly for Pronunciation Assessment. Since speech recognition itself is succeeding and the issue reproduces consistently across multiple Speech resources and regions, this does not immediately point to a configuration, audio format, or regional deployment issue.

    To help narrow down the root cause, could you please share the following:

    • A sample of the actual request (with subscription key redacted), including the exact Pronunciation-Assessment header value before Base64 encoding.
    • A sanitized sample of the full JSON response returned by the service.
    • The X-RequestId (or correlation ID) from a failing request, if available.
    • Confirmation of the Speech Service API version and SDK/library being used (if applicable).

    In addition, please verify whether the same audio and reference text produce Pronunciation Assessment results when using one of the official Speech SDK samples. This can help determine whether the behavior is isolated to the REST API request path or is occurring at the service level.

    At present, there are no widely documented service limitations that would explain a successful detailed recognition response while consistently omitting the PronunciationAssessment block when the feature is enabled. If you can provide the requested request/response samples and a correlation ID, we can investigate further and determine whether this may be a service-side issue.

    We look forward to your update.

    Was this answer helpful?

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.