您的位置:首页 > 编程语言 > C#

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

2007-11-02 23:33 316 查看
翻译说明:这篇译原文五个部分Making Your Computer Talk,Voice Events,Animating Speech, Keeping Track Of Spoken Text,Speaking Dialogs

只是说翻译范围覆盖这五个部分的范围,其中有一些例子不重写了,因为我暂时用不上,有一些乱七八糟的话不译,怕出错,毕竟对其理解不是很深,只挑一些重要的进行复述

Making Your Computer Talk 部分

提及了如何让朗读暂停和进行,只提取其中用到的几个函数,基本上原型一些出来就知道怎么回事,不详细翻译了

类SpVoiceClass

public virtual void Pause(); //暂停函数

public virtual void Resume();//恢复函数

public virtual int Skip(string Type, int NumItems);//跳过朗读函数
基本一看名称就知道了,只对Skip的参数做一个说明,Type参数代表要跳过的Item的类型[如 sentence 按句子跳过...],但注意这个参数目前只能是"Sentence",后面的NumItems 是指要跳过多少个句子

Voice Events 事件部分

事件的使用和正常的使用没什么大的区别,唯一需要注意的是

类SpVoiceClass

Enum SpeechVoiceEvents

SVEStartInputStream = 2

SVEEndInputStream = 4

SVEVoiceChange = 8

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提取出来,主要是实现并不难,对本人没有参考价值

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

下一部分 语音识别比较难理解,也需要点时间好好翻译,^^
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: