

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Aplicar léxicos (sintetização de fala)
<a name="managing-lexicons-console-synthesize-speech"></a>

Os léxicos que você usa devem estar em conformidade com a recomendação PLS (Pronunciation Lexicon Specification) do W3C. Para obter mais informações, consulte [Pronunciation Lexicon Specification (PLS) Version 1.0](https://www.w3.org/TR/pronunciation-lexicon/#S4.7) no site do W3C.

------
#### [ Console ]

O procedimento a seguir demonstra como aplicar um léxico ao seu texto inserido aplicando o léxico `W3c.pls` para substituir "W3C" por "World Wide Web Consortium". Se você aplicar vários léxicos ao texto, eles serão aplicados de cima para baixo, com a primeira correspondência levando precedência sobre as correspondências posteriores. O léxico só será aplicado ao texto se o idioma especificado nele for o mesmo que o idioma escolhido.

Você pode aplicar um léxico a uma entrada em texto sem formatação ou SSML.

**Example – Aplicação do léxico W3C.pls**  
Para criar o léxico do qual você precisará para este exercício, consulte [Fazer upload de um léxico](managing-lexicons-console-upload.md). Use um editor de texto sem formatação para criar o léxico W3C.pls exibido na parte superior do tópico. Lembre-se do local onde salvou o arquivo.  

**Para aplicar o léxico W3C.pls à sua entrada**

Neste exemplo, apresentamos um léxico para substituir "World Wide Web Consortium" por "W3C". Compare os resultados deste exercício com os de [Usar SSML no console](ssml-to-speech-console.md) para inglês norte-americano e outro idioma.

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon Polly em [https://console.aws.amazon.com/polly/](https://console.aws.amazon.com/polly/).

1. Execute um destes procedimentos:
   + Selecione a guia **SSML** e digite ou cole este texto na caixa de entrada de texto.

     ```
     He was caught up in the game. 
     In the middle of the 10/3/2014 W3C meeting 
     he shouted, "Score!" quite loudly.
     ```
   + Selecione a guia **SSML** e digite ou cole este texto na caixa de entrada de texto.

     ```
     <speak>He wasn't paying attention.<break time="1s"/>
     In the middle of the 10/3/2014 W3C meeting 
     he shouted, "Score!" quite loudly.</speak>
     ```

1. Na lista **Idiomas**, escolha **Inglês, EUA** e, em seguida, escolha a voz que deseja usar para esse texto.

1. Expanda **Configurações adicionais** e ative **Personalizar pronúncia**.

1. Na lista de léxicos, selecione `W3C (English, US)`.

   Se o léxico `W3C (English, US)` não estiver listado, escolha **Upload lexicon** e carregue-o; em seguida, escolha-o na lista. Para criar esse léxico, consulte [Fazer upload de um léxico](managing-lexicons-console-upload.md).

1. Para ouvir a fala imediatamente, selecione **Ouvir**.

1. Para salvar a fala em um arquivo,

   1. Escolha **Baixar**.

   1. Para alterar para um formato de arquivo diferente, selecione **Alterar formato do arquivo**, selecione o formato de arquivo desejado e, em seguida, selecione **Alterar**.
Repita as etapas anteriores, mas escolha um idioma diferente e observe a diferença na saída.

------
#### [ AWS CLI ]

Em uma chamada para `SynthesizeSpeech`, você pode especificar vários léxicos. Neste caso, o primeiro léxico especificado (da esquerda para a direita) sobrepõe quaisquer léxicos anteriores.

Considere os dois léxicos a seguir. Observe que cada léxico descreve aliases diferentes para o mesmo grafema de W3C. 
+ Léxico 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>
  ```
+ Léxico 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>
  ```

  

Vamos supor que você armazene esses léxicos como `w3c` e `w3cAlternate`, respectivamente. Se você especificar léxicos na ordem (`w3c` seguido por `w3cAlternate`) em uma chamada `SynthesizeSpeech`, o alias de W3C definido no primeiro léxico terá precedência sobre o segundo. Para testar os léxicos, faça o seguinte:

1. Salve os léxicos localmente em arquivos chamados `w3c.pls` e `w3cAlternate.pls`.

1. Faça upload desses léxicos usando o comando da `put-lexicon` AWS CLI.
   + Faça upload do léxico `w3c.pls` e armazene-o como `w3c`.

     ```
     aws polly put-lexicon \
     --name w3c \
     --content file://w3c.pls
     ```
   + Faça upload do léxico ` w3cAlternate.pls` no serviço como `w3cAlternate`.

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

1. Execute o comando `synthesize-speech` para sintetizar texto de exemplo em um fluxo de áudio (`speech.mp3`) e especifique os dois léxicos usando o parâmetro `lexicon-name`. 

   ```
   aws polly synthesize-speech \
   --text 'PLS is a W3C recommendation' \
   --voice-id Joanna \
   --output-format mp3 \
   --lexicon-names '["w3c","w3cAlternative"]' \
   speech.mp3
   ```

1. Teste o resultante `speech.mp3`. Ele deve ler da seguinte forma:

   ```
   PLS is a World Wide Web Consortium recommendation
   ```

------