Carga de un lexicón - Amazon Polly

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Carga de un lexicón

Los lexicones que use deben ajustarse a la recomendación de W3C sobre Pronunciation Lexicon Specification (PLS, Especificación de lexicones de pronunciación). Para obtener más información, consulte Pronunciation Lexicon Specification (PLS) versión 1.0 en el sitio web de W3C.

Console - Lexicons tab

Para utilizar un lexicón de pronunciación, primero debe cargarlo. Hay dos ubicaciones en la consola desde las que se puede cargar un lexicón, la pestaña Text-to-Speech y la pestaña Lexicons.

En los procesos siguientes se explica cómo agregar lexicones que puede utilizar para personalizar el modo en que las palabras y las frases poco comunes se pronuncian en el idioma elegido.

Para agregar un lexicón desde la pestaña Lexicons
  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon Polly en https://console.aws.amazon.com/polly/.

  2. Elija la pestaña Lexicons.

  3. Seleccione Cargar lexicón.

  4. Proporcione un nombre para el lexicón y, a continuación, utilice Elija un archivo de lexicón para buscar el lexicón que desea cargar. Solo puede cargar archivos PLS con las extensiones .pls o .xml.

  5. Seleccione Cargar lexicón. Si ya existe un lexicón con el mismo nombre (ya sea un archivo .pls o un archivo .xml), al cargar el lexicón, se remplazará el lexicón existente.

Console - TTS tab
Cómo agregar un lexicón desde la pestaña Text-to-Speech (texto a voz)
  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon Polly en https://console.aws.amazon.com/polly/.

  2. Elija la pestaña Text-to-Speech.

  3. Amplíe Configuración adicional, active Personalizar pronunciación y, a continuación, seleccione Cargar lexicón.

  4. Proporcione un nombre para el lexicón y, a continuación, utilice Elija un archivo de lexicón para buscar el lexicón que desea cargar. Solo puede emplear archivos PLS que utilicen las extensiones .pls y.xml.

  5. Seleccione Cargar lexicón. Si ya existe un lexicón con el mismo nombre (ya sea un archivo .pls o un archivo .xml), al cargar el lexicón, se remplazará el lexicón existente.

AWS CLI - one lexeme

Con Amazon Polly, puede utilizar PutLexicon para almacenar lexicones de pronunciación en una región de AWS específica de su cuenta. A continuación, podrá especificar uno o varios de los lexicones almacenados en la solicitud SynthesizeSpeech que desee aplicar antes de que el servicio comience a sintetizar el texto. Para obtener más información, consulte Administración de lexicones.

Supongamos que tiene el siguiente lexicón, que se ajusta a la recomendación PLS de W3C.

<?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>

Tenga en cuenta lo siguiente:

  • Los dos atributos especificados en el elemento <lexicon>:

    • El atributo xml:lang especifica el código de idioma, en-US, al que se va a aplicar el lexicón. Amazon Polly puede utilizar este lexicón de ejemplo si la voz que se especifica en la llamada a SynthesizeSpeech tiene el mismo código de idioma (en-US).

      nota

      Puede utilizar la operación DescribeVoices para buscar el código de idioma asociado a una voz.

       

    • El atributo alphabet está establecido en IPA, lo que significa que se va a utilizar el Alfabeto Fonético Internacional (IPA, por sus siglas en inglés) para especificar la pronunciación. IPA es uno de los alfabetos disponibles para escribir las pronunciaciones. Amazon Polly también admite el Alfabeto Fonético Extendido SAM (X-SAMPA, por sus siglas en inglés).

       

  • El elemento <lexeme> describe la correspondencia entre <grapheme> (es decir, la representación gráfica textual de la palabra) y <alias>.

Para probar este lexicón, haga lo siguiente:

  1. Guarde el lexicón como example.pls.

  2. Ejecute el comando AWS CLI de put-lexicon para guardar el lexicón (con el nombre w3c) en la región us-east-2.

    aws polly put-lexicon \ --name w3c \ --content file://example.pls
  3. Ejecute el comando synthesize-speech para sintetizar el texto de ejemplo en una secuencia de audio (speech.mp3) y especifique el parámetro opcional lexicon-name.

    aws polly synthesize-speech \ --text 'W3C is a Consortium' \ --voice-id Joanna \ --output-format mp3 \ --lexicon-names="w3c" \ speech.mp3
  4. Reproduzca el archivo speech.mp3 resultante y observe que la palabra W3C del texto se ha sustituido por World Wide Web Consortium.

En el lexicón del ejemplo anterior se utiliza un alias. El alfabeto IPA mencionado en el lexicón no se utiliza. El lexicón siguiente especifica una pronunciación fonética que utiliza el elemento <phoneme> con el alfabeto IPA.

<?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>

Siga los mismos pasos para probar este lexicón. No olvide especificar un texto de entrada que tenga la palabra “pecan”; por ejemplo, “Pecan pie is delicious” ("La tarta de nueces está deliciosa").

Consulte los siguientes recursos para obtener muestras de código adicionales para la operación de la API PutLexicon:

AWS CLI - multiple lexemes

Con Amazon Polly, puede utilizar PutLexicon para almacenar lexicones de pronunciación en una región de AWS específica de su cuenta. A continuación, podrá especificar uno o varios de los lexicones almacenados en la solicitud SynthesizeSpeech que desee aplicar antes de que el servicio comience a sintetizar el texto. Para obtener más información, consulte Administración de lexicones.

En este ejemplo, el lexema especificado en el lexicón se aplica exclusivamente al texto de entrada del proceso de síntesis. Pongamos como ejemplo el siguiente lexicón:

<?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>

El lexicón especifica tres lexemas, dos de los cuales definen un alias para el grafema W3C, tal y como se indica a continuación:

  • El primer elemento <lexeme> define un alias (World Wide Web Consortium).

  • El segundo elemento <lexeme> define un alias alternativo (WWW Consortium).

Amazon Polly utiliza la primera palabra de sustitución con cualquier grafema del lexicón.

El tercer elemento <lexeme> establece una palabra sustituta (Community) para "Consortium".

En primer lugar, vamos a probar este lexicón. Supongamos que desea sintetizar el siguiente texto de ejemplo en un archivo de audio (speech.mp3) y que especifica el lexicón en una llamada a SynthesizeSpeech.

The W3C is a Consortium

SynthesizeSpeech se aplica al lexicón de la forma siguiente:

  • De acuerdo con el primer lexema, la palabra W3C se modifica a World Wide Web Consortium. El texto revisado sería el siguiente:

    The World Wide Web Consortium is a Consortium
  • El alias definido en el tercer lexema solamente se aplica a la palabra Consortium que formaba parte del texto original, por lo que se obtiene el siguiente texto:

    The World Wide Web Consortium is a Community.

Puede comprobarlo utilizando AWS CLI del modo siguiente:

  1. Guarde el lexicón como example.pls.

  2. Ejecute el comando put-lexicon para guardar el lexicón con el nombre w3c en la región us-east-2.

    aws polly put-lexicon \ --name w3c \ --content file://example.pls
  3. Ejecute el comando list-lexicons para comprobar que el lexicón w3c está en la lista de lexicones devuelta.

    aws polly list-lexicons
  4. Ejecute el comando synthesize-speech para sintetizar el texto de ejemplo en un archivo de audio (speech.mp3) y especifique el parámetro opcional lexicon-name.

    aws polly synthesize-speech \ --text 'W3C is a Consortium' \ --voice-id Joanna \ --output-format mp3 \ --lexicon-names="w3c" \ speech.mp3
  5. Reproduzca el archivo speech.mp3 resultante para comprobar que la síntesis del fragmento hablado refleja los cambios del texto.

Consulte los siguientes recursos para obtener muestras de código adicionales para la operación de la API PutLexicon: