Text To Speech (Mp3) in Java Example Code using Google Cloud Text-to-Speech API
package com.ngdeveloper; import java.io.FileOutputStream; import java.io.OutputStream; // Imports the Google Cloud client library import com.google.cloud.texttospeech.v1.AudioConfig; import com.google.cloud.texttospeech.v1.AudioEncoding; import com.google.cloud.texttospeech.v1.SsmlVoiceGender; import com.google.cloud.texttospeech.v1.SynthesisInput; import com.google.cloud.texttospeech.v1.SynthesizeSpeechResponse; import com.google.cloud.texttospeech.v1.TextToSpeechClient; import com.google.cloud.texttospeech.v1.VoiceSelectionParams; import com.google.protobuf.ByteString; /** * Google Cloud TextToSpeech API sample application. Example usage: mvn package * exec:java -Dexec.mainClass='com.example.texttospeech.QuickstartSample' */ public class TextToMp3 { /** 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\""); } } } }
Output:
Audio content written to file "output.mp3" // output.mp3 file is generated with the content, here Hello, World
i find this code error
Exception in thread “main” java.lang.NoSuchMethodError: ‘com.google.api.gax.core.GoogleCredentialsProvider$Builder com.google.api.gax.core.GoogleCredentialsProvider$Builder.setUseJwtAccessWithScope(boolean)’
at com.google.cloud.texttospeech.v1.stub.TextToSpeechStubSettings.defaultCredentialsProviderBuilder(TextToSpeechStubSettings.java:137)
at com.google.cloud.texttospeech.v1.stub.TextToSpeechStubSettings$Builder.createDefault(TextToSpeechStubSettings.java:252)
at com.google.cloud.texttospeech.v1.stub.TextToSpeechStubSettings$Builder.access$000(TextToSpeechStubSettings.java:182)
at com.google.cloud.texttospeech.v1.stub.TextToSpeechStubSettings.newBuilder(TextToSpeechStubSettings.java:161)
at com.google.cloud.texttospeech.v1.TextToSpeechSettings$Builder.createDefault(TextToSpeechSettings.java:159)
at com.google.cloud.texttospeech.v1.TextToSpeechSettings$Builder.access$000(TextToSpeechSettings.java:140)
at com.google.cloud.texttospeech.v1.TextToSpeechSettings.newBuilder(TextToSpeechSettings.java:122)
at com.google.cloud.texttospeech.v1.TextToSpeechClient.create(TextToSpeechClient.java:100)
at javaapplication2.TextToMp3.main(TextToMp3.java:25)
C:\Users\Lenovo\AppData\Local\NetBeans\Cache\12.5\executor-snippets\run.xml:111: The following error occurred while executing this line:
C:\Users\Lenovo\AppData\Local\NetBeans\Cache\12.5\executor-snippets\run.xml:68: Java returned: 1
BUILD FAILED (total time: 1 second)