2017-11-24 25 views
0

Ich mache eine App, die Audio in Text konvertiert. Ich habe Googles Sprache-zu-Text-API ausprobiert, aber es funktioniert, wenn Sie ein Symbol drücken, wird es die Stimme gleichzeitig erkennen, aber ich habe eine Audiodatei, die ich in Text konvertieren möchte.
Ich suchte viel, aber ich bekomme nur Rede zu Text.So extrahieren Sie Text aus einer Audiodatei

Antwort

0

Sie können die Cloud Speech-API von Google verwenden.

Fügen Sie diese auf Ihre gradle Datei:

compile 'com.google.cloud:google-cloud-speech:0.30.0-alpha' 

und benutzen Sie diesen Code:

// Instantiates a client 
    SpeechClient speech = SpeechClient.create(); 

    // 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 = 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()); 
    } 
    speech.close(); 

Für weitere Informationen siehe diesen Link: https://cloud.google.com/speech/docs/reference/libraries#client-libraries-install-java

Verwandte Themen