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

  1. Clonez ou téléchargez le référentiel sample.voice.gateway sur GitHub.

  2. Accédez au répertoire où vous avez cloné le référentiel sample.voice.gateway sur votre machine et ouvrez le répertoire mrcp/ qui contient les fichiers suivants:

    • docker-compose.yml - Configuration de base de Voice Gateway avec MRCPv2
    • tenantConfiguration.json - Fichier de configuration JSON
  3. Ouvrez le fichier de configuration unimrcpConfig/unimrcpclient.xml. Dans la zone server-ip, spécifiez l'adresse IP du MRCPv2. Dans la zone ext-ip, spécifiez l'adresse IP externe de la machine sur laquelle le conteneur Media Relay s'exécute.

  4. Dans le fichier docker-compose.yml, montez le fichier unimrcpclient.xml sur le conteneur Media Relay.

  5. Dans le fichier tenantConfiguration.json, vous pouvez spécifier d'utiliser un fournisseur MRCPv2 pour la synthèse vocale en définissant le paramètre providerType de votre configuration tts sur mrcpv2. 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.

Tableau 1. Paramètres qui peuvent être utilisés pour les services de synthétiseur vocal MRCPv2 et les services Text to Speech.
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.

Tableau 2. Paramètres de configuration spécifiques aux synthétiseurs vocaux 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.
  • contentType : type de contenu du corps de demande. Par exemple : text/uri, application/ssml+xml.
  • body : corps envoyé dans la demande.
.
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.