gpt4 book ai didi

ios - 在 Swift 中使用 CocoaPods 时如何实现 Nuance Speechkit

转载 作者:搜寻专家 更新时间:2023-11-01 07:26:15 24 4
gpt4 key购买 nike

在 pod 规范和当前 S.O. 上的内容之间我很难弄清楚如何使用 SpeechKit + CocoaPod + Swift 进行语音到文本的工作。终于让它工作了,所以我想我会帮助下一个寻求帮助的可怜人! :)

最佳答案

  1. 首先安装 CocoaPod:https://cocoapods.org/pods/SpeechKit
  2. 添加#import <SpeechKit/SpeechKit.h>到你的桥接头
  3. 登录到 Nuance 的开发门户并创建一个应用程序:https://developer.nuance.com/
  4. 清理演示代码,使其更有条理。我只想将尽可能多的代码放在一个地方,这样您就可以看到一个完整的工作实现。

然后创建一个 UIViewController 并使用正确的凭据添加以下代码:

import UIKit
import SpeechKit

class SpeechKitDemo: UIViewController, SKTransactionDelegate {

override func viewDidLoad() {
super.viewDidLoad()
}


override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}

//!!link this to a corresponding button on the UIViewController in I.B.
@IBAction func tappedButton(sender: AnyObject) {

// All fields are required.
// Your credentials can be found in your Nuance Developers portal, under "Manage My Apps".
let SKSAppKey = "[Get this from the nuance app info page]";
let SKSAppId = "[Get this from the nuance app info page]";
let SKSServerHost = "[Get this from the nuance app info page]";
let SKSServerPort = "[Get this from the nuance app info page]";

let SKSLanguage = "eng-USA";

let SKSServerUrl = "nmsps://\(SKSAppId)@\(SKSServerHost):\(SKSServerPort)"

let session = SKSession(URL: NSURL(string: SKSServerUrl), appToken: SKSAppKey)


//this starts a transaction that listens for voice input
let transaction = session.recognizeWithType(SKTransactionSpeechTypeDictation,
detection: .Short,
language: SKSLanguage,
delegate: self)
print(transaction)
}

//required delegate methods
func transactionDidBeginRecording(transaction: SKTransaction!) { }
func transactionDidFinishRecording(transaction: SKTransaction!) { }
func transaction(transaction: SKTransaction!, didReceiveRecognition recognition: SKRecognition!) {

//Take the best result
let topRecognitionText = recognition.text;

print("Best rec test: \(topRecognitionText)")
//Or iterate through the NBest list
let nBest = recognition.details;
for phrase in (nBest as! [SKRecognizedPhrase]!) {
let text = phrase.text;
let confidence = phrase.confidence;
print("\(confidence): \(text)")
}



}
func transaction(transaction: SKTransaction!, didReceiveServiceResponse response: [NSObject : AnyObject]!) { }
func transaction(transaction: SKTransaction!, didFinishWithSuggestion suggestion: String!) { }
func transaction(transaction: SKTransaction!, didFailWithError error: NSError!, suggestion: String!) { }



}

关于ios - 在 Swift 中使用 CocoaPods 时如何实现 Nuance Speechkit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35983121/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com