简体   繁体   中英

Require on device recognition

有没有办法知道Swift下载语音模型需要多长时间?

Try using OSSSpeechKit . It works without a model. Here's the link: https://cocoapods.org/pods/OSSSpeechKit#speech-to-text .

Example Code:

import UIKit
import OSSSpeechKit

class ViewController: UIViewController, OSSSpeechDelegate {
    
    let speechKit = OSSSpeech.shared
    
    func didCompleteTranslation(withText text: String) {
        textView.text = text
        
    }
    
    func didFailToProcessRequest(withError error: Error?) {
        let alert = UIAlertController(title: "Error Processing Request", message: "We couldn't process your request.", preferredStyle: .alert)
        let action = UIAlertAction(title: "OK", style: .default)
        alert.addAction(action)
        present(alert, animated: true) {
            self.speechKit.endVoiceRecording()
            self.endButton.isHidden = true
            self.startButton.isHidden = false
        }
        
    }
    
    
    func didFinishListening(withText text: String) {
        textView.text = text
        
    }
    
    func authorizationToMicrophone(withAuthentication type: OSSSpeechKitAuthorizationStatus) {
        
    }
    
    func didFailToCommenceSpeechRecording() {
        let alert = UIAlertController(title: "Error Accessing the Microphone", message: "Make sure to check that you have given the app access to your microphone.", preferredStyle: .alert)
        let action = UIAlertAction(title: "OK", style: .default)
        alert.addAction(action)
        present(alert, animated: true) {
            self.speechKit.endVoiceRecording()
            self.endButton.isHidden = true
            self.startButton.isHidden = false
        }
        
    }
    
    @IBOutlet weak var textView: UITextView!
    
    @IBOutlet weak var startButton: UIButton!
    
    @IBOutlet weak var endButton: UIButton!
    
    @IBAction func startButtonPressed(_ sender: UIButton) {
        startButton.isHidden = true
        endButton.isHidden = false
        speechKit.recordVoice()
        
    }
    
    @IBAction func endButtonPressed(_ sender: UIButton) {
        endButton.isHidden = true
        startButton.isHidden = false
        speechKit.endVoiceRecording()
        
    }
    override func viewDidLoad() {
        super.viewDidLoad()
        speechKit.delegate = self
        endButton.isHidden = true
        
    }

}

I'm pretty sure this'll work.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM