Search code examples
iosswiftspeech-recognitionavaudioplayertext-to-speech

Swift - How can I convert Saved Audio file conversations to Text?


I work on speech recognition. I solve the text-to-speech and speech-to-text with IOS frameworks. But now i want to convert saved audio file conversations to text. How can i solve this ? Thank you for all replies.


Solution

  • I have worked on same things which are working for me.

    I have audio file in my project bundle which. So I have written following code to convert audio to text.

    let audioURL = Bundle.main.url(forResource: "Song", withExtension: "mov")
    
    let recognizer = SFSpeechRecognizer(locale: Locale(identifier: "en-US"))
    let request = SFSpeechURLRecognitionRequest(url: audioURL!)
    
    request.shouldReportPartialResults = true
    
    if (recognizer?.isAvailable)! {
    
        recognizer?.recognitionTask(with: request) { result, error in
            guard error == nil else { print("Error: \(error!)"); return }
            guard let result = result else { print("No result!"); return }
    
            print(result.bestTranscription.formattedString)
        }
    } else {
        print("Device doesn't support speech recognition")
    }
    

    First get audio url from where you have store audio file. Then create instance of SFSpeechRecognizer with locale that you have want. Create instance of SFSpeechURLRecognitionRequest which are used to requesting recognitionTask.

    recognitionTask will give you result and error. Where result contains bestTranscription.formattedString. formmatedString is your test result of audio file.

    If set request.shouldReportPartialResults = true, this will give your partial result of every line speak in audio.

    I hope this will help you.