Google SpeechClient API - PullRequest
       7

Google SpeechClient API

0 голосов
/ 01 ноября 2018

Я пытаюсь выполнить какую-то работу, используя Google Speech API. Как указать ключи аутентификации с помощью библиотеки Java Google Speech API? Я использую этот метод учетные данные Google Speech API

Я хочу конвертировать аудио файл в текст

Спасибо

CredentialsProvider credentialsProvider = FixedCredentialsProvider.create(ServiceAccountCredentials.fromStream(new FileInputStream("home/hussain/AndroidStudioProjects/NestedLogics/RouteApplication/service-account.json")));

        SpeechSettings settings = SpeechSettings.newBuilder().setCredentialsProvider(credentialsProvider).build();
        //SpeechClient speechClient = SpeechClient.create(settings);
        SpeechClient speech = SpeechClient.create(settings);

        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
            Path path = Paths.get(file_path);
            byte[] data = Files.readAllBytes(path);
            ByteString audioBytes = ByteString.copyFrom(data);
            RecognitionConfig config = RecognitionConfig.newBuilder()
                    .setEncoding(RecognitionConfig.AudioEncoding.LINEAR16)
                    .setSampleRateHertz(16000)
                    .setLanguageCode("en-US")
                    .build();
            RecognitionAudio audio = RecognitionAudio.newBuilder()
                    .setContent(audioBytes)
                    .build();

            RecognizeResponse response = speech.recognize(config,audio);
            List<SpeechRecognitionResult> results = response.getResultsList();
            for (SpeechRecognitionResult result: results)
            {
                SpeechRecognitionAlternative alternative = result.getAlternativesList().get(0);
                Log.d("HOME", "convertAudioToSpeech: "+alternative.getTranscript());
            }
        }

build.gradle

dependencies {
   implementation fileTree(include: ['*.jar'], dir: 'libs')
   implementation 'com.android.support:appcompat-v7:28.0.0'
   implementation 'com.android.support.constraint:constraint-layout:1.1.3'
   implementation 'com.android.support:support-v4:28.0.0'
   implementation 'com.android.support:design:28.0.0'
   testImplementation 'junit:junit:4.12'
   androidTestImplementation 'com.android.support.test:runner:1.0.2'
   androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
   implementation('com.mapbox.mapboxsdk:mapbox-android-sdk:6.6.1') {
       transitive = true
   }
   implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-locationlayer:0.10.0'
   implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-localization:0.5.0'
   implementation 'com.mapbox.mapboxsdk:mapbox-android-core:0.2.1'
   //firebase
   implementation 'com.google.firebase:firebase-core:16.0.4'
   implementation 'com.google.firebase:firebase-auth:16.0.4'
   implementation 'com.google.firebase:firebase-database:16.0.4'
   implementation 'com.writingminds:FFmpegAndroid:0.3.2'
   implementation 'com.karumi:dexter:4.2.0' // this is use for runtime permissions
   implementation 'com.google.cloud:google-cloud-speech:0.30.0-alpha'
   annotationProcessor 'com.google.cloud:google-cloud-speech:0.30.0-alpha'
   implementation 'com.android.support:multidex:1.0.3'
 }

Ответы [ 2 ]

0 голосов
/ 06 ноября 2018

После того, как вы сгенерировали файл JSON с учетными данными, поместите его в app / src / main / res / raw / credential.json в источниках проекта Android. А потом в речевой службе создаю код:

InputStream stream = getContext().getResources().openRawResource(R.raw.credential);                   
SpeechSettings settings =
  SpeechSettings.newBuilder().setCredentialsProvider(
    new CredentialsProvider() {
      @Override
      public Credentials getCredentials() throws IOException {
        return GoogleCredentials.fromStream(stream);
      }
    }
  ).build();
0 голосов
/ 05 ноября 2018

У меня нет большого опыта работы с Google Cloud SDK, но, насколько я понимаю, вы должны:

Создайте проект под облачными сервисами Google.

После того, как вы создадите проект и настроите способ оплаты (так как эта услуга не бесплатна), вы сможете скачать закрытый ключ в виде файла JSON.

Затем вам нужно настроить имя переменной окружения GOOGLE_APPLICATION_CREDENTIALS на вашем компьютере, чтобы он указывал на этот файл. Тогда ты должен быть готов к работе.

Вы можете прочитать подробные пошаговые инструкции, как здесь .

Нажмите на синюю кнопку и продолжайте оттуда ...

...