Détection d'activité vocale
Le service IBM Watson® Speech to Text propose deux paramètres de détection d'activité vocale pour identifier l'audio utilisé pour la reconnaissance vocale. Les paramètres indiquent la sensibilité du service aux événements non vocaux et au bruit de fond. Les paramètres sont indépendants : vous pouvez les utiliser individuellement ou ensemble.
La détection d'activité vocale est prise en charge pour la plupart des modèles de langue. Pour plus d'informations, voir Prise en charge de modèle de langue.
Fonctionnement de la détection de l'activité vocale
La détection d'activité vocale utilise le flux audio d'entrée et détermine quelles parties du flux doivent être transmises pour la reconnaissance vocale. Les bruits de fond peuvent provoquer des erreurs de reconnaissance vocale, notamment des transcriptions incorrectes, des mots supplémentaires ou des mots manquants dans l'audio d'entrée. La fonction de détection d'activité vocale peut vous aider à faire en sorte que seules les données audio pertinentes soient traitées pour la reconnaissance vocale.
Vous pouvez utiliser la fonction pour contrôler les aspects suivants de la reconnaissance vocale :
- Suppression de la parole en arrière-plan. Les données de centre d'appels contiennent souvent des diaphonies ("écoutes indiscrètes") provenant d'autres agents. Vous pouvez définir un seuil de volume qui permet au service d'ignorer les conversations en arrière-plan plus silencieuses que le niveau spécifié.
- Suppression du bruit de fond. Certaines données audio, telles que la parole enregistrée dans une usine, peuvent contenir un niveau élevé de bruit de fond. Vous pouvez définir un seuil qui permet au système d'ignorer les bruits de fond plus faibles que le niveau spécifié.
- Suppression des événements audio non vocaux. Une musique de fond et des événements de tonalité, tels que le contenu audio diffusé pour un client qui est en ligne et qui attend, peuvent entraîner une reconnaissance inexacte. Le silence peut également entraîner des erreurs de reconnaissance ou de transcription inutile. Vous pouvez définir un seuil qui permet au système d'ignorer les événements plus silencieux que le niveau spécifié.
Par défaut, la détection d'activité vocale est configurée pour fournir des performances optimales pour chaque modèle dans les cas généraux. Pour des cas spécifiques, les paramètres par défaut peuvent ne pas être optimisés et peuvent entraîner une transcription ralentie ou des insertions et des suppressions de mots. Nous vous encourageons à expérimenter différents paramètres afin de déterminer les valeurs les plus adaptées à vos données audio.
Sensibilité du détecteur de parole
Utilisez le paramètre speech_detector_sensitivity pour ajuster la sensibilité de la détection de l'activité vocale. Ce paramètre vous permet de supprimer les insertions de mots à partir d'une musique, d'une toux et d'autres événements
non vocaux. Le service pondère les données audio qu'il transmet pour la reconnaissance vocale en évaluant des blocs de l'entrée audio par rapport aux modèles précédents d'activité non vocale et non vocale.
Indiquez une valeur flottante comprise entre 0.0 et 1.0. La valeur par défaut est 0.5, ce qui constitue un compromis raisonnable pour le niveau de sensibilité. La valeur 0.0 supprime toutes les données audio (aucune parole n'est transcrite).
La valeur 1.0 ne supprime aucune données audio (la sensibilité de détection vocale est désactivée). Les valeurs augmentent selon une courbe monotone de sensibilité par rapport à la parole. La spécification d'une précision à une ou deux décimales
(par exemple, 0.55) est généralement plus que suffisante.
Ce paramètre peut affecter la qualité et le temps d'attente de la reconnaissance vocale :
- Des valeurs plus faibles peuvent réduire la latence, car moins de données audio sont potentiellement transmises pour la reconnaissance vocale. Cependant, définir une valeur trop faible peut entraîner la suppression de segments audio contenant des paroles réelles, ce qui entraîne la perte de contenu exploitable de la transcription.
- Des valeurs supérieures peuvent augmenter le temps d'attente car la quantité de données potentiellement transmise pour la reconnaissance vocale est plus élevée. Cependant, définir une valeur élevée peut entraîner le passage de segments audio contenant des événements non verbaux, ajoutant ainsi du contenu parasite à la transcription.
Exemple de sensibilité du détecteur de parole
Dans l'exemple de demande illustré ci-après, la valeur 0.6 est spécifiée pour le paramètre speech_detector_sensitivity avec l'interface HTTP synchrone. Le service reconnaît un peu plus d'événements potentiellement non vocaux qu'avec
la valeur par défaut.
IBM Cloud
curl -X POST -u "apikey:{apikey}" \
--header "Content-Type: audio/flac" \
--data-binary @{path}audio-file1.flac \
"{url}/v1/recognize?speech_detector_sensitivity=0.6"
IBM Cloud Pak for Data IBM Software Hub
curl -X POST \
--header "Authorization: Bearer {token}" \
--header "Content-Type: audio/flac" \
--data-binary @{path}audio-file1.flac \
"{url}/v1/recognize?speech_detector_sensitivity=0.6"
Détection de l'activité vocale (SAD)
La détection de l'activité vocale (SAD) a été mise à jour pour inclure une nouvelle méthode améliorée en plus de la méthode existante dans l'API de conversion de la parole en texte recognize. La nouvelle méthode améliore la précision
et la performance de la détection des limites de la parole dans le flux audio. Il peut être utilisé en réglant sad_module:2.
Caractéristiques améliorées
Le SAD présente les caractéristiques améliorées suivantes :
- Meilleure performance dans la détection du début et de la fin du discours.
- Amélioration de la suppression du bruit.
- Temps de réponse plus rapide pour l'identification des segments avec la parole.
- Amélioration de la précision de la reconnaissance dans les environnements bruyants.
Utilisation recommandée
Le SAD peut utiliser à la fois la méthode existante et la nouvelle méthode améliorée :
sad_module: 1modèle SAD : Utilise le modèle SAD existant (valeur par défaut).sad_module: 2le modèle SAD : Il utilise le nouveau modèle SAD. Il est utilisé pour les applications qui nécessitent une réactivité en temps réel, la gestion des bruits de fond ou les applications qui dépendent de l'activité vocale, telles quespeech_ begin_event.
Par exemple :
curl -X POST -u "apikey:<apikey>" \
-H "Content-Type: audio/wav" \
--data-binary @{path}New_Recording.wav \
"{url}/v1/detect_language/sad_module:2"
Détection des événements de début de discours
En utilisant la détection d'événements par la parole, vous pouvez maintenant recevoir une notification précoce avec l'API recognize. Il détecte le début de la parole dans le flux audio entrant et envoie une notification à l'utilisateur.
Lorsque l'adresse speech_begin_event: true est définie dans la demande, un nouvel objet de réponse est envoyé pour indiquer le début d'un segment de parole. Il peut être utile pour la transcription en temps réel ou les applications
basées sur l'activité vocale. Il peut être utilisé par les applications clientes pour déclencher des actions en aval, par exemple en affichant des indicateurs speech started ou active et en préparant des pipelines
de traitement en temps réel.
Un événement de début de discours est généré dans deux scénarios :
- Lorsqu'une parole est détectée en premier dans un flux audio
- Après chaque période
end_of_phrase_silence_time, si un nouveau discours est détecté
La sensibilité de la détection peut être ajustée en utilisant le paramètre speech_event_sensitivity (par défaut 0.5 ), qui est une mesure de l'intensité du signal vocal qui déclenche l'événement de début de parole.
Des valeurs plus élevées indiquent qu'il est plus sensible à la parole. Les valeurs proches de 0 rendent la détection moins sensible au bruit de fond. Les valeurs proches de 1 augmentent les chances de détecter un événement de début
de parole mais peuvent déclencher de fausses alertes dans des environnements bruyants.
En utilisant speech_event_sensitivity, vous pouvez contrôler la sensibilité de l'événement de début de parole séparément de la transcription STT, qui est contrôlée par le paramètre speech_detector_sensitivity. speech_event_sensitivity ignore le bruit pour speech_begin_event, qui peut produire de faux événements d'intrusion.
Utilisation recommandée
Il est recommandé d'utiliser sad_module:2 lorsque vous utilisez speech_begin_event.
Par exemple :
curl -X POST "[URL]/v1/recognize?model=en-US&speech_begin_event=true&sad_module=2" \
-u "apikey:[APIKEY] " \
--header "content-type:audio/wav" \
--data-binary @example.wav
Exemple de réponse :
{
"result_index": 0,
"results": [
{
"speech_begin_event": {
"begin": 2.5
}
}
]
}
Suppression de l'audio en arrière-plan
Utilisez le paramètre background_audio_suppression pour supprimer l'audio en l'arrière-plan en fonction de son volume pour l'empêcher d'être transcrit comme un discours. Utilisez ce paramètre pour supprimer des conversations annexes
ou d'autres bruits de fond. Par exemple, ce paramètre permet de gérer des bruits de fond réguliers et silencieux, tels que des signaux audio faibles. Parce qu'un tel bruit peut interférer avec la transcription, il peut produire un contenu
où aucune parole réelle ne se produit dans les données audio.
Indiquez une valeur flottante comprise entre 0.0 et 1.0. La valeur par défaut, 0.0, ne fournit aucune suppression (la suppression audio en arrière-plan est désactivée). La valeur 0.5 offre un niveau raisonnable de suppression audio pour une
utilisation générale. La valeur 1.0 supprime toutes les données audio (aucune parole n'est transcrite). Les valeurs augmentent selon une courbe monotone. La spécification d'une précision à une ou deux décimales (par exemple, 0.55)
est généralement plus que suffisante.
Ce paramètre peut également affecter la qualité et le temps d'attente de la reconnaissance vocale. Toutefois, comme la suppression de bruit de fond est désactivée par défaut, affecter une valeur supérieure à zéro au paramètre ne peut qu'améliorer le temps d'attente. Mais des valeurs plus élevées peuvent progressivement réduire le volume de données audio transmises pour la reconnaissance vocale, ce qui peut entraîner la perte de contenu valide par la transcription.
Exemple de suppression d'audio en arrière-plan
Dans l'exemple de demande illustré ci-après, la valeur 0.5 est spécifiée pour le paramètre background_audio_suppression avec l'interface HTTP synchrone. Le service supprime un niveau raisonnable d'audio en arrière-plan.
IBM Cloud
curl -X POST -u "apikey:{apikey}" \
--header "Content-Type: audio/flac" \
--data-binary @{path}audio-file1.flac \
"{url}/v1/recognize?background_audio_suppression=0.5"
IBM Cloud Pak for Data IBM Software Hub
curl -X POST \
--header "Authorization: Bearer {token}" \
--header "Content-Type: audio/flac" \
--data-binary @{path}audio-file1.flac \
"{url}/v1/recognize?background_audio_suppression=0.5"
Prise en charge de modèle de langue
L'utilisation des paramètres speech_detector_sensitivity et background_audio_suppression est pris en charge avec les modèles de langue suivants :
- Pour les grands modèles vocaux et les modèles de nouvelle génération, les paramètres sont pris en charge par tous les modèles.
- Pour les modèles de génération précédente, les paramètres sont pris en charge par la plupart des modèles. Les modèles suivants ne prennent actuellement pas en charge la détection d'activité vocale. Les paramètres sont ignorés
s'ils sont utilisés avec ces modèles.
- Modèle large bande pour l'arabe (
ar-MS_BroadbandModel) - Modèle portugais brésilien à large bande (
pt-BR_BroadbandModel) - Modèle chinois à large bande (
zh-CN_BroadbandModel) - Modèle chinois à bande étroite (
zh-CN_NarrowbandModel) - Modèle allemand à large bande (
de-DE_BroadbandModel)
- Modèle large bande pour l'arabe (