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)