Skip to content

Commit 4415993

Browse files
committed
added sync changes and test
Author: puneith <puneith@google.com>
1 parent 259ed6a commit 4415993

File tree

3 files changed

+42
-41
lines changed

3 files changed

+42
-41
lines changed

speech/grpc/src/main/java/com/google/cloud/speech/grpc/demos/AudioRequestFactory.java renamed to speech/grpc/src/main/java/com/google/cloud/speech/grpc/demos/RecognitionAudioFactory.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
package com.google.cloud.speech.grpc.demos;
1919

20-
import com.google.cloud.speech.v1.AudioRequest;
20+
import com.google.cloud.speech.v1beta1.RecognitionAudio;
2121
import com.google.protobuf.ByteString;
2222

2323
import java.io.IOException;
@@ -27,10 +27,10 @@
2727
import java.nio.file.Paths;
2828

2929
/*
30-
* AudioRequestFactory takes a URI as an input and creates an AudioRequest. The URI can point to a
30+
* RecognitionAudioFactory takes a URI as an input and creates a RecognitionAudio. The URI can point to a
3131
* local file or a file on Google Cloud Storage.
3232
*/
33-
public class AudioRequestFactory {
33+
public class RecognitionAudioFactory {
3434

3535
private static final String FILE_SCHEME = "file";
3636
private static final String GS_SCHEME = "gs";
@@ -39,27 +39,27 @@ public class AudioRequestFactory {
3939
* Takes an input URI of form $scheme:// and converts to audio request.
4040
*
4141
* @param uri input uri
42-
* @return AudioRequest audio request
42+
* @return RecognitionAudio recognition audio
4343
*/
44-
public static AudioRequest createRequest(URI uri)
44+
public static RecognitionAudio createRecognitionAudio(URI uri)
4545
throws IOException {
4646
if (uri.getScheme() == null || uri.getScheme().equals(FILE_SCHEME)) {
4747
Path path = Paths.get(uri);
4848
return audioFromBytes(Files.readAllBytes(path));
4949
} else if (uri.getScheme().equals(GS_SCHEME)) {
50-
return AudioRequest.newBuilder().setUri(uri.toString()).build();
50+
return RecognitionAudio.newBuilder().setUri(uri.toString()).build();
5151
}
5252
throw new RuntimeException("scheme not supported " + uri.getScheme());
5353
}
5454

5555
/**
56-
* Convert bytes to AudioRequest.
56+
* Convert bytes to RecognitionAudio.
5757
*
5858
* @param bytes input bytes
59-
* @return AudioRequest audio request
59+
* @return RecognitionAudio recognition audio
6060
*/
61-
private static AudioRequest audioFromBytes(byte[] bytes) {
62-
return AudioRequest.newBuilder()
61+
private static RecognitionAudio audioFromBytes(byte[] bytes) {
62+
return RecognitionAudio.newBuilder()
6363
.setContent(ByteString.copyFrom(bytes))
6464
.build();
6565
}

speech/grpc/src/main/java/com/google/cloud/speech/grpc/demos/SyncRecognizeClient.java

Lines changed: 27 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
* limitations under the License.
1515
*/
1616

17-
// Client that sends audio to Speech.NonStreamingRecognize via gRPC and returns transcription.
17+
// Client that sends audio to Speech.SyncRecognize via gRPC and returns transcription.
1818
//
1919
// Uses a service account for OAuth2 authentication, which you may obtain at
2020
// https://console.developers.google.com
@@ -26,12 +26,12 @@
2626
package com.google.cloud.speech.grpc.demos;
2727

2828
import com.google.auth.oauth2.GoogleCredentials;
29-
import com.google.cloud.speech.v1.AudioRequest;
30-
import com.google.cloud.speech.v1.InitialRecognizeRequest;
31-
import com.google.cloud.speech.v1.InitialRecognizeRequest.AudioEncoding;
32-
import com.google.cloud.speech.v1.NonStreamingRecognizeResponse;
33-
import com.google.cloud.speech.v1.RecognizeRequest;
34-
import com.google.cloud.speech.v1.SpeechGrpc;
29+
import com.google.cloud.speech.v1beta1.RecognitionAudio;
30+
import com.google.cloud.speech.v1beta1.RecognitionConfig;
31+
import com.google.cloud.speech.v1beta1.RecognitionConfig.AudioEncoding;
32+
import com.google.cloud.speech.v1beta1.SyncRecognizeRequest;
33+
import com.google.cloud.speech.v1beta1.SyncRecognizeResponse;
34+
import com.google.cloud.speech.v1beta1.SpeechGrpc;
3535
import com.google.protobuf.TextFormat;
3636

3737
import io.grpc.ManagedChannel;
@@ -57,12 +57,12 @@
5757
import java.util.logging.Logger;
5858

5959
/**
60-
* Client that sends audio to Speech.NonStreamingRecognize and returns transcript.
60+
* Client that sends audio to Speech.SyncRecognize and returns transcript.
6161
*/
62-
public class NonStreamingRecognizeClient {
62+
public class SyncRecognizeClient {
6363

6464
private static final Logger logger =
65-
Logger.getLogger(NonStreamingRecognizeClient.class.getName());
65+
Logger.getLogger(SyncRecognizeClient.class.getName());
6666

6767
private static final List<String> OAUTH2_SCOPES =
6868
Arrays.asList("https://www.googleapis.com/auth/cloud-platform");
@@ -78,7 +78,7 @@ public class NonStreamingRecognizeClient {
7878
/**
7979
* Construct client connecting to Cloud Speech server at {@code host:port}.
8080
*/
81-
public NonStreamingRecognizeClient(String host, int port, URI input, int samplingRate)
81+
public SyncRecognizeClient(String host, int port, URI input, int samplingRate)
8282
throws IOException {
8383
this.host = host;
8484
this.port = port;
@@ -95,8 +95,8 @@ public NonStreamingRecognizeClient(String host, int port, URI input, int samplin
9595
logger.info("Created blockingStub for " + host + ":" + port);
9696
}
9797

98-
private AudioRequest createAudioRequest() throws IOException {
99-
return AudioRequestFactory.createRequest(this.input);
98+
private RecognitionAudio createRecognitionAudio() throws IOException {
99+
return RecognitionAudioFactory.createRecognitionAudio(this.input);
100100
}
101101

102102
public void shutdown() throws InterruptedException {
@@ -105,25 +105,26 @@ public void shutdown() throws InterruptedException {
105105

106106
/** Send a non-streaming-recognize request to server. */
107107
public void recognize() {
108-
AudioRequest audio;
108+
RecognitionAudio audio;
109109
try {
110-
audio = createAudioRequest();
110+
audio = createRecognitionAudio();
111111
} catch (IOException e) {
112112
logger.log(Level.WARNING, "Failed to read audio uri input: " + input);
113113
return;
114114
}
115115
logger.info("Sending " + audio.getContent().size() + " bytes from audio uri input: " + input);
116-
InitialRecognizeRequest initial = InitialRecognizeRequest.newBuilder()
117-
.setEncoding(AudioEncoding.LINEAR16)
118-
.setSampleRate(samplingRate)
116+
RecognitionConfig config = RecognitionConfig.newBuilder()
117+
.setEncoding(AudioEncoding.LINEAR16)
118+
.setSampleRate(samplingRate)
119+
.build();
120+
SyncRecognizeRequest request = SyncRecognizeRequest.newBuilder()
121+
.setConfig(config)
122+
.setAudio(audio)
119123
.build();
120-
RecognizeRequest request = RecognizeRequest.newBuilder()
121-
.setInitialRequest(initial)
122-
.setAudioRequest(audio)
123-
.build();
124-
NonStreamingRecognizeResponse response;
124+
125+
SyncRecognizeResponse response;
125126
try {
126-
response = blockingStub.nonStreamingRecognize(request);
127+
response = blockingStub.syncRecognize(request);
127128
} catch (StatusRuntimeException e) {
128129
logger.log(Level.WARNING, "RPC failed: {0}", e.getStatus());
129130
return;
@@ -196,8 +197,8 @@ public static void main(String[] args) throws Exception {
196197
System.exit(1);
197198
}
198199

199-
NonStreamingRecognizeClient client =
200-
new NonStreamingRecognizeClient(host, port, URI.create(audioFile), sampling);
200+
SyncRecognizeClient client =
201+
new SyncRecognizeClient(host, port, URI.create(audioFile), sampling);
201202
try {
202203
client.recognize();
203204
} finally {

speech/grpc/src/test/java/com/google/cloud/speech/grpc/demos/AudioRequestFactoryTest.java renamed to speech/grpc/src/test/java/com/google/cloud/speech/grpc/demos/RecognitionAudioTest.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
import static org.junit.Assert.assertEquals;
2020

21-
import com.google.cloud.speech.v1.AudioRequest;
21+
import com.google.cloud.speech.v1beta1.RecognitionAudio;
2222

2323
import org.junit.Test;
2424
import org.junit.runner.RunWith;
@@ -29,15 +29,15 @@
2929
import java.net.URI;
3030

3131
/**
32-
* Unit tests for {@link AudioRequestFactory}.
32+
* Unit tests for {@link RecognitionAudioFactory}.
3333
*/
3434
@RunWith(JUnit4.class)
35-
public class AudioRequestFactoryTest {
35+
public class RecognitionAudioFactoryTest {
3636

3737
@Test
3838
public void verifyBytesInSizeFromLocalFile() throws IOException {
3939
URI uri = new File("resources/audio.raw").toURI();
40-
AudioRequest audio = AudioRequestFactory.createRequest(uri);
40+
RecognitionAudio audio = RecognitionAudioFactory.createRecognitionAudio(uri);
4141

4242
int numBytes = audio.getContent().toByteArray().length;
4343

@@ -50,7 +50,7 @@ public void verifyBytesInSizeFromGoogleStorageFile() throws IOException {
5050
String audioUri = "gs://cloud-samples-tests/speech/audio.raw";
5151

5252
URI uri = URI.create(audioUri);
53-
AudioRequest audio = AudioRequestFactory.createRequest(uri);
53+
RecognitionAudio audio = RecognitionAudioFactory.createRecognitionAudio(uri);
5454

5555
int numBytes = audio.getContent().toByteArray().length;
5656

0 commit comments

Comments
 (0)