use of com.google.cloud.texttospeech.v1.AudioConfig in project java-docs-samples by GoogleCloudPlatform.
the class SsmlAddresses method ssmlToAudio.
// [START tts_ssml_address_audio]
/**
* Generates synthetic audio from a String of SSML text.
*
* <p>Given a string of SSML text and an output file name, this function calls the Text-to-Speech
* API. The API returns a synthetic audio version of the text, formatted according to the SSML
* commands. This function saves the synthetic audio to the designated output file.
*
* @param ssmlText String of tagged SSML text
* @param outFile String name of file under which to save audio output
* @throws Exception on errors while closing the client
*/
public static void ssmlToAudio(String ssmlText, String outFile) throws Exception {
// Instantiates a client
try (TextToSpeechClient textToSpeechClient = TextToSpeechClient.create()) {
// Set the ssml text input to synthesize
SynthesisInput input = SynthesisInput.newBuilder().setSsml(ssmlText).build();
// Build the voice request, select the language code ("en-US") and
// the ssml voice gender ("male")
VoiceSelectionParams voice = VoiceSelectionParams.newBuilder().setLanguageCode("en-US").setSsmlGender(SsmlVoiceGender.MALE).build();
// Select the audio file type
AudioConfig audioConfig = AudioConfig.newBuilder().setAudioEncoding(AudioEncoding.MP3).build();
// Perform the text-to-speech request on the text input with the selected voice parameters and
// audio file type
SynthesizeSpeechResponse response = textToSpeechClient.synthesizeSpeech(input, voice, audioConfig);
// Get the audio contents from the response
ByteString audioContents = response.getAudioContent();
// Write the response to the output file
try (OutputStream out = new FileOutputStream(outFile)) {
out.write(audioContents.toByteArray());
System.out.println("Audio content written to file " + outFile);
}
}
}
use of com.google.cloud.texttospeech.v1.AudioConfig in project webapp by elimu-ai.
the class GoogleCloudTextToSpeechHelper method synthesizeText.
public static byte[] synthesizeText(String text, Language language) throws NotSupportedException, IOException {
logger.info("synthesizeText");
byte[] byteArray = null;
logger.info("text: \"" + text + "\"");
if ((language != Language.BEN) && (language != Language.ENG) && (language != Language.FIL) && (language != Language.HIN)) {
throw new NotSupportedException("This language (" + language + ") is not yet supported: https://cloud.google.com/text-to-speech/docs/voices");
}
String languageCode = null;
if (language == Language.BEN) {
languageCode = "bn";
} else if (language == Language.ENG) {
languageCode = "en";
} else if (language == Language.FIL) {
languageCode = "fil";
} else if (language == Language.HIN) {
languageCode = "hi";
}
logger.info("languageCode: " + languageCode);
// For the Google Cloud TextToSpeechClient to work, an environment variable GOOGLE_APPLICATION_CREDENTIALS needs to exist.
// To enable this during development, download the JSON file from https://console.cloud.google.com/iam-admin/serviceaccounts
// and run the following command:
// export GOOGLE_APPLICATION_CREDENTIALS=/path/to/google-cloud-service-account-key.json
logger.info("System.getenv(\"GOOGLE_APPLICATION_CREDENTIALS\"): \"" + System.getenv("GOOGLE_APPLICATION_CREDENTIALS") + "\"");
TextToSpeechClient textToSpeechClient = TextToSpeechClient.create();
logger.info("textToSpeechClient: " + textToSpeechClient);
// Set the text input to be synthesized
SynthesisInput synthesisInput = SynthesisInput.newBuilder().setText(text).build();
logger.info("synthesisInput: " + synthesisInput);
// Build the voice request
VoiceSelectionParams voiceSelectionParams = VoiceSelectionParams.newBuilder().setLanguageCode(// TODO: fetch from Language enum
languageCode).setSsmlGender(SsmlVoiceGender.FEMALE).build();
logger.info("voiceSelectionParams: " + voiceSelectionParams);
// Select the type of audio file to be returned
AudioConfig audioConfig = AudioConfig.newBuilder().setAudioEncoding(AudioEncoding.MP3).build();
logger.info("audioConfig: " + audioConfig);
// Perform Text-to-Speech request
SynthesizeSpeechResponse synthesizeSpeechResponse = textToSpeechClient.synthesizeSpeech(synthesisInput, voiceSelectionParams, audioConfig);
logger.info("synthesizeSpeechResponse: " + synthesizeSpeechResponse);
// Get the audio contents from the response
ByteString audioContentsByteString = synthesizeSpeechResponse.getAudioContent();
// Convert to byte array
byteArray = audioContentsByteString.toByteArray();
return byteArray;
}
use of com.google.cloud.texttospeech.v1.AudioConfig in project java-docs-samples by GoogleCloudPlatform.
the class SynthesizeFile method synthesizeTextFile.
// [START tts_synthesize_text_file]
/**
* Demonstrates using the Text to Speech client to synthesize a text file or ssml file.
*
* @param textFile the text file to be synthesized. (e.g., hello.txt)
* @throws Exception on TextToSpeechClient Errors.
*/
public static ByteString synthesizeTextFile(String textFile) throws Exception {
// Instantiates a client
try (TextToSpeechClient textToSpeechClient = TextToSpeechClient.create()) {
// Read the file's contents
String contents = new String(Files.readAllBytes(Paths.get(textFile)));
// Set the text input to be synthesized
SynthesisInput input = SynthesisInput.newBuilder().setText(contents).build();
// Build the voice request
VoiceSelectionParams voice = VoiceSelectionParams.newBuilder().setLanguageCode(// languageCode = "en_us"
"en-US").setSsmlGender(// ssmlVoiceGender = SsmlVoiceGender.FEMALE
SsmlVoiceGender.FEMALE).build();
// Select the type of audio file you want returned
AudioConfig audioConfig = AudioConfig.newBuilder().setAudioEncoding(// MP3 audio.
AudioEncoding.MP3).build();
// Perform the text-to-speech request
SynthesizeSpeechResponse response = textToSpeechClient.synthesizeSpeech(input, voice, audioConfig);
// Get the audio contents from the response
ByteString audioContents = response.getAudioContent();
// Write the response to the output file.
try (OutputStream out = new FileOutputStream("output.mp3")) {
out.write(audioContents.toByteArray());
System.out.println("Audio content written to file \"output.mp3\"");
return audioContents;
}
}
}
use of com.google.cloud.texttospeech.v1.AudioConfig in project java-docs-samples by GoogleCloudPlatform.
the class SynthesizeText method synthesizeText.
// [START tts_synthesize_text]
/**
* Demonstrates using the Text to Speech client to synthesize text or ssml.
*
* @param text the raw text to be synthesized. (e.g., "Hello there!")
* @throws Exception on TextToSpeechClient Errors.
*/
public static ByteString synthesizeText(String text) throws Exception {
// Instantiates a client
try (TextToSpeechClient textToSpeechClient = TextToSpeechClient.create()) {
// Set the text input to be synthesized
SynthesisInput input = SynthesisInput.newBuilder().setText(text).build();
// Build the voice request
VoiceSelectionParams voice = VoiceSelectionParams.newBuilder().setLanguageCode(// languageCode = "en_us"
"en-US").setSsmlGender(// ssmlVoiceGender = SsmlVoiceGender.FEMALE
SsmlVoiceGender.FEMALE).build();
// Select the type of audio file you want returned
AudioConfig audioConfig = AudioConfig.newBuilder().setAudioEncoding(// MP3 audio.
AudioEncoding.MP3).build();
// Perform the text-to-speech request
SynthesizeSpeechResponse response = textToSpeechClient.synthesizeSpeech(input, voice, audioConfig);
// Get the audio contents from the response
ByteString audioContents = response.getAudioContent();
// Write the response to the output file.
try (OutputStream out = new FileOutputStream("output.mp3")) {
out.write(audioContents.toByteArray());
System.out.println("Audio content written to file \"output.mp3\"");
return audioContents;
}
}
}
use of com.google.cloud.texttospeech.v1.AudioConfig in project java-docs-samples by GoogleCloudPlatform.
the class QuickstartSample method main.
/**
* Demonstrates using the Text-to-Speech API.
*/
public static void main(String... args) throws Exception {
// Instantiates a client
try (TextToSpeechClient textToSpeechClient = TextToSpeechClient.create()) {
// Set the text input to be synthesized
SynthesisInput input = SynthesisInput.newBuilder().setText("Hello, World!").build();
// Build the voice request, select the language code ("en-US") and the ssml voice gender
// ("neutral")
VoiceSelectionParams voice = VoiceSelectionParams.newBuilder().setLanguageCode("en-US").setSsmlGender(SsmlVoiceGender.NEUTRAL).build();
// Select the type of audio file you want returned
AudioConfig audioConfig = AudioConfig.newBuilder().setAudioEncoding(AudioEncoding.MP3).build();
// Perform the text-to-speech request on the text input with the selected voice parameters and
// audio file type
SynthesizeSpeechResponse response = textToSpeechClient.synthesizeSpeech(input, voice, audioConfig);
// Get the audio contents from the response
ByteString audioContents = response.getAudioContent();
// Write the response to the output file.
try (OutputStream out = new FileOutputStream("output.mp3")) {
out.write(audioContents.toByteArray());
System.out.println("Audio content written to file \"output.mp3\"");
}
}
}
Aggregations