精华内容
下载资源
问答
  • 由于各种原因限制,所以选择了使用Windows平台自带的语音引擎。 首先使用场景是局域网,无法访问互联网。所以通过网络接口提供的服务就被排除了,比如百度的tts服务。 由于应用范围也很有限,规模小,所以付费的...

    由于工作需要,需要文字转语音功能的支持。由于各种原因限制,所以选择了使用Windows平台自带的语音引擎。

    首先使用场景是局域网,无法访问互联网。所以通过网络接口提供的服务就被排除了,比如百度的tts服务。

    由于应用范围也很有限,规模小,所以付费的语音引擎也不考虑了。比如科大讯飞的语音引擎。

    再者个人经验\阅历有限,目前不知道其他开源的语音引擎,所以,只能选择平台自带的语音引擎(非windows正版用户功能有阉割),还好,找到了修复工具,解决了这个问题,修复工具见上一篇文章,附带好多语音库可以下载使用,还提供了demo工具可以测试。

    下面说一下使用流程。

    • 安装SpeechSDK5.1

    这个直接到微软官网下载https://www.microsoft.com/en-us/download/confirmation.aspx?id=27226,可以下载汉语的语音包,不过是用英语的语调读汉语,比较别扭。下载安装后,需要下载补丁工具。

    • 下载修复工具和测试工具

    http://blog.sina.com.cn/s/blog_88bdc35c0102vd0e.html --------------------- 本文来自 moyebaobei1 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/moyebaobei1/article/details/82789362?utm_source=copy

    这是个测试工具,可以用来测试服务是否可用,以及语音库是佛安装成功。http://www.cppfans.com/cbknowledge/skills/media/ttsdemo.asp --------------------- 本文来自 moyebaobei1 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/moyebaobei1/article/details/82789362?utm_source=copy

    语音库可以看到我安装了哪些语音,语音库都是符合一定标准的就可以识别。然后输入朗读内容,单击【朗读】就可以按照这种语音库的规律朗读文字。如果朗读成功,则说明语音库安装成功了。

    Windows平台,是基于COM和DCOM组织起来的,所以实现上就是需要创建出对应的组件,然后调用接口上的方法。哦通过SDK调用TTS服务,需要设置默认的语音库。

    • 设置系统语音服务(默认语音库)

    控制面板 - 语音(32位)- 文字转语音

    • 封装调用

    然后对SDK调用做一下简单的封装。

    #pragma once
    #include<iostream>
    #include <sapi.h> //导入语音头文件
    #include <string>
    #pragma comment(lib,"sapi.lib") //导入语音头文件库
    
    using namespace std;
    
    void  MSSSpeak(LPCTSTR speakContent)// speakContent为LPCTSTR型的字符串,调用此函数即可将文字转为语音
    {
    	ISpVoice *pVoice = NULL;
    
    	//初始化COM接口
    	if (FAILED(::CoInitialize(NULL)))
    		MessageBox(NULL, (LPCWSTR)L"COM接口初始化失败!", (LPCWSTR)L"提示", MB_ICONWARNING | MB_CANCELTRYCONTINUE | MB_DEFBUTTON2);
    
    	//获取SpVoice接口
    	HRESULT hr = CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_ALL, IID_ISpVoice, (void**)&pVoice);
    	if (SUCCEEDED(hr))
    	{
    		pVoice->SetVolume((USHORT)100); //设置音量,范围是 0 -100
    		pVoice->SetRate(0); //设置速度,范围是 -10 - 10
    		hr = pVoice->Speak(speakContent, 0, NULL);
    		pVoice->Release();
    		pVoice = NULL;
    	}
    
    	//释放com资源
    	::CoUninitialize();
    }
    
    //string转换车wstring  
    std::wstring  StringToWString(const std::string& s)
    {
    	std::wstring wszStr;
    	int nLength = MultiByteToWideChar(CP_ACP, 0, s.c_str(), -1, NULL, NULL);
    	wszStr.resize(nLength);
    	LPWSTR lpwszStr = new wchar_t[nLength];
    	MultiByteToWideChar(CP_ACP, 0, s.c_str(), -1, lpwszStr, nLength);
    	wszStr = lpwszStr;
    	delete[] lpwszStr;
    	return wszStr;
    }
    
    void read(string temp){
    	wstring a = StringToWString(temp);
    	LPCWSTR str = a.c_str();
    	/*不知道为什么Cstr不行*/
    	MSSSpeak(str);
    	cout << "朗读结束\n";
    }

     

    展开全文
  • Windows10/Windows8 里面自带了一个优质tts语音库叫 Microsoft Desktop Huihui 发音很好,但是Windows7/Vista 自带的 Lily 发音很一般,如何才能将 Microsoft Desktop Huihui 移植到 Windows7/Vista? 微软本身并没...
  • Windows10/Windows8 里面自带了一个优质tts语音库叫 Microsoft Desktop Huihui 发音很好,但是Windows7/Vista 自带的 Lily 发音很一般,如何才能将 Microsoft Desktop Huihui 移植到 Windows7/Vista? 微软本身并没...
  • delphi7用speech sdk5.1实现tts

    千次阅读 2013-02-19 09:44:22
    自己喜欢看小说,但是上班的时候不能看不是。 原来有个朗读软件但是年前突然不能用了...我用的windows speech sdk 5.1安装之后用progect-improt type libary就可以导入好几个控件到activex上。 真人语音库:http://

    自己喜欢看小说,但是上班的时候不能看不是。

    原来有个朗读软件但是年前突然不能用了,不知道是不是我的电脑问题。我用windows speech sdk的spvoice做了个测试程度还是有声音的。

    所以决定自己做个

    我用的windows speech sdk 5.1安装之后用progect-improt type libary就可以导入好几个控件到activex上。

    真人语音库:http://www.hydcd.com/softdown.htm#no3

    其他的我也没有看  主要就是用spvoice

    spvocie.rate -10到10之间取值  控制语速

    spvoice.volume 0..100                       控制音量

    spvoice.voice ispeechobjecttoken     使用getvoice可以获得ispeechobjecttokens,得到本机所有的可用语音库,设定来使用相应的主意库


    朗读就是用spvoice.speak('...............',SVSFlagsAsync);

    我spvoice的onstreamend事件来继续读取memo下一行。

    简单的用,感觉还不错

    文件地址:http://download.csdn.net/detail/jinshaopu/5071464


    用到的其他东西


     SetWindowPos(Form1.Handle,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE or SWP_NOSIZE)窗体置顶

    memo.perform(EM_SCROLL,x,y)滚动条的滚动到特定行

    CurrentLine:=memo。Perform(em_ LineFromChar,0,0);获取当前光标行号

    memo.CaretPos:=tpoint(x,y)设定在光标的位置但是不会滚动


    展开全文
  • 微软TTS 使用

    千次阅读 2016-06-01 15:30:51
    首先安装 Windows Speech SDK,下载地址为:http://www.microsoft.com/download/en/details.aspx?id=10121,SpeechSDK51.exe是简体中文语音引擎,SpeechSDK51LangPach.exe是中文男生语音库。或者安装win8sdk,...

    Win7环境下测试。

    首先安装 Windows Speech SDK,下载地址为:http://www.microsoft.com/download/en/details.aspx?id=10121SpeechSDK51.exe是简体中文语音引擎,SpeechSDK51LangPach.exe是中文男生语音库。

    微软本身的语音库中文语音比较生硬,可以安装NeoSpeech的中文语音库。百度下直接搜索NeoSpeech的中文语音即可找到。

    从网上找的代码封装成类,qt5.5,在简单环境下可以满足需求,直接上代码

    头文件

    <pre name="code" class="cpp">#include <QObject>
    #include <QList>
    #include <sapi.h>
    
    class ISpVoice;
    class ISpObjectToken;
    class ISpAudio;
    class SpFormat;
    class SimpleTTS : public QObject
    {
    	Q_OBJECT
    
    public:
    	SimpleTTS(QObject *parent);
    	~SimpleTTS();
    
    
    	void speak(QString text);
    	
    	//当前的音频格式
    	SPSTREAMFORMAT currFormat();
    private:
    	void initVoices();				//获取可用的语音库
    	void initSpFormat();				//设置可用的音频格式
    
    private:
    
    	bool m_bTTSEnable;				//语音库是否可用
    	ISpVoice* m_pVoice;			    //ms com tts 组件
    	ISpAudio* m_pAudio;				//voice 所使用的 音频相关
    	QList<ISpObjectToken*> m_voices;	//可用的语音库数组
    
    	QList<SpFormat> m_spFmts;       //
    };
    
    
    
    class SpFormat						//封装ms描述的音频格式
    {
    public:
    	SpFormat(SPSTREAMFORMAT vl, QString sz);
    	~SpFormat(){};
    
    	QString discription()const { return m_discription; }
    	SPSTREAMFORMAT getFormat()const{ return m_val; }
    	DWORD rate()const{ return m_bytePS; }
    private:
    	SPSTREAMFORMAT m_val;
    	QString m_discription;
    	DWORD m_bytePS;
    };


    
    cpp
    

    #include "simpletts.h"
    #include <conio.h>
    #include <sphelper.h>
    #include <vector>
    #include <queue>
    #include <string>
    #include <QDebug>
    #include "jiontctrllmgr.h"
    #include "simplelog.h"
    #include "jiontctrllmgr.h"
    
    #include <sphelper.h>
    #include <spuihelp.h>
    
    #pragma comment(lib,"sapi.lib")    //sapi.lib在SDK的lib目录,必需正确配置
    
    SimpleTTS::SimpleTTS(QObject *parent)
    	: QObject(parent), m_pVoice(NULL), m_pAudio(NULL)
    {
    	m_bTTSEnable = true;
    	TCHAR szBuf[80] = { 0 };
    	LPVOID lpMsgBuf = NULL;
    	HRESULT hr = CoInitializeEx(NULL, COINIT_MULTITHREADED);
    
    	if (FAILED(hr))
    	{
    		hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
    		if (FAILED(hr))
    		{
    			FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER |FORMAT_MESSAGE_FROM_SYSTEM,NULL,hr,MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),(LPTSTR)&lpMsgBuf,0, NULL);
    			wsprintf(szBuf, _T("error %d: %s"), hr, lpMsgBuf);
    			LocalFree(lpMsgBuf);
    #ifdef QT_DEBUG
    			qDebug().noquote() << "Error to intiliaze COM reason:" + QString::fromStdWString(szBuf);
    #else
    			LOGERROR("Error to intiliaze COM reason:"+ QString::fromStdWString(szBuf));
    #endif // QT_DEBUG
    			return;
    		}
    	}
    
    	hr = CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_ALL, IID_ISpVoice, (void **)&m_pVoice);
    
    	if (FAILED(hr))
    	{
    		FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, NULL, hr, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR)&lpMsgBuf, 0, NULL);
    		wsprintf(szBuf, _T("error %d: %s"), hr, lpMsgBuf);
    		LocalFree(lpMsgBuf);
    #ifdef QT_DEBUG
    		qDebug().noquote() << "Error to intiliaze ISPVoice component,reason: " + QString::fromStdWString(szBuf);
    #else
    		LOGERROR("Error to intiliaze ISPVoice component,reason: " + QString::fromStdWString(szBuf));
    #endif // QT_DEBUG
    		m_bTTSEnable = false;
    		return;
    	}
    
    	hr = SpCreateDefaultObjectFromCategoryId(SPCAT_AUDIOOUT, &m_pAudio);
    	if (FAILED(hr))
    	{
    		FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, NULL, hr, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR)&lpMsgBuf, 0, NULL);
    		wsprintf(szBuf, _T("error %d: %s"), hr, lpMsgBuf);
    		LocalFree(lpMsgBuf);
    #ifdef QT_DEBUG
    		qDebug().noquote() << "SpCreateDefaultObjectFromCategoryId failed,reason:" + QString::fromStdWString(szBuf);
    #else
    		LOGERROR("SpCreateDefaultObjectFromCategoryId failed,reason:" + QString::fromStdWString(szBuf));
    #endif // QT_DEBUG
    		m_bTTSEnable = false;
    		return;
    	}
    
    	initVoices();
    
    	WCHAR* szDesc;
    
    	QStringList list;
    	for (size_t i = 0; i < m_voices.size(); i++)
    	{
    		SpGetDescription(m_voices[i], &szDesc); //获取语音库描述
    	
    		list << QString::fromStdWString(std::wstring(szDesc));
    		qDebug() << szDesc;
    	}
    	if (list.empty())LOGERROR(QString::fromLocal8Bit("TTS 没有可用的语音库"));
    	else LOGINFO(QString::fromLocal8Bit("TTS 支持语音库:%1").arg(list.join(",")));
    
    	int index = JiontCtrllMgr::getInstance()->config()->voiceIndex();
    	if (index > 0 && index < m_voices.size())
    	{
    		hr = m_pVoice->SetVoice(m_voices[index]);
    	}
    	else
    	{
    #ifdef QT_DEBUG
    		qDebug().noquote() <<QString::fromLocal8Bit("SetVoice index 无效,语音为正确设置!");
    #else
    		LOGERROR(QString::fromLocal8Bit("SetVoice index 无效,语音为正确设置!"));
    #endif // QT_DEBUG
    	}
    
    	initSpFormat();
    	//输出音频设置
    	CSpStreamFormat Fmt;
    	index = JiontCtrllMgr::getInstance()->config()->audioIndex();
    	if (index >= 0 && index < m_spFmts.size())
    	{
    		Fmt.AssignFormat(m_spFmts[index].getFormat());
    		hr = m_pAudio->SetFormat(Fmt.FormatId(), Fmt.WaveFormatExPtr());
    		if (FAILED(hr))
    		{
    #ifdef QT_DEBUG
    			qDebug().noquote() << QString::fromLocal8Bit("SetFormat TTS 初始化失败,TTS 不可用!");
    #else
    			LOGERROR(QString::fromLocal8Bit("SetFormat TTS 初始化失败,TTS 不可用!"));
    #endif // QT_DEBUG
    			m_bTTSEnable = false;
    			return;
    
    		}
    
    		hr = m_pVoice->SetOutput(m_pAudio, FALSE);
    		if (FAILED(hr))
    		{
    #ifdef QT_DEBUG
    			qDebug().noquote() << QString::fromLocal8Bit("SetOutput TTS 初始化失败,TTS 不可用!");
    #else
    			LOGERROR(QString::fromLocal8Bit("SetOutput TTS 初始化失败,TTS 不可用!"));
    #endif // QT_DEBUG
    			m_bTTSEnable = false;
    			return;
    		}
    	}
    }
    
    SimpleTTS::~SimpleTTS()
    {
    	m_pVoice->Release();
    	m_pVoice = NULL;
    	m_pAudio->Release();
    	CoUninitialize();
    }
    
    
    
    void SimpleTTS::speak(QString text)
    {
    	if (!m_bTTSEnable)
    	{
    		printf("tts library cant use!");
    		return;
    	}
    	for (int i = 0; i <= 9;i++)
    	{
    		QString temp = QString("%1").arg(i);
    		text.replace(temp, "[" + temp + "]");
    	}
    	const QList<QPair<QString, QString>>& list = JiontCtrllMgr::getInstance()->config()->replaceList();
    	for (int i = 0; i < list.size();i++)
    	{
    		text.replace(list[i].first, list[i].second);
    	}
    	
    	m_pVoice->Speak((LPCTSTR)text.toStdWString().c_str(), SPF_ASYNC, NULL);
    	//m_pVoice->WaitUntilDone(INFINITE);
    }
    
    
    
    SPSTREAMFORMAT SimpleTTS::currFormat()
    {
    	SPSTREAMFORMAT fmt = SPSF_Default;
    	CComPtr<ISpStreamFormat> cpStream;
    	HRESULT hr = m_pVoice->GetOutputStream(&cpStream);
    
    	CSpStreamFormat Fmt;
    	if (hr == S_OK)
    	{
    		hr = Fmt.AssignFormat(cpStream);
    		if (SUCCEEDED(hr))
    		{
    			fmt = Fmt.ComputeFormatEnum();
    		}
    	}
    	return fmt;
    }
    
    void SimpleTTS::initVoices()
    {
    	IEnumSpObjectTokens* cpEnum;
    	HRESULT hr = SpEnumTokens(SPCAT_VOICES, NULL, NULL, &cpEnum);
    	ULONG i = 0, ulCount = 0;
    	hr = cpEnum->GetCount(&ulCount);
    
    	ISpObjectToken* tok;
    	while (SUCCEEDED(hr) && i < ulCount)
    	{
    		hr = cpEnum->Next(1, &tok, NULL);
    		m_voices.push_back(tok);
    		i++;
    	}
    	cpEnum->Release();
    }
    
    void SimpleTTS::initSpFormat()
    {
    	m_spFmts.push_back(SpFormat(SPSF_12kHz16BitStereo, "SPSF_12kHz16BitStereo"));
    	m_spFmts.push_back(SpFormat(SPSF_16kHz16BitMono, "SPSF_16kHz16BitMono"));
    	m_spFmts.push_back(SpFormat(SPSF_16kHz16BitStereo, "SPSF_16kHz16BitStereo"));
    	m_spFmts.push_back(SpFormat(SPSF_22kHz16BitMono, "SPSF_22kHz16BitMono"));
    	m_spFmts.push_back(SpFormat(SPSF_22kHz16BitStereo, "SPSF_22kHz16BitStereo"));
    	m_spFmts.push_back(SpFormat(SPSF_24kHz16BitStereo, "SPSF_24kHz16BitStereo"));
    	m_spFmts.push_back(SpFormat(SPSF_32kHz16BitStereo, "SPSF_32kHz16BitStereo"));
    	m_spFmts.push_back(SpFormat(SPSF_44kHz16BitMono, "SPSF_44kHz16BitMono"));
    	m_spFmts.push_back(SpFormat(SPSF_44kHz16BitStereo, "SPSF_44kHz16BitStereo"));
    	m_spFmts.push_back(SpFormat(SPSF_48kHz16BitMono, "SPSF_48kHz16BitMono"));
    	m_spFmts.push_back(SpFormat(SPSF_48kHz16BitStereo, "SPSF_48kHz16BitStereo"));
    }
    
    /
    SpFormat::SpFormat(SPSTREAMFORMAT vl, QString  sz)
    {
    	m_val = vl;
    	m_discription = sz;
    	QString sChannel = m_discription.left(15);
    	DWORD sampleRate, bitRate;
    	sscanf(sz.toStdString().c_str(), "SPSF_%ukHz%uBit", &sampleRate, &bitRate);
    	if (sampleRate == 22)
    		sampleRate = 22050;
    	else if (sampleRate == 44)
    		sampleRate = 44100;
    	else
    		sampleRate *= 1000;
    	m_bytePS = sampleRate*bitRate / 8;
    	if (sChannel == "Stereo")
    		m_bytePS *= 2;
    }
    
    







    展开全文
  • 语音朗读

    2019-10-07 08:06:16
    语音朗读需要安装语音引擎: WindowsXP 中默认只安装了Microsoft Sam,而且只能朗读英文,不能读中文。 找了一个Microsoft_TTS_51_chs....Windows Vista/7中默认安装Microsoft Lili,可以中英文混读,但语音效果不...

    语音朗读需要安装语音引擎:

    WindowsXP 中默认只安装了Microsoft Sam,而且只能朗读英文,不能读中文。

    找了一个Microsoft_TTS_51_chs.msi安装了以后多了一个Microsoft Simplified Chinese语音,但只能读中文,不能读英文。

    Windows Vista/7中默认安装Microsoft Lili,可以中英文混读,但语音效果不好,Microsoft Anna 只能读英文。

     

    很多人推荐NeoSpeech Lily,声音的效果比 Microsoft Lili要好。推荐使用。

     

    这个可以下载(内附破解文件): http://www.bibidu.com/fileview-695833.html NeoSpeech语音合成朗读引擎中文女声语音库:一个不错的中文朗读引擎,朗读角色为:VT-Lily(女声),发音特别清晰!不次于VISTA中的LiLi. 下载配套软件《朗读大师2008》: http://shareware.skycn.com/soft/17215.htm 更多软件下载:http://soft.hiw.cn 其他推荐:ScanSoft公司的MeiLing中文女声语音库(非常小巧,不到40M):http://www.bibidu.com/fileview-315399.html

     

    以前在XP中安装NeoSpeech Lily语音库后就可以在XP的 控制面板--语音 中看见 VW Lily ,这就说明安装成功了。
    
    

    破解文件的做法:

    破解文件:新建一个文本,输入以下内容

    License:effacee1e9a0c118ca2dd64bdf6a66c3cc3d82fbee5a11f7002cb600ec1900e8de006e8f00152800adc100f14a0115d5:*:VoiceText:0:1:Nextup:WindowsNT2KXP::;

    --- Label Print ---
    CODE: VoiceText-02FF-278E-8AE6
    Site Name: Nextup
    Host ID: *
    Expiration Date: unlimited
    Maximum Channel: 1
    Operating System: WindowsNT2KXP

    保存文本文件,将其改名为verification,即为上文所需破解文件!

     

     

    **************************************************************

     

     

    不建议使用 修改版。
    如果你想安装语音包,可以到如下网站。
    http://g.iciba.com/dictdown/tts.html
    捷通华声 XiaoKun 女声 中英文
    汉语普通话女声,可朗读简体、繁体中文,可中英文混读,中文音质清晰标准。
    适用平台:简体中文 Windows 2000 / XP / Vista

    大小:72.2M
    微软TTS语音引擎 (TTS Engines) 5.1版
    提供包括 Sam / Mary / Mike 三种美国英语发音
    适用平台:Windows 2000(Windows XP以及更高版本,均已内置了 TTS Engines 5.1,无需安装)

    大小:9.92 MB
    微软简体中文朗读语音库(男声)
    适用平台:Windows 2000 / XP / Vista

    大小:1.55 MB
    Acapela语音引擎:Infovox Desktop v2.2 Engines + 语言包(23种)
    该软件是演示版,有30天的使用限制。包括英国语音、美国英语、德语、法语、西班牙语等23种语音包。需先下载安装语音引擎包,再安装语言包。
    适用平台:Windows 2000 / XP / Vista

    大小:引擎包 23.2 MB,语言包15 MB~460 MB 不等
    NeoSpeech Lily 女声-中文+英文
    汉语普通话女声,可朗读简体、繁体中文,可中英文混读,音质极好。
    适用平台:Windows 2000 / XP / Vista
    大小:476 MB
    NeoSpeech Paul 男声-英文
    适用平台:Windows 2000 / XP / Vista
    大小:223 MB
    NeoSpeech Kate 女声-英文
    适用平台:Windows 2000 / XP / Vista
    大小:224 MB
    NeoSpeech Wang 男声-中文
    适用平台:Windows 2000 / XP / Vista
    大小:192 MB
    NeoSpeech 英、中、韩、日朗读语音库合集
    适用平台:Windows 2000 / XP / Vista
    大小:476 MB
    NextUp ScanSoft RealSpeak TTS - Kyoko 22kHz 女声-日语
    适用平台:Windows 2000 / XP / Vista
    大小:65.33 MB

    下载地址:

    http://www.gougou.com/search?search=neospeech%20lily&restype=-1&id=10004947&ty=0&pattern=0&xmp=0

    http://g.iciba.com/dictdown/tts.html

     

    http://www.verycd.com/topics/2780296/

    http://www.verycd.com/files/58d03a54c1aa94f2ae06b4762b44c72a499476090

    转载于:https://www.cnblogs.com/tiasys/archive/2010/07/29/1787686.html

    展开全文
  • Windows10/Windows8 里面自带了一个优质tts语音库叫 Microsoft Desktop Huihui 发音很好,但是xp自带的 Sam 发音很一般,如何才能将 Microsoft Desktop Huihui 移植到 XP? 微软本身并没提供方法,但是方法是有的。...
  • Windows10/Windows8 里面自带了一个优质tts语音库叫 Microsoft Desktop Huihui 发音很好,但是xp自带的 Sam 发音很一般,如何才能将 Microsoft Desktop Huihui 移植到 XP? 微软本身并没提供方法,但是方法是有的。...
  • 文本转语音

    千次阅读 2014-02-25 22:27:16
    TTS引擎,基于文本驱动的语音发声,核心的应用程序接口是ISpVoice 在有些精简的操作系统下,可能TTS组件无法正常...win7 tts修复文件.zip,解压安装即可。 #include #include #pragma comment(lib,"sapi.lib");
  • 语音识别的两个方法通过微软的SAPI,不仅仅可以实现语音合成TTS,同样可以实现...(注意要引入系统组件SpeechLib,XP要安装识别引擎)2、使用WIN7windows api,其实最终还是调用了SAPI,所以开发出来的东西就只能...
  • 借助Ekho开发粤语语音服务器

    千次阅读 2015-12-15 09:53:25
    这篇文章会写得很简单,大概讲一下步骤。...http://www.eguidedog.net/cn/ekho_cn.php2、Windows7操作系统自带TTS(Text to Speech)服务正常,如果是XP,那需要安装“微软TTS5.1语音引擎(中文).msi”,才能读中文 ...
  • Windows10/Windows8 里面自带了一个优质tts语音库叫 Microsoft Desktop Huihui 发音很好,但是Windows7/Vista 自带的 Lily 发音很一般,如何才能将 Microsoft Desktop Huihui 移植到 Windows7/Vista? 微软本身并没...
  • 我们都知道现在的语音合成TTS是可以通过微软的SAPI实现的,好处我就不多说了,方便而已,因为在微软的操作系统里面就自带了这个玩意,主要的方式有两种: 1、使用COM组件技术,不管是C++,C#,Delphi都能玩的转,开发...
  • 通过微软的SAPI,不仅仅可以实现语音合成TTS,同样可以实现语音识别SR。下面我们就介绍并贴出相关代码。主要有两种方式: 1、使用COM组件技术,不管是C++,C#,Delphi都能玩的转,开发出来的东西在XP和WIN7都能跑。...
  • 前言: 语音合成技术其实并没有什么...首先我们需要一个微软的Speech SDK 5.1的安装包(当然你的机器的操作系统版本要在windows2000以上的这个范畴),来使得我们的机器具有语音识别的功能。安装包,您可以在这里找到: ...
  • 语音识别计算机用微软件的程序

    千次阅读 2012-03-25 20:55:36
    通过微软的SAPI,不仅仅可以实现语音合成TTS,同样可以实现语音识别SR。下面我们就介绍并贴出相关代码。主要有两种方式: 1、使用COM组件技术,不管是C++,C#,Delphi都能玩的转,开发出来的东西在XP和WIN7都能跑。...
  • 通过微软的SAPI,不仅仅可以实现语音合成TTS,同样可以实现语音识别...(注意要引入系统组件SpeechLib,XP要安装识别引擎)2、使用WIN7windows api,其实最终还是调用了SAPI,所以开发出来的东西就只能在WIN7上面...
  • C#调用SAPI实现语音识别的两种方法

    千次阅读 2014-12-27 07:43:50
    通过微软的SAPI,不仅仅可以实现语音合成TTS,同样可以实现语音识别SR。下面我们就介绍并贴出相关代码。主要有两种方式: 1、使用COM组件技术,不管是C++,C#,Delphi都能玩的转,开发出来的东西在XP和WIN7都能跑。...
  • 依托必应搜索引擎技术,及时发现并收录网络新兴词汇,独创性的推出近音词搜索,近义词比较,词性百搭,拼音搜索,还具有拼音例句、搭配建议、近音词搜索、机器翻译、词性百搭搜索、逐词释义、词条标签、TTS语音合成...
  • 实例006 TTS语音录音 16 1.2 音频播放及录制 19 实例007 播放MP3文件 19 实例008 实现队列播放MP3 20 实例009 读取和写入M3U文件 21 实例010 迷你歌词秀 26 实例011 歌词编辑器 31 实例012 自制录音机 34 ...
  • 实例006 TTS语音录音 16 1.2 音频播放及录制 19 实例007 播放MP3文件 19 实例008 实现队列播放MP3 20 实例009 读取和写入M3U文件 21 实例010 迷你歌词秀 26 实例011 歌词编辑器 31 实例012 自制录音机 34 ...

空空如也

空空如也

1 2
收藏数 26
精华内容 10
热门标签
关键字:

windows7安装tts语音