return longRunningRecognizeAsync(request);
/** * Constructs an instance of SpeechClient, using the given settings. The channels are created * based on the settings passed in, or defaults for any settings that are not set. */ public static final SpeechClient create(SpeechSettings settings) throws IOException { return new SpeechClient(settings); }
public static void executeNoCatch() throws Exception { try (SpeechClient client = SpeechClient.create()) { String languageCode = "en-US"; int sampleRateHertz = 44100; RecognitionConfig.AudioEncoding encoding = RecognitionConfig.AudioEncoding.FLAC; RecognitionConfig config = RecognitionConfig.newBuilder() .setLanguageCode(languageCode) .setSampleRateHertz(sampleRateHertz) .setEncoding(encoding) .build(); String uri = "gs://gapic-toolkit/hello.flac"; RecognitionAudio audio = RecognitionAudio.newBuilder().setUri(uri).build(); RecognizeResponse response = client.recognize(config, audio); } }
try (SpeechClient speech = SpeechClient.create()) { speech.longRunningRecognizeAsync(config, audio);
Thread micThread = new Thread(micrunnable); ResponseObserver<StreamingRecognizeResponse> responseObserver = null; try (SpeechClient client = SpeechClient.create()) { ClientStream<StreamingRecognizeRequest> clientStream; responseObserver = clientStream = client.streamingRecognizeCallable().splitCall(responseObserver); clientStream = client.streamingRecognizeCallable().splitCall(responseObserver);
/** Constructs an instance of SpeechClient with default settings. */ public static final SpeechClient create() throws IOException { return create(SpeechSettings.newBuilder().build()); }
return recognize(request);
@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"); }
@AfterClass public static void tearDownClass() throws Exception { speechClient.close(); }
try (SpeechClient speechClient = SpeechClient.create()) { speechClient.longRunningRecognizeAsync(config, audio);
try (SpeechClient client = SpeechClient.create()) { client.streamingRecognizeCallable().splitCall(responseObserver);
@BeforeClass public static void setupClass() throws Exception { speechClient = SpeechClient.create(); }
@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"); }
@Test @SuppressWarnings("all") public void streamingRecognizeTest() throws Exception { StreamingRecognizeResponse expectedResponse = StreamingRecognizeResponse.newBuilder().build(); mockSpeech.addResponse(expectedResponse); StreamingRecognizeRequest request = StreamingRecognizeRequest.newBuilder().build(); MockStreamObserver<StreamingRecognizeResponse> responseObserver = new MockStreamObserver<>(); BidiStreamingCallable<StreamingRecognizeRequest, StreamingRecognizeResponse> callable = client.streamingRecognizeCallable(); ApiStreamObserver<StreamingRecognizeRequest> requestObserver = callable.bidiStreamingCall(responseObserver); requestObserver.onNext(request); requestObserver.onCompleted(); List<StreamingRecognizeResponse> actualResponses = responseObserver.future().get(); Assert.assertEquals(1, actualResponses.size()); Assert.assertEquals(expectedResponse, actualResponses.get(0)); }
@After public void tearDown() throws Exception { client.close(); }
/** * 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]
try (SpeechClient speech = SpeechClient.create()) { speech.longRunningRecognizeAsync(config, audio); while (!response.isDone()) { System.out.println("Waiting for response...");