La reconnaissance de fichiers d'enregistrement est un service hors ligne qui transcrit des fichiers audio préenregistrés. Soumettez une URL accessible via HTTP pour le fichier. Les fichiers locaux ne sont pas pris en charge.
Facturation et limites de simultanéité
La reconnaissance de fichiers d'enregistrement propose une version d'essai et une version commerciale. Pour plus d'informations, consultez la section Version d'essai gratuite et version commerciale.
Instructions
Lisez la documentation en anglais pour comprendre ce qui doit être communiqué.
Rédigez le texte en français à partir de zéro — oubliez la structure des phrases anglaises.
Conservez exactement tout le formatage Markdown, les blocs de code, les liens et les images.
Balises xref (
<a data-tag="xref" ...>texte</a>) — conservez la balise ENTIERE avec tous ses attributs dans l'ordre et la casse d'origine, traduisez UNIQUEMENT le texte visible entre > et .Appliquez strictement toutes les règles linguistiques spécifiques.
Appliquez les règles relatives aux mots interdits avec une tolérance zéro.
Utilisez le mode impératif dans les étapes numérotées et les listes à puces procédurales.
Assurez la cohérence terminologique — un même terme doit toujours avoir la même traduction.
Variez les débuts de phrase dans les listes et les tableaux — aucun début ne doit être répété plus de deux fois.
-
Renvoyez UNIQUEMENT le document markdown en français, sans explication.
Limites
Lorsque vous écrivez du code, respectez les exigences suivantes. À défaut, la reconnaissance peut échouer et renvoyer un résultat vide.
Les fichiers audio mono et stéréo aux formats WAV, MP3, MP4, M4A, WMA, AAC, OGG, AMR et FLAC sont pris en charge.
La taille d'un fichier audio ne doit pas dépasser 512 Mo, celle d'un fichier vidéo ne doit pas dépasser 2 Go et la durée totale du fichier ne doit pas excéder 12 heures.
-
Le fichier audio doit être stocké sur un service et accessible via une URL.
Nous vous recommandons d'utiliser Alibaba Cloud Object Storage Service (OSS). Si l'objet OSS est accessible en lecture publique, consultez Objets en lecture publique pour obtenir l'URL du fichier. Si l'objet OSS est privé, consultez Objets privés afin d'utiliser un SDK pour générer une URL valide pendant une période spécifiée.
Vous pouvez également stocker le fichier audio sur votre propre serveur de fichiers. Assurez-vous que la valeur Content-Length dans l'en-tête de réponse HTTP correspond à la longueur réelle du corps de la réponse. Sinon, le téléchargement échouera.
-
L'URL du fichier audio doit être accessible publiquement, utiliser un nom de domaine plutôt qu'une adresse IP et ne contenir aucun espace. Évitez d'inclure des caractères chinois dans l'URL.
URL valide
URL invalide
https://gw.alipayobjects.com/os/bmw-prod/0574ee2e-f494-45a5-820f-63aee583045a.wav
-
http://127.0.0.1/sample.wav
-
D:\files\sample.wav
-
-
La reconnaissance de fichiers audio est un service hors ligne sans limite de concurrence. Les limites suivantes en requêtes par seconde (QPS) s'appliquent :
Pour les requêtes POST qui soumettent des tâches de reconnaissance, la limite QPS par utilisateur est de 200.
Pour les requêtes GET qui interrogent les résultats de reconnaissance, la limite QPS par utilisateur est de 500.
Pour les interrogations utilisant le même ID de tâche, la limite QPS est de 1.
Pendant la période d'essai de trois mois pour les nouveaux utilisateurs, vous pouvez transcrire gratuitement jusqu'à deux heures d'enregistrements toutes les 24 heures. Une fois le quota épuisé, attendez 24 heures avant de poursuivre l'essai.
-
Après la soumission d'une tâche, la reconnaissance se termine et renvoie le texte sous 24 heures pour les utilisateurs d'essai et sous trois heures pour les utilisateurs payants. Les résultats sont conservés sur le serveur pendant 72 heures.
ImportantCes engagements en matière de temps de traitement ne s'appliquent pas si vous téléchargez plus de 500 heures d'enregistrements en 30 minutes. Pour une reconnaissance à grande échelle, contactez le service prévente d'Alibaba Cloud.
L'interrogation (polling) et les rappels (callbacks) sont pris en charge.
Les modèles de langue personnalisés sont pris en charge. Pour plus d'informations, consultez Modèles de langue personnalisés.
Les mots clés (hotwords) sont pris en charge. Pour plus d'informations, consultez Mots clés.
-
Les modèles pour le chinois mandarin, les dialectes chinois, l'anglais et d'autres langues sont pris en charge. Vous ne pouvez pas spécifier de modèle de langue ou de dialecte dans le code. Dans la console Intelligent Speech Interaction, accédez à Tous les projets et sélectionnez le projet. Ensuite, cliquez sur Configure et sélectionnez le modèle. Pour plus d'informations, consultez Gérer les projets.
Les modèles de langue et de dialecte suivants sont pris en charge :
-
Procédure
Identifiez le format et la fréquence d'échantillonnage de votre fichier audio, puis sélectionnez un modèle de scénario approprié dans la console.
-
Téléchargez le fichier audio sur OSS.
Si l'objet OSS est accessible en lecture publique, consultez la section Objets publics pour obtenir l'URL du fichier. Si l'objet OSS est privé, reportez-vous à la section Objets privés afin d'utiliser un SDK pour générer une URL valide pendant une période spécifiée.
ImportantVous pouvez également stocker le fichier audio sur votre propre serveur de fichiers. Assurez-vous que la valeur
Content-Lengthdans l'en-tête de réponse HTTP correspond exactement à la longueur réelle du corps de la réponse. Dans le cas contraire, le téléchargement échouera. -
Soumettez une requête de reconnaissance de fichier audio depuis le client.
Le serveur renvoie un ID de tâche que vous pourrez utiliser pour interroger le résultat de la reconnaissance.
-
Envoyez une requête d'interrogation du résultat depuis le client.
Utilisez l'ID de tâche obtenu à l'étape 3 pour consulter le résultat. Les résultats de reconnaissance sont conservés sur le serveur pendant 72 heures.
Flux d'interaction
Le schéma ci-dessous illustre le flux d'interaction entre le client et le serveur.
RemarqueChaque réponse du serveur contient le paramètre TaskId dans son en-tête pour identifier la tâche de reconnaissance.
Paramètres de requête POP par région
Région
Paramètre de requête
Chine (Shanghai)
-
regionId="cn-shanghai"
-
endpointName="cn-shanghai"
-
domain="filetrans.cn-shanghai.aliyuncs.com"
Chine (Pékin)
-
regionId="cn-beijing"
-
endpointName="cn-beijing"
-
domain="filetrans.cn-beijing.aliyuncs.com"
Chine (Shenzhen)
-
regionId="cn-shenzhen"
-
endpointName="cn-shenzhen"
-
domain="filetrans.cn-shenzhen.aliyuncs.com"
Appels d'API
La reconnaissance de fichiers audio met à disposition une API POP de type RPC. Chaque requête inclut des paramètres, correspond à une méthode spécifique et renvoie le résultat dans la réponse. Stockez le fichier audio sur un service de stockage (nous recommandons Alibaba Cloud OSS) et rendez-le accessible via une URL. Si OSS et le service de reconnaissance se trouvent dans la même région, accédez au fichier via le réseau interne afin d'éviter les frais de trafic Internet .
L'API POP de reconnaissance de fichiers audio comprend une opération POST pour soumettre les demandes de reconnaissance (limite de QPS par utilisateur : 200) et une opération GET pour interroger les résultats de reconnaissance (limite de QPS par utilisateur : 500).
-
Soumission d'une demande de reconnaissance
Pour le mode polling, soumettez une tâche de reconnaissance et récupérez l'ID de la tâche afin d'effectuer des interrogations ultérieures.
-
Pour le mode callback, soumettez une tâche de reconnaissance ainsi qu'une URL de rappel. Une fois la tâche terminée, le serveur envoie le résultat à l'URL de rappel via une requête POST. L'URL de rappel doit accepter les requêtes POST.
RemarquePour des raisons historiques, dans les premières versions du service de reconnaissance de fichiers audio (version 2.0 par défaut), les résultats renvoyés via callback et polling diffèrent par leur style JSON et leurs champs. La version 4.0 aligne les résultats du callback sur ceux du polling. Les deux utilisent désormais un format JSON en camelCase.
Si votre intégration existante ne spécifie pas de version de service, elle utilise la version 2.0 par défaut et peut continuer à fonctionner ainsi. Pour toute nouvelle intégration, définissez la version du service sur 4,0.
Paramètres de la requête
Pour soumettre une demande de reconnaissance, transmettez les paramètres sous forme de chaîne JSON dans le corps de la requête, comme illustré dans l'exemple suivant :
{ "appkey": "your-appkey", "file_link": "https://gw.alipayobjects.com/os/bmw-prod/0574ee2e-f494-45a5-820f-63aee583045a.wav", "auto_split":false, "version": "4.0", "enable_words": false, "enable_sample_rate_adaptive": true, // valid_times: Recognize only specified time ranges. Omit this parameter if it is not needed. "valid_times": [ { "begin_time": 200, "end_time":2000, "channel_id": 0 } ] }Paramètre
Type
Obligatoire
Description
appkey
String
Oui
L'appkey du projet que vous avez créé dans la console.
file_link
String
Oui
L'URL du fichier d'enregistrement. Dans la console, configurez le projet pour utiliser un modèle prenant en charge le scénario audio.
version
String
Non
La version du service. Valeur par défaut : 4,0.
enable_words
Boolean
Non
Indique s'il faut renvoyer les informations sur les mots. Valeur par défaut : false. Si vous activez cette fonctionnalité, définissez version sur 4.0.
enable_sample_rate_adaptive
Boolean
Non
Indique s'il faut automatiquement sous-échantillonner l'audio dont la fréquence d'échantillonnage est supérieure à 16 kHz vers 16 kHz. Valeur par défaut : false. Si vous activez cette fonctionnalité, définissez version sur 4.0.
enable_callback
Boolean
Non
Indique s'il faut activer le rappel (callback). Valeur par défaut : false.
callback_url
String
Non
L'URL de rappel. Ce paramètre est requis si enable_callback est défini sur true. Les protocoles HTTP et HTTPS sont pris en charge. L'hôte ne peut pas être une adresse IP.
auto_split
Boolean
Non
Indique s'il faut activer la diarisation intelligente des locuteurs. Lors d'une conversation entre deux parties, utilisez ChannelId dans chaque résultat de phrase pour identifier le locuteur. Le premier locuteur a généralement ChannelId 0. Pour l'audio dual-channel à 8 kHz, le nombre par défaut de locuteurs est 2, et channel0 et channel1 sont les ID de piste.
RemarqueLes fréquences 8 000 Hz et 16 000 Hz sont toutes deux prises en charge. Pour l'audio à 16 kHz, seul le premier canal est séparé par défaut.
supervise_type
Integer
Non
La méthode utilisée pour déterminer le nombre de locuteurs. Utilisez ce paramètre conjointement avec auto_split et speaker_num.
-
Par défaut : vide. Pour l'audio à 8 kHz, l'utilisateur spécifie le nombre. Pour l'audio à 16 kHz, l'algorithme détermine le nombre.
-
1 : L'utilisateur spécifie le nombre en utilisant speaker_num.
-
2 : L'algorithme détermine le nombre.
speaker_num
Integer
Non
Le nombre attendu de locuteurs. Valeurs valides : entiers de 2 à 100. La valeur par défaut est 2 pour l'audio à 8 kHz et 100 pour l'audio à 16 kHz.
Ce paramètre guide l'algorithme mais ne garantit pas le nombre spécifié de locuteurs. Utilisez-le conjointement avec auto_split et supervise_type.
enable_inverse_text_normalization
Boolean
Non
La normalisation inverse du texte (ITN) convertit les chiffres chinois en chiffres arabes. Si ce paramètre est défini sur true, les chiffres chinois sont renvoyés sous forme de chiffres arabes. Valeur par défaut : false.
enable_disfluency
Boolean
Non
Indique s'il faut supprimer les mots de remplissage. Valeur par défaut : false. Si cette option est activée, définissez version sur 4.0.
enable_punctuation_prediction
Boolean
Non
Indique s'il faut ajouter de la ponctuation aux phrases. Valeur par défaut : true.
valid_times
List< ValidTime >
Non
Les plages horaires valides à reconnaître. Utilisez ce paramètre pour exclure les plages indésirables.
max_end_silence
Integer
Non
Le silence maximal en fin de phrase. Valeurs valides : 200 à 6000. Valeur par défaut : 800. Unité : millisecondes.
Si la détection sémantique des phrases enable_semantic_sentence_detection est activée, ce paramètre n'a aucun effet.
max_single_segment_time
Integer
Non
La durée maximale d'une phrase. Valeur minimale : 5000. Valeur par défaut : 60000. Unité : millisecondes.
Si la détection sémantique des phrases enable_semantic_sentence_detection est activée, ce paramètre n'a aucun effet.
customization_id
String
Non
L'ID d'un modèle personnalisé créé à l'aide de l'API POP. Par défaut, aucun ID n'est spécifié.
class_vocabulary_id
String
Non
ID d'un vocabulaire de mots clés basé sur une classe. Par défaut, aucun ID n'est spécifié.
vocabulary_id
String
Non
ID d'un vocabulaire de mots clés général. Par défaut, aucun ID n'est spécifié.
enable_semantic_sentence_detection
Boolean
Non
Indique s'il faut activer la détection sémantique des phrases. Valeurs valides : true et false. Valeur par défaut : false.
enable_timestamp_alignment
Boolean
Non
Indique s'il faut activer le calibrage des horodatages. Valeurs valides : true et false. Valeur par défaut : false.
first_channel_only
Boolean
Non
Indique s'il faut reconnaître uniquement le premier canal. Valeurs valides : true et false. Activez ce paramètre si le résultat de la reconnaissance est dupliqué.
-
Par défaut : vide. L'audio bicanaux est traité à 8 kHz et l'audio monocanal à 16 kHz.
-
false : L'audio bicanaux est traité à la fois à 8 kHz et à 16 kHz.
-
true : L'audio monocanal est traité à la fois à 8 kHz et à 16 kHz.
ImportantFacturation :
-
Pour l'audio bicanaux à 8 kHz, la facturation est basée sur un seul canal : la durée audio est facturée.
-
Pour l'audio bicanaux à 16 kHz, la facturation est basée sur deux canaux : le nombre de canaux × durée audio est facturé.
special_word_filter
String
Non
Le filtrage des mots sensibles peut être activé ou désactivé et prend en charge les mots sensibles personnalisés. Le paramètre supporte :
Aucun traitement (par défaut ; renvoie le texte original), Filtrage et Remplacement par *.
Pour plus d'instructions, consultez l'exemple de filtrage personnalisé plus loin dans cette rubrique.
RemarqueSi le filtrage est activé mais qu'aucun mot sensible n'est configuré, le vocabulaire par défaut est utilisé : Vocabulaire de mots sensibles.
punctuation_mark
String
Non
Ponctuation personnalisée pour la segmentation des phrases.
Si ce paramètre est vide, les points, les points d'interrogation et les points d'exclamation sont utilisés. S'il est spécifié, la ponctuation personnalisée est également utilisée pour la segmentation des phrases.
Exemples :
Pour segmenter par des virgules anglaises, spécifiez « , » sans espaces.
Pour segmenter par des virgules chinoises et anglaises, spécifiez « ,, ».
Remarque-
Les caractères autres que la ponctuation ne prennent pas effet.
-
Vous pouvez spécifier plusieurs signes de ponctuation. Les signes de ponctuation chinois et anglais sont distingués. N'ajoutez pas d'espaces entre eux.
sentence_max_length
Integer
Non
Nombre maximal de caractères affichés dans chaque phrase. Valeurs valides : 4 à 50. Cette fonctionnalité est désactivée par défaut. Si elle est activée sans valeur, la segmentation des phrases longues est utilisée. Utilisez ce paramètre pour contrôler le nombre maximal de caractères par ligne de sous-titre.
L'exemple suivant montre comment configurer le filtrage personnalisé :
// This example uses real-time transcription. JSONObject root = new JSONObject(); root.put("system_reserved_filter", true); // Replace the following words with empty strings JSONObject root1 = new JSONObject(); JSONArray array1 = new JSONArray(); array1.add("start"); array1.add("happen"); root1.put("word_list", array1); // Replace the following words with * JSONObject root2 = new JSONObject(); JSONArray array2 = new JSONArray(); array2.add("test"); root2.put("word_list", array2); // You can configure all or only some of the following options root.put("filter_with_empty", root1); root.put("filter_with_signed", root2); transcriber.addCustomedParam("special_word_filter", root);Le tableau suivant décrit l'objet ValidTime.
Paramètre
Type
Obligatoire
Description
begin_time
Int
Oui
Décalage de début de la plage horaire valide. Unité : millisecondes.
end_time
Int
Oui
Décalage de fin de la plage horaire valide. Unité : millisecondes.
channel_id
Int
Oui
Index de la piste auquel s'applique la plage horaire valide. L'index commence à 0.
Paramètres de réponse
Le serveur renvoie la réponse à une demande de reconnaissance sous forme de chaîne JSON :
{ "TaskId": "4b56f0c4b7e611e88f34c33c2a60****", "RequestId": "E4B183CC-6CFE-411E-A547-D877F7BD****", "StatusText": "SUCCESS", "StatusCode": 21050000 }Un code d'état HTTP 200 indique un succès. Pour les autres codes d'état, consultez les codes d'état HTTP.
Paramètre
Type
Obligatoire
Description
Taskid
String
Oui
ID de la tâche de reconnaissance.
RequestId
String
Oui
ID de la demande, utilisé uniquement pour les tests d'intégration.
StatusCode
Int
Oui
Code d'état.
StatusText
String
Oui
Description de l'état.
-
-
Interroger le résultat de la reconnaissance
Après avoir envoyé une demande de reconnaissance, utilisez les paramètres suivants pour interroger le résultat.
Paramètres de demande
Utilisez l'ID de tâche renvoyé par la demande de soumission pour interroger le résultat de la reconnaissance. Définissez un intervalle approprié entre les interrogations.
ImportantL'API d'interrogation est limitée à 500 QPS. Si cette limite est dépassée, l'erreur suivante peut être renvoyée :
Throttling.User : Request was denied due to user flow control.Utilisez un intervalle d'interrogation raisonnable et évitez les interrogations trop fréquentes.Paramètre
Type
Obligatoire
Description
Taskid
String
Oui
ID de la tâche de reconnaissance.
Paramètres de réponse
Le serveur renvoie la réponse à une interrogation de résultat sous forme de chaîne JSON.
-
Réponse réussie : l'exemple suivant utilise le fichier audio mono nls-sample-16k.wav.
{ "TaskId": "d429dd7dd75711e89305ab6170fe****", "RequestId": "9240D669-6485-4DCC-896A-F8B31F94****", "StatusText": "SUCCESS", "BizDuration": 2956, "SolveTime": 1540363288472, "StatusCode": 21050000, "Result": { "Sentences": [{ "EndTime": 2365, "SilenceDuration": 0, "BeginTime": 340, "Text": "How is the weather in Beijing?", "ChannelId": 0, "SpeechRate": 177, "EmotionValue": 5.0 }] } }Si enable_callback et callback_url sont activés et que la version du service est 4,0, le résultat du rappel est le suivant :
{ "Result": { "Sentences": [{ "EndTime": 2365, "SilenceDuration": 0, "BeginTime": 340, "Text": "How is the weather in Beijing?", "ChannelId": 0, "SpeechRate": 177, "EmotionValue": 5.0 }] }, "TaskId": "36d01b244ad811e9952db7bb7ed2****", "StatusCode": 21050000, "StatusText": "SUCCESS", "RequestTime": 1553062810452, "SolveTime": 1553062810831, "BizDuration": 2956 }ImportantRequestTime est un horodatage en millisecondes indiquant le moment où la demande de reconnaissance a été envoyée. Par exemple, 1553062810452 correspond au 20/03/2019 à 14:20:10 (heure de Pékin).
SolveTime est un horodatage en millisecondes indiquant le moment où la reconnaissance a été achevée.
-
Réponse en file d'attente :
{ "TaskId": "c7274235b7e611e88f34c33c2a60****", "RequestId": "981AD922-0655-46B0-8C6A-5C836822****", "StatusText": "QUEUEING", "StatusCode": 21050002 } -
Reconnaissance en cours :
{ "TaskId": "c7274235b7e611e88f34c33c2a60****", "RequestId": "8E908ED2-867F-457E-82BF-4756194A****", "StatusText": "RUNNING", "BizDuration": 0, "StatusCode": 21050001 } -
Réponse d'erreur : l'exemple suivant illustre un échec de téléchargement de fichier.
{ "TaskId": "4cf25b7eb7e711e88f34c33c2a60****", "RequestId": "098BF27C-4CBA-45FF-BD11-3F532F26****", "StatusText": "FILE_DOWNLOAD_FAILED", "BizDuration": 0, "SolveTime": 1536906469146, "StatusCode": 41050002 }RemarquePour les autres erreurs, consultez les codes d'erreur et les solutions dans les codes d'état du service.
Un code d'état HTTP 200 indique un succès. Pour les autres codes d'état, consultez les codes d'état HTTP.
Paramètre
Type
Obligatoire
Description
TaskId
String
Oui
ID de la tâche de reconnaissance.
StatusCode
Int
Oui
Code d'état.
StatusText
String
Oui
Description de l'état.
RequestId
String
Oui
ID de la demande, utilisé pour le débogage.
Result
Object
Oui
Objet contenant le résultat de la reconnaissance.
Sentences
List< SentenceResult >
Oui
Données du résultat de la reconnaissance. Ce paramètre est renvoyé lorsque StatusText est SUCCEED.
Words
List< WordResult >
Non
Informations sur les mots. Pour les obtenir, définissez enable_words sur true et version sur 4.0.
BizDuration
Long
Oui
Durée totale du fichier audio reconnu. Unité : millisecondes.
SolveTime
Long
Oui
Horodatage en millisecondes indiquant le moment où la reconnaissance a été achevée.
Le tableau suivant décrit les paramètres de SentenceResult.
Paramètre
Type
Obligatoire
Description
ChannelId
Int
Oui
L'ID de piste de la phrase.
BeginTime
Int
Oui
Le décalage de début de la phrase. Unité : millisecondes.
EndTime
Int
Oui
Le décalage de fin de la phrase. Unité : millisecondes.
Text
String
Oui
Le texte reconnu de la phrase.
EmotionValue
Float
Oui
La valeur d'énergie émotionnelle, calculée en divisant le volume en décibels par 10. Valeurs valides : 1 à 10. Une valeur plus élevée indique une émotion plus forte.
SilenceDuration
Int
Oui
La durée du silence entre cette phrase et la phrase précédente. Unité : secondes.
SpeechRate
Int
Oui
Le débit de parole moyen de la phrase.
-
Pour le chinois, l'unité est le nombre de caractères par minute.
-
Pour l'anglais, l'unité est le nombre de mots par minute.
-
-
Renvoyer les informations sur les mots
Si enable_words a la valeur true et que version est 4.0, le résultat de la reconnaissance contient des informations sur les mots. L'interrogation et le rappel renvoient les mêmes informations sur les mots. L'exemple suivant montre un résultat d'interrogation :
{ "StatusCode": 21050000, "Result": { "Sentences": [{ "SilenceDuration": 0, "EmotionValue": 5.0, "ChannelId": 0, "Text": "How is the weather in Beijing?", "BeginTime": 340, "EndTime": 2365, "SpeechRate": 177 }], "Words": [{ "ChannelId": 0, "Word": "Beijing", "BeginTime": 640, "EndTime": 940 }, { "ChannelId": 0, "Word": "weather", "BeginTime": 940, "EndTime": 1120 }, { "ChannelId": 0, "Word": "in Beijing", "BeginTime": 1120, "EndTime": 2020 }] }, "SolveTime": 1553236968873, "StatusText": "SUCCESS", "RequestId": "027B126B-4AC8-4C98-9FEC-A031158F****", "TaskId": "b505e78c4c6d11e9a213e11db149****", "BizDuration": 2956 }Objet Words
Paramètre
Type
Obligatoire
Description
BeginTime
Int
Oui
L'heure de début du mot. Unité : millisecondes.
EndTime
Int
Oui
L'heure de fin du mot. Unité : millisecondes.
ChannelId
Int
Oui
L'ID de piste du mot.
Word
String
Oui
Le texte du mot.
-
Codes d'état du service
Codes d'erreur génériques
Code d'état
Message d'état
Cause
Solution
40000000
Code d'erreur client par défaut. Ce code correspond à plusieurs messages d'erreur.
Paramètres ou logique d'appel non valides.
Comparez votre code avec l'exemple de code fourni dans la documentation officielle pour le tester et le valider.
40000001
Le jeton « xxx » a expiré.
Le jeton « xxx » n'est pas valide
Paramètres ou logique d'appel non valides. Il s'agit d'un code d'erreur client générique indiquant généralement un jeton incorrect, par exemple un jeton expiré ou invalide.
Comparez votre code avec l'exemple de code fourni dans la documentation officielle pour le tester et le valider.
40000002
Gateway:MESSAGE_INVALID:Can't process message in state'FAILED'!
Le message est invalide ou incorrect.
Comparez votre code avec l'exemple de code fourni dans la documentation officielle pour le tester et le valider.
40000003
PARAMETER_INVALID
Failed to decode url params
Les paramètres transmis par l'utilisateur sont incorrects. Cette erreur est fréquente lors des appels d'API RESTful.
Comparez votre code avec l'exemple de code fourni dans la documentation officielle pour le tester et le valider.
40000005
Gateway:TOO_MANY_REQUESTS:Too many requests!
Trop de requêtes simultanées.
Si vous utilisez l'édition gratuite, vous pouvez passer à une version commerciale pour augmenter la concurrence.
Si vous utilisez déjà une version commerciale, vous pouvez acheter un plan de ressources de concurrence pour augmenter votre quota de concurrence.
40000009
Invalid wav header!
L'en-tête du message n'est pas valide.
Si vous envoyez un fichier audio WAV et définissez le paramètre
formatsurwav, vérifiez que l'en-tête WAV du fichier audio est correct. Si l'en-tête est incorrect, le serveur peut rejeter la requête.40000009
Too large wav header!
L'en-tête WAV de l'audio transmis n'est pas valide.
Vous pouvez envoyer le flux audio dans un format tel que PCM ou OPUS. Si vous utilisez le format WAV, assurez-vous que l'en-tête WAV du fichier audio contient la longueur de données correcte.
40000010
Gateway:FREE_TRIAL_EXPIRED:The free trial has expired!
La période d'essai est terminée et la version commerciale n'est pas activée, ou votre compte présente un impayé.
Connectez-vous à la console pour vérifier l'état d'activation du service et le solde de votre compte.
40010001
Gateway:NAMESPACE_NOT_FOUND:RESTful url path illegal
L'opération ou le paramètre n'est pas pris en charge.
Vérifiez que les paramètres transmis lors de l'appel sont conformes aux exigences de la documentation officielle. Vous pouvez les comparer au message d'erreur pour identifier et définir les paramètres corrects.
Par exemple, si vous utilisez une commande curl pour effectuer une requête d'API RESTful, vérifiez que l'URL que vous avez construite est valide.
40010003
Gateway:DIRECTIVE_INVALID:[xxx]
Code d'erreur client générique.
Cette erreur indique que le client a transmis un paramètre ou une instruction incorrect. Des messages d'erreur détaillés sont disponibles pour différentes opérations. Reportez-vous à la documentation correspondante pour définir correctement les paramètres.
40010004
Gateway:CLIENT_DISCONNECT:Client disconnected before task finished!
Le client a activement interrompu la connexion avant le traitement de la requête.
Aucune. Vous pouvez également fermer la connexion après la réponse du serveur.
40010005
Gateway:TASK_STATE_ERROR:Got stop directive while task is stopping!
Le client a envoyé une instruction de message qui n'est pas actuellement prise en charge.
Comparez votre code avec l'exemple de code fourni dans la documentation officielle pour le tester et le valider. Si cette erreur s'accompagne du message « empty body data », résolvez le problème comme suit :
-
Confirmez la méthode d'appel. Si vous utilisez la méthode URL, assurez-vous que l'URL est valide et que le fichier audio a été entièrement généré. Si vous utilisez un flux binaire, comparez les données audio transmises par le client, les données audio transférées par le serveur et le fichier audio original pour vous assurer que les données ne sont pas vides et cohérentes entre les trois sources.
-
Remplacez l'
AccessKeyId, l'AccessKeySecretet l'Appkey dans l'exemple de code officiel par vos propres identifiants, puis exécutez le test pour écarter un problème dans votre propre implémentation de code. -
Utilisez un ensemble fixe de paramètres de test et une source audio fixe (par exemple, une URL OSS fixe) pour reproduire le problème. Cela vous aide à déterminer si la cause est un problème de réseau ou de préparation des données, ou un problème lié à l'appel d'API lui-même.
40020105
Meta:APPKEY_NOT_EXIST:Appkey not exist!
Une Appkey inexistante a été utilisée.
Vérifiez si une Appkey inexistante a été utilisée. Vous pouvez vous connecter à la console et afficher la configuration du projet pour trouver l'Appkey.
40020106
Meta:APPKEY_UID_MISMATCH:Appkey and user mismatch!
L'Appkey et le jeton transmis lors de l'appel n'ont pas été créés par le même UID de compte Alibaba Cloud. Cela provoque une incompatibilité.
Vérifiez si vous utilisez des ressources provenant de deux comptes différents. N'utilisez pas une Appkey du compte A avec un jeton généré à partir du compte B.
403
Forbidden
Le jeton n'est pas valide. Par exemple, le jeton n'existe pas ou a expiré.
Définissez un jeton valide. Les jetons ont une période d'expiration. Vous devez obtenir un nouveau jeton avant l'expiration du jeton actuel.
41000003
MetaInfo doesn't have end point info
Échec de la récupération des informations de routage pour cette Appkey.
Vérifiez si vous utilisez des ressources provenant de deux comptes différents. N'utilisez pas une Appkey du compte A avec un jeton généré à partir du compte B.
41010101
UNSUPPORTED_SAMPLE_RATE
La fréquence d'échantillonnage n'est pas prise en charge.
La reconnaissance vocale en temps réel prend actuellement en charge uniquement l'audio avec une fréquence d'échantillonnage de 8 000 Hz ou 16 000 Hz.
41040201
Realtime:GET_CLIENT_DATA_TIMEOUT:Client data does not send continuously!
Échec de la récupération des données du client en raison d'un délai d'attente.
Lorsque vous appelez la reconnaissance vocale en temps réel, le client doit envoyer les données en temps réel et fermer la connexion rapidement après l'envoi des données.
50000000
GRPC_ERROR:Grpc error!
Une exception causée par des facteurs tels que la charge de la machine ou des problèmes de réseau. Cette erreur se produit généralement de manière aléatoire.
Vous pouvez réessayer l'appel pour résoudre le problème.
50000001
GRPC_ERROR:Grpc error!
Une exception causée par des facteurs tels que la charge de la machine ou des problèmes de réseau. Cette erreur se produit généralement de manière aléatoire.
Vous pouvez réessayer l'appel pour résoudre le problème.
52010001
GRPC_ERROR:Grpc error!
Une exception causée par des facteurs tels que la charge de la machine ou des problèmes de réseau. Cette erreur se produit généralement de manière aléatoire.
Vous pouvez réessayer l'appel pour résoudre le problème.
Codes d'erreur de la reconnaissance de fichiers audio / Reconnaissance de fichiers audio (heures creuses)
Code d'état
Message d'état
Cause
Solution
21050000
SUCCESS
Succès.
Aucune.
21050001
RUNNING
La tâche de reconnaissance de fichier audio est en cours d'exécution.
Envoyez une requête GET ultérieurement pour interroger le résultat de la reconnaissance.
21050002
QUEUEING
La tâche de reconnaissance de fichier audio est en file d'attente.
Envoyez une requête GET ultérieurement pour interroger le résultat de la reconnaissance.
21050003
SUCCESS_WITH_NO_VALID_FRAGMENT
L'interrogation du résultat de la reconnaissance a réussi, mais le module de détection d'activité vocale (VAD) n'a détecté aucune parole valide.
Dans ce cas, vérifiez les points suivants :
Vérifiez si le fichier audio contient une parole valide. S'il ne contient que des éléments invalides, comme un silence pur, il est normal qu'aucun résultat de reconnaissance ne soit renvoyé.
ASR_RESPONSE_HAVE_NO_WORDS
L'interrogation du résultat de la reconnaissance a réussi, mais le résultat final est vide.
Dans ce cas, vérifiez les points suivants :
Vérifiez si le fichier audio contient une parole valide, ou si la parole valide se compose uniquement de mots de remplissage et que le paramètre enable_disfluency est activé, ce qui entraîne le filtrage de ces mots.
Dans ces situations, il est normal qu'aucun résultat de reconnaissance ne soit renvoyé.
41050001
USER_BIZDURATION_QUOTA_EXCEED
La limite quotidienne de durée est dépassée. Les utilisateurs de l'édition gratuite peuvent reconnaître des fichiers audio dont la durée totale ne dépasse pas 2 heures par jour.
Passez de l'édition gratuite à la version commerciale. Si vous avez un volume d'activité élevé, contactez notre équipe commerciale par e-mail à l'adresse nls_support@service.aliyun.com.
41050002
FILE_DOWNLOAD_FAILED
Échec du téléchargement du fichier.
Vérifiez si le chemin d'accès au fichier audio est correct et si le fichier est accessible et téléchargeable depuis Internet.
41050003
FILE_CHECK_FAILED
Le format du fichier est incorrect.
Vérifiez si le fichier audio est au format WAV ou MP3, en mono ou stéréo.
41050004
FILE_TOO_LARGE
Le fichier est trop volumineux.
Vérifiez si la taille du fichier audio dépasse 512 Mo. Si c'est le cas, segmentez le fichier audio.
41050005
FILE_NORMALIZE_FAILED
Échec de la normalisation du fichier.
Vérifiez si le fichier audio est endommagé et s'il peut être lu normalement.
41050006
FILE_PARSE_FAILED
Échec de l'analyse du fichier.
Vérifiez si le fichier audio est endommagé et s'il peut être lu normalement.
41050007
MKV_PARSE_FAILED
Échec de l'analyse du fichier MKV.
Vérifiez si le fichier audio est endommagé et s'il peut être lu normalement.
41050008
UNSUPPORTED_SAMPLE_RATE
Le taux d'échantillonnage ne correspond pas.
Vérifiez si le taux d'échantillonnage réel de l'audio correspond à celui du modèle ASR associé à l'Appkey dans la console, ou définissez le paramètre de sous-échantillonnage automatique enable_sample_rate_adaptive sur true dans ce document.
41050010
FILE_TRANS_TASK_EXPIRED
La tâche de reconnaissance de fichier audio a expiré.
Le TaskId n'existe pas ou a expiré.
41050011
REQUEST_INVALID_FILE_URL_VALUE
Le paramètre file_link de la requête n'est pas valide.
Confirmez que le format du paramètre file_link est correct.
41050012
REQUEST_INVALID_CALLBACK_VALUE
Le paramètre callback_url de la requête n'est pas valide.
Confirmez que le format du paramètre callback_url est correct et qu'il n'est pas vide.
41050013
REQUEST_PARAMETER_INVALID
Le paramètre de requête n'est pas valide.
Confirmez que la valeur de la tâche dans la requête est une chaîne au format JSON valide.
41050014
REQUEST_EMPTY_APPKEY_VALUE
La valeur du paramètre appkey dans la requête est vide.
Confirmez que la valeur du paramètre appkey est définie.
41050015
REQUEST_APPKEY_UNREGISTERED
L'appkey du paramètre de requête n'est pas enregistré.
Confirmez que la valeur du paramètre appkey dans la requête est correctement définie, ou qu'elle appartient au même compte que l'ID AccessKey du compte Alibaba Cloud.
41050021
RAM_CHECK_FAILED
Échec de la vérification RAM.
Vérifiez si votre utilisateur RAM est autorisé à appeler les opérations API de Voice Service. Pour plus d'informations, consultez Configurer les autorisations de l'utilisateur RAM.
41050023
CONTENT_LENGTH_CHECK_FAILED
Échec de la vérification content-length.
Lors du téléchargement d'un fichier, vérifiez si la valeur content-length dans la réponse HTTP correspond à la taille réelle du fichier.
41050024
FILE_404_NOT_FOUND
Le fichier à télécharger n'existe pas.
Vérifiez si le fichier à télécharger existe.
41050025
FILE_403_FORBIDDEN
Vous n'avez pas l'autorisation de télécharger le fichier requis.
Vérifiez si vous disposez de l'autorisation de télécharger le fichier audio.
41050026
FILE_SERVER_ERROR
Le service où se trouve le fichier demandé n'est pas disponible.
Vérifiez si le service où se trouve le fichier demandé est disponible.
41050103
AUDIO_DURATION_TOO_LONG
La durée du fichier demandé dépasse 12 heures.
Segmentez l'audio et soumettez plusieurs tâches de reconnaissance.
40270003
DECODER_ERROR
Échec de la détection des informations du fichier audio.
Confirmez que le fichier situé au lien de téléchargement est dans un format audio pris en charge.
51050000
INTERNAL_ERROR
Une exception causée par des facteurs tels que la charge de la machine ou un problème réseau. Cette erreur survient généralement de manière aléatoire.
Réessayez l'appel pour résoudre le problème. Si le problème persiste, contactez le support technique.
Versions antérieures
Si votre intégration ne définit pas explicitement la version sur 4.0, la reconnaissance de fichiers d'enregistrement utilise par défaut la version 4.0. Les résultats de rappel et d'interrogation diffèrent par leur style JSON et leurs champs. Si enable_callback et callback_url sont activés, le résultat du rappel est le suivant :
{ "result": [{ "begin_time": 340, "channel_id": 0, "emotion_value": 5.0, "end_time": 2365, "silence_duration": 0, "speech_rate": 177, "text": "How is the weather in Beijing?" }], "task_id": "3f5d4c0c399511e98dc025f34473****", "status_code": 21050000, "status_text": "SUCCESS", "request_time": 1551164878830, "solve_time": 1551164879230, "biz_duration": 2956 }Recommandations pour l'inspection de la qualité vocale
L'inspection de la qualité vocale pour les appels sortants et les scénarios similaires analyse généralement les enregistrements après les appels. La reconnaissance de fichiers d'enregistrement convient à ces scénarios. Tenez compte des fonctionnalités suivantes lors de la sélection d'un service :
-
Fonctionnalités principales :
Diarisation des locuteurs : distingue les deux interlocuteurs afin que vous puissiez vérifier la conformité au script par rôle.
Transcription haute précision : convertit les enregistrements en texte pour la mise en correspondance avec les règles d'inspection de la qualité.
Horodatages : localisez les déclarations non conformes ou les informations clés dans un enregistrement pour examen et collecte de preuves.
Fonctionnalités complémentaires : les mots clés personnalisés améliorent la reconnaissance des termes métier, et la détection du silence aide à identifier les pauses anormales pour des règles d'inspection plus granulaires.
Ajoutez la reconnaissance des émotions ou la reconnaissance vocale en temps réel en fonction de vos besoins métier.