

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

# Exemplo de síntese de fala com o Amazon Polly
<a name="synthesize-example"></a>

Esta página apresenta um breve exemplo de síntese de fala realizada no console, na AWS CLI e em Python. Este exemplo executa a síntese de fala com base em texto simples, não SSML.

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

**Sintetizar a fala no console**

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**. O campo de texto será carregado com um texto de exemplo para você experimentar rapidamente o Amazon Polly.

1. Desative o **SSML**.

1. Digite ou cole este texto na caixa de entrada.

   ```
   He was caught up in the game. In the middle of the 10/3/2014 W3C meeting he shouted, "Score!" quite loudly.
   ```

1. Em **Mecanismo**, escolha **Generativo**, **Forma longa**, **Neural** ou **Padrão**.

1. Escolha um idioma e uma região da AWS e, em seguida, escolha uma voz. Se você selecionar **Neural** em **Mecanismo**, somente os idiomas e as vozes compatíveis com NTTS estarão disponíveis. Todas as vozes padrão e de forma longa estarão desabilitadas.

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

1. Para salvar a fala em um arquivo, siga uma das etapas a seguir:

   1. Escolha **Baixar**.

   1. Para mudar para um formato de arquivo diferente, expanda **Configurações adicionais**, ative as **Configurações de formato de arquivo de fala**, escolha o formato de arquivo desejado e escolha **Baixar**. 

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

Neste exercício, chame a operação `SynthesizeSpeech` ao inserir texto de entrada. Você pode salvar o áudio resultante como arquivo e verificar seu conteúdo.

1. Execute o comando `synthesize-speech` da AWS CLI para sintetizar texto de exemplo em um arquivo de áudio (`hello.mp3`). 

   O exemplo da AWS CLI a seguir está formatado para Unix, Linux e macOS. Para Windows, substitua o caractere de continuação Unix de barra invertida (\$1) no final de cada linha por um acento circunflexo (^) e use aspas completas (") ao redor do texto de entrada com aspas simples (') para tags internas.

   ```
   aws polly synthesize-speech \
       --output-format mp3 \
       --voice-id Joanna \
       --text 'Hello, my name is Joanna. I learned about the W3C on 10/3 of last year.' \
       hello.mp3
   ```

   Na chamada para `synthesize-speech`, forneça um texto de amostra para ser sintetizado por uma voz de sua escolha. Você deve fornecer um ID de voz (explicado na etapa a seguir) e um formato de saída. O comando salva o áudio resultante no arquivo `hello.mp3`. Além do arquivo MP3, a operação acima envia a saída a seguir para o console. 

   ```
   {
           "ContentType": "audio/mpeg", 
           "RequestCharacters": "71"
   }
   ```

1. Reproduza o arquivo `hello.mp3` resultante para verificar a fala sintetizada. 

------
#### [ Python ]

Para testar o código de exemplo do Python, você precisará do AWS SDK para Python (Boto). Para obter instruções, consulte [AWS SDK para Python (Boto3)](https://aws.amazon.com/sdk-for-python/). 

O código Python nesse exemplo realiza as seguintes ações:
+ Invoca o AWS SDK para Python (Boto) para enviar uma solicitação `SynthesizeSpeech` ao Amazon Polly (fornecendo algum texto como entrada). 
+ Acessa o fluxo de áudio resultante na resposta e salva o áudio em um arquivo (`speech.mp3`) no seu disco local. 
+ Reproduz o arquivo de áudio com o player de áudio padrão do seu sistema local. 

Salve o código em um arquivo (exemple.py) e execute-o.

```
"""Getting Started Example for Python 2.7+/3.3+"""
from boto3 import Session
from botocore.exceptions import BotoCoreError, ClientError
from contextlib import closing
import os
import sys
import subprocess
from tempfile import gettempdir

# Create a client using the credentials and region defined in the [adminuser]
# section of the AWS credentials file (~/.aws/credentials).
session = Session(profile_name="adminuser")
polly = session.client("polly")

try:
    # Request speech synthesis
    response = polly.synthesize_speech(Text="Hello world!", OutputFormat="mp3",
                                        VoiceId="Joanna")
except (BotoCoreError, ClientError) as error:
    # The service returned an error, exit gracefully
    print(error)
    sys.exit(-1)

# Access the audio stream from the response
if "AudioStream" in response:
    # Note: Closing the stream is important because the service throttles on the
    # number of parallel connections. Here we are using contextlib.closing to
    # ensure the close method of the stream object will be called automatically
    # at the end of the with statement's scope.
        with closing(response["AudioStream"]) as stream:
           output = os.path.join(gettempdir(), "speech.mp3")

           try:
            # Open a file for writing the output as a binary stream
                with open(output, "wb") as file:
                   file.write(stream.read())
           except IOError as error:
              # Could not write to file, exit gracefully
              print(error)
              sys.exit(-1)

else:
    # The response didn't contain audio data, exit gracefully
    print("Could not stream audio")
    sys.exit(-1)

# Play the audio using the platform's default player
if sys.platform == "win32":
    os.startfile(output)
else:
    # The following works on macOS and Linux. (Darwin = mac, xdg-open = linux).
    opener = "open" if sys.platform == "darwin" else "xdg-open"
    subprocess.call([opener, output])
```

------

Para exemplos mais detalhados, consulte os tópicos a seguir:
+ [Usar SSML no console](ssml-to-speech-console.md) 
+ [Aplicar léxicos (sintetização de fala)](managing-lexicons-console-synthesize-speech.md) 
+ [Exemplo de código e aplicações para o Amazon Polly](samples-and-examples.md) 