基于Android的移动终端语音助手设计文献综述
2020-04-14 17:13:39
语音识别技术就是将人类的语音中的词汇内容转换为计算机可读的输入,实现人机之间的自然语言通信。
早在20世纪90年代,许多著名的大公司,如IBM、Apple和NTT,都在语音识别系统的实用化研究上投入了大量资金。在21世纪,对语音技术的研究又向前迈进了一步。苹果公司和Google分别在移动终端上发布了Siri和Voice Action,自此那时起,移动互联网上就掀起了语音识别应用的热潮。
1986年3月,中国的高科技发展计划(863计划)启动,语音识别作为智能计算机系统研究的一个重要组成部分而被专门列为研究课题。从那时起,中国的语音技术也得到了显著的提升,各大互联网公司的语音识别技术研究也像雨后春笋般发展起来。例如,中国最大的智能语音技术提供商科大讯飞,百度等公司在网络上提供跨平台的SDK、服务控制平台和其他基础技术系统,用于网络上的语音识别。开发人员可以轻松访问并直接向其开发应用程序添加快速有效的语音交互。
从算盘到计算机,几乎每一项发明的诞生,都是为了方便人们在日益复杂的现代生活中能够游刃有余。无法想象,如果在信息爆炸的今天,银行的工作人员仍然只能通过拨算盘来处理庞大的交易信息,或者快递公司只能用马运送全国各地的快递。在现代生活和工作中,人们越来越来需要便捷高效的计算机运用方式,而一个功能强大的语音助手就是一个很好的选择。如果将语音识别技术应用于手机移动终端,则能够极大解放用户的双手,使用户在日常生活和办公中获得更好的应用体验。小到一句话能够拨通一个电话,大到文档的制作、发送都可以通过语音助手完成,无论是办公的效率还是趣味性,都极大地提高了。
Android手机上实现语音识别的原理是:首先,将Android手机用户输入的语音信号送至云端,然后,借助于云端技术用户的语音输入可以被识别,最后,云端识别完毕后,将数据返回。
本次毕业设计主要是基于Android系统,利用科大讯飞的语音技术服务平台制作一款语音助手软件,旨在改变传统的人机交互方式,使人们能够以更直接,更方便的方式与手机对话,获得更好的人机交互体验,并改善用户体验。
2. 研究的基本内容与方案
{title}本次课题研究的主要内容是如何利用科大讯飞语音识别技术API来设计一款手机语音助手,实现对手机的基本控制,如拨打电话等。智能语音助手的设计是要改变传统人机交互的方式,使得安卓设备更加人性化。用户只需打开语音助手,即可通过人机对话的方式实现手机终端的全部功能。这不仅适应了工作人群快节奏的生活方式,而且方便了社会上的特殊人群,比如行动困难的老人、残疾人等。要进行安卓开发,首先要搭建安卓环境。可采用的方案有两种,一是利用eclipse ADT Android SDK搭建安卓开发环境,二是通过Android Studio搭建环境。综合考虑选第二种。由于科大讯飞采用了应用程序id认证的方式提供服务,所以需要先在官网上注册才能在后台接入。在后台接入语音识别引擎、语音合成引擎、语音听写引擎后,就能在平台上实现对输入语音的解析,最后将结果返回到手机客户端。下面着重描述如何在AS上实现语音识别。要实现语音识别,就要接入第三方应用科大讯飞。首先要在讯飞开放平台上下载语音听写SDK并将下载好的SDK中libs目录下的Msc.jar包引入到工程中,此外,因为Demo中会用到json的东西,所以还要去网上下一个Gson的jar包一并引进去。之后再main目录下新建一个jniLibs目录,将SDK中libs目录下的armeabi拷进去。接下来就是代码的实现了。首先在Manifest中添加一下权限:uses-permission android:name="android.permission.INTERNET"。获取手机录音机使用权限,听写、识别、语义理解需要用到此权限:uses-permission android:name="android.permission.RECORD_AUDIO"。用于读取网络信息状态:uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"。用于获取当前wifi状态:uses-permission android:name="android.permission.ACCESS_WIFI_STATE”。 允许程序改变网络连接状态: uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"。用于读取手机信息权限: uses-permission android:name="android.permission.READ_PHONE_STATE"。SD卡读写的权限: uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS";uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE";uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" 。然后进行java程序编写。至于UI界面的模块设计,主要实现三个方面:软件启动之后的欢迎界面、系统整体的基础布局结构和主界面。科大讯飞为我们提供了一套语音听写时的UI,即听写的时候会有一个动画效果,需要先将SDK资源包assets路径下的资源文件拷贝至Android工程目录下。除此以外,需要设计系统设置功能模块,主要设置的系统参数有语言设置、自动添加标点、语音模式、发音人、语速、语调、音量等。为了使系统内部功能正常并优化界面,需要进行系统Tool工具模块设计。在系统各项功能实现后,需要在真机或模拟器上进行调试运行。由于身边没有安卓机,因此选用Android Studio自带的AVD模拟器。