Search in sources :

Example 1 with TextToSpeechClient

use of com.google.cloud.texttospeech.v1.TextToSpeechClient in project java-texttospeech by googleapis.

the class ListAllSupportedVoicesBeta method listAllSupportedVoices.

// [START tts_list_voices]
/**
 * Demonstrates using the Text to Speech client to list the client's supported voices.
 *
 * @throws Exception on TextToSpeechClient Errors.
 */
public static void listAllSupportedVoices() throws Exception {
    // Instantiates a client
    try (TextToSpeechClient textToSpeechClient = TextToSpeechClient.create()) {
        // Builds the text to speech list voices request
        ListVoicesRequest request = ListVoicesRequest.getDefaultInstance();
        // Performs the list voices request
        ListVoicesResponse response = textToSpeechClient.listVoices(request);
        List<Voice> voices = response.getVoicesList();
        for (Voice voice : voices) {
            // Display the voice's name. Example: tpc-vocoded
            System.out.format("Name: %s\n", voice.getName());
            // Display the supported language codes for this voice. Example: "en-us"
            List<ByteString> languageCodes = voice.getLanguageCodesList().asByteStringList();
            for (ByteString languageCode : languageCodes) {
                System.out.format("Supported Language: %s\n", languageCode.toStringUtf8());
            }
            // Display the SSML Voice Gender
            System.out.format("SSML Voice Gender: %s\n", voice.getSsmlGender());
            // Display the natural sample rate hertz for this voice. Example: 24000
            System.out.format("Natural Sample Rate Hertz: %s\n\n", voice.getNaturalSampleRateHertz());
        }
    }
}
Also used : ListVoicesResponse(com.google.cloud.texttospeech.v1beta1.ListVoicesResponse) ByteString(com.google.protobuf.ByteString) TextToSpeechClient(com.google.cloud.texttospeech.v1beta1.TextToSpeechClient) Voice(com.google.cloud.texttospeech.v1beta1.Voice) ListVoicesRequest(com.google.cloud.texttospeech.v1beta1.ListVoicesRequest)

Example 2 with TextToSpeechClient

use of com.google.cloud.texttospeech.v1.TextToSpeechClient in project java-texttospeech by googleapis.

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);
        }
    }
}
Also used : ByteString(com.google.protobuf.ByteString) SynthesizeSpeechResponse(com.google.cloud.texttospeech.v1.SynthesizeSpeechResponse) OutputStream(java.io.OutputStream) FileOutputStream(java.io.FileOutputStream) FileOutputStream(java.io.FileOutputStream) AudioConfig(com.google.cloud.texttospeech.v1.AudioConfig) SynthesisInput(com.google.cloud.texttospeech.v1.SynthesisInput) TextToSpeechClient(com.google.cloud.texttospeech.v1.TextToSpeechClient) VoiceSelectionParams(com.google.cloud.texttospeech.v1.VoiceSelectionParams)

Example 3 with TextToSpeechClient

use of com.google.cloud.texttospeech.v1.TextToSpeechClient in project java-texttospeech by googleapis.

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;
        }
    }
}
Also used : ByteString(com.google.protobuf.ByteString) SynthesizeSpeechResponse(com.google.cloud.texttospeech.v1.SynthesizeSpeechResponse) OutputStream(java.io.OutputStream) FileOutputStream(java.io.FileOutputStream) FileOutputStream(java.io.FileOutputStream) AudioConfig(com.google.cloud.texttospeech.v1.AudioConfig) ByteString(com.google.protobuf.ByteString) SynthesisInput(com.google.cloud.texttospeech.v1.SynthesisInput) TextToSpeechClient(com.google.cloud.texttospeech.v1.TextToSpeechClient) VoiceSelectionParams(com.google.cloud.texttospeech.v1.VoiceSelectionParams)

Example 4 with TextToSpeechClient

use of com.google.cloud.texttospeech.v1.TextToSpeechClient in project java-texttospeech by googleapis.

the class SynthesizeFile method synthesizeSsmlFile.

// [END tts_synthesize_text_file]
// [START tts_synthesize_ssml_file]
/**
 * Demonstrates using the Text to Speech client to synthesize a text file or ssml file.
 *
 * @param ssmlFile the ssml document to be synthesized. (e.g., hello.ssml)
 * @throws Exception on TextToSpeechClient Errors.
 */
public static ByteString synthesizeSsmlFile(String ssmlFile) throws Exception {
    // Instantiates a client
    try (TextToSpeechClient textToSpeechClient = TextToSpeechClient.create()) {
        // Read the file's contents
        String contents = new String(Files.readAllBytes(Paths.get(ssmlFile)));
        // Set the ssml input to be synthesized
        SynthesisInput input = SynthesisInput.newBuilder().setSsml(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;
        }
    }
}
Also used : ByteString(com.google.protobuf.ByteString) SynthesizeSpeechResponse(com.google.cloud.texttospeech.v1.SynthesizeSpeechResponse) OutputStream(java.io.OutputStream) FileOutputStream(java.io.FileOutputStream) FileOutputStream(java.io.FileOutputStream) AudioConfig(com.google.cloud.texttospeech.v1.AudioConfig) ByteString(com.google.protobuf.ByteString) SynthesisInput(com.google.cloud.texttospeech.v1.SynthesisInput) TextToSpeechClient(com.google.cloud.texttospeech.v1.TextToSpeechClient) VoiceSelectionParams(com.google.cloud.texttospeech.v1.VoiceSelectionParams)

Example 5 with TextToSpeechClient

use of com.google.cloud.texttospeech.v1.TextToSpeechClient in project java-texttospeech by googleapis.

the class SynthesizeFileBeta method synthesizeSsmlFile.

// [END tts_synthesize_text_file]
// [START tts_synthesize_ssml_file]
/**
 * Demonstrates using the Text to Speech client to synthesize a text file or ssml file.
 *
 * @param ssmlFile the ssml document to be synthesized. (e.g., hello.ssml)
 * @throws Exception on TextToSpeechClient Errors.
 */
public static void synthesizeSsmlFile(String ssmlFile) throws Exception {
    // Instantiates a client
    try (TextToSpeechClient textToSpeechClient = TextToSpeechClient.create()) {
        // Read the file's contents
        String contents = new String(Files.readAllBytes(Paths.get(ssmlFile)));
        // Set the ssml input to be synthesized
        SynthesisInput input = SynthesisInput.newBuilder().setSsml(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\"");
        }
    }
}
Also used : ByteString(com.google.protobuf.ByteString) SynthesizeSpeechResponse(com.google.cloud.texttospeech.v1beta1.SynthesizeSpeechResponse) OutputStream(java.io.OutputStream) FileOutputStream(java.io.FileOutputStream) FileOutputStream(java.io.FileOutputStream) AudioConfig(com.google.cloud.texttospeech.v1beta1.AudioConfig) ByteString(com.google.protobuf.ByteString) SynthesisInput(com.google.cloud.texttospeech.v1beta1.SynthesisInput) TextToSpeechClient(com.google.cloud.texttospeech.v1beta1.TextToSpeechClient) VoiceSelectionParams(com.google.cloud.texttospeech.v1beta1.VoiceSelectionParams)

Aggregations

ByteString (com.google.protobuf.ByteString)26 FileOutputStream (java.io.FileOutputStream)20 OutputStream (java.io.OutputStream)20 TextToSpeechClient (com.google.cloud.texttospeech.v1.TextToSpeechClient)18 AudioConfig (com.google.cloud.texttospeech.v1.AudioConfig)15 SynthesisInput (com.google.cloud.texttospeech.v1.SynthesisInput)15 SynthesizeSpeechResponse (com.google.cloud.texttospeech.v1.SynthesizeSpeechResponse)15 VoiceSelectionParams (com.google.cloud.texttospeech.v1.VoiceSelectionParams)15 TextToSpeechClient (com.google.cloud.texttospeech.v1beta1.TextToSpeechClient)10 AudioConfig (com.google.cloud.texttospeech.v1beta1.AudioConfig)8 SynthesisInput (com.google.cloud.texttospeech.v1beta1.SynthesisInput)8 SynthesizeSpeechResponse (com.google.cloud.texttospeech.v1beta1.SynthesizeSpeechResponse)8 VoiceSelectionParams (com.google.cloud.texttospeech.v1beta1.VoiceSelectionParams)8 Test (org.junit.Test)4 ListVoicesRequest (com.google.cloud.texttospeech.v1.ListVoicesRequest)3 ListVoicesResponse (com.google.cloud.texttospeech.v1.ListVoicesResponse)3 Voice (com.google.cloud.texttospeech.v1.Voice)3 ListVoicesRequest (com.google.cloud.texttospeech.v1beta1.ListVoicesRequest)2 ListVoicesResponse (com.google.cloud.texttospeech.v1beta1.ListVoicesResponse)2 Voice (com.google.cloud.texttospeech.v1beta1.Voice)2