@Test public void streamingRecognize() throws Exception { byte[] audioBytes = Resources.toByteArray(new URL("https://storage.googleapis.com/gapic-toolkit/hello.flac")); StreamingRecognitionConfig streamingConfig = StreamingRecognitionConfig.newBuilder().setConfig(config()).build(); ResponseApiStreamingObserver<StreamingRecognizeResponse> responseObserver = new ResponseApiStreamingObserver<>(); ApiStreamObserver<StreamingRecognizeRequest> requestObserver = speechClient.streamingRecognizeCallable().bidiStreamingCall(responseObserver); // The first request must **only** contain the audio configuration: requestObserver.onNext( StreamingRecognizeRequest.newBuilder().setStreamingConfig(streamingConfig).build()); // Subsequent requests must **only** contain the audio data. requestObserver.onNext( StreamingRecognizeRequest.newBuilder() .setAudioContent(ByteString.copyFrom(audioBytes)) .build()); // Mark transmission as completed after sending the data. requestObserver.onCompleted(); List<StreamingRecognizeResponse> responses = responseObserver.future().get(); Truth.assertThat(responses.size()).isGreaterThan(0); Truth.assertThat(responses.get(0).getResultsCount()).isGreaterThan(0); Truth.assertThat(responses.get(0).getResults(0).getAlternativesCount()).isGreaterThan(0); String text = responses.get(0).getResults(0).getAlternatives(0).getTranscript(); Truth.assertThat(text).isEqualTo("hello"); }
extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom( (com.google.cloud.speech.v1.StreamingRecognitionConfig) streamingRequest_); streamingRequest_ = subBuilder.buildPartial();
.setConfig(config) .setInterimResults(RETRIEVE_INTERIM_RESULTS) .setSingleUtterance(!useVideoModel && SINGLE_UTTERANCE_ONLY) .build();
/** * Starts recognizing speech audio. * * @param sampleRate The sample rate of the audio. */ public void startRecognizing(int sampleRate) { if (mApi == null) { Log.w(TAG, "API not ready. Ignoring the request."); return; } // Configure the API mRequestObserver = mApi.streamingRecognize(mResponseObserver); StreamingRecognitionConfig streamingConfig = StreamingRecognitionConfig.newBuilder() .setConfig(RecognitionConfig.newBuilder() .setLanguageCode("en-US") .setEncoding(RecognitionConfig.AudioEncoding.LINEAR16) .setSampleRateHertz(sampleRate) .build() ) .setInterimResults(true) .setSingleUtterance(true) .build(); StreamingRecognizeRequest streamingRecognizeRequest = StreamingRecognizeRequest.newBuilder(). setStreamingConfig(streamingConfig).build(); mRequestObserver.onNext(streamingRecognizeRequest); }
com.google.cloud.speech.v1.StreamingRecognitionConfig.newBuilder( (com.google.cloud.speech.v1.StreamingRecognitionConfig) streamingRequest_) .mergeFrom(value) .buildPartial(); } else { streamingRequest_ = value;
/** * * * <pre> * Provides information to the recognizer that specifies how to process the * request. The first `StreamingRecognizeRequest` message must contain a * `streaming_config` message. * </pre> * * <code>.google.cloud.speech.v1.StreamingRecognitionConfig streaming_config = 1;</code> */ public Builder setStreamingConfig( com.google.cloud.speech.v1.StreamingRecognitionConfig.Builder builderForValue) { if (streamingConfigBuilder_ == null) { streamingRequest_ = builderForValue.build(); onChanged(); } else { streamingConfigBuilder_.setMessage(builderForValue.build()); } streamingRequestCase_ = 1; return this; } /**
public Builder mergeFrom(com.google.cloud.speech.v1.StreamingRecognitionConfig other) { if (other == com.google.cloud.speech.v1.StreamingRecognitionConfig.getDefaultInstance()) return this; if (other.hasConfig()) { mergeConfig(other.getConfig()); } if (other.getSingleUtterance() != false) { setSingleUtterance(other.getSingleUtterance()); } if (other.getInterimResults() != false) { setInterimResults(other.getInterimResults()); } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; }
@java.lang.Override public com.google.cloud.speech.v1.StreamingRecognitionConfig build() { com.google.cloud.speech.v1.StreamingRecognitionConfig result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; }
@java.lang.Override protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /**