基于Android平台语音播报器的设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于Android平台语音播报器的设计与实现摘要:本系统采用android平台开发技术,eclipse作为系统开发工具,对语音播报器中所涉及相关技术进行了介绍,并在此基础上提出了语音播报器中相应的解决策略。主要阐述了系统的语音朗读、语音短信、语音识别的功能。同时通过对语音播报器的需求分析,对系统各个功能模块进行了设计,并实现了相关技术和算法在系统中的应用。
关键词:android;eclipse;语音朗读
中图分类号:tp311.52 文献标识码:a 文章编号:1007-9599 (2013) 02-0000-02
近年来,随着我国嵌入式系统市场快速增长,嵌入式产品的应用无处不在,语音技术的加入让嵌入式产品能“听”会“说”,变得更加智能和方便。特别是嵌入式产品体积受限,“看”屏幕信息不方便,利用语音技术“听”信息和语音命令操作机器,将嵌入式产品的便携性和实用性完美的结合起来。目前应用在手机上的操作系统主要有palmos、symbian、windows mobile、android、iphoneos、黑莓七种。而随着中国手机、汽车和数码电子等市场的快速发展,嵌入式语音产品市场必将在最近几年呈现出爆发式增长。
1 开发背景
随着移动嵌入式的飞速发展,智能手机的更新换代,android以其特有的技术优势,占据了在智能手机操作系统的一定市场份额,
并且逐渐被人们所认识和接受。但熟悉android应用程序的软件开发者为数不多,因此android应用程序的开发拥有广阔的前景。
2 研究方向和实现
本课题基于android平台开发出一个手机语音朗读软件,能够流利的朗读英文。基于android系统的语言朗读设计与实现,能够帮助我们理解android应用程序的开发过程。包括android系统架构、开发环境搭建、jni编程、熟悉sdk文档以及开源语音库的了解。本设计主要参考当前主流的android的软件开发流程,系统界面设计使用xml页面布局工具,以style样式文件加图片动画配合,界面开发及程序编写在eclipse集成开发平台结合使用集成组件adt完成。
3 系统开发相关技术
本章将主要介绍了本次设计系统的相关技术,包括系统采用的结构、编程工具以及相关技术。
3.1 android平台架构
android平台整体自下而上由linux内核层、android运行时库和其他库层、应用框架层、应用程序层四个层次所组成。
linux内核层:android基于linux 2.6提供核心系统服务,例如:安全、内存管理、进程管理、网络堆栈、驱动模型。
android运行时库:android包含一个核心库的集合,提供大部分在java编程语言核心类库中可用的功能。
其他库层:android包含一个c/c++库的集合,供android系统的各个组件使用。
应用框架层:开发者可以完全使用核心应用程序所使用的框架api。
应用程序层:android装配一个核心应用程序集合,包括电子邮件客户端、sms程序、日历、地图、浏览器、联系人和其他设置。
3.2 eclipse介绍
eclipse是一个开放源代码的、基于java的开发平台。eclipse 配置了一套标准的插件,包括java开发工具(java development tools,jdt)。其中插件开发环境(plug-in development environment,pde)在eclipse中也有应用。尽管eclipse是使用java语言开发的,但是它还可以应用于java语言,成为其他应用程序类型与软件开发无关的基础。
3.3 第三方语音库tts选择
在android系统可以使用的语音库大致有3种,默认系统自带的是pico tts、svox、eye三种首先系统自带的不支持系统朗读中文,所以这个给系统的开发带来不便,eye和svox都是支持中文的,eye开源但是朗读的效果不是很好,对于有些断句和声调的处理比较弱,所以最终选择相对稳定的svox作为本设计的识别引擎。
3.4 stt语音识别的引擎选择
在开源领域有几款的语音识别的引擎在英文领域识别的效果都
是非常好的,例如linux开源语音识别引擎simon、nuance之类,在英文识别中的效率是较好,但是大部分的识别引擎都对中文的识别存在不足,所以课题本身就选择了google自带的识别引擎,增强对于中文的支持效果。
3.5 android样式主题
android的样式主题和css是极为相似的。都是用于为界面元素定义显示风格,它是一个包含一个或者多个view控件属性的集合。样式定义了html元素怎样去显示,一般存储在样式表中。利用外部样式表可以提高工作效率,而外部样式表则存储在style文件中。style用以作为网页的排版与风格设计,在所谓的新式系统布局里,style不容置疑是相当重要的一环。style是以既有的为基础,用以弥补现有android设计软件界面时的语法中的不足,也让软件开发更加灵活。
4 系统的设计和实现
弄清楚需求后,就要对软件进行概要设计和详细设计了。由于本设计不复杂,就不对这两个设计分别述说了。设计中要确定程序的结构、流程、各个模块内具体实现什么功能和模块间的关系。
4.1 概要设计
软件首页:首页是用户首先观察一个软件的最主要的接口,应该美观大方,并且能清楚明白地链接到相应功能模块。因此,首页的排版简单明了,主体能显示具体详细的功能模块分类,这样给用
户的体验会提升。
android语音播报器主要由3个部分组成,分别是语音朗读、语音短信和语音识别。
语音朗读:提供用户朗读识别用户输入和系统文件读出的txt 文本,并提供一个返回按钮,在用户操作过本功能后一定要给用户一个返回的余地。
语音短信:要给用户设计一个选择的权利,然后用户可以选择语音朗读短信,当然在用户不需要的时候可以选择关闭。也可以在语音朗读了短信内容之后,用户可以直接回复短信,不用在切换界面去回复,给用户带来方便。
语音识别:这个主要是识别的接口第一要确保数据于互联网的联通,第二服务端处理完的数据然后进行整理反馈到业务处理的类,然后进行打开相应的应用。
4.2 系统具体实现
本系统基于android平台,使用java语言编写。本系统利用xml 页面布局工具,eclipse集成开发平台,遵循android架构完成整个系统的开发。同时用style样式文件控制页面格式。
android平台提供了大量的ui的构建,可以将这些小的视觉块搭建在一起,呈现给用户复杂且有用的界面。在布局里面还可以套用其他的布局,这样就可以实现界面的多样化以及设计的灵活性。
relativelayout就是以相对的方式定位布局,允许子元素指定