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.
Exemple de synthèse vocale avec Amazon Polly
Cette page présente un bref exemple de synthèse vocale réalisée dans la console AWS CLI, le et avec Python. Cet exemple effectue une synthèse vocale à partir de texte brut, nonSSML.
- Console
-
Synthétiser la parole sur la console
-
Connectez-vous à la console Amazon Polly AWS Management Console et ouvrez-la à l'adresse. https://console.aws.amazon.com/polly/
-
Choisissez l'onglet Text-to-Speech (Synthèse vocale). Le champ de texte sera chargé avec un exemple de texte afin que vous puissiez rapidement essayer Amazon Polly.
-
Éteignez SSML.
-
Entrez ou collez ce texte dans la zone d'entrée.
He was caught up in the game. In the middle of the 10/3/2014 W3C meeting he shouted, "Score!" quite loudly.
-
Sous Moteur, sélectionnez Generative, Long Form, Neural ou Standard.
-
Choisissez une langue et une AWS région, puis choisissez une voix. (Si vous sélectionnez Neural for Engine, seules les langues et les voix compatibles NTTS sont disponibles. Toutes les voix standard et longues sont désactivées.)
-
Pour écouter le discours immédiatement, choisissez Écouter.
-
Pour enregistrer le discours dans un fichier, exécutez l'une des actions suivantes :
-
Choisissez Téléchargement.
-
Pour passer à un autre format de fichier, ouvrez la section Paramètres supplémentaires, activez les paramètres de format de fichier vocal, choisissez le format de fichier souhaité, puis sélectionnez Télécharger.
-
-
- AWS CLI
-
Dans cet exercice, vous appelez l'
SynthesizeSpeech
opération en transmettant du texte saisi. Vous pouvez enregistrer le son qui en résulte dans un fichier et vérifier son contenu.-
Exécutez la
synthesize-speech
AWS CLI commande pour synthétiser un échantillon de texte dans un fichier audio (hello.mp3
).L' AWS CLI exemple suivant est formaté pour Unix, Linux et macOS. Pour Windows, remplacez le caractère de continuation Unix (\) à la fin de chaque ligne par un curseur (^) et utilisez des guillemets complets («) autour du texte saisi par des guillemets simples (') pour les balises intérieures.
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
Dans l'appel à
synthesize-speech
, vous fournissez un exemple de texte à synthétiser par une voix de votre choix. Vous devez fournir un identifiant vocal (expliqué dans l'étape suivante) et un format de sortie. La commande enregistre l'audio qui en résulte dans le fichierhello.mp3
. Outre le MP3 fichier, l'opération envoie la sortie suivante à la console.{ "ContentType": "audio/mpeg", "RequestCharacters": "71" }
-
Lisez le fichier
hello.mp3
obtenu pour vérifier la synthèse vocale.
-
- Python
-
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)
. Dans cet exemple, le code Python 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 plus détaillés, choisissez les rubriques suivantes :