use of com.ibm.watson.speech_to_text.v1.model.WordAlternativeResults in project java-sdk by watson-developer-cloud.
the class SpeechToTextIT method testCreateJob.
/**
* Test create job.
*
* @throws InterruptedException the interrupted exception
* @throws FileNotFoundException the file not found exception
*/
@Test
public void testCreateJob() throws InterruptedException, FileNotFoundException {
File audio = new File(SAMPLE_WAV);
Long maxAlternatives = 3L;
Float wordAlternativesThreshold = 0.5f;
CreateJobOptions createOptions = new CreateJobOptions.Builder().audio(audio).contentType(HttpMediaType.AUDIO_WAV).maxAlternatives(maxAlternatives).wordAlternativesThreshold(wordAlternativesThreshold).build();
RecognitionJob job = service.createJob(createOptions).execute().getResult();
try {
assertNotNull(job.getId());
CheckJobOptions checkOptions = new CheckJobOptions.Builder().id(job.getId()).build();
for (int x = 0; x < 30 && !job.getStatus().equals(RecognitionJob.Status.COMPLETED); x++) {
Thread.sleep(3000);
job = service.checkJob(checkOptions).execute().getResult();
}
job = service.checkJob(checkOptions).execute().getResult();
assertEquals(RecognitionJob.Status.COMPLETED, job.getStatus());
assertNotNull(job.getResults());
assertTrue(job.getResults().get(0).getResults().get(0).getAlternatives().size() <= maxAlternatives);
List<WordAlternativeResults> wordAlternatives = job.getResults().get(0).getResults().get(0).getWordAlternatives();
for (WordAlternativeResults alternativeResults : wordAlternatives) {
assertTrue(alternativeResults.getAlternatives().get(0).getConfidence() >= wordAlternativesThreshold);
}
} finally {
DeleteJobOptions deleteOptions = new DeleteJobOptions.Builder().id(job.getId()).build();
service.deleteJob(deleteOptions).execute();
}
}
Aggregations