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

[语音合成技术第三讲]C# 中使用语音合成技术(二)

2006-12-20 10:36 405 查看
C# 中使用语音合成技术(二)
前言:
语音合成技术其实并没有什么神秘的,也不像想象中的那么繁杂。今天我就与大家一起来看一下,怎么让计算机为我们朗读文字。您需要系统环境,我在第一讲的时候将配置需要的信息写在里面。您可以去这里查阅:http://blog.csdn.net/artlife/archive/2006/12/19/1449162.aspx
上一讲中我们学会了如何使用C#的语言,来使用语音技术.那么接下来让我们更进一步的探讨C#中朗读对象的使用.
让我们开始:
必不可少的
using System.Speech.Synthesis;
下面的内容将告诉我们如何创建朗读的对象,和如何使用该朗读对象朗读文本.
SpeechSynthesizer synth = new SpeechSynthesizer();
synth.Speak("hello world");
就是这样的简单.如何SpeechSynthesizer的朗读对象中的其它属性和方法:
使用synth 合成 wav 音频文件:
synth.SetOutputToWaveFile(string path);
使用synth 选择朗读人的选项:
synth.SelectVoice("Microsoft Anna");
查看当前 synth 选择的朗读人
String speechPeople = synth.Voice;
使用 synth 设置朗读音量 [范围 0 ~ 100]
synth.Volume = 80;
使用 synth 设置朗读频率 [范围 -10 ~ 10]
synth.Rate = 0;

如果你觉得这些还不能满足你对语音合成的效果,或者说是想到达到的功能,请继续往下看.
在使用语音合成技术的时候. SpeechSynthesizer对象在为我们朗读一些文本的时候会触发一些事件,在这里我将比较有用的为大家介绍一下.
首先是SpeakProgress 这个事件是在朗读的过程中触发的,它可以帮助我们找到当前正在朗读的文本是什么,当然不是全部的文本,而是精确到了一个字或者一个词.
void synth_SpeakProgress(object sender, SpeakProgressEventArgs e)
{
e.Text ;
}
如果你想得到语音朗读过程中合成的拼音是什么.那么你就要使用到这个事件了.
void synth_PhonemeReached(object sender, PhonemeReachedEventArgs e)
{
e.Phoneme
e.NextPhoneme
}
好了今天说的已经很多了,剩下的时间用来做练习吧.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: