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
- Lenguaje dominante
- Python
- Estrellas
- 5.6k
- Forks
- 3.4k
- Merge medio
- 2 d 2 h
- PR fusionados (30 d)
- 213
Descripción
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).
Guía de contribución
Línea de trabajo
Comienza con el script de reproducción enlazado y reproduce el timeout usando Python SDK 1.42.0, DefaultAzureCredential y SpeechConfig.FromAuthorizationToken. Compara el flujo de autenticación de Python con la configuración funcional de C# y los formatos de token probados. Se considera completado cuando se haya identificado una causa confirmada en el SDK o en la configuración y se haya documentado o corregido el fallo de síntesis de voz con identidad administrada.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- azure, python
- Área
- api, authentication, cloud
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 35/100