Esempi di Python - Amazon Polly

Esempi di Python

Questa guida fornisce ulteriori esempi, alcuni dei quali sono esempi di codice Python che utilizzano AWS SDK for Python (Boto) per effettuare chiamate API a Amazon Polly. Ti consigliamo di impostare Python ed eseguire il test del codice di esempio fornito nella sezione riportata di seguito. Per ulteriori esempi, consulta Applicazioni di esempio.

Configurazione di Python e test di un esempio (SDK)

Per eseguire il test del codice di esempio Python, è necessario AWS SDK for Python (Boto). Per istruzioni, consultare AWS SDK for Python (Boto3).

Per testare il codice Python di esempio

Il seguente esempio di codice Python esegue le seguenti operazioni:

  • Viene utilizzato AWS SDK for Python (Boto) per inviare una richiesta SynthesizeSpeech a Amazon Polly (specificando testo semplice come input).

  • Viene eseguito l'accesso al flusso audio risultante nella risposta e viene salvato l'audio in un file sul disco locale (speech.mp3).

  • Viene riprodotto il file audio con il lettore audio di default per il sistema locale.

Salva il codice in un file (example.py) ed eseguilo.

"""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])

Per ulteriori esempi, inclusa un'applicazione di esempio, consulta Applicazioni di esempio.