Latest 0.1.7
Homepage https://github.com/ZaidPathan/SpeechKitManager
License MIT
Platforms ios 10.0
Authors

[![CI Status](http://img.shields.io/travis/Zaid Pathan/SpeechKitManager.svg?style=flat)](https://travis-ci.org/Zaid Pathan/SpeechKitManager)
Version
License
Platform

Example

To run the example project, clone the repo, and run pod install from the Example directory first.

Requirements

XCode : 8.0 +

iOS : 10.0 +

Swift : 3.0 +

Device : Real iOS device required

Installation

SpeechKitManager is available through CocoaPods. To install
it, simply add the following line to your Podfile:

pod "SpeechKitManager"

Usage

Note : Add NSMicrophoneUsageDescription(For Live Speech to Text only) and NSSpeechRecognitionUsageDescription to info.plist.

Initialize SpeechKitManager and your audio file path and URL
import SpeechKitManager

fileprivate var speechKitManager:SpeechKitManager?
let audioPath = Bundle.main.path(forResource: "testAudio", ofType: "m4a")   //For audio file to text
var audioURL:URL?                                                           //For audio file to text

override func viewDidLoad() {
    super.viewDidLoad()
    speechKitManager = SpeechKitManager()
}
Authorize Speech Recognition and handle it.
speechKitManager?.requestSpeechRecognizerAuth { (authStatus) in
    /*
    The callback may not be called on the main thread. Add an
    operation to the main queue to update the record button's state.
    */
    OperationQueue.main.addOperation {
        switch authStatus {
            case .authorized:
                self.recognizeAudio()
                print("requestSpeechRecognizerAuth authorized")
            case .denied:
                print("requestSpeechRecognizerAuth denied")
            case .restricted:
                print("requestSpeechRecognizerAuth restricted")
            case .notDetermined:
                print("requestSpeechRecognizerAuth notDetermined")
            }
        }
    }

1. Audio file to Text

Recognize Audio
fileprivate func recognizeAudio(){
    if let path = self.audioPath{
        self.speechKitManager?.recognizeAudio(atURL: URL(fileURLWithPath: path), resultHandler: { (result, error) in
            if let result = result{
                //Audio to Text fall here
                debugPrint(result.bestTranscription.formattedString)
            }else if let error = error{
                debugPrint(error.localizedDescription)
            }
        })
    }else{
        debugPrint("no path found")
    }
}

2. Live Speech to Text

Request Microphone access and handle it.
fileprivate func authorizeMicAccess(){
    speechKitManager?.requestMicAuth({ (granted) in
        if granted{
        //Mic access granted start recognition
        self.recognize()
        }else{
            debugPrint("Microphone permission required")
        }
    })
}
Recognize live speech. 📢
fileprivate func recognize(){
    speechKitManager?.record(resultHandler: { (result, error) in
        var isFinal = false

        if let result = result {
            //User speech will fall here to text
            debugPrint(result.bestTranscription.formattedString)
            isFinal = result.isFinal
        }

        if error != nil || isFinal {
            self.speechKitManager?.stop()
        }
    })
}

Awesome 🙌, look at the demo project – everything explained here is implemented in that.

Author

Zaid Pathan, [email protected]

License

SpeechKitManager is available under the MIT license. See the LICENSE file for more info.

Latest podspec

{
    "name": "SpeechKitManager",
    "version": "0.1.7",
    "summary": "Audio to Text, Speech to Text made easy with SpeechKitManager.",
    "description": "Audio to Text, Speech to Text made easy with SpeechKitManager. Find more on GiHub page.",
    "homepage": "https://github.com/ZaidPathan/SpeechKitManager",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    },
    "authors": {
        "Zaid Pathan": "[email protected]"
    },
    "source": {
        "git": "https://github.com/ZaidPathan/SpeechKitManager.git",
        "tag": "0.1.7"
    },
    "platforms": {
        "ios": "10.0"
    },
    "source_files": "SpeechKitManager/Classes/**/*",
    "pushed_with_swift_version": "3.0"
}

Pin It on Pinterest

Share This