@java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof com.google.cloud.speech.v1.RecognizeResponse)) { return super.equals(obj); } com.google.cloud.speech.v1.RecognizeResponse other = (com.google.cloud.speech.v1.RecognizeResponse) obj; boolean result = true; result = result && getResultsList().equals(other.getResultsList()); result = result && unknownFields.equals(other.unknownFields); return result; }
@java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (getResultsCount() > 0) { hash = (37 * hash) + RESULTS_FIELD_NUMBER; hash = (53 * hash) + getResultsList().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; }
@java.lang.Override public com.google.cloud.speech.v1.RecognizeResponse getDefaultInstanceForType() { return com.google.cloud.speech.v1.RecognizeResponse.getDefaultInstance(); }
@Test public void syncRecognize() { RecognizeResponse response = speechClient.recognize(config(), audio()); Truth.assertThat(response.getResultsCount()).isGreaterThan(0); Truth.assertThat(response.getResults(0).getAlternativesCount()).isGreaterThan(0); String text = response.getResults(0).getAlternatives(0).getTranscript(); Truth.assertThat(text).isEqualTo("hello"); }
@java.lang.Override public Builder newBuilderForType() { return newBuilder(); }
@java.lang.Override public com.google.cloud.speech.v1.RecognizeResponse buildPartial() { com.google.cloud.speech.v1.RecognizeResponse result = new com.google.cloud.speech.v1.RecognizeResponse(this); int from_bitField0_ = bitField0_; if (resultsBuilder_ == null) { if (((bitField0_ & 0x00000001) == 0x00000001)) { results_ = java.util.Collections.unmodifiableList(results_); bitField0_ = (bitField0_ & ~0x00000001); } result.results_ = results_; } else { result.results_ = resultsBuilder_.build(); } onBuilt(); return result; }
/** * @see AIDataService#voiceRequest(InputStream, RequestExtras, AIServiceContext) */ @Override public AIResponse voiceRequest(InputStream voiceStream, RequestExtras requestExtras, AIServiceContext serviceContext) throws AIServiceException { RecognizeResponse response; try { SpeechClient speechClient = SpeechClient.create(); RecognitionAudio recognitionAudio = createRecognitionAudio(voiceStream); response = speechClient.recognize(config.getRecognitionConfig(), recognitionAudio); } catch (IOException | StatusRuntimeException e) { throw new AIServiceException("Failed to recognize speech", e); } if ((response.getResultsCount() == 0) || (response.getResults(0).getAlternativesCount() == 0)) { throw new AIServiceException("No speech"); } String transcript = response.getResults(0).getAlternatives(0).getTranscript(); AIRequest request = new AIRequest(transcript); return request(request, requestExtras, serviceContext); }
@Test @SuppressWarnings("all") public void recognizeTest() { RecognizeResponse expectedResponse = RecognizeResponse.newBuilder().build(); mockSpeech.addResponse(expectedResponse); RecognitionConfig.AudioEncoding encoding = RecognitionConfig.AudioEncoding.FLAC; int sampleRateHertz = 44100; String languageCode = "en-US"; RecognitionConfig config = RecognitionConfig.newBuilder() .setEncoding(encoding) .setSampleRateHertz(sampleRateHertz) .setLanguageCode(languageCode) .build(); String uri = "gs://bucket_name/file_name.flac"; RecognitionAudio audio = RecognitionAudio.newBuilder().setUri(uri).build(); RecognizeResponse actualResponse = client.recognize(config, audio); Assert.assertEquals(expectedResponse, actualResponse); List<GeneratedMessageV3> actualRequests = mockSpeech.getRequests(); Assert.assertEquals(1, actualRequests.size()); RecognizeRequest actualRequest = (RecognizeRequest) actualRequests.get(0); Assert.assertEquals(config, actualRequest.getConfig()); Assert.assertEquals(audio, actualRequest.getAudio()); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), GaxGrpcProperties.getDefaultApiClientHeaderPattern())); }
List<SpeechRecognitionResult> results = response.getResultsList();
public Builder mergeFrom(com.google.cloud.speech.v1.RecognizeResponse other) { if (other == com.google.cloud.speech.v1.RecognizeResponse.getDefaultInstance()) return this; if (resultsBuilder_ == null) { if (!other.results_.isEmpty()) {
SpeechRecognitionResult result = recognizeResponse.getResultsList().get(0);
.setResponseMarshaller( io.grpc.protobuf.ProtoUtils.marshaller( com.google.cloud.speech.v1.RecognizeResponse.getDefaultInstance())) .setSchemaDescriptor(new SpeechMethodDescriptorSupplier("Recognize")) .build();
/** * Performs speech recognition on raw PCM audio and prints the transcription. * * @param fileName the path to a PCM audio file to transcribe. */ public static void syncRecognizeFile(String fileName) throws Exception { try (SpeechClient speech = SpeechClient.create()) { Path path = Paths.get(fileName); byte[] data = Files.readAllBytes(path); ByteString audioBytes = ByteString.copyFrom(data); // Configure request with local raw PCM audio RecognitionConfig config = RecognitionConfig.newBuilder() .setEncoding(AudioEncoding.LINEAR16) .setLanguageCode("en-US") .setSampleRateHertz(16000) .build(); RecognitionAudio audio = RecognitionAudio.newBuilder().setContent(audioBytes).build(); // Use blocking call to get audio transcript RecognizeResponse response = speech.recognize(config, audio); List<SpeechRecognitionResult> results = response.getResultsList(); for (SpeechRecognitionResult result : results) { // There can be several alternative transcripts for a given chunk of speech. Just use the // first (most likely) one here. SpeechRecognitionAlternative alternative = result.getAlternativesList().get(0); System.out.printf("Transcription: %s%n", alternative.getTranscript()); } } } // [END speech_transcribe_sync]
.setResponseMarshaller( io.grpc.protobuf.ProtoUtils.marshaller( com.google.cloud.speech.v1.RecognizeResponse.getDefaultInstance())) .setSchemaDescriptor(new SpeechMethodDescriptorSupplier("Recognize")) .build();
SpeechRecognitionResult result = recognizeResponse.getResultsList().get(0);
List<SpeechRecognitionResult> results = response.getResultsList();
for (SpeechRecognitionResult result : recognizeResponse.getResultsList()) {
/** * Performs speech recognition on remote FLAC file and prints the transcription. * * @param gcsUri the path to the remote FLAC audio file to transcribe. */ public static void syncRecognizeGcs(String gcsUri) throws Exception { // Instantiates a client with GOOGLE_APPLICATION_CREDENTIALS try (SpeechClient speech = SpeechClient.create()) { // Builds the request for remote FLAC file RecognitionConfig config = RecognitionConfig.newBuilder() .setEncoding(AudioEncoding.FLAC) .setLanguageCode("en-US") .setSampleRateHertz(16000) .build(); RecognitionAudio audio = RecognitionAudio.newBuilder().setUri(gcsUri).build(); // Use blocking call for getting audio transcript RecognizeResponse response = speech.recognize(config, audio); List<SpeechRecognitionResult> results = response.getResultsList(); for (SpeechRecognitionResult result : results) { // There can be several alternative transcripts for a given chunk of speech. Just use the // first (most likely) one here. SpeechRecognitionAlternative alternative = result.getAlternativesList().get(0); System.out.printf("Transcription: %s%n", alternative.getTranscript()); } } } // [END speech_transcribe_sync_gcs]
List<SpeechRecognitionResult> results = response.getResultsList();
@Override public void process(InputStream inputStream) throws IOException { byte[] data = IOUtils.toByteArray(inputStream); ByteString audioBytes = ByteString.copyFrom(data); // Configure request with local raw PCM audio RecognitionConfig config = RecognitionConfig.newBuilder() .setEncoding(RecognitionConfig.AudioEncoding.LINEAR16) .setLanguageCode("en-US") .setSampleRateHertz(16000) .build(); RecognitionAudio audio = RecognitionAudio.newBuilder() .setContent(audioBytes) .build(); // Use blocking call to get audio transcript RecognizeResponse response = speechClient.recognize(config, audio); speechResults.set(response.getResultsList()); } });