2

I want to use google cloud speech to text API.

I followed the google cloud doc for converting speech audio file to text, but when building the app give me error.

My Gradle dependencies :

dependencies {

    implementation 'androidx.appcompat:appcompat:1.3.0'
    implementation 'com.google.android.material:material:1.3.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
    testImplementation 'junit:junit:4.13.2'
    androidTestImplementation 'androidx.test.ext:junit:1.1.2'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
    implementation platform('com.google.cloud:libraries-bom:20.6.0')

    implementation 'com.google.cloud:google-cloud-speech'
}

My code :

 public void run(String path) throws IOException {
        // Instantiates a client
        try (SpeechClient speechClient = SpeechClient.create()) {

            // The path to the audio file to transcribe
            String gcsUri = path;

            // Builds the sync recognize request
            RecognitionConfig config =
                    RecognitionConfig.newBuilder()
                            .setEncoding(RecognitionConfig.AudioEncoding.LINEAR16)
                            .setSampleRateHertz(16000)
                            .setLanguageCode("en-US")
                            .build();
            RecognitionAudio audio = RecognitionAudio.newBuilder().setUri(gcsUri).build();

            // Performs speech recognition on the audio file
            RecognizeResponse response = speechClient.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());
            }
        }
    }

But still give me error below

> Task :app:mergeDebugJavaResource FAILED
Execution failed for task ':app:mergeDebugJavaResource'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.MergeJavaResWorkAction
   > 4 files found with path 'META-INF/INDEX.LIST' from inputs:
      - C:\Users\Adham\.gradle\caches\modules-2\files-2.1\com.google.cloud\google-cloud-speech\1.29.0\6bc5320615edb4b07aa827d47a5950b99714aa9e\google-cloud-speech-1.29.0.jar
      - C:\Users\Adham\.gradle\caches\modules-2\files-2.1\com.google.api.grpc\proto-google-cloud-speech-v1p1beta1\0.82.0\65231ca155c5d74169de383519331991bb70f5b3\proto-google-cloud-speech-v1p1beta1-0.82.0.jar
      - C:\Users\Adham\.gradle\caches\modules-2\files-2.1\com.google.api.grpc\proto-google-cloud-speech-v1\1.29.0\5256778459fff4f84d9c0172a6d103a35364afca\proto-google-cloud-speech-v1-1.29.0.jar
      - C:\Users\Adham\.gradle\caches\modules-2\files-2.1\com.google.api.grpc\proto-google-common-protos\2.3.2\a35fd6ed973f752604fce97a21eb1e09d6afc467\proto-google-common-protos-2.3.2.jar
     Adding a packagingOptions block may help, please refer to
     https://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.PackagingOptions.html
     for more information

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

How can I solve that ?


0 Answers0