首页 > 编程知识 正文

免费文字转语音,语音转文字应用

时间:2023-05-06 03:17:37 阅读:210757 作者:4745

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

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

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

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

文本转语音开发操作说明

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

      实现语音的播放功能.

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

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

      选择VM 迅速的钢笔,并设定好语速:

四、 代码中进行Window语音引擎的调用,程序中调用Interop.SpeechLib.dll,代码中进行函数调用。(这一段prince_lintb他讲的不是很清楚,我摸到了一些坑,一直下载不到SpeechLib.dll,直到看到czdjz-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 yedsh的语音效果并不是很满意,后续我还参考

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

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

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。