Skip to content

Python Speech SDK fails with "USP error: timeout waiting for the first audio chunk" when using managed identity authentication #40112

Open
@robotdad

Description

@robotdad
  1. Environment Details:
    • Python SDK version: 1.42.0
    • Authentication: Using DefaultAzureCredential (falling back to Azure CLI)
    • Token acquisition is successful (token starts with "eyJ0eXAiOi...")
    • Identical configuration works successfully in C# but fails in Python
  2. Tested Approaches:
    - Using the raw token directly: speech_config.authorization_token = token
    - Using a formatted token like C#: aad#{resourceId}#{token}
    - Setting token via property ID: set_property(SpeechServiceAuthorization_Token, token)
    - Setting auth type explicitly: set_property(SpeechServiceAuthorization_Type, "Bearer")
    - Using a single synthesizer for all segments (like C# does)
    - Using standard voices instead of HD voices
    - Using simplified SSML without custom parameters
  3. Error Details:
    - Synthesis appears to start (synthesizer is created successfully)
    - Service times out after ~80 seconds
    - Error is always: "USP error: timeout waiting for the first audio chunk"
    - No audio data is received despite successful token acquisition
  4. Working C# Implementation:

` private static async Task GetAiServicesAuthorizationTokenAsync(CancellationToken cancellationToken)
{
const string scope = "https://cognitiveservices.azure.com/.default";
var tokenCredential = new DefaultAzureCredential();
var token = await tokenCredential.GetTokenAsync(new Azure.Core.TokenRequestContext([scope]), cancellationToken);
return token.Token;
}

// Later used with:
var authorizationToken = await GetAiServicesAuthorizationTokenAsync(cancellationToken);
var speechConfig = SpeechConfig.FromAuthorizationToken($"aad#{speechResourceId}#{authorizationToken}", speechRegion);`

We've ruled out most common issues (token formatting, SSML structure, voice selection), this appears to be either:

  1. A limitation in the Python SDK's implementation for managed identity
  2. A possible network/connectivity issue specific to the Python SDK
  3. An undocumented requirement for additional configuration when using managed identity with Python

Here is a repro script.

Metadata

Metadata

Assignees

No one assigned

    Labels

    ClientThis issue points to a problem in the data-plane of the library.Cognitive - SpeechService AttentionWorkflow: This issue is responsible by Azure service team.needs-team-attentionWorkflow: This issue needs attention from Azure service team or SDK team

    Type

    No type

    Projects

    • Status

      Untriaged

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions