当前位置: 首页 > 工具软件 > Lily > 使用案例 >

应用Neospeech_Lily文字转语音的开发

商正诚
2023-12-01

最近在摸索C#文字转语音播报的应用开发,给后来者留点记录,也加强自己的记忆。

转载自:Neospeech_Lily语音应用开发_princelintb的专栏-CSDN博客
转载自:C# 导入speech lib,阅读文本信息,support text to speech - 婧秋-fool - 博客园

提前放上vm lily语音库的下载链接,哥就不要你们的分了。

链接: https://pan.baidu.com/s/11hOYTjDhGoXN6SGlujgaIA 提取码: kpjg

文本转语音开发操作说明

一、采用目前最标准的中文语音库Neospeech_Lily,结合Window的语音引擎,使用Interop.SpeechLib进行文本转语音处理,

      实现语音的播放功能.

二、安装Neospeech_Lily语音库,默认安装,目录不允许有中文字符,安装完毕后可以获得语音的测试例子:

三、 在Window系统中,默认语音引擎设置为VM Lily。控制面板---语音识别---文本到语言转换---语音选择,

      选择VM Lily,并设定好语速:

四、 代码中进行Window语音引擎的调用,程序中调用Interop.SpeechLib.dll,代码中进行函数调用。(这一段prince_lintb他讲的不是很清楚,我摸到了一些坑,一直下载不到SpeechLib.dll,直到看到婧秋-fool也就是第二链接才豁然开朗,特么的原来该引用的名称是从com那里查找speech,然后引用“microsoft speech object library”这个才对。这样在引用命名空间using SpeechLib;就不会出问题了。

以下是代码实现了,有什么进展我接着更新。

using SpeechLib;

try

  {

          SpeechVoiceSpeakFlags SpFlags = SpeechVoiceSpeakFlags.SVSFlagsAsync;

          SpVoice speech = new SpVoice();

          speech.Speak(“播放的文本”, SpFlags);

   }

 catch

   {

          MessageBox.Show("Speak error");

   }
 

 2021年11月17日更新

由于之前VM lily的语音效果并不是很满意,后续我还参考

C# 分别使用Microsoft Speech 和 科大讯飞离线合成语音_yh1393369的博客-CSDN博客

这篇博客里实现的方法,分别实现了科大讯飞和使用他介绍的windows自带的语音版本慧慧,huihui效果确实比lily好一些,能实现一些呼叫姓名的重音字。科大讯飞的语音质量很好,毕竟的专业的,但是讯飞离线语音库因需要转换成MP3文件后再播放,所以会有5s的延迟,这是不符合我想实现即时响应的效果。

 类似资料: