diff --git a/speech/cloud-client/src/main/java/com/example/speech/QuickstartSample.java b/speech/cloud-client/src/main/java/com/example/speech/QuickstartSample.java index fbb0053f17b..5115f75ff2a 100644 --- a/speech/cloud-client/src/main/java/com/example/speech/QuickstartSample.java +++ b/speech/cloud-client/src/main/java/com/example/speech/QuickstartSample.java @@ -50,6 +50,7 @@ public static void main(String... args) throws Exception { .setEncoding(AudioEncoding.LINEAR16) .setSampleRateHertz(16000) .setLanguageCode("en-US") + .setEnableWordTimeOffsets(false) .build(); RecognitionAudio audio = RecognitionAudio.newBuilder() .setContent(audioBytes) diff --git a/speech/cloud-client/src/main/java/com/example/speech/Recognize.java b/speech/cloud-client/src/main/java/com/example/speech/Recognize.java index 619c402c49e..b3d156a2295 100644 --- a/speech/cloud-client/src/main/java/com/example/speech/Recognize.java +++ b/speech/cloud-client/src/main/java/com/example/speech/Recognize.java @@ -95,6 +95,7 @@ public static void syncRecognizeFile(String fileName) throws Exception, IOExcept .setEncoding(AudioEncoding.LINEAR16) .setLanguageCode("en-US") .setSampleRateHertz(16000) + .setEnableWordTimeOffsets(false) .build(); RecognitionAudio audio = RecognitionAudio.newBuilder() .setContent(audioBytes) @@ -127,6 +128,7 @@ public static void syncRecognizeGcs(String gcsUri) throws Exception, IOException .setEncoding(AudioEncoding.FLAC) .setLanguageCode("en-US") .setSampleRateHertz(16000) + .setEnableWordTimeOffsets(false) .build(); RecognitionAudio audio = RecognitionAudio.newBuilder() .setUri(gcsUri) @@ -165,6 +167,7 @@ public static void asyncRecognizeFile(String fileName) throws Exception, IOExcep .setEncoding(AudioEncoding.LINEAR16) .setLanguageCode("en-US") .setSampleRateHertz(16000) + .setEnableWordTimeOffsets(true) .build(); RecognitionAudio audio = RecognitionAudio.newBuilder() .setContent(audioBytes) @@ -185,7 +188,15 @@ public static void asyncRecognizeFile(String fileName) throws Exception, IOExcep for (SpeechRecognitionResult result: results) { List alternatives = result.getAlternativesList(); for (SpeechRecognitionAlternative alternative: alternatives) { - System.out.printf("Transcription: %s%n", alternative.getTranscript()); + System.out.printf("Transcription: %s\n",alternative.getTranscript()); + for (WordInfo wordInfo: alternative.getWordsList()) { + System.out.println(wordInfo.getWord()); + System.out.printf("\t%s.%s sec - %s.%s sec\n", + wordInfo.getStartTime().getSeconds(), + wordInfo.getStartTime().getNanos() / 100000000, + wordInfo.getEndTime().getSeconds(), + wordInfo.getEndTime().getNanos() / 100000000); + } } } speech.close(); diff --git a/speech/cloud-client/src/test/java/com/example/speech/RecognizeIT.java b/speech/cloud-client/src/test/java/com/example/speech/RecognizeIT.java index c2417fe7cfc..e4544bef84c 100644 --- a/speech/cloud-client/src/test/java/com/example/speech/RecognizeIT.java +++ b/speech/cloud-client/src/test/java/com/example/speech/RecognizeIT.java @@ -84,7 +84,14 @@ public void testAsyncRecognizeGcs() throws Exception { } @Test - public void testAsyncWordoffset() throws Exception { + public void testAsyncWordoffsetFile() throws Exception { + Recognize.asyncRecognizeFile(fileName); + String got = bout.toString(); + assertThat(got).contains("\t0.0 sec -"); + } + + @Test + public void testAsyncWordoffsetGcs() throws Exception { Recognize.asyncRecognizeGcs(gcsPath); String got = bout.toString(); assertThat(got).contains("\t0.0 sec -");