毕业设计(论文)-基于微软speech_SDK的中英混合文本朗读器.doc_第1页
毕业设计(论文)-基于微软speech_SDK的中英混合文本朗读器.doc_第2页
毕业设计(论文)-基于微软speech_SDK的中英混合文本朗读器.doc_第3页
毕业设计(论文)-基于微软speech_SDK的中英混合文本朗读器.doc_第4页
毕业设计(论文)-基于微软speech_SDK的中英混合文本朗读器.doc_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

苏州大学本科生毕业设计(论文)基于微软speech SDK的中英混合文本朗读器摘要Microsoft speech SDK 是微软提供的软件开发包,其中包含了语音识别和合成引擎相关组件、帮助文档和例程,它是个语音识别和合成的二次开发平台。我们可以利用这个平台,在自己开发的软件里嵌入语音识别和合成功能,从而使用户可以用声音来代替鼠标和键盘完成部分操作,实现真正的“人机对话”。本文先从本课题研究的背景开始介绍,紧接着讲解了speech SDK和文语转换(TTS)的一些基本概念,然后重点介绍了如何设计中英混合文本朗读器,以及功能的实现。最后对此次文本朗读器的设计进行了总结。关键词:speech DSK,文语转换(TTS),中英混合文本朗读器AbstractMicrosoft speech SDK is software development kit provided by Microsoft, which includes speech recognition and synthesis engine related components, to help document and routines, it is a speech recognition and synthesis of secondary development platform. We can use this platform to develop their own software in embedded speech recognition and synthesis, so that users can use voice to replace the mouse and keyboard to complete part of the operation, to achieve real man-machine dialogue. This paper begins with background to the study of this subject , followed by some basic concepts to explain the speech SDK, text to speech (TTS), and then focuses on how to design a Chinese and English mixed text to speech, as well as functions to achieve. Finally, summarize the design of the text to speech. Key words: speech SDK, text to speech(TTS),Chinese and English mixed text to speech目录第1章 绪论41.1 研究背景41.2 章节安排5第2章 基本概念介绍62.1 Speech SDK简介62.1.1 语音识别引擎接口62.1.2 语音合成引擎接口72.2 Speech SDK 5.1的工作原理72.3 文语转换(TTS)简介9第3章 中英混合文本朗读器的实现113.1 软件设计113.1.1 需求分析113.1.2 系统功能描述113.2 软件设计流程113.2.1 设计流程图113.2.2 语言开发平台配置123.2.3 导入对象到.NET中133.2.4 SAPI SDK的导入143.2.4 SpVoice类153.3 功能实现163.3.1 添加控件163.3.2 智能朗读功能的实现163.3.3 代码的编写18第4章 中英混合文本朗读器的功能介绍204.1 朗读器整体界面介绍204.2 按键功能演示21第5章 总结24致谢25参考文献26附件27第1章 绪论1.1 研究背景文语转换是复杂的语音处理技术,是涉及语音学、语言学、数字信号处理和计算机科学等领域的多学科综合性技术。文语转换技术把可视的文本信息转换为可闻的声音信息,其应用范围非常之广,如文本的有声校对,残疾人的辅助发音,报纸的机器阅读,机器翻译等等。因此,文语转换技术,作为一项理论性和实用性都很强的技术,倍受重视,在近十几年内得到了迅速发展,目前已接近达到了实用化的水平,并在市场上获得成功。TTS技术和理论在不停地发展,其核心是如何提高合成语音的清晰度和自然度,以及文本处理的智能特性。另一方面, TTS技术的应用也在不断深化,从计算机终端应用,如编辑文本的校对,发展到通信网环境。众所周知,通信网是不同媒体信息存储、交换、传输的载体和工具,由于网络的覆盖面非常广阔,所以,借助于TTS技术,把文本信息转化为语音信号,在电信网传播,使用户利用电话终端就可以听取文本所携带的信息,对通信业务经营者和广大用户而言,都是很必要的。例如,传统的160,168等信息服务业务都是用人的录音或业务员来应答用户的信息查询,信息的维护不方便,影响服务质量。传统的电子信函(E-mail)业务,都是利用计算机终端来接收的。如果能够利用更普及的电话终端来“听一听”(而不局限在利用计算机的屏幕来“看一看”)发信人说的是什么,该是多么地生动和方便!另外,对于数据库存取业务而言,如邮电、银行、税务的智能网业务标准里甚至把TTS技术和ASR技术(自动语音识别)列为标准。在通信网环境里,TTS技术不但对技术开发商很重要,对业务运营方也同样如此。传统的计算机语音集成应用系统,消息的组织和维护都是由人来完成的,工作繁琐,维护不便,占用存储资源多(以语音的ADPCM编码为例,一秒的语音需4K字节的存储,而以人说话速度为5字/秒来计算,采用TTS技术只需10个字节)。正因为这些原因,众多厂商和研究机构积极开展通信网环境下的TTS技术的研究和开发,包括美国的Lucent、 Dialogic、 Centigram, VCS和Lernaut & Hauspie等公司。TTS是一个专业级的中文(中/英文)全文检索系统,检索功能与检索效率与国内外的软件相等,TTS所处理的资料以文本文件的资料为主,对资料库的定义与定位与国内外的知名的资料库检索系统相似,所以功能十分强大。TTS是中国人根据自己的语音特色和规律开发出来的,其发音的准确率和阅读的易懂性已经达到商业化。在TTS核心技术的基础上,我们增加了全文检索功能、数据库访问功能、E-MAIL读取功能和详细的档案管理功能等,使之成为平台,用户可以在平台的基础上,十分简单地增加新的业务,将新的服务轻松地在平台上得以实现。二次开发的时间很短,开发效率的提高是看得见的。由此可见,文语转换,作为一项新兴技术,把它嵌入在通信网环境,对于开展增值业务,更新传统业务的实现方式,都很必要。1.2 章节安排全文总体分为三个部分:第一部分介绍Microsoft Speech SDK各部分构成的原理和语音识别和合成功能的开发;第二部分介绍基于Microsoft Speech SDK的中英混合文本朗读器主要功能的设计;第三部分介绍设计的中英混合文本朗读器的界面以及各个按键功能,并对这次的毕业设计进行总结。第2章 基本概念介绍2.1 Speech SDK简介微软的Speech SDK是是微软提供的软件开发包,其中包含了语音识别和合成引擎相关组件、帮助文档和例程,它是个语音识别和合成的二次开发平台。我们可以利用这个平台,在自己开发的软件里嵌入语音识别和合成功能,从而使用户可以用声音来代替鼠标和键盘完成部分操作,例如:文字输入、菜单控制等,实现真正的“人机对话”。Speech SDK是基于COM的视窗操作系统开发工具包。这个SDK中含有语音应用程序接口(SAPI),微软连续语音识别引擎(MCSR)以及串联语音合成(又称文本到语音)引擎(TTS)等等。SAPI中还包括对于低层控制和高度适应性的直接语音管理,训练向导,事件,语法,编译,资源,语音识别管理以及文本到语音管理,其结构如图所示。图2.1 SAPI框架图图2.1中,语音框架主要靠SAPI运行来实现应用程序与语音引擎之间的协作,而SAPI提供各种接口实现不同的语音功能,SAPI使得应用程序和语音引擎之间高度紧密的结合,实时处理各种语音引擎在底层工作中的细节。2.1.1 语音识别引擎接口(1)识别上下文(1spRecoContext)接口:是主要的语音识别程序接口,主要用于发送和接收与语音识别相关的消息通知,创建语法规则对象。(2)语音识别引擎(1spReeognizer)接口:用于创建语音识别引擎的实例。SAPI拥有两种不同的语音识别引擎类型,一个是共享的语音识别引擎 (SharedRecognizer)。由于它可以与其他语音识别应用程序共享其程序资源,所以在大多数场合中被推荐使用。需要建立一个采用共享语音识别引擎的识别环境(IspRecoContext)。一个是独占(1nProcRecognizer)的引擎,它只能由创建的应用程序使用,而共享引擎可以提供多个应用程序使用。(3)语法规则(IspRecoGrammar)接口:定义引擎需要识别的具体内容,创建、载入和激活识别用的语法规则。(4)识别结果(IspVoice)接口:用于获取识别的结果,包括识别的文字,识别的语法规则等。2.1.2 语音合成引擎接口语音合成(ISpVoice)接口:主要功能是实现文本到语音的转换。它的作用如使用IspVoice:Speak来从文本数据生成语音,从而使电脑会说话。当处于异步工作时,可以使用IspVoiee:CetStatus来获得发音状态及文本位置等。在接口中,有许多成员函数,通过这些成员函数可以实现对发音频率、发音音量等合成属性进行调整。在C#中,我们通过实现ISpVoice接口的SpVoice类来实现语音合成。具体步骤如下:(1)首先创建SpVoice类的对象;(2)利用对象成员函数设置语音属性,如果不设置,则按默认方式处理;(3)调用对象成员函数speak函数来朗读指定文本Speak函数需要两个参数,第一个参数指明需要朗读的文本。第二个参数指明发音方式。2.2 Speech SDK 5.1的工作原理Speech SDK的最高版本是5.1版。微软speech SDK 5.1全面支持中文语音应用程序的开发,SDK里提供了语音识别和合成引擎相关组件、应用程序层接口、详细的技术资料和帮助文档。它采用COM标准开发,底层协议都以C0M组件的形式完全独立于应用程序层,为应用程序设计人员屏蔽掉复杂的语音技术,充分体现了COM的优点,即语音相关的一系列工作由COM组件完成:语音识别由识别引擎(Recognition Engine)管理,语音合成由语音合成引擎(Synthesis Engine)负责;程序员只需专注于自己的应用,调用相关的语音应用程序接口(SAPI)来实现语音能。语音识别的功能COM接口共同完成,而且遵守特定的工作程序。概括地说,语音识别的工作原理遵循C0M组件的工作原理和一般windows应用程序的工作原理(消息驱动机制),具体如下:(1)首先,初始化COM平台;(2)定义各个语音接口对象(以特定的顺序),设置识别语法、识别消息,使识别引擎处于工作状态;(3)当有语法规则被识别后,ISpRecoContext对象向应用程序发出语音识别消息,从而调用识别消息响应函数;在改消息函数中,通过ISpPhrase接口获取识别的结果。此步可以循环,直到停止语法规则为止。(4)应用程序退出时,卸载COM平台。语音识别软件系统流程如下图所示,硬件只需在原来的机器人系统上配置麦克风。COM平台,定义各个接口对象通过麦克输入语音指令SR引擎对象识别发送自定义消息,激活消息函数比较结果是否匹配输出结果是否图2.2 COM平台2.3 文语转换(TTS)简介TTS是Text To Speech的缩写,即“从文本到语音”。它是同时运用语言学和心理学的杰出之作,在内置芯片的支持之下,通过神经网络的设计,把文字智能地转化为自然语音流。TTS技术对文本文件进行实时转换,转换时间之短可以秒计算。在其特有智能语音控制器作用下,文本输出的语音音律流畅,使得听者在听取信息时感觉自然,毫无机器语音输出的冷漠与生涩感。TTS语音合成技术即将覆盖国标一、二级汉字,具有英文接口,自动识别中、英文,支持中英文混读。所有声音采用真人普通话为标准发音,实现了120-150个汉字/秒的快速语音合成,朗读速度达3-4个汉字/秒,使用户可以听到清晰悦耳的音质和连贯流畅的语调。现在有少部分MP3随身听具有了TTS功能。TTS是语音合成应用的一种,它将储存于电脑中的文件,如帮助文件或者网页,转换成自然语音输出。TTS可以帮助有视觉障碍的人阅读计算机上的信息,或者只是简单的用来增加文本文档的可读性。现在的TTL应用包括语音驱动的邮件以及声音敏感系统。TTS经常与声音识别程序一起使用。现在有很多TTS的产品,包括Read Please 2000, Proverbe Speech Unit,以及Next Up Technology的TextAloud。朗讯、 Elan、以及 AT&T都有自己的语音合成产品。 除了TTS软件之外,很多商家还提供硬件产品,其中包括以色列WizCom Technologies公司的 Quick Link Pen,它是一个笔状的可以扫描也可以阅读文字的设备;还有Ostrich Software公司的Road Runner,一个手持的可以阅读ASCII文本的设备;另外还有美国DEC公司的DecTalk TTS,它是可以替代声卡的外部硬件设备,它包含一个内部软件设备,可以与个人电脑自己的声卡协同工作。TTS文语转换用途很广,包括电子邮件的阅读、IVR系统的语音提示等等,目前IVR系统已广泛应用于各个行业(如电信、交通运输等)。TTS所用的关键技术就是语音合成(SpeechSynthesis)。早期的TTS一般采用专用的芯片实现,如德州仪器公司的TMS50C10/TMS50C57、飞利浦的PH84H36等,但主要用在家用电器或儿童玩具中。而基于微机应用的TTS一般用纯软件实现,主要包括以下几部分:文本分析-对输入文本进行语言学分析,逐句进行词汇的、语法的和语义的分析,以确定句子的低层结构和每个字的音素的组成,包括文本的断句、字词切分、多音字的处理、数字的处理、缩略语的处理等。语音合成-把处理好的文本所对应的单字或短语从语音合成库中提取,把语言学描述转化成言语波形。语音合成-把处理好的文本所对应的单字或短语从语音合成库中提取,把语言学描述转化成言语波形。韵律处理-合成音质(Qualityof Synthetic Speech)是指语音合成系统所输出的语音的质量,一般从清晰度(或可懂度)、自然度和连贯性等方面进行主观评价。清晰度是正确听辨有意义词语的百分率;自然度用来评价合成语音音质是否接近人说话的声音,合成词语的语调是否自然; 连贯性用来评价合成语句是否流畅。要合成出高质量的语音,所采用的算法是极为复杂的,因此对机器的要求也非常高。算法的复杂度决定了目前微机并发进行多通道TTS的系统容量。第3章 中英混合文本朗读器的实现3.1 软件设计3.1.1 需求分析声音是携带信息的极其重要的媒体,是多媒体技术研究的一个重要的内容。而声音又包括人的话音、乐器声、动物发出的声音、及其产生的声音以及自然界声音。本文设计一个文本朗读器,使计算机可以把文本转化为语音,即把文本内容朗读出来。这种技术有广泛的应用前景,比如IVR(Interactive Voice Response),电子政务,语音短信,以及计算机软件的语音交互。声音、图像、视频如果能够出现在软件的界面上,定为软件增色不少,增加界面的友好性。不少软件设计者花了很多时间在用户界面希望能做成更友好的界面,但未见有很大的改善。在软件编程中,要把界面做得更友好,声音是一种吸引用户的方式,特别是计算机能够根据文字朗读发声的程序。 TTS技术将在新一代的通信技术和业务中扮演举足轻重的角色,在计算机语音集成应用中,没有TTS技术将难有作为。事实上,TTS技术对系统开发人员和业务运营者同等重要。正因为这个原因,我们开发并设计了基于DSP技术的汉语普通话文语转换产品,并把它主要定位在通信网应用领域,以支持大容量、高密度的计算机语音集成应用。随着计算机性能的提高,使语音技术有了发挥其优势的硬件基础,语音技术会成为计算机应用领域的一大热点。3.1.2 系统功能描述(1)输入朗读:用户能够根据自己的需求来输入自己需要朗读的文字。(2)导入文本文件朗读:当用户对某个文本文件或者某段文字感兴趣,可以直接通过此功能直接导入到朗读器中并可以实现朗读。(3)保存为.WAV文件:当用户朗读过某段文字后,需要将其保存为语音,便可通过此种功能实现。3.2 软件设计流程3.2.1 设计流程图根据VS 2008平台应用程序开发流程,并使用C#作为编程语言,我们开始系统的具体开发实现。本系统的开发过程如图3.1所示:搭建VS C#应用程序开发环境创建工程编写代码实现基本功能实现语音,语速参数可调软件测试实现文本中英混合可读,完成提升功能图3.1 软件设计流程图3.2.2 语言开发平台配置设计中英混合文本朗读器,我使用的软件工具是:Microsoft Visual Studio 2008。由于Windows XP 只整合了语音合成引擎(TTS), 不能朗读中文和识别语音并且只提供了Microsoft Sam 朗读角色, 所以开发能朗读和识别中、英文, 需安装以下软件:(1) 安装Microsoft Speech SDK5.1 (68MB)/download/speechSDK/SDK/5.1/WXP/EN-US/Speechsdk51.exe(2) 安装Microsoft Speech SDK5.1 Language Pack (81.5MB)/download/speechSDK/SDK/5.1/WXP/EN-US/Speechsdk51LangPack.exe3.2.3 导入对象到.NET中SAPI5.1的基于Windows平台的,通过COM接口进行调用。在.Net平台下要应用SAPI5.1,我们可以利用.Net Framework自带的强大工具TlbImp.exe来把SAPI SDK的COM对象导入到.Net中。TlbImp.exe产生一个管制的包装类,管理客户端可以使用它。包装类管理实际的COM对象的参考数。当包装类当作收集的垃圾时,包装类释放掉它包装的COM对象。当然,你也可以在VS.NET环境中通过从项目参考对话框选择COM对象,实现COM对象的导入,这个过程也是通过TlbImp.exe来完成的。在开始程序中找到vs的菜单,里面有Visual Studio Tools,然后打开Visual Studio 2008 命令提示。输入命令D:Program FilesCommon FilesMicrosoft SharedSpeechTlbimp sapi.dll /out:DotNetSpeech.dll,忽略警告和错误。在安转SDK以后,可以在D:Program FilesCommon FilesMicrosoft SharedSpeech目录下面找到SAPI.dll,这里面定义了SAPI的COM对象,用Tlbimp.exe工具将该dll转换成.net平台下的Assembly-DotNetSpeech.dll,转换的过程会提示不少的警告(warning),但这部影响我们的开发,可以忽略。最后,我们可以用ildasm查看DotnetSpeech.dll里面的对象。 3.2.4 SAPI SDK的导入首先,新建一个C#的Windows Application工程SpeechApp,在开发环境的右边的解决方案管理器(Solution Explorer)中,添加DotNetSpeech对象库。右键点击Reference(参考),选择Add Reference(添加参考),在弹出的文件选择对话框中找到刚才生成的DotNetSpeech.dll。 图3.2 SAPI SDK的导入打开Form1.cs代码文件,在代码开头添加名字空间(注意大小写)。using DotNetSpeech;这样就实现了SAPI SDK的导入。3.2.4 SpVoice类SpVoice类是支持语音合成(TTS)的核心类。通过SpVoice对象调用TTS引擎,从而实现朗读功能。 SpVoice类有以下主要属性:Voice:表示发音类型,相当于进行朗读的人,包括Microsoft Mary,Microsoft Mike,Microsoft Sam和Microsoft Simplified Chinese四种。其中前三种只能读英文,最后一种可以读中文,也可以读英文,但对于英文单词只能将其包括的各个字母逐一朗读出来。下面的程序中我们将会想办法解决这个问题。Rate:语音朗读速度,取值范围为-10到+10。数值越大,速度越快。Volume:音量,取值范围为0到100。数值越大,音量越大。SpVoice有以下主要方法:Speak:完成将文本信息转换为语音并按照指定的参数进行朗读,该方法有Text和Flags两个参数,分别指定要朗读的文本和朗读方式(同步或异步等)。Pause:暂停使用该对象的所有朗读进程。该方法没有参数。Resume:恢复该对象所对应的被暂停的朗读进程。该方法没有参数。3.3 功能实现3.3.1 添加控件添加了开始,朗读,关于,语音,语速,输入朗读按键。 图3.3 控件的添加3.3.2 智能朗读功能的实现Microsoft的椰引擎提供了4种朗读文字的声音,其中三种英文声音:Mary(女),mike(男)和sam(男)一种中文声音:simplified Chinese。因为默认的TTS引擎是英文发声,如果要想朗读中文或选择不同的人进行朗读,可以在朗读前调在程序中用ISpVoice:setVoice方法进行声音的设定,或者在朗读前双击用控制面板中的语音图标(安装Microsoft Speech SDK后自动添加的),选择文字一语音转换选项卡进行默认声音的设置。在调用朗读接口朗读文本之前要保证引擎语种的设置正确,否则不会准确朗读。比如如果当前引擎是中文,在朗读中遇到英文单词“text”的时候,读出来的不是一个单词,而是一个个字母,“t”,“e”,“x”,“t”。而在选择英文引擎的条件下如果朗读的是到中文,就根本听不到声音。智能朗读功能就是为了解决以上问题原理是朗读之前先对文本进行预处理,在程序中根据中、英文以及标点符号内码的不同判定文本是中文还是英文,如果文本是中英文混合型的还进行分段处理。朗读的过程中,对于每一段文本先根据预处理的结果用ISpVoice:SetVoice方法动态实现对应引擎的设定工作,然后再调用朗读接口。这样就可以对所有文本智能的实现准确的朗读。其中对文本进行判别的时候对于阿拉伯数字以及一些标点符号还要做特别处理,以阿拉伯数字1949为例,按中文来读是“一九四九”,而按英文读是“nineteen forty nine”。所以预处理程序要根据上下文的语境来判定它是按中文还是英文处理。图3.4描述了智能朗读实现的程序流程。 智能朗读开始 输入/取得文本字符串把文本按照原顺序进行中文/英文分段处理当前字符为中文? N Y设置当前引擎为英文设置当前引擎为中文朗读当前字符串 智能朗读结束图 3.3智能朗读实现的程序流程3.3.3 代码的编写这里只说明部分功能的关键代码,完整代码可参考源文件。(1) 对话框的初始化这里主要完成语音对象的速度,音量等基本参数的设置。 /调节音量 private void v_volume_ValueChanged(object sender, EventArgs e) Voice.Volume = v_volume.Value; /调节语速 private void v_rate_ValueChanged(object sender, EventArgs e) Voice.Rate = v_rate.Value;(2) 阅读按钮的代码这部分代码是本程序的核心,主要解决的问题是实现中英文引擎的实时切换。实现方法是这样:依次处理文本中的每个字符,判断该字符的中英文类型,若其类型与前面的字符一致,继续处理后面的字符。直到发现一个字符与前面字符的类型不一致时,将前面的字符读出来(当然要根据字符类型设置相应的引擎),然后再处理后面的字符。具体代码如下:private void ReadToolStripMenuItem1_Click(object sender, EventArgs e) Voice = new speech.SpVoice(); Voice.Rate = v_rate.Value; Voice.Volume = v_volume.Value; if (simpleChineseToolStripMenuItem.Checked) sps = Voice.GetVoices(Language = 804, ); else if (englishMaryToolStripMenuItem.Checked) sps = Voice.GetVoices(Language = 409;Age = Adult;Gender = Female;Name = Microsoft Mary, ); else if (englishMikeToolStripMenuItem.Checked) sps = Voice.GetVoices(Language = 409;Age = Adult;Gender = Male;Name = Microsoft Mike, ); else if (englishSamToolStripMenuItem.Checked) sps = Voice.GetVoices(Language = 409;Age = Adult;Gender = Male;Name = Microsoft Sam, ); Voice.Voice = sps.Item(0); if (Voice.Status.RunningState = DotNetSpeech.SpeechRunState.SRSEDone) Voice.Speak(t_cont.Text, SpFlags); ReadToolStripMenuItem1.Enabled = false; pauseToolStripMenuItem.Enabled = true; stopToolStripMenuItem.Enabled = true; else Voice.Resume(); ReadToolStripMenuItem1.Enabled = false; pauseToolStripMenuItem.Enabled = true; stopToolStripMenuItem.Enabled = true; 第4章 中英混合文本朗读器的功能介绍4.1 朗读器整体界面介绍文本朗读器界面上有6个按键,分别是:输入朗读,开始,朗读,关于,语速和音量。 图4.1 中英文本朗读器界面“输入朗读”能够直接在文本朗读器的文本框内直接输入中文或者英文直接进行朗读。“开始”中包括下拉菜单:打开,保存为语音,语音,退出。“打开”能够从计算机中导入文本文件进入文本朗读器进行朗读。“保存为语音”能够将朗读完的文本文件保存为语音文件,这一功能在下一下小节中将会具体的介绍。“语音”能够选择不同的角色声音:简体中文,Mary,Mike,Jam来对文本进行朗读。“退出”即能够立即退出本款软件。“朗读”菜单中又包括:朗读,暂停,停止功能。“语音”和“语速”功能键即能在文本阅读的同时对朗读的音量和速度进行控制。音量,取值范围为0到100。数值越大,音量越大。语音朗读速度,取值范围为-10到+10。数值越大,速度越快。4.2 按键功能演示上一节已经对文本朗读的功能做了简单的介绍,下面对已经阅读完的文本保存为.WAV语音文件来进行简单的介绍。首先,我我们打开“开始”菜单,在下拉菜单中找到“打开”,本例中,选择桌面上一篇“芦苇”的文章来进行导入。 图4.2 导入文本文件“芦苇” 图4.3 朗读文章“芦苇”在成功导入“芦苇”文章之后,点击“朗读”,就能对导入的文章进行朗读。在朗读过程中可以对朗读的语速和声音的大小进行调节。 图4.4 保存为.WAV文件 图4.5 保存的语音文件一般音频文件常见的格式有WMA,MP3,MIDI。 MIDI最小,WMA比较小,MP3最大(但是音质最好)。在本文本朗读器中,所保存的音频格式为.WAV。在此例中保存的.WAV文件也就是“芦苇”是用的QQ音乐播放器所打开的。WAV格式是微软公司开发的一种声音文件格式,也叫波形声音文件,是最早的数字音频格式,被Windows平台及其应用程序广泛支持。WAV格式支持许多压缩算法,支持多种音频位数、采样频率和声道,采用44.1kHz的采样频率,16位量化位数,因此WAV的音质与CD相差无几,但WAV格式对存储空间需求太大不便于交流和传播。 第5章 总结通过这次的毕业设计,使我学到了很多新的知识,从对语音技术的陌生到初步了解,使我发现作为信息工程专业的学生,我感到自己对于计算机技术的了解还不够,通信与计算机技术息息相关,仅仅学习自己的专业知识是不够的,还要不断积累周边学科的一些知识与技术,才能使自己的知识体系日趋完善。在写论文的过程中,通过查阅相关书籍和文献,积累了一些自学经验,这也将帮助我以后的学习。在本课题完成的过程中,本人完成了以下工作:1.阅读了大量的相关书籍,对 speech SDK 平台的开发有了较为深层次的了解。2.搭建了开发环境,并通过大量实例操作熟悉了在此环境下C#语言的开发流程。3.设计并在模拟器环境下实现了基于微软speech SDK的中英混合文本朗读器。致谢本文是在我的指导老师芮贤义老师精心指导和大力支持下完成的。在选题及设计过程中,芮老师多次询问项目进程,为我答疑解惑,帮助我开拓研究思路并给予热忱鼓励。虽历时不长,却让我受益无穷。 在论文的撰写和资料搜集期间,前人的资料对我提供了莫大的帮助,这里表示感谢;在论文的写作过程中,得到了许多同学的宝贵建议,在此一并致以诚挚的谢意;大学四年,我所有的任课老师也教会了我很多知识,谢谢你们!最后,再次对关心、帮助我的老师和同学表示衷心地感谢!参考文献1 胡伟,罗文俊,李祥.基于SAPI语音识别的研究与应用. 计算机科学2002Vol29No_9(增刊) 2232242 肖玮. 使用SAPI实现语音识别与合成. 现代计算机(专业版),2005.2 9194 3 高新涛,陈乖丽.语音识别技术的发展现状及应用前景J.甘肃科技纵横,2007,36(4):13.4朱杰,张申生基于cOM技术的语音应用程序的设计和实现J计算机工程,200l,27(11):143145 5 毕晓君,静广宇,徐先锋利用TTS技术实现文本文件的语音合成J自动化技术与应用,2004,23(9):49-51 6 徐雨明,在VFP中调用MSTTS技术实现英文语音输出的方法J电脑编程技巧与维护,2001(1):17,24 7 陈再良,沈海澜基于MSTTS英文朗读功能的实现J计算机时代,2002(4):34-35 附件附件 1:苏州大学本科生毕业设计(论文)任务书学院:电子信息学院 论文(设计)题目: 指导教师:芮贤义职称:副教授类别:毕业设计学 生: 王旭晨学号:0828401057论文(设计)类型:应用研究专 业:信息工程班级:08 信息工程是否隶属科研项目:否1、 论文(设计)的主要任务及目标本毕业设计要求了解文本朗读系统,在调查研究语音合成的基础上重点研究基于微软speech SDK的文本朗读器。利用微软C#编程实现文本朗读器的中英文朗读、暂停、打开、保存音频文件等功能。在导师指导下,掌握撰写毕业论文的基本方法和技巧。根据毕业设计的内容,独立完成的一篇理论依据明确,实现过程清楚,结论完整的毕业论文。2、 论文(设计)的主要内容(1) 掌握C#编程技巧(2) 掌握微软Speech SDK(3) 实现TTS系统的中英文朗读功能(4) 实现TTS系统的保存朗读文本的音频文件等基本功能(5) 实现TTS系统的高级功能2-3个3、 论文(设计)的基本要求(1) 要在规定时间内完成自己毕业设计;(2) 正文(不算摘要、目录、致谢、参考文献)至少6000字,结构要严谨;(3) 严格按照毕业设计(论文)手册要求的字体,字号等格式4、 主要参考文献1 胡伟,罗文俊,李祥.基于SAPI语音识别的研究与应用. 计算机科学2002Vol29No_9(增刊) 2232242 肖玮. 使用SAPI实现语音识别与合成. 现代计算机(专业版),2005.2 9194 3 高新涛,陈乖丽.语音识别技术的发展现状及应用前景J.甘肃科技纵横,2007,36(4):13.4朱杰,张申生基于COM技术的语音应用程序的设计和实现J计算机工程,200l,27(11):143145 5 毕晓君,静广宇,徐先锋利用TTS技术实现文本文件的语音合成J自动化技术与应用,2004,23(9):49-51 6 徐雨明,在VFP中调用MSTTS技术实现英文语音输出的方法J电脑编程技巧与维护,2001(1):17,24 7 陈再良,沈海澜基于MSTTS英文朗读功能的实现J计算机时代,2002(4):34-35 5、进度安排论文(设计)各阶段任务起 止 日 期1查找资料熟悉毕业设计课题写开题报告1.82月底2设计文本朗读器,完成基本的功能3.13.153完成某些的参数可调3.163.314实现文本中英混合可读4.14.155完成提升功能4.164.306编写论文,准备答辩5月5.16 注:1、此表一式三份,学院、指导教师、学生各一份2、类别是指毕业论文或毕业设计,类型指应用型、理论研究型和其他。3、在指导老师的指导下由学生填写。附件2:苏州大学本科生毕业设计(论文)中期进展情况检查表学院(部):电子信息学院学生姓名王旭晨年级08级专业信息工程填表日期设计(论文)题目基于微软Speech SDK的中英混合文本朗读器已完成的任务1. 熟悉并了解了Speech SDK的工作原理2. 完成了文本朗读器的基本功能3. 完成了少数参数的可调是否符合任务书要求进度符合尚须完成的任务1. 实现文本中英混合可读2. 完成提升功能能否按期完成任务能完成存在的问题和解决办法存在的问题界面布局不太美观,软件不太稳定拟采取的办法 继续程序的编写,对控件的添加和界面的布局重新安排。 现有程序加以改进,使函数更加简化和有效。指导教师意见 签名:中期检查专家组意见 组长签名:学院(部)意见 分管教学院长签名: 检查日期: 年 月 日附件3:基于微软speech SDK的中英混合文本朗读器文献综述一、 课题研究的目的与意义声音是携带信息的极其重要的媒体,是多媒体技术研究的一个重要的内容。而声音又包括人的话音、乐器声、动物发出的声音、及其产生的声音以及自然界声音。本文设计一个文本朗读器,使计算机可以把文本转化为语音,即把文本内容朗读出来。这种技术有广泛的应用前景,比如IVR(Interactive Voice Response),电子政务,语音短信,以及计算机软件的语音交互。声音、图像、视频如果能够出现在软件的界面上,定为软件增色不少,增加界面的友好性。不少软件设计者花了很多时间在用户界面希望能做成更友好的界面,但未见有很大的改善。在软件编程中,要把界面做得更友好,声音是一种吸引用户的方式,特别是计算机能够根据文字朗读发声的程序。二、参考资料1 胡伟,罗文俊,李祥.基于SAPI语音识别的研究与应用. 计算机科学2002Vol29No_9(增刊) 2232242 肖玮. 使用SAPI实现语音识别与合成. 现代计算机(专业版),2005.2 9194 3 高新涛,陈乖丽.语音识别技术的发展现状及应用前景J.甘肃科技纵横,2007,36(4):13.4朱杰,张申生基于cOM技术的语音应用程序的设计和实现J计算机工程,200l,27(11):143145 5 毕晓君,静广宇,徐先锋利用TTS技术实现文本文件的语音合成J自动化技术与应用,2004,23(9):49-51 6 徐雨明,在VFP中调用MSTTS技术实现英文语音输出的方法J电脑编程技巧与维护,2001(1):17,24 7 陈再良,沈海澜基于MSTTS英文朗读功能的实现J计算机时代,2002(4):34-35 三、进度计划设计(论文)各阶段任务起 止 日 期1查找资料熟悉毕业设计课题写开题报告1.82月底2设计文本朗读器,完成基本的功能3.13.153完成某些的参数可调3.163.314实现文本中英混合可读4.14.155完成提升功能4.164.306编写论文,准备答辩5月5.16附件4:外文翻译Speech RecognitionIn computer technology, Speech Recognition refers to the recognition of human speech by computers for the performance of speaker-initiated

温馨提示

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

评论

0/150

提交评论