基于C#的语音文本识别系统的设计与实现
作者:周少波
来源:《电脑知识与技术》2013年第21
        摘要:语音文本识别系统是一款实现了语音对电脑进行操作的十分实用的软件,对于一些年老的或手脚不灵便的人来说,键盘的操作给他们带来了极大地不便。语音文本识别系统可以大大提高了他们使用电脑的方便。
        关键词:语音识别;文本识别;多线程浏览器
        中图分类号:TP311 文献标识码:A 文章编号:1009-3044201321-4949-02
        语音识别,也被称为自动语音识别Automatic Speech RecognitionASR),是一门跨越多门学科的技术。早在计算机的发明之前,语音识别就被人们所提出,早期的声码器可以认为是语音识别及合成的雏形。最早的语音识别器是产生于20世纪20年代生产的“Radio Rex”玩具狗,当人们呼唤该产品的名字的时候,它能够从底座上自动弹出来。而最早的基于计算机的语音识别系统是由AT&T 贝尔实验室开发的Audrey语音识别系统,该系统的正确率达到98%
        1 C#语言的语音识别及合成的接口
        C#是一种安全的、稳定的、简单的、优雅的,由CC++衍生出来的面向对象的编程语言。C#实现语音识别功能的主要接口有:IsRecoContext接口、IspRecognizer接口、IsRecoGrammar接口、IspVoice接口。
        1IsRecoContext接口:是主要的用于语音识别的接口,能关注不同的语音识别事件,安装或者卸载识别时使用的语法文件。
        2IspRecognizer接口:一个程序拥有两种不同的语音识别引擎(ISpRecognizer)类型。一个是共享的语音识别引擎,需要建立一个采用共享语音识别引擎的识别环境(IspRecoContext),应用程序需要调用COM接口位于CoCreateInstance结构上的CLSID_SpSharedRecoContext。然后SAPI会设立一个音频输入流,并把这个音频输入流定义为默认的SAPI音频输入流。由于它可以与其他语音识别应用程序共享其程序资源,所以在大多数场合中被推荐使用。另一个是非共享的语音识别引擎的语音识别环境,应用程序首先需要调用COM接口位于CoCreateInstance结构上的CLSID_SpInprocRecoIns-
        tance。然后,应用程序必须调用IspRecognizerSetInput方法来设立一个音频输入流。最后,应用程序通过调用IspRecognizerCreateRecoContext方法来建立它自己的识别环境。
        C#语言的语音合成的主要接口有:Voice Commands 接口,Voice Dictation接口,Voice TextVoice Telephone接口,Audio Objects接口。
        1Voice Commands API。对应用程序进行控制,一般用于语音识别系统中。识别某个命令后,会调用相关接口是应用程序完成对应的功能。如果程序想实现语音控制,必须使用此组对象。
        2Voice Dictation API。听写输入,即语音识别接口。
        3Voice Text API。完成从文字到语音的转换,即语音合成。
        4Voice Telephone API。语音识别和语音合成综合运用到电话系统之上,利用此接口可以建立一个电话应答系统,甚至可以通过电话控制计算机。
        5Audio Objects API。封装了计算机发音系统。
        其中Voice Text API,就是微软TTS引擎的接口,通过它我们可以很容易地建立功能强大的文本语音程序。
        2 系统设计与实现
        2.1 系统功能概述
        根据对系统需求进行分析,本系统需要完成操作、工具、用户管理、皮肤管理和帮助功能。这些功能将分成五个功能模块。操作功能:朗读、命令识别、文本识别、生成语音文件、添加操作命令、网页浏览;工具功能:训练、开机自动运行、取消开机自动运行;用户管理:添加用户、删除用户、修改用户;皮肤管理功能:皮肤的修改功能;帮助功能:帮助文档、关于作者
        2.2 语音识别功能的实现
        语音识别的原理就是将人发出的语音通过麦克风传到电脑的声卡,然后语音引擎对对语音信息进行采取,最后和语音库里面的信息匹配从而识别出相应的语音信息输出到电脑屏幕进行各种各样的操作。
        语音识别的一个最大的难点就在于不能正确地对语音信息进行正确的识别,这里在系统开发的时候需要做两个处理工作。
        第一是对语音库进行大量的语音训练,可以通过windows内置的语音识别训练系统进行训练,该功能集成与微软的XP系统的控制面板的语音选项里面。鉴于每个人的发音都是有所差异的,使用人必须先对语音引擎进行大量持久的语音训练,这样才能不断地提高语音识别的正确率,以方便计算机正确地识别出来需要操作的动作和需要对电脑输入的文字。在进行对语音库训练的前提是要安装微软提供的语音引擎Speech SDK 5.1,在安装了该引擎之后方能对语音进行训练,可以支持中英日三种语言的使用。
        第二是对语音识别的结果进行模糊处理,也就是说,在不可能实现100%的识别率的情况下,要尽可能地考虑到语音识别出来的错误信息,比如本来要识别的信息是:open,但是电脑识别出来的是opened,这时候就要将错就错,通过数据库将识别出来的opened告诉电脑这是一个open。如此进行常用字的多次测试,并通过微软的sql server2000进行海量的数据识别模糊处理,最大化地考虑到所出现的错误来更正。
        2.3文本识别功能的实现
        文本识别功能的实现是要借助于微软的TTSTest To Speech)引擎进行来实现。TTS文本到语音(Text To Sound的简称,TTS语音引擎为我们提供清晰和标准的发音,所用的关键技术就是语音合成(SpeechSynthesis)。
        该文本识别引擎可以支持中英日三种语言。要使用该功能是只需要进入文本识别界面并启动文本识别按钮,然后将要识别的文字通过键盘输入到编辑框里面,再单击朗读按钮,这就可以将文本信息转化为语音信息通过音响发出。
        2.4多标签的语音识别浏览器功能的实现
        首先是多标签浏览器功能的实现。由于C#有自带的WebBrowser浏览器控件,使用其自带的方法。而对于多标签功能的实现则要使用C#的多线程的技术,也就是说支持多个线程同时不互相干扰的工作。
        其次是具有语音识别功能浏览器的实现。这个过程可以参照之前所制作的语音识别制作的过程,只需要的浏览器里面添加一个开启语音识别和关闭语音识别功能的按钮即可。当单击开启语音识别功能时,系统将会提示已经开启语音识别功能,这个时候就可以使用语音识
别功能进行网上冲浪;当单击关闭语音识别功能是,系统将会提示已经关闭语音识别功能,这个时候系统会系统语音识别功能已经关闭,此时的浏览器就和传统的多标签浏览器如360安全浏览器一样。
        3 结论
        本系统主要研究了用语音控制电脑的技术,成功地利用微软新一代开发平台.NET Framework开发了语音识别系统的新产品。本系统打破了传统的人机交互方式,实现的使用语音对计算机进行操作。使用微软的TTS语音引擎可以使系统具备识别中英日三种语言,并且添加了国内的捷通语音公司的语音引擎,可以识别粤语,闽南语等方言,对于文本识别的功能的实现,提高了语言学习者的学习效率,这给广大的语言学习者带来了福音。设计实现具有语音识别功能的多标签浏览器技术。主要是方便一些不会使用键盘打字的人,使得这类人可以通过语音控制就可以上网冲浪。
        参考文献:
        [1] ZHANG Jinsong Takatoshi Jitsuhir.An Introduction to the Chinese Speech Recog
nition Front—End of the NICT/ATR Multi-·Lingual Speech Translation System [J].O'Reilly. 2008.
        [2] Arun Krishnaraj Joseph K. T. Lee. Voice Recognition Software Effect on Radiology Report Turnaround Time at an Academic Medical Center [J]. 2010.
        [3] wu Zhiyong. CAO Guangqi. Voice Recognition Software Effect on Radiology Report Turnaround Time at an Academic Medical Center [J]. 2008.
        [4] Jing Li. Thomas Fang Zhen91. A Dialectal Chinese Speech Recognition Framework [J]. 2006.
        [5] 国玉晶,刘刚,刘健,郭军.基于环境特征的语音识别置信度研究[J].清华大学学报,200949S1.
        [6] 林琳,王树勋,郭纲. 短语音说话人识别新方法的研究[J].系统仿真学报,200710.
        [7] 姚琳,梁春霞,张德干.基于实例推理的人机对话系统的设计与实现[J].计算机应用,200703windows server 2012是什么系统)
        [8] 林茜,欧建林,蔡骏.基于Microsoft Speech SDK的语音关键词检出系统的设计和实现[J].心智与计算,200712-30433.
        [9] 韩纪庆,张磊,郑铁然.网络环境下的语音识别方法[J]. 计算机科学,200501.
        [10] 任锁柱,黄继海,宋海滨.从人类语音特点到计算机语音识别[J].中国科技信息,20064.
        [11] 李邵梅,陈鸿昶,王 .基于DSP的高速实时语音识别系统的设计与实现[J].现代电子技术,200715.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。