腾讯云语音识别iOS SDK引入介绍

腾讯云的众多产品都提供了iOS SDK供开发者使用,如何成功调用接口是很多开发者在初次使用腾讯云服务的时候都会面临的问题,以下,我们以调用腾讯云语音识别产品为例,从零开始学习如何开发开发一个一句话语音识别的APP。

一、腾讯云语音识别简介

腾讯云语音识别(Automatic Speech Recognition,ASR) 为开发者提供语音转文字服务的最佳体验。语音识别服务经微信、腾讯视频、王者荣耀等大量内部业务验证,同时也在线上线下大量外部客户业务场景下成功落地,具备识别准确率高、接入便捷、性能稳定等特点。腾讯云语音识别服务开放实时语音识别、一句话识别和录音文件识别三种服务形式,满足不同类型开发者需求。

1.1 实时语音识别

对实时音频流进行识别,可应用于语音输入、语音机器人等实时音频流场景

1.2 一句话识别

对60秒之内的短音频文件进行识别,可应用于语音消息转写等场景

1.3 录音文件识别

对一小时之内的录音文件进行识别,可应用于字幕生成,语音资料转写等场景。

首先,我们要先了解什么是iOS开发。

二、iOS系统机制了解

2.1 什么叫iOS?

苹果iOS是苹果公司研发的一款手机操作系统。苹果公司最早于2007年1月9日的Macworld大会上公布这个系统,最初是设计给iPhone使用的,后来陆续套用到iPod touch、iPad以及Apple TV等产品上。iOS是从OS X演化而来,苹果的Mac OS X操作系统一样,它也是以Darwin为基础的,因此同样属于类Unix的商业操作系统。iOS是OSX运用于苹果电脑操作系统的一款手机操作系统。

原本这个系统名为iPhone OS,于2007年开始运用于iPhone,iPod Touch和苹果电视。直到2010 WWDC大会上宣布改名为iOS。最新版本为iOS13。

2.2 iOS特点显现

iOS的性能特点主要显现加速度计,GPS,高端处理器,相机,Safari浏览器,功能强大的API,游戏中心,在应用程序内购买,提醒,宽范围的手势

  • 地图
  • Siri
  • Multi-Touch(多点触摸)
  • Accelerometer(加速度传感器)
  • GPS
  • 高性能处理器
  • 相机
  • Safari浏览器
  • 功能强大的API
  • 游戏中心
  • 在应用程序内购买
  • 提醒功能
  • 手势

2.3 iOS运行机制

作为一款流畅的系统,iOS在全球拥有亿万粉丝,那么到底是什么机制使得iOS系统可以丝滑流畅的呢?

最主要的原因是iOS特殊的内存管理机制。

Objective-C 作为在 C 语言基础上发展起来的面向对象语言,自身自然也没有内存管理机制。因此,作为 iOS 程序员的我们也需要小心翼翼地处理着内存问题。然而,这一切随着 ARC 的到来有很大的改观。

Objective-C中提供了两种内存管理机制:MRC(MannulReference Counting)和 ARC(Automatic Reference Counting),分别提供对内存的手动和自动管理,来满足不同的需求。现在苹果推荐使用 ARC 来进行内存管理。ARC是编译时的特性,而不是运行时特性,也不是垃圾回收机制。ARC是自动引用计数,是对MRC的改进。

由 iOS 和Xcode内置的编译器LLVM共同支持的 ARC(Automatic Reference Counting),如其名称所示实现了内存的自动管理。在ARC有效的状态下,用户无需再次键入retain或者release代码,这在降低程序奔溃、内存泄漏等风险的同时,很大程序上减少了开发程序的工作量。编译器能立刻释放那些不再被使用的对象。简单地说,其实质就是将内存管理的工作由程序员转交给编译器来完成,当然某些特性需要 runtime 的支持。

2.4 iOS隐私机制

乔布斯曾多次在公开场合说过:”iOS将用于个人移动设备,它足够安全和稳定,可使用户隐私得以保护。”iOS系统 有无数创新之处,但乔布斯为何特别强调用户隐私?

1、iOS系统设计了沙盒机制,每一个应用都只能访问自己的内存区域,如果一个应用想调用另一个应用运行中的数据——绝对不可能!(这也是为什么第三方输入法不能被安装的原因) 2、iOS系统只能安装来源于AppStore经过签名的应用程序,所有应用在App Store发布前,都需要经过机器+人工的安全监测,确保代码对用户的安全性。 3、iOS系统不开放任何可能降低系统安全性设置的权限,所有数据的存储和传输强制使用AES(Advanced Encryption Standard)硬件加密算法来保护,不允许用户及任何应用取消。

这种极端的安全要求,成为iOS系统最终获得市场认可,走向成功的重要原因。

也是为什么不建议越狱的原因,尽管越狱可能会带来“免费应用”“系统美化”“第三方输入法”等好处,但是越狱带来的负面后果却更为严重,如:

1. 损坏设备、导致设备待机时间缩短、变慢、卡顿、不稳定甚至无法开机,因为堆积系统垃圾导致的,如果不及时清理,就会失去手机性能的流畅性优势;

2. 数据隐私遭到破坏,越狱后的iOS设备,将失去一切隐私安全保护,这些信息将很容易被获取到,使用户变成“透明人”,这个最为致命,因此不建议大家越狱,而且随着安卓系统的影响力逐渐增加,越狱的用户也在逐渐减少了。

三、 开始你的第一个小项目

注册Apple开发者

对拥有Apple设备的用户来说,非常有必要拥有Apple ID,而且成为一个研发者,必须用到Apple ID,获取 Apple ID是免费的,也无需有资费方面的顾虑。

拥有Apple账户有以下好处:

  • 易于了解研发工具;
  • 全球研发者视频会议;
  • 受邀加入iOS研发者团队;

本次分享教程主要使用 Objective C语言开发 iPhone和iPad应用。因此,我们要先搭建一套开发环境。

第一步:搭建开发环境

iOS Xcode 安装

1、从 https://developer.apple.com/downloads/ 下载Xcode的最新版本。

2、双击Xcode dmg文件

3、将找到的设备安装和打开

4、在这里会有两个项目在显示的窗口中即Xcode应用程序和应用程序文件夹的快捷方式

5、将Xcode拖拽并复制到应用程序

6、在应用里选择和运行程序,Xcode也将成为运行程序中的一部分

还可以从Mac App store里下载Xcode,并按照屏幕上的安装指引next step即可。

参考文章:

1. 《深入理解 iOS 内存管理》,https://juejin.im/post/5ddbf5a551882572fa6a909b

2. 《iOS教程》,https://www.runoob.com/ios/ios-setup.htm