Marques vocales - 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.

Marques vocales

L'exemple de code suivant montre comment utiliser les applications Java pour synthétiser les marques vocales correspondant au texte saisi. Cette fonctionnalité utilise l' SynthesizeSpeech API.

Pour plus d'informations sur cette fonctionnalité, consultez la rubrique Marques vocales.

Pour plus d'informations sur cette API, consultez la référence concernant l'API SynthesizeSpeech.

/* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. SPDX-License-Identifier: Apache-2.0 */ package com.example.polly; import software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider; import software.amazon.awssdk.core.ResponseInputStream; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.polly.PollyClient; import software.amazon.awssdk.services.polly.model.*; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; /** * Before running this Java V2 code example, set up your development environment, including your credentials. * * For more information, see the following documentation topic: * * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html */ public class SpeechMarksSample { public static void main(String args[]) { PollyClient polly = PollyClient.builder() .region(Region.US_WEST_2) .credentialsProvider(ProfileCredentialsProvider.create()) .build(); speechMarksSample(polly) ; polly.close(); } private static final String OUTPUT_FILE = "./speechMarks.json"; public static void speechMarksSample(PollyClient client) { try { SynthesizeSpeechRequest speechMarksSampleRequest = SynthesizeSpeechRequest.builder() .outputFormat(OutputFormat.JSON) .speechMarkTypes(SpeechMarkType.VISEME, SpeechMarkType.WORD) .voiceId(VoiceId.JOANNA) .text("This is a sample text to be synthesized") .build(); try (FileOutputStream outputStream = new FileOutputStream(new File(OUTPUT_FILE))) { ResponseInputStream<SynthesizeSpeechResponse> synthesizeSpeechResponse = client .synthesizeSpeech(speechMarksSampleRequest); byte[] buffer = new byte[2 * 1024]; int readBytes; try (InputStream in = synthesizeSpeechResponse){ while ((readBytes = in.read(buffer)) > 0) { outputStream.write(buffer, 0, readBytes); } } } catch (Exception e) { System.err.println("Exception caught: " + e); } } catch (PollyException e) { System.err.println("Exception caught: " + e); System.exit(1); } } }
package com.amazonaws.polly.samples; import com.amazonaws.services.polly.AmazonPolly; import com.amazonaws.services.polly.AmazonPollyClientBuilder; import com.amazonaws.services.polly.model.OutputFormat; import com.amazonaws.services.polly.model.SpeechMarkType; import com.amazonaws.services.polly.model.SynthesizeSpeechRequest; import com.amazonaws.services.polly.model.SynthesizeSpeechResult; import com.amazonaws.services.polly.model.VoiceId; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; public class SynthesizeSpeechMarksSample { AmazonPolly client = AmazonPollyClientBuilder.defaultClient(); public void synthesizeSpeechMarks() { String outputFileName = "/tmp/speechMarks.json"; SynthesizeSpeechRequest synthesizeSpeechRequest = new SynthesizeSpeechRequest() .withOutputFormat(OutputFormat.Json) .withSpeechMarkTypes(SpeechMarkType.Viseme, SpeechMarkType.Word) .withVoiceId(VoiceId.Joanna) .withText("This is a sample text to be synthesized."); try (FileOutputStream outputStream = new FileOutputStream(new File(outputFileName))) { SynthesizeSpeechResult synthesizeSpeechResult = client.synthesizeSpeech(synthesizeSpeechRequest); byte[] buffer = new byte[2 * 1024]; int readBytes; try (InputStream in = synthesizeSpeechResult.getAudioStream()){ while ((readBytes = in.read(buffer)) > 0) { outputStream.write(buffer, 0, readBytes); } } } catch (Exception e) { System.err.println("Exception caught: " + e); } } }