科大讯飞和neospeech tts哪个更好
朋友们或许还有一个疑问,就是不知道科大讯飞和neospeech哪个更好。据我的体会,它们其实各有优点。
科大讯飞有几个语音库,比如小宇、小燕、还有一个粤语和英语的;而neospeech则有lily、liang、hui几个中文语音库。
科大的最大优点就是朗诵清楚,听起来能做到几乎每个字都让我们能听进去。而neospeech的优点则是流畅,高低起伏、抑扬顿挫,临场感很强,不过有时候某些字眼会让人听不太清楚。
提醒一下,neospeech里面的liang语音库,个人觉得是最好用的,浑厚的男声每个字都朗读的很清楚,而且临场感和流畅度都很强,是中文文字朗读里面的佼佼者!赞一个~~
要下载的朋友可以在电驴里面搜索下载。
综上所述,从总评来说,neospeech应该比讯飞语音略胜一筹的!至于各家的优点上面已经说过。要我自己来排名的话,是这样的(由高至低):
a. neospeech liang
b. 科大讯飞 小燕
c. neospeech lily
d. neospeech hui
e. 科大讯飞 小宇
当然如果说到英文,neospeech里面的Paul算是当前最好的发声效果了!连霍金都在用它,你说它有多么强悍呢!
最后说一下,文语通和方正畅听都是科大的,不过体积相比要小很多,尤其方正畅听,如果你的要求不高的话,完全可以使用方正畅听,听起来也是挺流畅滴。
最后希望大家好好爱护自己的眼睛,不要长期用眼看电脑,转“看”为“听”,既能护眼,又是一种享受,何乐不为呢?
下载地址:http://www.verycd.com/topics/2780296/(neospeech)
http://www.verycd.com/topics/2828273/(科大)
使用微软TTS语音引擎实现文本朗读
2017年11月04日 15:51:30 byxdaz 阅读数:12312
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.youkuaiyun.com/byxdaz/article/details/78443954
TTS(Text-To-Speech)是指文本语音的简称,即通过TTS引擎把文本转化为语音输出。TTS语音引擎有微软TTS语音引擎、科大讯飞语音引擎等。科大讯飞tts sdk参考这个页面http://www.xfyun.cn/sdk/dispatcher
文本主要介绍如何使用微软TTS语音引擎实现文本朗读,以及生成wav格式的声音文件。
1、语音引擎及语音库的安装
微软TTS语音引擎提供了Windows Speech SDK开发包供编程者使用。Windows Speech SDK包含语音合成SS引擎和语音识别SR引擎两种,语音合成引擎用于将文字转换成语音输出,语音识别引擎用于识别语音命令。
Windows Speech SDK可以在微软的官网上免费下载,下载地址为:http://www.microsoft.com/download/en/details.aspx?id=10121
在该下载界面中,选择下载SpeechSDK51.exe、SpeechSDK51LangPach.exe和sapi.chm 即可。
SpeechSDK51.exe |
语音合成引擎 |
SpeechSDK51LangPach.exe |
语音库,支持日语和简体中文需要这个支持。 |
sapi.chm |
帮助文档 |
speechsdk51MSM.exe |
语音引擎集成到你的产品跟产品一起发布。解压出来三个文件夹1033、1041和2052。其中,1033下主要是用于英文的TTS和SR的.msm文件,1041下主要是用于日文SR的.msm文件,2052下是用于中文TTS和SR的msm文件。 |
Sp5TTintXP.exe |
XP下Mike和Mary语音。 |
下载完成后,先安装语音引擎SpeechSDK51.exe,再安装中文语音库SpeechSDK51LangPach.exe。
目前最常用的Windows Speech SDK版本有三种:5.1、5.3和5.4。
Windows Speech SDK 5.1版本支持xp系统和server 2003系统,需要下载安装。XP系统默认只带了个Microsoft Sam英文男声语音库,想要中文引擎就需要安装Windows Speech SDK 5.1。
Windows Speech SDK 5.3版本支持Vista系统和Server 2008系统,已经集成到系统里。Vista和Server 2003默认带Microsoft lili中文女声语音库和Microsoft Anna英文女声语音库。
Windows Speech SDK 5.4版本支持Windows7系统,也已经集成到系统里,不需要下载安装。Win7系统同样带了Microsoft lili中文女声语音库和Microsoft Anna英文女声语音库。Microsoft lili支持中英文混读。
2、SAPI接口的使用说明
1)、基本朗读过程的实现
在使用语音引擎之前进行初始化:
ISpVoice *pSpVoice; // 重要COM接口 ::CoInitialize(NULL); // COM初始化 // 获取ISpVoice接口 CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_INPROC_SERVER, IID_ISpVoice, (void**)&pSpVoice);
获取到ISpVoice接口以后,我们就可以通过pSpVoice指针调用SAPI接口了。
我们可以设置音量:pSpVoice->SetVolume(80);。SetVolume的参数即音量的范围在0到100之间。
可以这样朗读字符串内容:pSpVoice->Speak(string, SPF_DEFAULT, NULL);。这样string里的内容就会被朗读出来了,第二个参数SPF_DEFAULT表示使用默认设置,包括同步朗读的设置。异步朗读可以设置成 SPF_ASYNC。同步朗读表示读完string中的内容,speak函数才会返回,而异步朗读则将字符串送进去就返回,不会阻塞。
使用完语音引擎后应执行:
pSpVoice->Release(); ::CoUninitialize();
这样资源被释放,语音朗读过程结束。
以上就完成了一个简单的语音合成朗读的功能。
2)、ISpVoice的成员函数
鸡啄米再简单说明几个ISpVoice接口的成员函数:
HRESULT Speak(LPCWSTR *pwcs, DWORD dwFlags, ULONG *pulStreamNumber);
用于读取字符串pwcs里的内容。参数pwcs为要朗读的字符串。dwFlags是用于控制朗读方式的标志,具体意义可以查看文档中的枚举 SPEAKFLAGS。pulStreamNumber为输出参数,它指向本次朗读请求对应的当前输入流编号,每次朗读一个字符串时都会有一个流编号返 回,异步朗读时使用。
HRESULT SetRate( long RateAdjust); // 设置朗读速度,取值范围:-10到10 HRESULT GetRate(long *pRateAdjust); // 获取朗读速度 HRESULT SetVoice(ISpObjectToken *pToken); // 设置使用的语音库 HRESULT GetVoice(ISpObjectToken** ppToken); // 获取语音库 HRESULT Pause ( void ); // 暂停朗读 HRESULT Resume ( void ); // 恢复朗读 // 在当前朗读文本中根据lNumItems的符号向前或者向后跳过指定数量(lNumItems的绝对值)的句子。 HRESULT Skip(LPCWSTR *pItemType, long lNumIte