.net中使用微软tts语音

it2022-05-05  137

实现平台:Microsoft Visual Studio 2005微软TTS5.1语音引擎(中文)

所需要的东西: 用TlbImp从SAPI.51 SDK中导出的 点此下载DotNetSpeech.dll(160K) 微软TTS5.1语音引擎(中文).msi(1.55M) 以上两个东西由于大小关系没有传上来,需要的可以留下邮箱地址。 如果你自己安装了SAPI.51 SDK,可以使用这个命令自己导出 DotNetSpeech.dll Tlbimp sapi.dll /out: DotNetSpeech.dll(出现错误不用管,不影响使用) 安装微软TTS5.1语音引擎(中文).msi,打开"控制面板",打开"语音"配置项目,在"文字-语音转换"的"语音选择"组合框中选择"Microsoft Simplified Chinese",这样才可以读出中文。如果要读英文,要选择"Microsoft Sam"。

使用Microsoft Visual Studio 2005新建项目,添加引用,引用DotNetSpeech.dll。命名空间:using DotNetSpeech;

读出文本框中的中文:SpeechVoiceSpeakFlags spFlags = SpeechVoiceSpeakFlags.SVSFlagsAsync;SpVoice voice = new SpVoice();voice.Speak(textBox1.Text, spFlags);

将文本框中中文的读音保存为WAV文件:SpeechVoiceSpeakFlags spFlags = SpeechVoiceSpeakFlags.SVSFlagsAsync;SpVoice voice = new SpVoice();SaveFileDialog dialog = new SaveFileDialog();dialog.Filter = "All files (*.*)|*.*|wav files (*.wav)|*.wav";dialog.Title = "保存WAV文件";dialog.FilterIndex = 2;dialog.RestoreDirectory = true;if (dialog.ShowDialog() == DialogResult.OK){SpeechStreamFileMode spFileMode = SpeechStreamFileMode.SSFMCreateForWrite;SpFileStream spFileStream = new SpFileStream();spFileStream.Open(dialog.FileName, spFileMode, false);voice.AudioOutputStream = spFileStream;voice.Speak(textBox1.Text, spFlags);voice.WaitUntilDone(1000);上面两句一定要写上,否则产生的文件没有声音WaitUntilDone的后面的smTimeout是一个int型spFileStream.Close();

转载于:https://www.cnblogs.com/sishahu/archive/2011/11/17/2252792.html

相关资源:c# TTS语音实例 附带 DotNetSpeech.dll语音类库

最新回复(0)