Tous les produits
Search
Centre de documentation

Alibaba Cloud Model Studio:Client events for Qwen-ASR-Realtime

Dernière mise à jour :Sep 07, 2026

Cette rubrique documente les événements client-serveur de l'API WebSocket Qwen-ASR Realtime. Chaque section détaille un type d'événement, ses paramètres et les réponses du serveur.

Pour une présentation des fonctionnalités et des exemples de code complets, consultez Reconnaissance vocale en temps réel - Qwen. Pour les événements serveur-client, reportez-vous à Événements serveur pour Qwen-ASR-Realtime.

Cycle de vie des événements

Une session typique suit la séquence suivante :

  1. Établissez une connexion WebSocket.
  2. Envoyez session.update pour configurer le format audio, la langue et les paramètres VAD.
  3. Envoyez input_audio_buffer.append de manière répétée pour transmettre les données audio en flux continu.
  4. En mode manuel, envoyez input_audio_buffer.commit pour déclencher la reconnaissance d'une phrase complète. En mode VAD, le serveur déclenche automatiquement la reconnaissance.
  5. Envoyez session.finish pour terminer la session, puis fermez la connexion après réception de la réponse session.finished.

session.update

Configure la session. Envoyez cet événement immédiatement après l'établissement de la connexion WebSocket pour définir le format audio, la langue et les paramètres VAD. En cas d'omission, les valeurs par défaut s'appliquent.

En cas de succès, le serveur répond par un événement session.updated.

Paramètres

ParamètreTypeObligatoireDescription
typestringOuiValeur fixe : session.update.
event_idstringOuiID d'événement unique.
sessionobjectOuiObjet de configuration de la session. Consultez le tableau de configuration de la session ci-dessous.

Configuration de la session

ParamètreTypeObligatoireDescription
input_audio_formatstringNonFormat d'encodage audio. Valeurs valides : pcm, opus. Par défaut : pcm.
sample_rateintegerNonTaux d'échantillonnage audio en Hz. Valeurs valides : 16000, 8000. Par défaut : 16000. La valeur 8000 entraîne un suréchantillonnage côté serveur vers 16 000 Hz (léger délai). Réservez la valeur 8000 aux sources audio nativement échantillonnées à 8 000 Hz, comme la téléphonie.
input_audio_transcriptionobjectNonParamètres de reconnaissance vocale.
input_audio_transcription.languagestringNonLangue de l'audio. Consultez le tableau des langues prises en charge ci-dessous.
input_audio_transcription.corpus.textstringNonTexte contextuel pour le biais contextuel : texte d'arrière-plan, vocabulaires d'entités ou documents de référence améliorant la précision de la reconnaissance. Maximum : 10 000 tokens.
turn_detectionobjectNonConfiguration VAD. Définissez ce paramètre sur null pour le mode manuel. Si ce paramètre est présent, le mode VAD est activé.
turn_detection.typestringObligatoire si turn_detection est définiValeur fixe : server_vad.
turn_detection.thresholdfloatNonSeuil de sensibilité VAD. Par défaut : 0.2. Plage valide : [-1, 1]. Des valeurs plus faibles augmentent la sensibilité (risque de déclenchement sur le bruit ambiant). Des valeurs plus élevées réduisent la sensibilité et évitent les faux positifs dans les environnements bruyants. Consultez les préréglages VAD recommandés ci-dessous.
turn_detection.silence_duration_msintegerNonDurée du silence en millisecondes marquant la fin d'une phrase. Par défaut : 800. Plage valide : [200, 6000]. Des durées plus courtes (ex. : 300 ms) accélèrent les réponses mais peuvent scinder les pauses naturelles. Des durées plus longues (ex. : 1 200 ms) gèrent mieux les pauses mais augmentent la latence. Consultez les préréglages VAD recommandés ci-dessous.

Préréglages VAD recommandés

Utilisez ces préréglages comme points de départ et ajustez-les selon vos résultats :

Préréglagethresholdsilence_duration_msIdéal pour
Faible latence0.0400Interactions rapides telles que les commandes vocales ou l'assistance par agent, où la réactivité prime sur la gestion des pauses longues
Équilibré (par défaut)0.2800Transcription polyvalente offrant un compromis entre réactivité et précision

Langues prises en charge

CodeLangue
zhChinois (mandarin, sichuanais, minnan et wu)
yueCantonais
enAnglais
jaJaponais
deAllemand
koCoréen
ruRusse
frFrançais
ptPortugais
arArabe
itItalien
esEspagnol
hiHindi
idIndonésien
thThaï
trTurc
ukUkrainien
viVietnamien
csTchèque
daDanois
filFilipino
fiFinnois
isIslandais
msMalais
noNorvégien
plPolonais
svSuédois

Exemple

{
    "event_id": "event_123",
    "type": "session.update",
    "session": {
        "input_audio_format": "pcm",
        "sample_rate": 16000,
        "input_audio_transcription": {
            "language": "zh"
        },
        "turn_detection": {
            "type": "server_vad",
            "threshold": 0.0,
            "silence_duration_ms": 400
        }
    }
}

input_audio_buffer.append

Transmet un segment audio au tampon d'entrée du serveur. Cet événement constitue le mécanisme principal d'envoi de données audio.

Le comportement varie selon le mode d'interaction :

  • Mode VAD : Le serveur surveille l'activité vocale dans le tampon et déclenche automatiquement la reconnaissance.
  • Mode manuel : Le client contrôle les limites des phrases. Envoyez des segments plus petits pour réduire la latence.

ImportantLe champ audio contient des données encodées en Base64. En mode manuel, la taille maximale par événement est de 15 Mio. Le serveur n'envoie aucune confirmation.

Paramètres

ParamètreTypeObligatoireDescription
typestringOuiValeur fixe : input_audio_buffer.append.
event_idstringOuiID d'événement unique.
audiostringOuiDonnées audio encodées en Base64.

Exemple

{
    "event_id": "event_2728",
    "type": "input_audio_buffer.append",
    "audio": "<Base64-encoded-audio-data>"
}

input_audio_buffer.commit

Déclenche la reconnaissance de tout l'audio présent dans le tampon en tant que phrase unique. Utilisez cet événement en mode manuel lorsque votre application contrôle les limites des phrases (par exemple, appui-pour-parler).

Cet événement est désactivé en mode VAD.

En cas de succès, le serveur répond par un événement input_audio_buffer.committed.

Paramètres

ParamètreTypeObligatoireDescription
typestringOuiValeur fixe : input_audio_buffer.commit.
event_idstringOuiID d'événement unique.

Exemple

{
    "event_id": "event_789",
    "type": "input_audio_buffer.commit"
}

session.finish

Termine la session. La réponse du serveur dépend de la détection vocale :

Après réception de session.finished, fermez la connexion WebSocket.

Paramètres

ParamètreTypeObligatoireDescription
typestringOuiValeur fixe : session.finish.
event_idstringOuiID d'événement unique.

Exemple

{
    "event_id": "event_341",
    "type": "session.finish"
}