Azure / Azure/azure-sdk-for-python

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

Offen
#40,112 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Client Cognitive - Speech needs-team-attention Service Attention
Vorherrschende Sprache
Python
Sterne
5.6k
Forks
3.4k
Ø Merge
2 T.
Gemergte PRs (30 T.)
217

Beschreibung

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](https://gist.github.com/robotdad/e61662b34016d8b395187c37525f7771).

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne mit dem verlinkten Repro-Skript und reproduziere das Timeout mit Python SDK 1.42.0, DefaultAzureCredential und SpeechConfig.FromAuthorizationToken. Vergleiche den Python-Authentifizierungsablauf mit der funktionierenden C#-Konfiguration und den getesteten Tokenformaten. Als erledigt gilt die Identifizierung einer bestätigten Ursache im SDK oder in der Konfiguration sowie die Dokumentation oder Behebung des Fehlers bei der Sprachsynthese mit verwalteter Identität.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
azure, python
Bereich
api, authentication, cloud
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.