Utilisation de l' PutLexicon opération - Amazon Polly

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation de l' PutLexicon opération

Amazon Polly vous permet de stocker des lexiques PutLexicon de prononciation dans une AWS région spécifique pour votre compte. Vous pouvez ensuite indiquer un ou plusieurs de ces lexiques stockés dans votre demande SynthesizeSpeech que vous souhaitez appliquer avant que le service ne démarre la synthèse du texte. Pour plus d’informations, consultez Gestion des lexiques.

Cette section fournit des exemples de lexiques ainsi que des step-by-step instructions pour les stocker et les tester.

Note

Ces lexiques doivent être conformes à la recommandation W3C Pronunciation Lexicon Specification (PLS). Pour plus d'informations, consultez la recommandation Pronunciation Lexicon Specification (PLS) Version 1.0 sur le site Web de W3C.

Exemple 1 : Lexique avec un lexème

Considérez le lexique W3C compatible PLS.

<?xml version="1.0" encoding="UTF-8"?> <lexicon version="1.0" xmlns="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2005/01/pronunciation-lexicon http://www.w3.org/TR/2007/CR-pronunciation-lexicon-20071212/pls.xsd" alphabet="ipa" xml:lang="en-US"> <lexeme> <grapheme>W3C</grapheme> <alias>World Wide Web Consortium</alias> </lexeme> </lexicon>

Notez ce qui suit :

  • Les deux attributs spécifiés dans l'élément <lexicon> :

    • L'xml:langattribut indique le code de langue auquel le lexique s'applique. en-US Amazon Polly peut utiliser cet exemple de lexique si la voix que vous spécifiez dans l'SynthesizeSpeechappel possède le même code de langue (en-US).

      Note

      Vous pouvez utiliser l'opération DescribeVoices pour trouver le code de langue associé à une voix.

       

    • L'attribut alphabet indique IPA, ce qui signifie que l'alphabet phonétique international (API) est utilisé pour les prononciations. L'IPA est l'un des alphabets utilisés pour écrire les prononciations. Amazon Polly prend également en charge l'alphabet phonétique des méthodes d'évaluation vocale étendues (X-SAMPA).

       

  • L'élément <lexeme> décrit le mappage entre <grapheme> (qui est une représentation de texte du mot) et <alias>.

Pour tester ce lexique, procédez comme suit :

  1. Enregistrez le lexique sous le nom example.pls.

  2. Exécutez la put-lexicon AWS CLI commande pour enregistrer le lexique (avec le nomw3c) dans la région us-east-2.

    aws polly put-lexicon \ --name w3c \ --content file://example.pls
  3. Exécutez la commande synthesize-speech pour synthétiser l'exemple de texte dans un flux audio (speech.mp3) et indiquez le paramètre facultatif lexicon-name.

    aws polly synthesize-speech \ --text 'W3C is a Consortium' \ --voice-id Joanna \ --output-format mp3 \ --lexicon-names="w3c" \ speech.mp3
  4. Lisez le fichier speech.mp3 obtenu et notez que le mot W3C dans le texte est remplacé par « World Wide Web Consortium ».

L'exemple de lexique précédent utilise un alias. L'alphabet API mentionné dans le lexique n'est pas utilisé. Le lexique suivant spécifie une prononciation phonétique à l'aide de l'élément <phoneme> avec l'alphabet API.

<?xml version="1.0" encoding="UTF-8"?> <lexicon version="1.0" xmlns="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2005/01/pronunciation-lexicon http://www.w3.org/TR/2007/CR-pronunciation-lexicon-20071212/pls.xsd" alphabet="ipa" xml:lang="en-US"> <lexeme> <grapheme>pecan</grapheme> <phoneme>pɪˈkɑːn</phoneme> </lexeme> </lexicon>

Suivez la même procédure pour tester ce lexique. Assurez-vous d'indiquer le texte saisi comportant le mot « pecan » (par exemple, « Pecan pie is delicious »).

Exemple 2 : Lexique avec plusieurs lexèmes

Dans cet exemple, le lexème que vous spécifiez dans le lexique s'applique exclusivement au texte saisi pour la synthèse. Prenez en compte le lexique suivant :

<?xml version="1.0" encoding="UTF-8"?> <lexicon version="1.0" xmlns="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2005/01/pronunciation-lexicon http://www.w3.org/TR/2007/CR-pronunciation-lexicon-20071212/pls.xsd" alphabet="ipa" xml:lang="en-US"> <lexeme> <grapheme>W3C</grapheme> <alias>World Wide Web Consortium</alias> </lexeme> <lexeme> <grapheme>W3C</grapheme> <alias>WWW Consortium</alias> </lexeme> <lexeme> <grapheme>Consortium</grapheme> <alias>Community</alias> </lexeme> </lexicon>

Le lexique indique trois lexèmes, dont deux d'entre eux définissent un alias pour le graphème W3C comme suit :

  • Le premier élément <lexeme> définit un alias (World Wide Web Consortium).

  • Le deuxième <lexeme> définit un autre alias (WWW Consortium).

Amazon Polly utilise le premier remplacement d'un graphème donné dans un lexique.

Le troisième <lexeme> définit un remplacement (Community) pour le mot Consortium.

Tout d'abord, nous allons tester ce lexique. Supposons que vous vouliez résumer l'exemple de texte suivant dans un fichier audio (speech.mp3), et que vous indiquiez le lexique dans un appel à SynthesizeSpeech.

The W3C is a Consortium

SynthesizeSpeech applique d'abord le lexique comme suit :

  • Pour le premier lexème, le mot W3C est révisé en tant que « World Wide Web Consortium ». Le texte révisé apparaît comme suit :

    The World Wide Web Consortium is a Consortium
  • L'alias défini dans le troisième lexème s'applique uniquement au mot Consortium qui faisait partie du texte original, générant le texte suivant :

    The World Wide Web Consortium is a Community.

Vous pouvez le tester en utilisant AWS CLI les méthodes suivantes :

  1. Enregistrez le lexique sous le nom example.pls.

  2. Exécutez la commande put-lexicon pour stocker le lexique avec le nom « w3c », dans la région us-east-2.

    aws polly put-lexicon \ --name w3c \ --content file://example.pls
  3. Exécutez la commande list-lexicons pour vérifier que le lexique « w3c » figure dans la liste des lexiques renvoyés.

    aws polly list-lexicons
  4. Exécutez la commande synthesize-speech pour synthétiser l'exemple de texte dans un fichier audio (speech.mp3) et indiquez le paramètre facultatif lexicon-name.

    aws polly synthesize-speech \ --text 'W3C is a Consortium' \ --voice-id Joanna \ --output-format mp3 \ --lexicon-names="w3c" \ speech.mp3

  5. Lisez le fichier speech.mp3 obtenu pour vérifier que le discours synthétisé reflète les modifications de texte.

Exemple 3 : Spécification de plusieurs lexiques

Dans un appel à SynthesizeSpeech, vous pouvez spécifier plusieurs lexiques. Dans ce cas, le premier lexique spécifié (de gauche à droite) remplace tous les lexiques précédents.

Considérez les deux lexiques suivants. Veuillez noter que chaque lexique décrit différents alias pour le même graphème W3C.

  • Lexique 1 : w3c.pls

    <?xml version="1.0" encoding="UTF-8"?> <lexicon version="1.0" xmlns="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2005/01/pronunciation-lexicon http://www.w3.org/TR/2007/CR-pronunciation-lexicon-20071212/pls.xsd" alphabet="ipa" xml:lang="en-US"> <lexeme> <grapheme>W3C</grapheme> <alias>World Wide Web Consortium</alias> </lexeme> </lexicon>
  • Lexique 2 : w3cAlternate.pls

    <?xml version="1.0" encoding="UTF-8"?> <lexicon version="1.0" xmlns="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2005/01/pronunciation-lexicon http://www.w3.org/TR/2007/CR-pronunciation-lexicon-20071212/pls.xsd" alphabet="ipa" xml:lang="en-US"> <lexeme> <grapheme>W3C</grapheme> <alias>WWW Consortium</alias> </lexeme> </lexicon>

Supposons que vous stockiez ces lexiques respectivement sous les noms w3c et w3cAlternate. Si vous spécifiez des lexiques selon l'ordre (w3c suivi de w3cAlternate) dans un appel à la commande SynthesizeSpeech, l'alias pour W3C défini dans le premier lexique a la priorité par rapport au deuxième. Pour tester ces lexiques, procédez comme suit :

  1. Enregistrez les lexiques localement dans des fichiers appelés w3c.pls et w3cAlternate.pls.

  2. Téléchargez ces lexiques à l'aide de la put-lexicon AWS CLI commande.

    • Chargez le lexique w3c.pls et stockez-le en tant que w3c.

      aws polly put-lexicon \ --name w3c \ --content file://w3c.pls
    • Chargez le lexique w3cAlternate.pls et stockez-le en tant que w3cAlternate.

      aws polly put-lexicon \ --name w3cAlternate \ --content file://w3cAlternate.pls

  3. Exécutez la commande synthesize-speech pour synthétiser l'exemple de texte dans un flux audio (speech.mp3) et indiquez les deux lexiques à l'aide du paramètre lexicon-name.

    aws polly synthesize-speech \ --text 'PLS is a W3C recommendation' \ --voice-id Joanna \ --output-format mp3 \ --lexicon-names '["w3c","w3cAlternative"]' \ speech.mp3
  4. Testez le fichier speech.mp3 obtenu. Il doit se lire comme suit :

    PLS is a World Wide Web Consortium recommendation

Exemples de code supplémentaires pour l' PutLexicon API