use of com.ibm.watson.text_to_speech.v1.model.Word in project java-sdk by watson-developer-cloud.
the class CustomizationsTest method testAddWord.
/**
* Test add word.
*
* @throws InterruptedException the interrupted exception
*/
@Test
public void testAddWord() throws InterruptedException {
final Word expected = instantiateWord();
server.enqueue(new MockResponse().setResponseCode(201));
AddWordOptions addOptions = new AddWordOptions.Builder().customizationId(CUSTOMIZATION_ID).word(expected.getWord()).translation(expected.getTranslation()).build();
service.addWord(addOptions).execute();
RecordedRequest request = server.takeRequest();
assertEquals(String.format(WORD_PATH, CUSTOMIZATION_ID, expected.getWord()), request.getPath());
assertEquals("PUT", request.getMethod());
}
use of com.ibm.watson.text_to_speech.v1.model.Word in project java-sdk by watson-developer-cloud.
the class SpeechToText method getWord.
/**
* Get a custom word.
*
* <p>Gets information about a custom word from a custom language model. You must use credentials
* for the instance of the service that owns a model to list information about its words.
*
* <p>**See also:** [Listing words from a custom language
* model](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-manageWords#listWords).
*
* @param getWordOptions the {@link GetWordOptions} containing the options for the call
* @return a {@link ServiceCall} with a result of type {@link Word}
*/
public ServiceCall<Word> getWord(GetWordOptions getWordOptions) {
com.ibm.cloud.sdk.core.util.Validator.notNull(getWordOptions, "getWordOptions cannot be null");
Map<String, String> pathParamsMap = new HashMap<String, String>();
pathParamsMap.put("customization_id", getWordOptions.customizationId());
pathParamsMap.put("word_name", getWordOptions.wordName());
RequestBuilder builder = RequestBuilder.get(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/customizations/{customization_id}/words/{word_name}", pathParamsMap));
Map<String, String> sdkHeaders = SdkCommon.getSdkHeaders("speech_to_text", "v1", "getWord");
for (Entry<String, String> header : sdkHeaders.entrySet()) {
builder.header(header.getKey(), header.getValue());
}
builder.header("Accept", "application/json");
ResponseConverter<Word> responseConverter = ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken<Word>() {
}.getType());
return createServiceCall(builder.build(), responseConverter);
}
use of com.ibm.watson.text_to_speech.v1.model.Word in project java-sdk by watson-developer-cloud.
the class CustomizationExample method main.
public static void main(String[] args) throws IOException {
Authenticator authenticator = new IamAuthenticator("<iam_api_key>");
TextToSpeech service = new TextToSpeech(authenticator);
// create custom voice model.
CreateCustomModelOptions createOptions = new CreateCustomModelOptions.Builder().name("my model").language("en-US").description("the model for testing").build();
CustomModel customVoiceModel = service.createCustomModel(createOptions).execute().getResult();
System.out.println(customVoiceModel);
// list custom voice models for US English.
ListCustomModelsOptions listOptions = new ListCustomModelsOptions.Builder().language("en-US").build();
CustomModels customVoiceModels = service.listCustomModels(listOptions).execute().getResult();
System.out.println(customVoiceModels);
// update custom voice model.
String newName = "my updated model";
UpdateCustomModelOptions updateOptions = new UpdateCustomModelOptions.Builder().customizationId(customVoiceModel.getCustomizationId()).name(newName).description("the updated model for testing").build();
service.updateCustomModel(updateOptions).execute();
// list custom voice models regardless of language.
customVoiceModels = service.listCustomModels().execute().getResult();
System.out.println(customVoiceModels);
// create multiple custom word translations
Word word1 = new Word.Builder().word("hodor").translation("hold the door").build();
Word word2 = new Word.Builder().word("plz").translation("please").build();
List<Word> words = Arrays.asList(word1, word2);
AddWordsOptions addOptions = new AddWordsOptions.Builder().customizationId(customVoiceModel.getCustomizationId()).words(words).build();
service.addWords(addOptions).execute();
// create a single custom word translation
AddWordOptions addWordOptions = new AddWordOptions.Builder().word("nat").translation("and that").customizationId(customVoiceModel.getCustomizationId()).build();
service.addWord(addWordOptions).execute();
// get custom word translations
ListWordsOptions listWordsOptions = new ListWordsOptions.Builder().customizationId(customVoiceModel.getCustomizationId()).build();
Words customWords = service.listWords(listWordsOptions).execute().getResult();
System.out.println(customWords);
// get custom word translation
GetWordOptions getOptions = new GetWordOptions.Builder().customizationId(customVoiceModel.getCustomizationId()).word("hodor").build();
Translation translation = service.getWord(getOptions).execute().getResult();
System.out.println(translation);
// synthesize with custom voice model
String text = "plz hodor";
SynthesizeOptions synthesizeOptions = new SynthesizeOptions.Builder().text(text).voice(SynthesizeOptions.Voice.EN_US_MICHAELVOICE).accept(HttpMediaType.AUDIO_WAV).customizationId(customVoiceModel.getCustomizationId()).build();
InputStream in = service.synthesize(synthesizeOptions).execute().getResult();
writeToFile(WaveUtils.reWriteWaveHeader(in), new File("output.wav"));
// delete custom words with object and string
DeleteWordOptions deleteOptions1 = new DeleteWordOptions.Builder().customizationId(customVoiceModel.getCustomizationId()).word(word1.word()).build();
service.deleteWord(deleteOptions1).execute();
DeleteWordOptions deleteOptions2 = new DeleteWordOptions.Builder().customizationId(customVoiceModel.getCustomizationId()).word(word2.word()).build();
service.deleteWord(deleteOptions2).execute();
// delete custom voice model
DeleteCustomModelOptions deleteOptions = new DeleteCustomModelOptions.Builder().customizationId(customVoiceModel.getCustomizationId()).build();
service.deleteCustomModel(deleteOptions).execute();
// list custom voice models regardless of language.
customVoiceModels = service.listCustomModels().execute().getResult();
System.out.println(customVoiceModels);
}
use of com.ibm.watson.text_to_speech.v1.model.Word in project java-sdk by watson-developer-cloud.
the class SpeechToTextTest method testGetWordWOptions.
// Test the getWord operation with a valid options model parameter
@Test
public void testGetWordWOptions() throws Throwable {
// Register a mock response
String mockResponseBody = "{\"word\": \"word\", \"sounds_like\": [\"soundsLike\"], \"display_as\": \"displayAs\", \"count\": 5, \"source\": [\"source\"], \"error\": [{\"element\": \"element\"}]}";
String getWordPath = "/v1/customizations/testString/words/testString";
server.enqueue(new MockResponse().setHeader("Content-type", "application/json").setResponseCode(200).setBody(mockResponseBody));
// Construct an instance of the GetWordOptions model
GetWordOptions getWordOptionsModel = new GetWordOptions.Builder().customizationId("testString").wordName("testString").build();
// Invoke getWord() with a valid options model and verify the result
Response<Word> response = speechToTextService.getWord(getWordOptionsModel).execute();
assertNotNull(response);
Word responseObj = response.getResult();
assertNotNull(responseObj);
// Verify the contents of the request sent to the mock server
RecordedRequest request = server.takeRequest();
assertNotNull(request);
assertEquals(request.getMethod(), "GET");
// Verify request path
String parsedPath = TestUtilities.parseReqPath(request);
assertEquals(parsedPath, getWordPath);
// Verify that there is no query string
Map<String, String> query = TestUtilities.parseQueryString(request);
assertNull(query);
}
use of com.ibm.watson.text_to_speech.v1.model.Word in project java-sdk by watson-developer-cloud.
the class TextToSpeechIT method testGetWordPronunciation.
/**
* Test word pronunciation.
*/
@Test
public void testGetWordPronunciation() {
String word = "Congressman";
GetPronunciationOptions getOptions1 = new GetPronunciationOptions.Builder().text(word).voice(GetPronunciationOptions.Voice.EN_US_MICHAELVOICE).format(GetPronunciationOptions.Format.IBM).build();
Pronunciation pronunciation = service.getPronunciation(getOptions1).execute().getResult();
assertNotNull(pronunciation);
assertNotNull(pronunciation.getPronunciation());
GetPronunciationOptions getOptions2 = new GetPronunciationOptions.Builder().text(word).format(GetPronunciationOptions.Format.IBM).build();
pronunciation = service.getPronunciation(getOptions2).execute().getResult();
assertNotNull(pronunciation);
assertNotNull(pronunciation.getPronunciation());
GetPronunciationOptions getOptions3 = new GetPronunciationOptions.Builder().text(word).voice(GetPronunciationOptions.Voice.EN_US_MICHAELVOICE).build();
pronunciation = service.getPronunciation(getOptions3).execute().getResult();
assertNotNull(pronunciation);
assertNotNull(pronunciation.getPronunciation());
GetPronunciationOptions getOptions4 = new GetPronunciationOptions.Builder().text(word).voice(GetPronunciationOptions.Voice.EN_US_MICHAELVOICE).format(GetPronunciationOptions.Format.IPA).build();
pronunciation = service.getPronunciation(getOptions4).execute().getResult();
assertNotNull(pronunciation);
assertNotNull(pronunciation.getPronunciation());
}
Aggregations