Skip to content

Commit 8455dbf

Browse files
committed
refactor(examples): Update Text to Speech examples
1 parent 448cd41 commit 8455dbf

File tree

3 files changed

+102
-30
lines changed

3 files changed

+102
-30
lines changed

examples/src/main/java/com/ibm/watson/developer_cloud/text_to_speech/v1/CustomizationExample.java

Lines changed: 84 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -12,72 +12,135 @@
1212
*/
1313
package com.ibm.watson.developer_cloud.text_to_speech.v1;
1414

15+
import java.util.Arrays;
1516
import java.io.File;
1617
import java.io.FileOutputStream;
1718
import java.io.IOException;
1819
import java.io.InputStream;
1920
import java.io.OutputStream;
2021
import java.util.List;
2122

22-
import com.ibm.watson.developer_cloud.text_to_speech.v1.model.AudioFormat;
23-
import com.ibm.watson.developer_cloud.text_to_speech.v1.model.CustomTranslation;
24-
import com.ibm.watson.developer_cloud.text_to_speech.v1.model.CustomVoiceModel;
23+
import com.ibm.watson.developer_cloud.text_to_speech.v1.model.AddWordOptions;
24+
import com.ibm.watson.developer_cloud.text_to_speech.v1.model.AddWordsOptions;
25+
import com.ibm.watson.developer_cloud.text_to_speech.v1.model.CreateVoiceModelOptions;
26+
import com.ibm.watson.developer_cloud.text_to_speech.v1.model.DeleteVoiceModelOptions;
27+
import com.ibm.watson.developer_cloud.text_to_speech.v1.model.DeleteWordOptions;
28+
import com.ibm.watson.developer_cloud.text_to_speech.v1.model.GetVoiceModelOptions;
29+
import com.ibm.watson.developer_cloud.text_to_speech.v1.model.GetVoiceOptions;
30+
import com.ibm.watson.developer_cloud.text_to_speech.v1.model.GetWordOptions;
31+
import com.ibm.watson.developer_cloud.text_to_speech.v1.model.ListVoiceModelsOptions;
32+
import com.ibm.watson.developer_cloud.text_to_speech.v1.model.ListWordsOptions;
33+
import com.ibm.watson.developer_cloud.text_to_speech.v1.model.SynthesizeOptions;
34+
import com.ibm.watson.developer_cloud.text_to_speech.v1.model.Translation;
35+
import com.ibm.watson.developer_cloud.text_to_speech.v1.model.UpdateVoiceModelOptions;
2536
import com.ibm.watson.developer_cloud.text_to_speech.v1.model.Voice;
37+
import com.ibm.watson.developer_cloud.text_to_speech.v1.model.VoiceModel;
38+
import com.ibm.watson.developer_cloud.text_to_speech.v1.model.VoiceModels;
2639
import com.ibm.watson.developer_cloud.text_to_speech.v1.util.WaveUtils;
40+
import com.ibm.watson.developer_cloud.text_to_speech.v1.model.Word;
41+
import com.ibm.watson.developer_cloud.text_to_speech.v1.model.Words;
2742

2843
public class CustomizationExample {
2944

3045
public static void main(String[] args) throws IOException {
3146
TextToSpeech service = new TextToSpeech("<username>", "<password>");
3247

3348
// create custom voice model.
34-
CustomVoiceModel customVoiceModel = service.createCustomVoiceModel("my model", "en-US", "the model for testing")
35-
.execute();
49+
CreateVoiceModelOptions createOptions = new CreateVoiceModelOptions.Builder()
50+
.name("my model")
51+
.language("en-US")
52+
.description("the model for testing")
53+
.build();
54+
VoiceModel customVoiceModel = service.createVoiceModel(createOptions).execute();
3655
System.out.println(customVoiceModel);
3756

3857
// list custom voice models for US English.
39-
List<CustomVoiceModel> customVoiceModels = service.getCustomVoiceModels("en-US").execute();
58+
ListVoiceModelsOptions listOptions = new ListVoiceModelsOptions.Builder()
59+
.language("en-US")
60+
.build();
61+
VoiceModels customVoiceModels = service.listVoiceModels(listOptions);
4062
System.out.println(customVoiceModels);
4163

4264
// update custom voice model.
43-
customVoiceModel.setName("my updated model");
44-
customVoiceModel.setDescription("the updated model for testing");
45-
service.updateCustomVoiceModel(customVoiceModel).execute();
65+
UpdateVoiceModelOptions updateOptions = new UpdateVoiceModelOptions.Builder()
66+
.customizationId(customVoiceModel.getCustomizationId())
67+
.name(newName)
68+
.description("the updated model for testing")
69+
.build();
70+
service.updateVoiceModel(updateOptions).execute();
4671

4772
// list custom voice models regardless of language.
48-
customVoiceModels = service.getCustomVoiceModels(null).execute();
73+
customVoiceModels = service.listVoiceModels().execute();
4974
System.out.println(customVoiceModels);
5075

5176
// create multiple custom word translations
52-
CustomTranslation customTranslation1 = new CustomTranslation("hodor", "hold the door");
53-
CustomTranslation customTranslation2 = new CustomTranslation("plz", "please");
54-
service.addWords(customVoiceModel, customTranslation1, customTranslation2).execute();
77+
Word word1 = new Word();
78+
word1.setWord("hodor");
79+
word1.setTranslation("hold the door");
80+
Word word2 = new Word();
81+
word2.setWord("plz");
82+
word2.setTranslation("please");
83+
List<Word> words = Arrays.asList(word1, word2);
84+
AddWordsOptions addOptions = new AddWordsOptions.Builder()
85+
.customizationId(customVoiceModel.getCustomizationId())
86+
.words(words)
87+
.build();
88+
service.addWords(addOptions).execute();
5589

5690
// create a single custom word translation
57-
service.addWord(customVoiceModel, new CustomTranslation("nat", "and that")).execute();
91+
AddWordOptions addOptions = new AddWordOptions.Builder()
92+
.word("nat")
93+
.translation("and that")
94+
.customizationId(customVoiceModel.getCustomizationId())
95+
.build();
96+
service.addWord(addOptions).execute();
5897

5998
// get custom word translations
60-
List<CustomTranslation> words = service.getWords(customVoiceModel).execute();
99+
ListWordsOptions listOptions = new ListWordsOptions.Builder()
100+
.customizationId(customVoiceModel.getCustomizationId())
101+
.build();
102+
Words words = service.listWords(listOptions).execute();
61103
System.out.println(words);
62104

63105
// get custom word translation
64-
CustomTranslation translation = service.getWord(customVoiceModel, "hodor").execute();
106+
GetWordOptions getOptions = new GetWordOptions.Builder()
107+
.customizationId(customVoiceModel.getCustomizationId())
108+
.word("hodor")
109+
.build();
110+
Translation translation = service.getWord(getOptions).execute();
65111
System.out.println(translation);
66112

67113
// synthesize with custom voice model
68114
String text = "plz hodor";
69-
InputStream in = service.synthesize(text, Voice.EN_MICHAEL, AudioFormat.WAV, customVoiceModel.getId()).execute();
115+
SynthesizeOptions synthesizeOptions = new SynthesizeOptions.Builder()
116+
.text(text)
117+
.voice(SynthesizeOptions.Voice.EN_US_MICHAELVOICE)
118+
.accept(SynthesizeOptions.Accept.AUDIO_WAV)
119+
.customizationId(customVoiceModel.getCustomizationId())
120+
.build();
121+
InputStream in = service.synthesize(synthesizeOptions).execute();
70122
writeToFile(WaveUtils.reWriteWaveHeader(in), new File("output.wav"));
71123

72124
// delete custom words with object and string
73-
service.deleteWord(customVoiceModel, customTranslation1);
74-
service.deleteWord(customVoiceModel, customTranslation2.getWord());
125+
DeleteWordOptions deleteOptions1 = new DeleteWordOptions.Builder()
126+
.customizationId(customVoiceModel.getCustomizationId())
127+
.word(word1.getWord())
128+
.build();
129+
service.deleteWord(deleteOptions1).execute();
130+
DeleteWordOptions deleteOptions2 = new DeleteWordOptions.Builder()
131+
.customizationId(customVoiceModel.getCustomizationId())
132+
.word(word2.getWord())
133+
.build();
134+
service.deleteWord(deleteOptions2).execute();
75135

76136
// delete custom voice model
77-
service.deleteCustomVoiceModel(customVoiceModel).execute();
137+
DeleteVoiceModelOptions deleteOptions = new DeleteVoiceModelOptions.Builder()
138+
.customizationId(customVoiceModel.getCustomizationId())
139+
.build();
140+
service.deleteVoiceModel(deleteOptions).execute();
78141

79142
// list custom voice models regardless of language.
80-
customVoiceModels = service.getCustomVoiceModels(null).execute();
143+
customVoiceModels = service.listVoiceModels().execute();
81144
System.out.println(customVoiceModels);
82145
}
83146

examples/src/main/java/com/ibm/watson/developer_cloud/text_to_speech/v1/TextToSpeechExample.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,7 @@
1212
*/
1313
package com.ibm.watson.developer_cloud.text_to_speech.v1;
1414

15-
import java.util.List;
16-
17-
import com.ibm.watson.developer_cloud.text_to_speech.v1.model.Voice;
15+
import com.ibm.watson.developer_cloud.text_to_speech.v1.model.Voices;
1816

1917
public class TextToSpeechExample {
2018

@@ -23,7 +21,7 @@ public static void main(String[] args) {
2321
TextToSpeech service = new TextToSpeech();
2422
service.setUsernameAndPassword("<username>", "<password>");
2523

26-
List<Voice> voices = service.getVoices().execute();
24+
Voices voices = service.listVoices().execute();
2725
System.out.println(voices);
2826
}
2927

examples/src/main/java/com/ibm/watson/developer_cloud/text_to_speech/v1/TranslateAndSynthesizeExample.java

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,10 @@
2020

2121
import com.ibm.watson.developer_cloud.language_translation.v2.LanguageTranslation;
2222
import com.ibm.watson.developer_cloud.language_translation.v2.model.Language;
23+
import com.ibm.watson.developer_cloud.text_to_speech.v1.model.SynthesizeOptions;
24+
import com.ibm.watson.developer_cloud.language_translator.v2.model.TranslateOptions;
2325
import com.ibm.watson.developer_cloud.language_translation.v2.model.TranslationResult;
2426
import com.ibm.watson.developer_cloud.text_to_speech.v1.model.AudioFormat;
25-
import com.ibm.watson.developer_cloud.text_to_speech.v1.model.Voice;
2627
import com.ibm.watson.developer_cloud.text_to_speech.v1.util.WaveUtils;
2728

2829
/**
@@ -31,20 +32,30 @@
3132
public class TranslateAndSynthesizeExample {
3233

3334
public static void main(String[] args) throws IOException {
34-
LanguageTranslation translator = new LanguageTranslation();
35+
LanguageTranslator translator = new LanguageTranslator();
3536
translator.setUsernameAndPassword("username", "password");
3637

3738
TextToSpeech synthesizer = new TextToSpeech();
3839
synthesizer.setUsernameAndPassword("username", "password");
3940

40-
String text = "Greetings from Watson Developer Cloudl";
41+
String text = "Greetings from Watson Developer Cloud";
4142

4243
// translate
43-
TranslationResult translationResult = translator.translate(text, Language.ENGLISH, Language.SPANISH).execute();
44+
TranslateOptions translateOptions = new TranslateOptions.Builder()
45+
.addText(text)
46+
.source(Language.ENGLISH)
47+
.target(Language.SPANISH)
48+
.build();
49+
TranslationResult translationResult = service.translate(translateOptions).execute();
4450
String translation = translationResult.getTranslations().get(0).getTranslation();
4551

4652
// synthesize
47-
InputStream in = synthesizer.synthesize(translation, Voice.ES_LAURA, AudioFormat.WAV).execute();
53+
SynthesizeOptions synthesizeOptions = new SynthesizeOptions.Builder()
54+
.text(translation)
55+
.voice(SynthesizeOptions.Voice.EN_US_LISAVOICE)
56+
.accept(SynthesizeOptions.Accept.AUDIO_WAV)
57+
.build();
58+
InputStream in = service.synthesize(synthesizeOptions).execute();
4859
writeToFile(WaveUtils.reWriteWaveHeader(in), new File("output.wav"));
4960
}
5061

0 commit comments

Comments
 (0)