Exemplos de Python - Amazon Polly

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

Exemplos de Python

Este guia fornece alguns exemplos de código Python usados AWS SDK for Python (Boto) para fazer chamadas de API para o Amazon Polly. Recomendamos que você configure o Python e teste o código de exemplo fornecido na seção a seguir. Para obter exemplos adicionais, consulte Aplicações de exemplo.

Configure o Python e teste um exemplo (SDK)

Para testar o código de exemplo do Python, você precisará do AWS SDK for Python (Boto). Para obter instruções, consulte AWS SDK for Python (Boto3).

Como testar o código Python de exemplo

O exemplo de código Python a seguir realiza as seguintes ações:

  • Invoca o AWS SDK for Python (Boto) para enviar uma SynthesizeSpeech solicitação 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 obter mais exemplos, incluindo um exemplo de aplicação, consulte Aplicações de exemplo.