Search in sources :

Example 1 with MarkTiming

use of com.ibm.watson.text_to_speech.v1.model.MarkTiming in project java-sdk by watson-developer-cloud.

the class TextToSpeechIT method testSynthesizeUsingWebSocketWithSsml.

/**
 * Test synthesize using web socket with ssml.
 *
 * @throws InterruptedException the interrupted exception
 */
@Test
public void testSynthesizeUsingWebSocketWithSsml() throws InterruptedException {
    List<String> ssmlMarks = new ArrayList<>();
    ssmlMarks.add("sean");
    ssmlMarks.add("ricky");
    String ssmlText = String.format("Thought I'd end up with <mark name=\"%s\" />Sean, <express-as type=\"Apology\"> " + "but he wasn't a match. </express-as> Wrote some songs " + "about <mark name=\"%s\" />Ricky, now I listen and " + "laugh", ssmlMarks.get(0), ssmlMarks.get(1));
    SynthesizeOptions synthesizeOptions = new SynthesizeOptions.Builder().text(ssmlText).voice(SynthesizeOptions.Voice.EN_US_ALLISONVOICE).accept(HttpMediaType.AUDIO_OGG).build();
    service.synthesizeUsingWebSocket(synthesizeOptions, new BaseSynthesizeCallback() {

        @Override
        public void onMarks(Marks marks) {
            returnedMarks.add(marks);
        }
    });
    // wait for synthesis to complete
    lock.await(5, TimeUnit.SECONDS);
    for (Marks m : returnedMarks) {
        List<MarkTiming> markList = m.getMarks();
        for (MarkTiming markTiming : markList) {
            assertTrue(ssmlMarks.contains(markTiming.getMark()));
        }
    }
}
Also used : MarkTiming(com.ibm.watson.text_to_speech.v1.model.MarkTiming) BaseSynthesizeCallback(com.ibm.watson.text_to_speech.v1.websocket.BaseSynthesizeCallback) ArrayList(java.util.ArrayList) Marks(com.ibm.watson.text_to_speech.v1.model.Marks) SynthesizeOptions(com.ibm.watson.text_to_speech.v1.model.SynthesizeOptions) WatsonServiceTest(com.ibm.watson.common.WatsonServiceTest) Test(org.junit.Test)

Example 2 with MarkTiming

use of com.ibm.watson.text_to_speech.v1.model.MarkTiming in project java-sdk by watson-developer-cloud.

the class MarkTimingTypeAdapter method read.

/*
   * (non-Javadoc)
   * @see com.google.gson.TypeAdapter#read(com.google.gson.stream.JsonReader)
   */
@Override
public MarkTiming read(JsonReader in) throws IOException {
    if (in.peek() == JsonToken.NULL) {
        in.nextNull();
        return null;
    }
    final MarkTiming markTiming = new MarkTiming();
    in.beginArray();
    if (in.peek() == JsonToken.STRING) {
        markTiming.setMark(in.nextString());
    }
    if (in.peek() == JsonToken.NUMBER) {
        markTiming.setTime(in.nextDouble());
    }
    in.endArray();
    return markTiming;
}
Also used : MarkTiming(com.ibm.watson.text_to_speech.v1.model.MarkTiming)

Aggregations

MarkTiming (com.ibm.watson.text_to_speech.v1.model.MarkTiming)2 WatsonServiceTest (com.ibm.watson.common.WatsonServiceTest)1 Marks (com.ibm.watson.text_to_speech.v1.model.Marks)1 SynthesizeOptions (com.ibm.watson.text_to_speech.v1.model.SynthesizeOptions)1 BaseSynthesizeCallback (com.ibm.watson.text_to_speech.v1.websocket.BaseSynthesizeCallback)1 ArrayList (java.util.ArrayList)1 Test (org.junit.Test)1