基于语音技术的商务英语移动学习平台设计与实现
2015-04-02赵崇里李利正
赵崇里 李利正
摘 要:文章介绍了基于语音识别和语音合成技术的商务英语移动学习平台设计技术。阐述了平台开发的背景,提出了平台开发的技术路线、功能结构和关键技术,结合商务英语专业教师提供的教学资料,平台在本校商务英语专业中测试通过,为学生利用课外零碎时间学习商务英语提供了方便和有效的工具,丰富了学生的学习资源。
关键词:语音合成;语音识别;移动学习平台
随着全球化趋势的发展,英语作为一种交流工具扮演着越来越重要的角色。商务英语是以适应职场生活的语言要求为目的一种专业性语言,需要掌握的核心技能包括口语交流和函件阅读、撰写。对于如何提高商务英语的学习效果和应用能力,已经成为广大英语教育工作者和从事外贸工作的职员所关注的重要问题。移动学习作为一种新型学习方式,能够有效利用时空资源实现高效学习,正受到越来越多的关注。商务英语移动学习平台不失为是一种帮助学习者提高商务英语学习效率的有效手段。目前市场上基于计算机的英语智能学习软件很多,通过计算机辅助学习技术,系统的给出学习计划,生成单词发音、基于情境的对话,基于特征提取、模式匹配及时得到发音质量评分的智能化功能。然而受移动设备运算速度、存储空间和总线带宽等因素的限制,很难将此类软件移植到手机平台。因此,需要根据商务英语的特点,综合利用Android设备的优势和Google TTS和百度语音识别技术的开源应用等各种先进技术,对商务英语移动学习平台进行功能设计和软件开发。文章对基于TTS、百度语音识别的商务英语移动学习软件平台的设计进行了研究,意在为广大商务英语学习者、应用者提供一个不受时空限制的商务英语学习平台。
1 语音技术
语音合成和语音识别技术是实现人机语音通信,建立具有听和讲功能的口语系统所必需的两项关键技术[1]。
Text To Speech(简称TTS),从文本到语音所使用的关键技术就是语音合成技术,能将文字信息转变为可以听懂的、流利的语音输出技术。早期的TTS一般采用专业的芯片实现,在语音处理专家的努力下,目前已日益成熟,合成效果越来越接近于自然语境[2]。
语音识别(Speech Recognition),是通过计算机将人类语音信号转换为文本序列的过程。语音识别技术主要包括特征提取技术、模式匹配准则及模型训练技术三个方面[3],涉及信号处理、模式识别、概率论和信息论、发声机理、听觉机理、人工智能等领域,是一门非常复杂的交叉学科。
2 项目背景
利用随身携带的移动设备安装英语学习软件就可以抛弃厚重资料、利用碎片时间学习英语。英语的移动学习软件市场研究较早,应用也甚广。这些移动学习软件中,有些词汇量庞大,像我爱背单词、超级英语词典等;有些教材比较系统和完整,无论处在哪个英语学习阶段,都可以从新概念英语中找到相应的教材,并且功能丰富,帮助学习者很好地学习和记忆单词或是英语语法;有些通过英文原声电影寓教于乐形式轻松地记住一些日常单词和口语的用法。这些软件功能齐全,但是在商务英语教育、学习方面,缺少系统的编排。而现有的商务英文口语900句等软件又缺少中英文互译或者不支持发音功能。因此开发一个支持中英文互译、又具备发音功能的免费简易商务英语学习软件是非常有意义的。
3 移动学习平台功能分析及其设计
移动学习平台的设计应考虑到移动学习所具有的四个特性,即:学习便捷性、知识导航性、情境相关性、交互便捷性[4]。针对以上特性,总结现有英语学习软件的优点,本平台设计了商务情境,提供了商务情境下的学习内容。
3.1 技术路线
⑴平台采用C/S架构,客户端程序运行在Android移动设备上,服务器端程序运行在服务器上。
⑵客户端与服务器端交互采用Http协议进行数据通信,服务器端在收到客户端请求后,以XML文件格式发送数据到客户端。
⑶数据存储上采用本地数据和服务器数据两者结合,既能提高数据存储容量,又能加快软件运行速度。
3.2 应用系统搭建
基于TTS和百度语音识别技术,构建应用系统,如图1所示。
⑴自学模块:包括计划学习和随机学习两种模式。计划学习按系统编排进行商务单词学习、商务短句学习、情境对话学习、商务函件学习等。随机学习模式是根据学习者提交的知识范围系统随机抽取学习库中文件进行学习。学习者开始学习后,平台会在展示文本的同时根据学习者意愿播放语音,让学习者跟读。
⑵成绩测试模块:对自学模块的单词、短句、商务函件等模块知识进行测试,并给出相应得分,帮学习者查漏补缺。
⑶中英文互译:借助google translate和tts技术实现中英文互译、朗读。在学习者碰到生词、僻词可以进行中英文转译,并给出英文发音,让学习者在记住单词意思的同时,能正确发音。
4 关键技术
4.1 语音合成技术
TTS是Android从1.6版本开始支持的新功能,需要由TTS Engine的支持,系统默认的TTS引擎是Pico TTS,该引擎支持English、French、German、Italian和Spanish,但是不支持中文,因此本文引入第三方开源引擎eSpeak。
TTS提供了两个接口和两个类来实现语音合成功能,具体步骤如下:
⑴[5]通过新建Intent检查移动设备是否安装或缺少TTS语言数据,并根据返回结果进行处理,若检查成功创建一个TextToSpeech对象,若失败则需要下载TTS数据,关键代码如下:
Public void onCreate(){
…
Intent intent = new Intent();
intent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
startActivityForResult(checkIntent,REQ_TTS_STATUS_CHECK);
…
}
protected void onActivityResult(int requestCode,int resultCode,Intent data){
…
Case TextToSpeech.Engine.CHECK_VOICE_DATA_PASS:
mTts = new TextToSpeech(this,this);
…
}
⑵当TTS引擎检测到新生成TextToSpeech对象,就会调用OnInitListener接口中定义的回调函数onInit(),该函数里若检测到TTS引擎初始化成功,用TTS的setLanguage()方法设置语言,speak()方法进行文语转换。
4.2 语言识别技术
语音识别是以语音为研究对象,通过特征提取、模式识别技术让设备听懂人类发出的语言,并转换为文本的一种高技术。目前语音识别的方法主要有隐马尔科夫模型(HMM)、动态时间规整技术(DTW)、矢量量化(VQ)等[6],本文主要利用百度语音识别SDK提供的API接口实现人机口语交互。
百度语音识别API关键类是Voice Recognitiion Client,该类提供了speakFinish()、startVoiceRecognition()和stopVoiceRecognition()方法分别用来控制语音输入结束、语音识别开始和语音识别结束。首先在主程序中实例化该类,在接收语音输入前通过VoiceRecognitionConfig类设置识别类型,开启语义解析,设置识别开始提示音、识别结束提示音和采样率,并由VoiceRecognitionClient类的startVoiceRecognition方法发起语音识别,语音识别回调接口VoiceClientStatusChangeListener根据语音识别过程中不同的状态做出不同的反馈,当检测到VoiceRecognitionClient.CLIENT_STATUS_FINISH即语音识别完成,则通过UpdateRecognitionResult方法将识别内容显示,本文是通过Android自带的Google Translate进行中英文互译。
5 结语
文章结合如何设计一个基于语音识别和语音合成技术的移动商务英语学习平台,详细阐明了平台开发的解决方案及核心技术要点。该平台已经投入商务英语专业教师的教学活动当中,获得了师生们的好评,他们一致认为该平台为学生利用课外零碎时间学习提供了有力工具,丰富了学生的自主自我学习方式,也提高了教师教育教学的质量。
[参考文献]
[1]胡延峰,程涛.宽带增值服务——语音上网[J].有线电视技术,2004,165(21):58-60,33.
[2]邢敬宏,赵双萍,刘军.基于Web的TTS应用编程实现[J].甘肃科技,2007,23(3):78-80.
[3]张海峰,赵凯,陆倜.轻量级认证与授权研究综述[J].计算机工程,2003,29(1):168-170,198.
[4]高毅,崔向平.浅析移动学习的特征及应用模式[J].丝绸之路,2009,169(24):104-106.
[5]Lauren Darcey,Shane Conder.Android移动开发一本就够[M].北京:人民邮电出版社,2011.
[6]涂惠燕,陈一宁.基于语音识别和手机平台的英语口语发音学习系统[J].计算机应用与软件,2011,28(9):64-66,147.