Les événements d'activité Voice indiquent à quel moment le début ou la fin de la voix a été détecté dans un flux. Les événements sont envoyés en temps réel tels qu'ils sont détectés par Speech-to-Text. Les événements d'activité Voice peuvent être utiles pour développer des applications qui reposent sur la détection automatique du moment où un utilisateur a commencé ou terminé de parler. Speech-to-Text peut également être configuré pour fermer automatiquement le flux en fonction de l'activité Voice.
Les événements d'activité Voice ne sont disponibles que pour les requêtes gRPC StreamingRecognize.
Activer les événements d'activité Voice
Vous pouvez activer la réception des réponses d'activité Voice en définissant l'option enable_voice_activity_events
sur "true" sous le message streaming_features
.
Types d'événements d'activité Voice
Les événements d'activité Voice sont généralement renvoyés en temps réel, car Speech-to-Text détecte le démarrage ou l'arrêt de la parole pendant le flux. Ils sont généralement renvoyés avant les résultats de transcription pour le segment de parole correspondant. Des événements d'activité vocale peuvent être envoyés pour les contenus audio qui génèrent des résultats de transcription vides.
Début de l'activité vocale
Envoyé lorsque Speech-to-Text détecte le début de l'activité vocale.
{ "speechEventType": "SPEECH_ACTIVITY_BEGIN", "speechEventOffset": "1.070s" }
Fin de l'activité vocale
Envoyé lorsque Speech-to-Text détecte la fin de l'activité vocale.
{ "speechEventType": "SPEECH_ACTIVITY_END", "speechEventOffset": "1.070s" }
SPEECH_ACTIVITY_END
n'est envoyé.
Activer les délais avant expiration de l'activité Voice
Vous pouvez activer les délais avant expiration de l'activité Voice en définissant des valeurs sur le message voice_activity_timeout
dans streaming_features
. Les délais avant expiration de l'activité Voice doivent être supérieurs à 500 ms et inférieurs à 60 s. Les délais avant expiration de début et de fin de l'activité vocale peuvent être définis indépendamment.
Délai avant expiration du début de l'activité vocale
Lorsqu'un délai avant expiration du début de l'activité vocale est défini, Speech-to-Text ferme automatiquement le flux si la voix n'a pas commencé avant le délai d'expiration. Une fois qu'un événement SPEECH_ACTIVITY_START
a été détecté et renvoyé, le délai avant expiration est annulé pendant la durée du flux. Cette fonctionnalité est utile pour les applications qui s'attendent à ce qu'un utilisateur commence à parler dans un délai donné.
Délai avant expiration de la fin de l'activité vocale
Lorsqu'un délai avant expiration de la fin de l'activité vocale est défini, Speech-to-Text ferme automatiquement le flux si aucune autre voix n'est détectée dans le délai avant expiration d'un événement SPEECH_ACTIVITY_END
. Une fois qu'un événement SPEECH_ACTIVITY_START
a été détecté et renvoyé, le délai avant expiration est annulé et redémarre une fois qu'un événement SPEECH_ACTIVITY_END
est envoyé.
Mesure temporelle des délais avant expiration
Le temps écoulé est mesuré en octets de données audio envoyées dans les requêtes transmises à Speech-to-Text, et non en fonction de la durée du serveur. Cela permet de préserver la précision en cas de variations dans la transmission du flux. L'envoi de fragments audio très volumineux dans les requêtes ou l'envoi très rapide de requêtes réduisent la précision de la mesure des délais avant expiration. Remarque : La taille des fragments audio est limitée à 15 360 octets par requête.