Ali Ihsan URAL
Ali Ihsan URAL

Reputation: 1974

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.

Upvotes: 8

Views: 9337

Answers (1)

Sagar Chauhan
Sagar Chauhan

Reputation: 5823

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.

Upvotes: 21

Related Questions