基于Android的文本语音朗读器的设计与实现
1 背景与发展现状
随着社会的发展,科技的进步,电子产品已经成为我们生活中不可或缺的一部分,我们对其的依赖越来越大。现在人们的生活节奏比较快,大多数时间都用在了工作或其他方面,休闲娱乐的时间很少,而且这些时间还比较零散,所以开发一款适合大家既能休闲娱乐,又能学习的软件是很有必要的。《文本语音朗读器》系统就是基于此目的开发出来的。该系统具有良好的人机交互界面,方便大家使用,而且该系统所包含的资源丰富,能够满足各类人群的需求。该系统包括音乐、新闻、故事、小说等供大家休闲娱乐的资源,还包括英语、小语种等供大家学习的资源。所以说改系统具有较高的实用性,发展前景广阔。
计算技术、无线接入技术的发展,使嵌入式系统逐渐有能力对桌面系统常规业务进行支持。谷歌长期以来奉行的移动发展战略:通过与全球各地的手机制造商和移动运营商结成合作伙伴,开发既有用又有吸引力的移动服务,并推广这些产品。Android 进一步推进了"随时随地为每个人提供信息"这一企业目标的实现。Open Handset Alliance 汇集了多家业界巨头。运营商如:China Mobile、NTT DoCoMo、Vodafone、T-Mobile等;设备制造商如ASUS、HTC、Huawei、LG、Motorola、Samsung、Sony Ericsson、Toshiba 等;芯片厂商如ARM、Broadcom、Intel、Marvell、NVIDIA、Qualcomm 等。软件厂商如Ascender、eBay、Esmertec、LivingImage等。Android 更像一款桌面环境为Java 的Linux 操作系统。有助于Google 实现其"随时随地为每个人提供信息"的企业战略。
随着移动嵌入式的飞速发展,智能手机的更新换代,Android以其特有的技术优势,占据了在智能手机操作系统的一定市场份额,并且逐渐被人们所认识和接受。但熟悉Android应用程序的软件开发者为数不多,因此Android应用程序的开发拥有广阔的前景。基于Android系统的语言朗读设计与实现,能够帮助我们理解Android应用程序的开发过程。包括Android系统架构、开发环境搭建、JNI编程、熟悉SDK文档以及开源语音库的了解。
2 相关概念
2.1 Android平台架构
Android平台整体自底向上由以下四个层次组成:Linux内核层、Android运行时库和其他库层、应用框架层、应用程序层。
1)Linux内核层:Android基于Linux 2.6提供核心系统服务,例如:安全、内存管理、进程管理、网络堆栈、驱动模型。Linux Kernel也作为硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务。
2)Android运行时库:Android包含一个核心库的集合,提供大部分在Java编程语言核心类库中可用的功能。每一个Android应用程序是Dalvik虚拟机中的实例,运行在他们自己的进程中。在一个设备可以高效地运行多个虚拟机。Dalvik虚拟机可执行文件格式是.dex,dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。
3)其他库层:Android包含一个C/C++库的集合,供Android系统的各个组件使用。例如,标准C库,基于PacketVideo的OpenCORE媒体库,基于OpenGL的3D库,关系数据库SQLite。
4)应用框架层:开发者可以完全使用核心应用程序所使用的框架API。应用程序的体系结构旨在简化组件的重用,任何应用程序都能发布他的功能且任何其他应用程序可以使用这些功能(需要服从框架执行的安全限制)。包括View、Content Provide、Notification Manager、Resource Manager、Activity Manager。
5)应用程序层:Android装配一个核心应用程序集合,包括电子邮件客户端、SMS程序、日历、地图、浏览器、联系人和其他设置。所有应用程序都是用Java编程语言写的。更加丰富的应用程序有待我们去开发。
2.2 Eclipse及ADT介绍
Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。 Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE)。既然是标准插件集,那就表示默认就按装了JDT和PDE,也就可以进行Java开发和Eclipse插件开发。
尽管 Eclipse 是使用Java 语言开发的,但它的用途并不限于 Java 语言,Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。Eclipse除了开发Java程序,在安装必要的插件后可以做为其他开发工具,如按装了C++插件后就可以开发C++应用程序。
ADT是Eclipse的插件,是针对Android系统开发的插件,在开发过程当中需要做一些配置,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。
Eclipse 是一个IDE(Integrated Developing Environment),而这个IDE是允许安装第三方开发的插件来使自身的功能得到扩展和增强的,而MyEclipse就是其中的一种有名的插件集之一,MyEclipse将开发者常用到的一些有用的插件都集合起来。
2.3 STT语音识别的引擎选择
在开源领域有几款的语音识别的引擎在英文领域识别的效果都是非常好的,例如Linux开源语音识别引擎simon、nuance之类,在英文识别中的效率是较好,国内讯飞自己研究的引擎也是不错的,但是大部分的识别引擎都对中文的识别存在问题,讯飞的是不开放的,所以课题本身就选择了google自带的识别引擎,对于中文的支持效果可以,唯一的缺点就是要联网,自学习的过程是在服务端完成,对网络有一定的要求。
3 无纸化考试系统的设计分析
3.1 需求分析
设计这款软件的目的就是为了方便大家,服务大家,让大家在有限的休息时间内休闲娱乐、学习,另外,该软件也是大家在等车、坐车等时候的一个必备良器。该软件为了满足各类人群的不同需求,在设计时比较注重分类。提供用户输入的区域,是的用户能输入文字;提供ReadFile功能,能读取系统内部开放权限的的TXT的文本内容;提供对用户输入的文字,或者是系统读出的TXT的文本进行朗读;提供用户输入的接口,用户可以输入语音;提供给语音合成返回的处理功能;可以打开app、浏览器、以后语音电话的功能。
3.2 开发案例
3.2.1 系统设计简介
本系统基于Android平台,使用Java语言编写。本系统利用XML页面布局工具,Eclipse集成开发平台,遵循Android架构完成整个系统的开发。同时用Style样式文件控制页面格式。
3.2.2 系统模块设计
软件首页:首页是用户首先观察一个软件的最主要的接口,应该美观大方,并且能清楚明白地链接到相应功能模块。因此,首页的排版简单明了,主体能显示具体详细的功能模块分类,这个样给用户的体验会提升。
语音朗读:用户输入文本框:提供用户输入朗读的内容,点击文本框,会自动弹出系统设定好的虚拟键盘,给用户的输入方便。
读取系统文件按钮:提供用户读取系统的文本内容,遍历读取系统的文件夹名称,然后进行读取相关权限的文件TXT,然后输出到TXT里面,这样才能给后续的朗读带来可续性。
语音朗读按钮:提供用户朗读识别用户输入和系统文件读出的TXT文本;
后退按钮:在用户操作过本功能后一定要给用户一个返回的余地,所以要设计一个返回的按钮,这样用户,能返回主界面,然后做些其他的功能选择。
3.3 创新点
现代社会人们的生活节奏越来越快,无论什么软件,只有具有良好的人机交互性以及人性化的设计才能受到大家的欢迎,因此这两点在软件的设计过程中越来越凸显其重要性。该系统可以根据人们平时浏览、收听节目的种类,为人们及时推荐一些可能感兴趣的节目,该系统还有一个精品听单版块,为人们整理一些当前比较受欢迎、比较好的节目,为大家提供了一定的方便。
3.4 发展趋势
随着移动嵌入式的飞速发展,智能手机的更新换代,Android以其特有的技术优势,占据了在智能手机操作系统的一定市场份额,并且逐渐被人们所认识和接受。但熟悉Android应用程序的软件开发者为数不多,因此Android应用程序的开发拥有广阔的前景。基于Android系统的语言朗读设计与实现,能够帮助我们理解Android应用程序的开发过程。包括Android系统架构、开发环境搭建、JNI编程、熟悉SDK文档以及开源语音库的了解。
4 结语
本文主要介绍了文本语音朗读器的总体结构设计以及几个主要版块的功能作用。文本语音朗读器是一款集休闲娱乐和学习为一体的软件,不仅适合大人使用还适合小孩使用,里面有专门的儿童版块,可以用来听故事等;由于该系统可以安装在安卓手机上,大家只要有时间、能联网随时随地都可以使用,因此使用起来很方便。该软件具有较高的实用性。当然,该系统还存在一定的不足,需要在使用的过程中,根据用户的需求去进行优化升级,以便更好的服务人们,让人们有更好的用户体验。
参考文献
[1]张一光, 卢志刚. 基于安卓系统的企业级移动应用平台设计与实现[J]. 信息系统工程, 2021(4):2.
[2]王垚, 邓逸钰. 人工智能时代的移动阅读:需求,内容及交互设计[J]. 现代出版, 2021(6):4.
[3]顾紫燕. 试论安卓系统的应用及发展方向[J]. 中国新通信, 2016(4):1.
[4]姜泽玮. 收听人工智能语音播报与阅读文本的短时记忆效果差异——以新华社客户端新闻为个案的实验法研究[J]. 中国记者, 2021.
[5]唐武生, 马世强, 李庆华. 手机阅读器中支持多种编码格式文本研究[C]// 0.
[6]陈锐军. 数字时代阅读新特点初探[J]. 编辑之友, 2010(8):4.
[7]高敬惠,姜子敬,胡金铭. 基于Speech SDK的语音应用程序实现[J]. 广西科学院学报,2005,21(3):169-172. DOI:10.3969/j.issn.1002-7378.2005.03.011.