基于语音合成和语音识别的小学英语辅助学习系统的设计与实现.doc_第1页
基于语音合成和语音识别的小学英语辅助学习系统的设计与实现.doc_第2页
基于语音合成和语音识别的小学英语辅助学习系统的设计与实现.doc_第3页
基于语音合成和语音识别的小学英语辅助学习系统的设计与实现.doc_第4页
基于语音合成和语音识别的小学英语辅助学习系统的设计与实现.doc_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计说明书 学生姓名学生姓名学学 号号 学院学院 专专 业业 题题 目目 基于 TTS 和 SR 的小学英语辅助学习 系统的设计与实现 指导教师指导教师 (姓 名) (专业技术职称/学位) 2011年5月 淮阴师范学院毕业论文(设计) 1 摘摘 要:要:语音合成与语音识别技术是 2000 年至 2010 年间信息技术领域十大重要的科技 发展技术之一 ,语音合成与识别是一门交叉学科,语音技术正逐步成为信息技术中人机 接口的关键技术,语音合成技术与语音识别技术结合使人们能够甩掉键盘,通过语音命 令进行操作。语音技术的应用已经成为一个具有竞争性的新兴高技术产业。 如何利用当前的语音技术并投入到教学中使用显然是一个新颖的课题,本文研究了 多种不同语音技术,比较了其优缺点,给出了选择 MS SAPI 的原因。研究了 MS Agent 与 语音技术的结合,使用 MS Agent 辅助改善人机交互界面。研究了 ActionScript 技术以 及与 C#通信的具体实现方法。在以上技术研究和学习的基础上,实现了一个以语音作为 主要交流手段的小学英语辅助学习系统,实现了基于自然语言(英语)的人机对话和交 互,对自然用户界面(NUI)的设计进行了有益的探讨。 关键字:关键字:文语转换,语音识别,人机交互,MS Agent,英语辅助学习系统 淮阴师范学院毕业论文(设计) 2 ABSTRACT: Speech synthesis and recognition technology is one of the top ten information technology in 2000 to 2010.it is an important scientific development of technology. Speech synthesis and recognition is a cross-disciplinary. Speech technology information technology is gradually becoming a key man-machine interface technology. Speech synthesis and recognition can make people to get rid of the keyboard, through voice commands to operate computers. Speech technology has become a competitive high-tech emerging industries. How to use the current speech technology into the teaching and studying is clearly a new project, In this paper, we have make a research about a variety of speech technology, and compared their advantages and disadvantages,and given the reasons for the selection of MS SAPI. Of the MS Agent and speech technologies, use MS Agent to improve the human-machine interaction. Do a research of the ActionScript and C # communication technology,and given the specific implementation. In the above research and learning based on the realization of speech,implemented the primary school English assistant system base on the means of speech, implemented man-machine dialogue and interaction based on natural language (English).And do a useful research of natural user interface (NUI) design. Key words: text to speech, speech recognition, human-machine interaction, MS Agent, English assistant system 淮阴师范学院毕业论文(设计) 3 目目 录录 1 背景.4 1.1 语音合成与语音识别技术简介.4 1.2 几种语音合成与识别技术的比较.4 1.3 微软语音合成与识别技术简介.7 1.3.1 微软语音技术的发展.7 1.3.2 微软语音技术框架.9 2 一个小学英语辅助学习系统的设计.12 2.1 功能与构成.12 2.2 数据流图.12 2.3 数据库设计.13 2.4 程序开发环境.14 2.5 功能介绍与运行效果.15 2.5.1 初始化、登录及验证.15 2.5.2 课程选择.16 2.5.3 单词模块.17 2.5.4 课文模块.18 3 关键技术与代码.19 3.1 C#中实现语音合成与识别的步骤.19 3.2 语音识别模块代码.20 3.3 语音合成模块代码.23 3.4 C#与 ActionScript 通信.24 3.5 MS Agent.25 4 测试.26 4.1 系统测试结果.26 4.2 测试结果分析.27 5 结论.28 5.1 存在的问题与不足.28 5.2 未来的研究与展望.28 参考文献.30 致谢.31 淮阴师范学院毕业论文(设计) 4 1 背景背景 1.11.1 语音合成与语音识别技术简介语音合成与语音识别技术简介 语音合成,又称文语转换(Text to Speech)技术,能将任意文字信息实时转化为 标准流畅的语音朗读出来,相当于给机器装上了人工嘴巴。它涉及声学、语言学、数字 信号处理、计算机科学等多个学科技术,是中文信息处理领域的一项前沿技术,解决的 主要问题就是如何将文字信息转化为可听的声音信息,也即让机器像人一样开口说话。 我们所说的“让机器像人一样开口说话”与传统的声音回放设备(系统)有着本质的区 别。传统的声音回放设备(系统) ,如磁带录音机,是通过预先录制声音然后回放来实现 “让机器说话”的。这种方式无论是在内容、存储、传输或者方便性、及时性等方面都 存在很大的限制。而通过计算机语音合成则可以在任何时候将任意文本转换成具有高自 然度的语音,从而真正实现让机器“像人一样开口说话” 。 语音识别,与用语音合成相反,是指语音到文本的转换,即让计算机能够把人发出 来的有意义的话音变成书面语言。通俗的说,就是让计算机听懂人说的话。所谓听懂, 有两层意思,一是把用户所说的的话逐词逐句的转换成文本;二是指正确理解语音种所 包含的要求,做出正确的应答。随着语音识别技术的逐渐成熟,语音识别技术开始得到 广泛的应用,实际日常生活的各个方面如电信、金融、新闻、公共事业等各个行业,通 过语音识别技术,可以极大的简化这些领域的业务流程以及操作,提高系统的应用效率。 20 世纪 90 年代开始,许多著名的大公司如 IBM、苹果、ATT 和 Microsoft 都对语 音合成和语音识别系统的实用化研究投以巨资。语音技术有一个很好的评估机制,那就 是识别的准确率和发声的自然性。而这些指标在 20 世纪 90 年代中后期实验室研究中得 到了不断的提高。2008 年,谷歌公司推出的 Android 系统就带有语音识别引擎,代表着 语音识别技术开始开始步入移动领域,2011 年科大讯飞公司推出的讯飞手机语音输入法 就是代表。 1.21.2 几种语音合成与识别技术的比较几种语音合成与识别技术的比较 语音合成方面,主要有微软的的语音引擎、美国 NeoSpeech 公司的产品和中国科大 讯飞公司的语音引擎,最具代表性的就是微软 Windows 操作系统自带的 TTS 语音合成引 擎,在微软发售的 Windows XP、Windows Vista 以及 Windows7 中集成了该功能。他们符 合微软推出的语音开发接口 SAPI5,程序员能够方便的使用它来开发基于 Windows 操作系 统的语音合成程序。但是微软的 TTS 引擎在发音方面不够自然,特别是基于中文的发生, 淮阴师范学院毕业论文(设计) 5 且对中英文混合发生支持不够。 与微软的语音引擎相比,NeoSpeech 公司推出的语音合成系统更贴近人的自然语音4。 Neospeech 的合成语音是当前最好的合成语音,几可乱真。这个当前发声效果最好的非常 自然的文字语音转换引擎,比其它任何引擎都清楚。同时,NeoSpeech 符合 SAPI5 标准, 程序员可以直接使用,目前 NeoSpeech 有多个系列多种口音的中英文产品。 中国科大讯飞是国家 863 计划中唯一以语音技术为主要产业化方向的高科技企业。 其基于语料库的波形拼接合成技术即从录制的大规模自然语流数据库中按照合适的声学、 语音学算法提取合适的单元合成出连续的语流。在合成系统的实现过程中,充分运用语 言学、语音学、统计分析、人工智能、数字信号处理等的先进技术,一切从人类语音自 然的角度出发,使合成的语音自然度超过普通人说话的水平。现已被国内外专家公认为 具有世界最高水平的汉语语音合成技术。目前科大讯飞公司推出了两款语音合成产品, 一是 InterPhonic,二是 ViviVoice,两个对应的最新版本分别是 6.0 与 2.1,。两者区别 在于 InterPhonic 更注重商务应用,而 ViviVoice 则偏向娱乐性质较多。但是科大讯飞 公司并不提供相关语音库的下载,所以只能联网使用6。 图 1-1 科大讯飞产品在线演示 语音识别方面,较早的有 IBM 的 ViaVoice 和 Nuance 公司的 Naturally Speaking, 以及 Nuance Voice Platform 语音互联网平台。后来有微软推出的嵌入 Windows 系列操 作系统的语音识别引擎,近年来则有谷歌公司推出的基于 Android 系统的 Google Voice Recognition 与科大讯飞公司的科大语音云。 ViaVoice 是 IBM 公司开发的高性能的语音识别系统7。它由语音板、口音适应程序、 IBM ViaVoice 属性、麦克风设置向导程序、词汇管理器及联机参考手册等 6 个部分组成。 ViaVoice 的基本用法虽然不是太难,但是在安装之后还不能立即使用,因为这时计算机 还不“认识”你,只有在通过口音适应程序建立针对你个人口音特点的模型后,才能有 效地使用。 IBM ViaVoice 在标称功能上有以下几个主要特点:连续语音识别、具有强大 淮阴师范学院毕业论文(设计) 6 的学习功能、每分钟平均 150 个字、输入最高识别率达 95,平均识别率达 85。在简 化语音应用程序的开发工作的过程中,IBM 公司又推出了一个简单易用的开发套件 IBM ViaVoice SDK Lite,为开发者提供了方便灵活的语音 ActiveX 控件,包括 VVEngine、VVCommands 和 VVDictation。开发者可以直接在自己编写的应用程序调用这 些控件,快速定义语音内核属性,灵活增加自用的语音命令,在自定义的文字处理环境 中完成语音听写识别。使用这一套件不仅能够迅速编写新的语音应用软件,也可以为现 有的应用软件添加语音功能。当使用语音 ActiveX 控件开发的应用程序运行时,在系统 中需要安装带有运行函数库的 ViaVoice Runtime 软件,或者 ViaVoice 标准版软件。IBM 公司语音软件开发工具 SDK Lite 适用于支 持 ActiveX 控件的编程语言,包括 Virtual C+ 5.0, Virtual Basic 5.0 和 Delphi 4.0 等语言。但是由于官方 IBM 长久没有更新, 资料非常少,支持的编程环境少而又老旧,同时 IBM 公司已经关闭了关于开发包 SDK 的 下载,所以并不适合用其开发相关的语音系统。 图 1-2 IBM ViaVoice 运行界面 Dragon Naturally Speaking 是 Nuance 公司推出的语音识别软件8,与 IBM ViaVoice 一样,Dragon Naturally Speaking 也可用来操作操作系统,同时兼带语音文 字输入的功能。Dragon NaturallySpeaking 10 官方所述的识别率达到 99%,同时他与目 前的 Windows 操作系统(Windows XP,Windows Vista,Windows 7)能够很好的兼容和 同步,包括办公自动化套件 Office 软件和 IE 浏览器,单是识别率而言,Dragon 淮阴师范学院毕业论文(设计) 7 Naturally Speaking 是目前世界上最先进的电脑语音识别软件。虽然它带有中文的显示 输出,但它并不支持中文的语音输入。同时 Nuance 公司并没有公布相关的开发接口和文 档,因此无法用其做相关的开发。 Google Voice Recognition 是基于 Android 系统的语音识别系统10,与 PC 平台的 语音识别软件相比,Google Voice Recognition 更专注于短语命令的识别,同时语音识 别的核心模块并没有在系统本身,而是存放在语音服务器上,因此要求能与语音服务器 进行通信才能进行相关的识别。与 Google Voice Recognition 相似的则是科大讯飞公司 的科大语音云(iFLY Speech App Engine) ,同样是通过发送 HTTP 请求至语音服务器进 行识别,但是 iFLY Speech App Engine 支持的平台相对较多,除了移动设备的 iPhone、Android 和 Symbian 平台以外,同时也支持 PC 平台 Windows 操作系统,也有相 关的开发接口 SDK。iFLY Speech App Engine 在识别率上也是很令人满意,特别是对中 文语音输入的识别,科大讯飞公司已经开发并提供了相关的 ActiveX 控件,开发者只需 调用相关接口就可以开发一个在线的语音识别与合成系统。 图 1-3 科大语音云的短讯识别 ActiveX 使用科大讯飞语音云时,用户不需要安装任何的软件或环境,直接通过网络环境进 行识别与合成,开发者也仅需下载相关 COM 组件,在程序中调用。当然,由于基于互联 网的环境,其识别率则是固定的,即无法通过相关的辅助程序,如语音训练来提高其识 别率。iFLY Speech App Engine 更适合应用于移动设备平台或者基于 B/S 技术的系统。 微软从 Windows XP 开始便加入了语音支持,同时推出了开发接口规范 SAPI,Windows XP,Windows Vista,Windows 7 对应的版本分别是 SAPI5.1,SAPI5.3 淮阴师范学院毕业论文(设计) 8 和 SAPI5.41。Speech SDK 则是是微软提供的软件开发包,其中包含了语音识别和合成 引擎相关组件、帮助文档和例程,它是个语音识别和合成的二次开发平台。我们可以 利用这个平台,在自己开发的软件里嵌入语音识别和合成功能,从而使用户可以用声音 来代替鼠标和键盘完成部分操作,例如:文字输入、菜单控制等,实现真正的“人机对 话” 。从 Windows Vista 开始,微软把语音识别引擎嵌入到系统的 Windows SDK 中,程序 员可以直接利用开发工具调用相关的系统接口进行开发。微软推出的应用编程接口 SAPI,虽然现在不是业界标准,但是应用比较广泛,想相关的资料也很多。与前面的几 种语音平台相比,微软的语音识别引擎显然更适合用于开发。 图 1-4 Windows 7 内置语音识别 微软语音识别技术相对于其他的语音识别有以下优势: (1)资源方便,在微软发售的 Windows 操作系统中就包含相关的 SDK。 (2)有相关的技术规范 SAPI,程序员使用方便。 (3)官方资料丰富,官方技术支持较多,如 MSDN。 (4)平台拓展性较高,支持 COM 技术。 (5)识别语言较多,同时识别效率可以通过相关训练进行提高。 1.31.3 微软语音合成与识别技术简介微软语音合成与识别技术简介 1.3.1 微软语音技术的发展微软语音技术的发展 微软自 1993 年就已将语音技术作为自然用户界面的一部分了。当年,微软研究院就 成立了语音研究组。 在 1999 年,微软完成了它的首个语音相关收购 语音工具包厂商 Entropic。2007 年,微软花 10 亿美元买下了语音识别公司 TellMe。但直到一年多前, 淮阴师范学院毕业论文(设计) 9 微软才合并其旗下所有的语音产品和技术为微软语音部门,他们的使命是“让软件与服 务因语音界面而更自然、更易于使用” 。 微软并没有把语音技术视为独立的产品,第一是嵌入其发行的操作系统中,作为系 统的 SDK,从 Windows Vista 开始,微软的操作系统就自动包含了 Speech SDK,并且加 入了语音识别工具,用户可以直接使用语音来操作计算机。第二则是把语音技术与云计 算相融合,推出网络语音平台,这也是现在语音技术发展的趋势。第三是将其作为微软 自然用户界面战略的一部分,整合与其他产品或服务。在接下来一年里,微软将主要向 市场推出以下 4 类整合了微软各种语音技术的新产品: (1)车内娱乐系统就如在 CES10 上宣布的 Kia UVO 系统,首辆搭载 UVO 的车将在今 夏发布。 (2)Windows Phone 7 设备已深度整合 TellMe 语音识别技术 ( (3)Kinect for Xbox已整合语音识别功能,允许用户通过语音与 Xbox 360 交互, 具体可见微软官方网站。 (.4)企业生产力产品目前有超过 1 亿 Exchange 用户可以用上语音邮件、语音翻 译和其他基于语音技术的产品(Exchange Online 也将支持这些) 。同时,微软 TellMe 产品每年利用 TellMe 云计算后端平台处理 25 亿次通话。 微软语言部门首席语音科学家 Larry Heck 称,长期来说,微软正试图解决的正是这 个问题:“我们何时才能部署达到理解人类对话级别的系统?”他回答了三点解决该问 题的驱动力。 数据及相关机器自学习机制 云计算平台,如 Azure 和 TellMe 网络后端平台 搜索 Heck 介绍说:“自然用户界面能帮助用户实现任何地点访问数据的可能,但目前的 入口对改进计算机或设备理解人类自然对话,并没有太大的帮助。在搜索引擎中,用户 习惯于输入独立的关键词,而不是自然陈述的语句,但显然手机上的语音搜索更近似人 类的对话。 ” 1.3.2 微软语音技术框架微软语音技术框架 目前微软的语音技术体现在四个方面,即语音云(Microsoft TellMe Cloud Platform)、语音服务器(Microsoft Speech Platform for Servers)、桌面(Desktop)和 智能手机平台(Windows Phone Platform)。 淮阴师范学院毕业论文(设计) 10 2007 年微软公司收购了 TellMe,TellMe 技术成为微软语音技术的一部分,TellMe 服务使企业在无需安装自己的服务器的情况下就能够运行基于 IP 的电话系统。TellMe 在 自己的数据中心处理呼叫,并收取费用,其技术符合 VXML 标准。微软也提供相类似的产 品 Speech Server,但以微软传统的方式销售:企业购买软件许可,并在自己的服务器上 运行软件,即语音服务器。智能手机平台的语音技术主要应用在微软自主研发的下一代 手机操作系统 Windows Phone 7,主要技术仍然是使用 TellMe 技术实现语音到文字的转 换。 桌面语音技术是微软最早推出的语音技术,并且对外公布了开发包 SDK,同时提供了 语音发开规范 SAPI,现在这个语音规范已经成为使用最广的语音开发规范。图 1-3 就是 微软语音识别的工作流程,其实真正的模拟信号-数字信号-语音-文字的转化,也就 是语音识别引擎,这也是微软语音技术的关键部分,根据微软提供的平台和接口,可以 对整个工作流程有相对深入的了解。 图 1-3 语音识别步骤图 关于微软语音识别引擎的输出,语音识别引擎处理数据之后,最先输出的格式为 Semantic Markup Language(SML,语义标记语言,基于 XML)。程序员要做的,就是定义 一个语法文件(grammar rule),来筛选 SML 中的数据。 下面则是 TTS 的工作步骤图: 图 1-4 语音合成步骤图 这个相对于前面的语音识别,则是一个反操作,术语叫做 Speech Synthesis。 淮阴师范学院毕业论文(设计) 11 微软语音技术最核心的部分是语音编程接口(SAPI),SAPI 是微软推出的语音开发规 范,目前已经被应用到很多的语音产品中。SAPI 中包括对于低层控制和高度适应性的直 接语音管理,训练向导,事件,语法,编译,资源,语音识别管理以及文本到语音管理, 其结构如图所示。 图 1-5 SAPI 框架图 图 1-5 中,语音框架主要靠 SAPI 运行来实现应用程序与语音引擎之间的协作,而 SAPI 提供各种接口实现不同的语音功能,SAPI 使得应用程序和语音引擎之间高度紧密的 结合,实时处理各种语音引擎在底层工作中的细节。本系统会同时使用到 SPEECH SDK 的 语音识别引擎和 TTS 合成引擎因此,对这两个引擎的相关控制命令介绍如下。 (1)识别上下文(IspRecoContext)接口:是主要的语音识别程序接口,主要用于发送 和接收与语音识别相关的消息通知,创建语法规则对象。 (2)语音识别引擎(IspRecognizer)接口:用于创建语音识别引擎的实例。SAPI 拥有 两种不同的语音识别引擎类型,一个是共享的语音识别引擎 (SharedRecognizer)。由于 它可以与其他语音识别应用程序共享其程序资源,所以在大多数场合中被推荐使用。需 要建立一个采用共享语音识别引擎的识别环境(IspRecoContext)。一个是独占 (1nProcRecognizer)的引擎,它只能由创建的应用程序使用。此两种模式的主要区别, 主要在于识别过程中使用的匹配字典不同。前者使用的是通用字典,特点是内容多,覆 盖的词汇量大,字典由 sdk 提供。适用于没有预定目标的随机听写之类的应用。同时因 为词汇量大直接导致识别的精度降低,识别速度较慢。后者的字典需要开发者自己编写, 可以写入 xml 文件中。xml 文件作为一种数据存储的方式,有一定的格式,定义了 sdk 需 要确定的一些标签和用以匹配的词汇。这种方式由开发者定义词汇的数量,大大降低匹 配过程中需要检索的词汇量,提高了识别速度。同时因为侯选项极少,所以一般不会识 别错误。其缺点也是明显的:词汇量小,只有预先输入字典的词汇可以被识别出来,所 以一般用来作为常用命令的识别,方便用户操作,代替菜单命令等。 淮阴师范学院毕业论文(设计) 12 (3)语法规则(IspRecoGrammar)接口:语音识别语法接 ISpRecoGrammar 用于载入、 激活、钝化识别语法。语法中定义了用户期望引擎识别的单词、短语和句子。语音识别 引擎的工作模式分为听写模式和命令控制模式,语音识别语法对应地分为听写语法和命 令控制语法。听写语法工作于听写模式,用于连续语音识别,用户一般无需对听写语法 进行额外的修改;命令控制语法工作于命令控制模式,用于识别用户在语法文件中定义 的短语或句子,以 XML 文件的形式保存。 (4)识别结果(IspRecoResult)接口:用于有关识别引擎对输入语言的推测和识别从 而提取相关结果,包括识别的文字,识别的语法规则等。 (5)语音合成(ISpVoice)接口:主要功能是实现文本到语音的转换。它的作用如使用 IspVoice:Speak 来从文本数据生成语音,从而使电脑会说话。当处于异步工作时,可 以使用 IspVoiee:CetStatus 来获得发音状态及文本位置等。在接口中,有许多成员 函数,通过这些成员函数可以实现对发音频率、发音音量等合成属性进行调整。在 C#中, 我们通过实现 ISpVoice 接口的 SpVoice 类来实现语音合成。 在 Windows Vista 和 Windows 7 系统中,语音识别和语音合成在.NET framework 中 对应的命名空间分别是 System.Speech.Recognition 和 System.Speech.Synthesis(要求. NET framework 版本 3.0 及以上)。其中包含了语音操作的相关类2,其介绍如下: SpeechRecognitionEngine 类:即语音识别引擎类,创建语音识别的基础类,每次创 建都将产生一个新的语音识别线程,而且相互独立。实例化的前提是要求系统中安装了 至少一种语音识别引擎。启动这个识别引擎需要调用 SpeechRecognitionEngine 对象的 RecognizeAsync 方法,这个方法带有一个参数,RecognizeMode.Multiple 或者 RecognizeMode.Single。两者区别在于前者可以识别多次,而后者完成一次识别之后就 会停止语音识别引擎。 SpeechRecognizer 类:即语音识别器类,与 SpeechRecognitionEngine 同样能创建 语音识别线程,但是不同之处在于 SpeechRecognizer 不需要进行相关配置,其使用的识 别引擎就是当前系统正在使用的识别引擎,所以当禁用和改变计算机语言时会导致 SpeechRecognizer 异常。 Grammar 类:即语法类,提供并对语音中需要的语法进行管理,语法通常是一系列关 键词,实例化 Grammar 可以通过 grammarBuilder 对象实现。Grammar 对象完全支持 W3C 语音识别语法规范(SRGS)和上下文无关文法(CFG)规格。通常语法内容可以是单词、 短语也包括句子。 淮阴师范学院毕业论文(设计) 13 GrammarBuilder 类:语法构建类,用于构造 Grammar 对象,通常在 GrammarBuilder 对象中添加 Choices 对象来完成 GrammarBuilder 的实例化。 RecognizerInfo 类:识别器信息类,他的实例用于构建一个 SpeechRecognitionEngine 实例,创建一个 RecognizerInfo 实例通常需要一个 CultureInfo 对象和一个语言 ID,要求上述两个信息一致才能正确实例化。同时通过访 问 SpeechRecognitionEngine 对象的 InstalledRecognizers 方法来获取一系列的 RecognizerInfo 信息。 SpeechSynthesizer 类:语音合成类,通常使用其 SpeakAsync 方法来完成语音合成。 2 一个小学英语辅助学习系统的设计一个小学英语辅助学习系统的设计 2.12.1 功能与构成功能与构成 经过系统分析,本系统涉及的模块和功能有: (1)语音识别核心模块; (2)语音合成核心模块; (3)人机动画互动模块(MS Agent) (4)语音登录及验证(手动输入亦可); (5)语音课程选择(手动选择亦可); (6)单词学习(识别矫正); (7)课文学习(识别矫正); (8)娱乐功能和课外知识; 2.22.2 数据流图数据流图 本系统整个流程如图 2-1: 淮阴师范学院毕业论文(设计) 14 步骤一.语音 登录或注册 步骤二.用户 验证 步骤三.功能 选择 步骤四.课 程选择 步骤五.学习 内容选择 朗读 login 或 register 朗读已存在 的用户名 朗读 study 或 go 或 play朗读课程名 1.单词 2.课文 3.课外 图 2-1 系统运行流程 2.32.3 数据库设计数据库设计 数据库中只是存放的是用户信息和学习的内容,因此相对简单,建立有 3 张表,分 别是用户表(systemuser),单词表(words),课文句子表(sentences)详细见表: 表 2-1 systemuser 表 列名数据类型长度约束说明 IDint主键,非空自动增长 usernamevarchar50非空用户名 passwordvarchar50非空密码 gradevarchar50非空年级信息 lastmodulevarchar50最近学习记录 agentvarchar50MSAgent 形象 表 2-2 words 表 列名数据类型长度约束说明 IDint主键,非空自动增长 wordvarchar50非空单词 chinesevarchar50汉语解释 modulevarchar50所属单元 表 2-3 sentences 表 列名数据类型长度约束说明 IDint主键,非空自动增长 sentencevarchar200非空英语句子 淮阴师范学院毕业论文(设计) 15 chinesevarchar200汉语解释 modulevarchar50所属单元 Pint场景索引 sortint句子索引 2.42.4 程序开发及运行环境程序开发及运行环境 (1)硬件环境: 表 2-4 硬件环境 CPU(处理器)酷睿 E5300(2.6GHz) RAM(内存)2G 硬盘空间500G (2)软件环境: 表 2-5 软件环境 采用语言C# 系统平台Windows7 旗舰版 后台数据库SQLServer2005 开发工具 1Visual Studio 2008 开发工具 2Adobe Flash CS4 (3)运行环境: 表 2-7 运行环境 系统平台Windows7 旗舰版(英语) 平台要求安装.NET FrameWork 3.5 及以上 要求软件 1SQLServer2005 要求软件 2Adobe Flash Player 10.1 淮阴师范学院毕业论文(设计) 16 2.5 功能介绍与运行效果功能介绍与运行效果 2.5.1 初始化、登录及验证初始化、登录及验证 图 2-2 系统初始化界面 系统开始界面,此时可以朗读 login、register 或者 byebye,分别对应的操作是登 录、注册和关闭。 图 2-3 登录与注册界面 在登录窗口,可以直接语音输入相关用户名,如果存在该用户,则会自动输入密码, 然后朗读 login 或者 OK,即登录成功。 淮阴师范学院毕业论文(设计) 17 图 2-4 登录成功界面 2.5.2 课程选择课程选择 图 2-5 学习提示 点击开始学习以后,系统自动检测上次学习记录,并弹出提示,如果没有学习记录, 则要进行课程选择,点击相关课程以后会出现学习内容选择,如图 2-6。课程选择只需对 计算机朗读课程名称,如 module1。 淮阴师范学院毕业论文(设计) 18 图 2-6 课程选择 2.5.3 单词模块单词模块 进入单词测试界面,可以启用识别,朗读正确的单词则会变成蓝色。鼠标经过单词 时,则会在左上角显示其汉语解释。如图 2-7。 淮阴师范学院毕业论文(设计) 19 图 2-7 单词测试界面 2.5.4 课文模块课文模块 图 2-8 课文学习界面 图 2-8 是课文学习界面,左边是 flash 教学动画,右面是该场景的课文,通过点击 flash 里面的按钮,可以更换场景,同时右面的句子列表也会相应改变。启用识别以后, 朗读正确的句子会变为绿色。 3 3 关键技术与代码关键技术与代码 3.13.1 C#C#中实现语音合成与识别的步骤中实现语音合成与识别的步骤 在 Windows Vista 和 Windows 7 操作系统中,开发者可以在 Visual Studio 中直接 调用系统命名空间来完成上述工作,即引入 System.Speech、 System.Speech.Synthesis 和 System.Speech.Recognition 三个命名空间便可直接调用和实例化一个语言引擎,下 面将详细介绍如何使用这种方法来完成一个语音识别和语音合成线程。 (1)创建识别引擎和语法规则: public SpeechRecognitionEngine recognizer = null; public DictationGrammar dictationGrammar = null; (2)使用构造函数实例化语音识别引擎: recognizer = new SpeechRecognitionEngine(config); 淮阴师范学院毕业论文(设计) 20 其中 config 是 RecognizerInfo 的实例,为计算机已安装的某一种语言识别引擎信 息,如美国英语的 Id 是 MS-1033-80-DESK。 (3)设置识别引擎输入源: recognizer.SetInputToDefaultAudioDevice(); (4)依据关键字词组建立并加载语法规则,其中 fg 为 string 类型的数组: Grammar customGrammar = CreateCustomGrammar(fg); recognizer.UnloadAllGrammars(); recognizer.LoadGrammar(customGrammar); (5)建立事件委托: recognizer.SpeechRecognized += new EventHandler (recognizer_SpeechRecognized); recognizer.SpeechHypothesized += new EventHandler (recognizer_SpeechHypothesized); (6)开始与停止语音识别: recognizer.RecognizeAsync(RecognizeMode.Multiple); recognizer.RecognizeAsyncStop(); 相对于实现语音识别,语音合成则要简单的多,只需在实例化朗读器以后选择相信 的 TTS 引擎,即可朗读,如下: SpeechSynthesizer synth= new SpeechSynthesizer(); synth.SelectVoice(Microsoft Lili); synth.SpeakAsync(str); str 是要朗读的内容,为 string 类型。 3.23.2 语音识别模块代码语音识别模块代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Speech; using System.Speech.Recognition; using System.Globalization; using System.Windows.Forms; namespace StudyBeta 淮阴师范学院毕业论文(设计) 21 public class SRecognition public SpeechRecognitionEngine recognizer = null;/语音识别引擎 public Dict

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论