Configuration des services de synthétiseur vocal MRCPv2
En tant qu'alternative à IBM® Text to Speech, vous pouvez configurer votre déploiement Voice Gateway pour se connecter à un service de synthétiseur vocal tiers à l'aide d'une connexion MRCPv2.
Configuration d'un vocalisateur MRCPv2
-
Clonez ou téléchargez le référentiel sample.voice.gateway sur GitHub.
-
Accédez au répertoire où vous avez cloné le référentiel
sample.voice.gatewaysur votre machine et ouvrez le répertoiremrcp/qui contient les fichiers suivants:docker-compose.yml- Configuration de base de Voice Gateway avec MRCPv2tenantConfiguration.json- Fichier de configuration JSON
-
Ouvrez le fichier de configuration
unimrcpConfig/unimrcpclient.xml. Dans la zoneserver-ip, spécifiez l'adresse IP du MRCPv2. Dans la zoneext-ip, spécifiez l'adresse IP externe de la machine sur laquelle le conteneur Media Relay s'exécute.- Pour obtenir une liste complète des zones qui peuvent être configurées, voir le fichier de configuration UniMRCP.
-
Dans le fichier
docker-compose.yml, montez le fichierunimrcpclient.xmlsur le conteneur Media Relay. -
Dans le fichier
tenantConfiguration.json, vous pouvez spécifier d'utiliser un fournisseur MRCPv2 pour la synthèse vocale en définissant le paramètreproviderTypede votre configurationttssurmrcpv2. Vous pouvez inclure d'autres zones de configuration pour continuer de personnaliser votre déploiement.
"tts": {
"providerType": "mrcpv2"
}
Rappel : si vous ne spécifiez pas un providerType, Voice Gateway utilise le paramètre watson par défaut.
Exemple : Fournisseur unique utilisant MRCPv2.
{
"tts": {
"providerType": "mrcpv2",
"config": {
"mrcpv2ProfileID": "MRCP #1",
"speakHeaders": {
"Voice-Age": "25",
"Voice-Gender": "neutral"
}
},
"cacheTimeToLive": 0
}
}
Exemple : Configuration de plusieurs fournisseurs utilisant MRCPv2
Dans l'exemple suivant, un fournisseur est affiché dans un fichier de configuration JSON formaté pour plusieurs fournisseurs. Contrairement à la configuration pour fournisseur unique, la configuration pour plusieurs fournisseurs a providerSelectionPolicy et providers au niveau racine.
{
"tts": {
"providerSelectionPolicy" : "sequential",
"providers": [
{
"name" : "mrcp-synthesizer-primary",
"providerType": "mrcpv2",
"config": {
"mrcpv2ProfileID": "MRCP #1",
"speakHeaders": {
"Speech-Language": "en-US",
"Voice-gender": "neutral"
},
},
}
]
}
}
Paramètres de configuration de Text to Speech
La configuration de niveau supérieur de Voice Gateway pour Text to Speech a des valeurs équivalentes à celles qui sont appliquées lorsque vous configurez un synthétiseur vocal MRCPv2.
| Paramètres | Valeur | Description |
|---|---|---|
providerType |
Chaîne | Définit le type de fournisseur de voix mrcpv2 ou watson. La valeur par défaut est watson. |
credentials |
Données d'identification | Obligatoire si vous utilisez Text to Speech si vous avez des fournisseurs mixtes. Non obligatoire pour les services de synthétiseur MRCPv2. |
config |
WatsonTextToSpeechConfig/MrcpSynthesizerConfig |
Obligatoire. Définit la configuration pour le fournisseur texte-parole spécifié. |
connectionTimeout |
Variable flottante | Facultatif. Durée en secondes pendant laquelle Voice Gateway attend avant d'établir une connexion socket avec le service Text to Speech ou le service de synthétiseur MRCPv2. Si la durée est dépassée, Voice Gateway entame une nouvelle tentative de connexion avec le service Text to Speech ou le service de synthétiseur MRCPv2. Si le service n'est toujours pas joignable, l'appel échoue. Versions 1.0.0.5 et ultérieures. |
requestTimeout |
Variable flottante | Facultatif. Durée en secondes pendant laquelle Voice Gateway attend avant d'établir une session de reconnaissance vocale avec le service Text to Speech ou le service de synthétiseur MRCPv2. Si la durée est dépassée, Voice Gateway entame une nouvelle tentative de connexion avec le service Text to Speech ou le service de synthétiseur MRCPv2. Si le service n'est toujours pas joignable, l'appel échoue. Versions 1.0.0.5 et ultérieures. |
jitterBufferDelay |
Durée en millisecondes de mise en mémoire tampon avant la lecture de l'audio du service. Cette mémoire tampon s'applique pour toute fluctuation au niveau de l'audio en continu. | |
cacheTimeToLive |
Durée en heures de mise en cache des réponses du service de synthétiseur pour améliorer le temps de réponse de lecture. Lorsqu'il est activé, toutes les réponses sont mises en cache à moins d'avoir été exclues dans le dialogue Watson Assistant. | |
providers[] |
Chaîne | Facultatif. Liste des fournisseurs de voix. |
Configuration du synthétiseur MRCPv2
Paramètres de configuration spécifiques à votre configuration de fournisseur mrcpv2.
| Paramètres | Format | Description |
|---|---|---|
mrcpv2ProfileID |
Chaîne | ID de profil du client MRCPv2. Le document de configuration d'origine en XML se trouve dans le Manuel de configuration du client MRCPv2. |
speakHeaders |
Objet JSON | Collection de paires nom/valeur qui seront utilisées en tant qu'en-têtes pour la demande de reconnaissance. |
speakBody |
Objet JSON | Spécifie le corps de contenu de la demande de reconnaissance.
Les énoncés de texte venant de Watson Assistant sont encapsulés dans un document xml. L'utilisation de cette zone est prioritaire sur le corps de la demande SPEAK qui est envoyée au synthétiseur MRCPv2. |