!7 lib 1400013 // cloud speech lib 1400014 // same lib 1400015 // netty grpc //lib 1400021 lib 1400022 lib 1400024 // netty lib 1400025 // netty lib 1400027 // jetty alpn /* * Copyright 2018 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import com.google.cloud.speech.v1p1beta1.RecognitionConfig.AudioEncoding; import com.google.cloud.speech.v1p1beta1.*; import com.google.protobuf.ByteString; import com.google.auth.oauth2.*; import com.google.api.gax.core.*; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; /** * Demonstrates using the Speech API to transcribe an audio file. */ p-experiment { fixContextClassLoader(); CredentialsProvider credentialsProvider = FixedCredentialsProvider.create(ServiceAccountCredentials.fromStream(new FileInputStream(javaxSecretDir("google-service-account.json")))); SpeechSettings settings = SpeechSettings.newBuilder().setCredentialsProvider(credentialsProvider).build(); // Instantiates a client try (SpeechClient speechClient = SpeechClient.create(settings)) { // The path to the audio file to transcribe String fileName = "./resources/audio.raw"; // Reads the audio file into memory Path path = Paths.get(fileName); byte[] data = Files.readAllBytes(path); ByteString audioBytes = ByteString.copyFrom(data); // Builds the sync recognize request RecognitionConfig config = RecognitionConfig.newBuilder() .setEncoding(AudioEncoding.LINEAR16) .setSampleRateHertz(16000) .setLanguageCode("en-US") .build(); RecognitionAudio audio = RecognitionAudio.newBuilder() .setContent(audioBytes) .build(); // Performs speech recognition on the audio file RecognizeResponse response = speechClient.recognize(config, audio); List 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()); } } }