Speech 框架构建语音转文本应用详解

  2016  年的  WWDC  上, Apple  介绍了一个十分有用的语音识别  API ,那就是  Speech  框架。事实上, Siri  的语音识别正是由  Speech Kit  提供支持。就目前来说,可用的语音识别框架并非没有,但是它们要么太贵,要么不够好。在本 iOS教程中,我将会向你演示如何使用  Speech Kit  来创建一个像 Siri  一样的应用来进行语音到文本的转换。
应用界面设计
事前准备: Xcode 8 beta  版和一台运行  iOS 10 beta  版的设备 .
首先,让我们来创建一个  iOS Single View Application  工程,并将其命名为  SpeechToTextDemo  。然后在Main.storyboard  上添加  UILabel   UITextView   UIButton  各一个。
此时  storyboard  应该看起来像这样:
Speech <wbr>框架构建语音转文本应用的方法与步骤

下一步,在  ViewController.swift  文件中为  UITextView   UIButton  定义  outlet  变量,将  UITextView  命名为 “textView”  UIButton  命名为  “microphoneButton”  之后,再创建一个空  action  方法来监听麦克风按钮 (microphoneButton)  的点击事件:
@IBAction func microphoneTapped(_ sender: AnyObject) {
}
使用  Speech  框架
要使用  Speech  框架,第一件要做的事自然是引入这个框架,并遵循  SFSpeechRecognizerDelegate  协议。所以,我们先引入该框架,然后将它的协议添加到  ViewController.swift  类中。此时  ViewController.swift  应该是这样的:
import UIKitimport Speech
class ViewController: UIViewController, SFSpeechRecognizerDelega te {
    
    
      @IBOutlet weak var textView: UITextView!
      @IBOutlet weak var microphoneButton: UIButton!
         func viewDidLoad() {
              sup
      overrideer.viewDidLoad()
             
      }
      @IBAction func microphoneTapped(_ sender: AnyObject) {
      }
}
用户权限
在使用  Speech  框架进行语音识别之前,你必须先请求用户许可,原因是识别不仅发生在  iOS  设备本地,还需要依赖  Apple  的服务器。具体来说,所有音频数据都会被传输到苹果后台进行处理。因此需要获取用户的权限。
我们将在  ViewDidLoad  方法中处理授权。其中包括用户必须允许应用使用的音频输入和语音识别权限。首先,声明一个名为  speechRecognizer  的变量:
private let speechRecognizer = SFSpeechRecognizer(locale: Locale.init(identifier: "en-US"))    //1
然后将  ViewDidLoad  方法修改为下面这样:
override func viewDidLoad() {
      super.viewDidLoad()
    
      microphoneButton.isEnabled = false    //2
    
      speechRecognizer.delegate = self    //3
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值