

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á.

# Fazer upload de um léxico
<a name="managing-lexicons-console-upload"></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 - Lexicons tab ]

Para usar um léxico de pronúncia, é preciso primeiro fazer o upload. Há dois locais no console do qual você pode fazer upload de um léxico: a guia **Text-to-Speech** e a guia **Lexicons**.

Os processos a seguir descrevem como adicionar léxicos que você pode usar para personalizar como palavras e frases incomuns ao idioma escolhido são pronunciadas. <a name="upload-lexicon-lexicons-tab"></a>

**Como adicionar um léxico com a guia Léxicos**

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. Escolha a guia **Lexicons**.

1. Escolha **Carregar léxico**.

1. Forneça um nome para o léxico e, em seguida, use **Escolher um arquivo de léxico** para encontrar o léxico a ser carregado. Você só pode fazer upload de arquivos PLS com extensões .pls ou .xml.

1. Escolha **Carregar léxico**. Se um léxico com o mesmo nome (.pls ou .xml) já existir, o carregamento do léxico substituirá o existente.

------
#### [ Console - TTS tab ]<a name="upload-lexicon-tts-tab"></a>

**Como adicionar um léxico por meio da guia Texto para fala**

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. Selecione a guia **Text-to-Speech**.

1. Expanda **Configurações adicionais**, ative **Personalizar pronúncia** e escolha **Carregar léxico**.

1. Forneça um nome para o léxico e, em seguida, use **Escolher um arquivo de léxico** para encontrar o léxico a ser carregado. Você só pode usar arquivos PLS que com as extensões .pls e .xml. 

1. Escolha **Carregar léxico**. Se um léxico com o mesmo nome (seja arquivo .pls ou .xml) já existir, carregar o léxico substituirá o existente.

------
#### [ AWS CLI - one lexeme ]

Com o Amazon Polly, você pode usar [PutLexicon](API_PutLexicon.md) para armazenar léxicos de pronúncia em uma região da AWS específica para sua conta. Em seguida, você pode especificar um ou mais desses léxico armazenados na sua solicitação [SynthesizeSpeech](API_SynthesizeSpeech.md) que você deseja aplicar antes de o serviço começar a sintetizar o texto. Para obter mais informações, consulte [Gerenciar léxicos](managing-lexicons.md).

Considere o léxico compatível com a PLS do W3C a seguir. 

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

Observe o seguinte:
+ Os dois atributos especificados no elemento `<lexicon>`:
  + O atributo `xml:lang` especifica o código do idioma, `en-US`, ao qual o léxico se aplica. O Amazon Polly pode usar esse léxico de exemplo se a voz que você especificar na chamada `SynthesizeSpeech` tiver o mesmo código de idioma (en-US). 
**nota**  
Você pode usar a operação `DescribeVoices` para localizar o código de idioma associado a uma voz.

     
  + O atributo `alphabet` especifica `IPA`, o que significa que o Alfabeto Fonético Internacional (AFI; IPA na sigla em inglês, que significa "International Phonetic Alphabet") é usado para pronúncias. O AFI é um dos alfabetos para escrever pronúncias. O Amazon Polly também é compatível com Alfabeto fonético de métodos de avaliação da fala (X-SAMPA).

     
+ O elemento `<lexeme>` descreve o mapeamento entre `<grapheme>` (ou seja, uma representação textual da palavra) e `<alias>`. 

Para testar esse léxico, faça o seguinte:

1. Salve o léxico como `example.pls`.

1. Execute o comando da `put-lexicon` AWS CLI para armazenar o léxico (com o nome `w3c`), na região us-east-2.

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

1. Execute o comando `synthesize-speech` para sintetizar o texto de amostra em um fluxo de áudio (`speech.mp3`) e especifique parâmetro `lexicon-name` opcional. 

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

1. Reproduza o `speech.mp3` resultante e observe que a palavra W3C no texto é substituída por World Wide Web Consortium.

O léxico do exemplo anterior usa um alias. O AFI mencionado no léxico não é usado. O léxico a seguir especifica uma pronúncia fonética usando o elemento `<phoneme>` com o AFI.

```
<?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 as mesmas etapas para testar esse léxico. Especifique um texto de entrada que tenha a palavra “pecan” (por exemplo, “Pecan pie is delicious”).

Para conferir mais exemplos de código da operação de API PutLexicon, consulte os seguintes recursos adicionais:
+ Amostra de Java: [PutLexicon](PutLexiconSample.md)
+ Amostra de Python (Boto3): [PutLexicon](PutLexiconSamplePython.md)

------
#### [ AWS CLI - multiple lexemes ]

Com o Amazon Polly, você pode usar [PutLexicon](API_PutLexicon.md) para armazenar léxicos de pronúncia em uma região da AWS específica para sua conta. Em seguida, você pode especificar um ou mais desses léxico armazenados na sua solicitação [SynthesizeSpeech](API_SynthesizeSpeech.md) que você deseja aplicar antes de o serviço começar a sintetizar o texto. Para obter mais informações, consulte [Gerenciar léxicos](managing-lexicons.md).

Neste exemplo, o lexema que você especificar no léxico se aplica exclusivamente ao texto de entrada para a síntese. Considere o seguinte léxico: 

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

O léxico especifica três lexemas, dois dos quais definem um alias para o grafema W3C, da seguinte forma:
+ O primeiro elemento `<lexeme`> define um alias (World Wide Web Consortium).
+ O segundo `<lexeme>` define um alias alternativo (WWW Consortium). 

O Amazon Polly usa a primeira substituição para determinado grafema em um léxico.

O terceiro `<lexeme>` define uma substituição (Community) para a palavra Consortium.

Primeiro, vamos testar esse léxico. Suponha que você deseja sintetizar o texto de exemplo a seguir para um arquivo de áudio (`speech.mp3`) e especifica o léxico em uma chamada para `SynthesizeSpeech`.

```
The W3C is a Consortium
```

`SynthesizeSpeech`O primeiro aplica a léxico da seguinte forma: 
+ De acordo com o primeiro lexema, a palavra W3C é revisada como World Wide Web Consortium. O texto revisado aparece da seguinte forma:

  ```
  The World Wide Web Consortium is a Consortium
  ```
+ O alias definido no terceiro lexema se aplica somente à palavra Consortium, que foi parte do texto original, resultando no texto a seguir:

  ```
  The World Wide Web Consortium is a Community.
  ```

Você pode testar isso usando a AWS CLI, da seguinte forma:

1. Salve o léxico como `example.pls`.

1. Execute o comando `put-lexicon` para armazenar o léxico com o nome w3c na região us-east-2.

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

1. Execute o comando `list-lexicons` para verificar se o léxico w3c está na lista de léxicos retornados.

   ```
   aws polly list-lexicons
   ```

1. Execute o comando `synthesize-speech` para sintetizar o texto de amostra para um arquivo de áudio (`speech.mp3`) e especifique parâmetro `lexicon-name` opcional. 

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

1. Reproduza o arquivo `speech.mp3` resultante para verificar se a fala sintetizada reflete as alterações no texto.

Para conferir mais exemplos de código da operação de API PutLexicon, consulte os seguintes recursos adicionais:
+ Amostra de Java: [PutLexicon](PutLexiconSample.md)
+ Amostra de Python (Boto3): [PutLexicon](PutLexiconSamplePython.md)

------