Exemples Python - Amazon Polly

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Exemples Python

Ce guide fournit quelques exemples de code Python utilisés AWS SDK for Python (Boto) pour effectuer des appels d'API à Amazon Polly. Nous vous recommandons de configurer Python et de tester l'exemple de code fourni dans la section suivante. Pour accéder à des exemples supplémentaires, consultez Exemples d'applications.

Configurer Python et tester un exemple (SDK)

Pour tester le code d'exemple Python, vous devez utiliser AWS SDK for Python (Boto). Pour obtenir des instructions, consultez AWS SDK for Python (Boto3).

Pour tester l'exemple de code Python

L'exemple de code Python suivant exécute les actions suivantes :

  • Invoque le AWS SDK for Python (Boto) pour envoyer une SynthesizeSpeech demande à Amazon Polly (en fournissant du texte en entrée).

  • Accède au flux audio résultant dans la réponse et enregistre l'audio dans un fichier (speech.mp3) sur votre disque local.

  • Lit le fichier audio avec le lecteur audio par défaut de votre système local.

Enregistre le code dans un fichier (example.py) et l'exécute.

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

Pour obtenir des exemples supplémentaires, notamment un exemple d'application, consultez la page Exemples d'applications.