云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > SAPI - 5.1 - 语音合成 - 和 - 语音识别 - [C - ]

SAPI - 5.1 - 语音合成 - 和 - 语音识别 - [C - ]

  • 62 次阅读
  • 3 次下载
  • 2025/5/7 23:06:23

SVEBookmark = 16 SVEWordBoundary = 32 SVEPhoneme = 64

SVESentenceBoundary = 128 SVEViseme = 256 SVEAudioLevel = 512 SVEPrivate = 32768 SVEAllEvents = 33790

End Enum

多个枚举变量用或运算符连接,变量代表的事件具体说明见SAPI的帮助 Animating Speech 动画语音

OnViseme 事件由每个\可识别位置\引发[\可识别位置\指朗读一段时发音嘴型需要明显改变的位置],英语朗读里一共有22个\可识别位置\根据迪斯尼定义的13个可识别位置(早期动画用13个图片代表嘴唇动作)]

可以用相应的嘴形图片形成简单的发音动画 [具体例子不重做了,需要的请见原文]

Keeping Track Of Spoken Text 跟踪朗读文字

[原文通过事件 OnWord & OnSentence 简单实现了高亮显示正在阅读的文字] [简单不翻译了...懒...]

Speaking Dialogs 朗读对话框

[原文穷举了一个Form的Label 和 Button 属性,朗读出所有的Text,简单不翻译]

到此,原文 Speech Synthesis 语音合成部分结束

译后,才发现没译出什么,主要是比较简单,原文实现了一些例子,将其中重要的TIPs提取出来,主要是实现并不难,对本人没有参考价值

[明天在此处放一个实现的简单例子]

下一部分 语音识别比较难理解,也需要点时间好好翻译,^^

Go to source web page: SAPI 5.1 语音合成 和 语音识别 [C#][3] - Tachikoma的乱七八糟 - 博客园

翻译说明:语音识别中重点翻译\命令识别\,对本人比较有用...

语音识别

语音识别可以使用两种识别器:a shared recogniser(TSpSharedRecognizer) [共享识别器]和 an in-process recogniser (TSpInprocRecognizer)[独占识别器],独占识别器效率更高但是独占麦克风,其他程序不能接收到语音输入,相对的,共享识别器可以和其它程序共享使用,其他程序可以接收到语音输入,因此使用共享识别器更多

识别器使用一个 继承了TSpInprocRecoContext或TSpSharedRecoContext接口的上下文环境,这一上下文环境允许控制开始/停止识别,设置语法,接受事件等

语法

语法规定了可识别的词,定义了识别规则等,使用XML来描述语法,一个简单的例子如下

colour

please

red

blue

green

在这个例子中,下面的内容可以被识别

?

colour red colour red please colour blue colour blue please colour green colour green please

更多关于此的内容见SAPI的帮助

[待续,该熄灯了...] [继续] 连续识别

这个功能很便于使用,我们需要放置一个为共享识别器设置上下文环境SpSharedRecoContext

Note:识别器可自动被创建,不必手动创建,如果需要直接使用识别器,可以手动创建SpSharedRecognizerClass或SpInprocRecognizerClass对象 下面是个简单的例子

private void button1_Click(object sender,EventArgs e) {

ssrc = new SpSharedRecoContext(); srg =ssrc.CreateGrammar(0);

srg.DictationSetState(SpeechRuleState.SGDSActive); }

[尊重原文,原文这里给出了这个例子,个人认为没什么用...,比较有用的还是后面C & C的例子]

语法事件

[这一节以复述为主,翻译实在是有点罗嗦,个人认为说明的不是特别清楚] 主要提到两个事件OnRecognition和OnHypothesis OnRecognition ,顾名思义,在识别出一个元素后激发

OnHypothesis,原文的意思不是很好理解,这里引用微软帮助上的说明 A hypothesis is an interim recognition result. Each time the engine attempts a recognition it

generates an interim results and Hypothesis events are sent out

意思就是\假设\是识别的一个中间结果,每次识别时,系统产生一个中间结果集并激发这一事件 第二个时间具体的例子不举了,一般用不上,原文有个例子,只是把中间结果集输出,可以用于理解一下工作原理

Engine Dialogs

主要是原文例子的一个设计,这里没有做这个例子,所以...略

Command and Control Recognition 命令识别

这节没什么好说的,举个例子就可以了,不举原文的例子,写了个识别中文的例子,如要调试此例,请看完文后的\乱七八糟\

定义XML命令配置文件XMLRules.xml

颜色

private SpeechLib.SpSharedRecoContext ssrc; private ISpeechRecoGrammar srg;

private void button1_Click(object sender, EventArgs e) {

ssrc = new SpSharedRecoContext(); srg =ssrc.CreateGrammar(0);

srg.CmdLoadFromFile(\SpeechLoadOption.SLODynamic);//读入规则

ssrc.EventInterests = SpeechRecoEvents.SREAllEvents;//在\语音事件\中有说明

ssrc.Recognition += new

_ISpeechRecoContextEvents_RecognitionEventHandler(ssrc_Recognition);//添加识别事件 srg.CmdSetRuleState(srg.Rules.Item(0).Name, SpeechRuleState.SGDSInactive);//激活规则 }

void ssrc_Recognition(int StreamNumber, object StreamPosition, SpeechRecognitionType RecognitionType, ISpeechRecoResult Result) {

MessageBox.Show(Result.PhraseInfo.Elements.Item(0).DisplayText); }

最后的乱七八糟

译了个不像样子,总想按自己的理解写,毕竟英语译过来不像中国话 最后几点注意事项,要是没看调试程序出错只能怪自己了

1]一定要进行语音训练,控制面板-语音-语音识别-训练配置文件 2]如最后一例,使用了中文识别,会调试出错,因为没指定中文识别器

指定方法:控制面板-语音-语音识别-语言-Microsoft Simplified Chinese Recognizer

希望能有人看这些文章...

Go to source web page: SAPI 5.1 语音合成 和 语音识别 [C#][4] - Tachikoma的乱七八糟 - 博客园

搜索更多关于: SAPI - 5.1 - 语音合成 - 和 - 语音识别 - 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

SVEBookmark = 16 SVEWordBoundary = 32 SVEPhoneme = 64 SVESentenceBoundary = 128 SVEViseme = 256 SVEAudioLevel = 512 SVEPrivate = 32768 SVEAllEvents = 33790 End Enum 多个枚举变量用或运算符连接,变量代表的事件具体说明见SAPI的帮助 Animating Speech 动画语音 OnViseme 事件由每个\可识别位置\引发[\可识别位置\指朗读一段时发音嘴型需要明显改变的位置],英语朗读里一共有22个\可识别位置\根据迪斯尼定义的13个可识别位置(早期动画用13个图片代表嘴唇动作)] 可以用相应的嘴形图片

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com