精华内容
下载资源
问答
  • 可否帮解答一下,Java如何调用windows语音库?百度上面的cameltts.jar和cameltts.dll如何得来?有没有例子借我参考参考?
  • Windows XP 中文女声语音库

    热门讨论 2012-03-29 11:42:28
    Windows XP 中文女声语音库 除了语音库安装程序外,还提供C#.Net的语音库调用程序
  • 使用Windows自带语音库实现语音合成
  • 微软中文语音库安装程序,,,,,,,,,,,,,,
  • 我想做一个英语教学软件,其中用到tts,但是java如何才能用已经安装语音库来进行发音(现在就是不清楚要调用那些dll,dll里面有哪些方法)?
  • 微软中文语音库

    热门讨论 2012-04-28 15:26:07
    微软中文语音库安装即可使用。想做TTS项目的可以用来尝试一下
  • XP中文语音库

    热门讨论 2011-12-24 13:03:34
    非常好的中文语音库,小小的文件包含3个不同角色的中文发音,支持多种语音软件,声音非常接近真人语气,发声标准,其中尤以IQ CHERRY为赞,更难得的是软件才7M大小不到
  • 本文提及的文本转语音库其实很多年前写的库,最近有才时间整理才将对应库整理成文章供各位网友参考。 其实在windows下自带了文本转语音以及语音识别的功能,这里由于项目中需要将报警文本信息使用语音形式转化出来...

    一、文本转语音实现

     

    本文提及的文本转语音库其实很多年前写的库,最近有才时间整理才将对应库整理成文章供各位网友参考。

    其实在windows下自带了文本转语音以及语音识别的功能,这里由于项目中需要将报警文本信息使用语音形式转化出来,所以这里仅仅只介绍文本转语音的使用。

     

    windows下我们将文本转语音使用的就是windows自带的COM组件,也就是TTS库,为了方便使用我将语音转文本的库封装成一个Dll库,目的也是为了后续组件化和模块化后续系统的功能,该封装库仅有三个功能:

    (1)语音库的初始化

    //-------------------------------------------------
    //	功  能:语音库的初始化
    //  参  数:
    //		无
    //	返回值:
    //		成功返回true反之返回false
    //	说  明:
    //		在系统初始化的时候调用该接口与TTS_UnInit对应
    //-------------------------------------------------
    TTSSDK_API bool TTS_Init();

    (2)本文转语音

    //-------------------------------------------------
    //	功  能:语音库的初始化
    //  参  数:
    //		【输入】content		:	需要播放的文字内容
    //		【输入】size		:	播放的文字内容长度
    //	返回值:
    //		无
    //	说  明:
    //		为了性能,该接口是异步接口调用后后台自动播放
    //-------------------------------------------------
    TTSSDK_API void TTS_Speak(const char* content,const int size);

    (3)语音库的反初始化

    //-------------------------------------------------
    //	功  能:语音库的反初始化
    //  参  数:
    //		无
    //	返回值:
    //		无
    //	说  明:
    //		在系统退出的时候调用该接口以使用资源
    //-------------------------------------------------
    TTSSDK_API void TTS_UnInit();

    我们将重点放在第三个接口的实现上:  

    TTSSDK_API void TTS_Speak(const char* content,const int size)
    {
    	NetCommandPtr pCmd = boost::make_shared<CNetCommand>(boost::BOOST_BIND(CTtsInstance::Speek, content));
    	CMessageEngine::get_mutable_instance().Post(pCmd);
    }
    

    该接口的实现是通过异步方式调用的,这里使用了boost封装的消息处理引擎处理对应的消息,其目的是为了上层应用调用的完成之后可以继续做自己的工作,而不影响上层应用,特别是UI相关的线程,因为语音播放如果是同步播放的,10几个文字播放出来(包括标点符号的停顿)大概需要6-10秒,所以该接口是做成了异步处理。

     

    最后,我们只需要关注TTS的实例的Speek方法实现就可以了:

    bool CTtsInstance::Speek(std::string text)
    {
    	// window 64[不能使用-只能调用32bit程序]
    	if (!CTtsInstance::Prepared())
    	{
    		TCHAR filePath[MAX_PATH] = { 0 };
    		GetModuleFileName(NULL, filePath, MAX_PATH);
    		_tcsrchr(filePath, _T('\\'))[1] = _T('\0');
    		_tcscat(filePath, _T("tts.exe"));
    
    		if (-1 == _taccess(filePath, 0))
    			return false;
    
    		STARTUPINFO   si = { 0 };
    		ZeroMemory(&si, sizeof(si));
    		si.cb = sizeof(si);
    		si.dwFlags = /*STARTF_USESHOWWINDOW*/0;
    		si.wShowWindow = /*SW_SHOW*/SW_HIDE;
    		si.lpDesktop = NULL;
    
    		PROCESS_INFORMATION   ProcessInformation;
    		ZeroMemory(&ProcessInformation, sizeof(ProcessInformation));
    		if (CreateProcess(filePath, (LPTSTR)text.c_str(), NULL, NULL, FALSE,/*CREATE_NEW_CONSOLE*/0, NULL, NULL, &si, &ProcessInformation))
    		{
    			WaitForSingleObject(ProcessInformation.hProcess, INFINITE);
    			::CloseHandle(ProcessInformation.hThread);
    			::CloseHandle(ProcessInformation.hProcess);
    		}
    	}
    	else
    	{
    		if (!m_pISpVoice)
    			return false;
    
    		// 开始进行朗读
    		BSTR content = _com_util::ConvertStringToBSTR(text.c_str());
    		HRESULT hr = m_pISpVoice->Speak(content, SPF_ASYNC, NULL);
    		SysFreeString(content);
    	}
    	return true;
    }

    这里做了两部分工作:

    (1)播放文本

    我们使用的是语音播放COM库ISpObjectToken实现的,该组件初始化如下:

    bool CTtsInstance::Init()
    {
    	// 初始化COM组件
    	if(FAILED(::CoInitialize(NULL)))
    		return false;
    
    	if(FAILED(m_pISpVoice.CoCreateInstance(CLSID_SpVoice)))
    		return false;
    
    	// 枚举所有语音Token
    	CComPtr<IEnumSpObjectTokens> cpEnum;
    	if(FAILED(SpEnumTokens(SPCAT_VOICES, L"", L"", &cpEnum)))
    		return false;
    	
    	ISpObjectToken* pToken = NULL;
    	while (cpEnum->Next(1, &pToken, NULL) == S_OK)
    	{
    		CSpDynamicString dstrDesc;
    		HRESULT hr = SpGetDescription(pToken, &dstrDesc);
    		if (SUCCEEDED(hr))
    		{
    			m_vecISpToken.push_back(pToken);
    		}
    	}
    
    	SetVoice(2052);
    
    	return true;
    }

    播放的时候我们只需要调用Speak接口即可,注意因为用的是COM组件,所以字符串也需要转换为COM的BSTR字符串!

    (2)64bit系统兼容

    因为我的程序一般都做了32bit和64bit的windows程序(包括所有dll库),经过测试发现64bit系统是调用COM库的,但是为了兼容其他的64bit库和app调用,我也必须兼容64bit的应用,我想到的好的办法是:本地调用。  

     

    既然系统仅仅支持32bit调用,那么64bit的dll封装只需要调用32bit的库就可以了,但是64bit的dll是无法调用32bit的dll的,但是可以通过进程方式调用,所以我又将该库封装成了一个32bit的exe,然后64bit的dll调用32bit的exe。该调用如下:  

    		TCHAR filePath[MAX_PATH] = { 0 };
    		GetModuleFileName(NULL, filePath, MAX_PATH);
    		_tcsrchr(filePath, _T('\\'))[1] = _T('\0');
    		_tcscat(filePath, _T("tts.exe"));
    
    		if (-1 == _taccess(filePath, 0))
    			return false;
    
    		STARTUPINFO   si = { 0 };
    		ZeroMemory(&si, sizeof(si));
    		si.cb = sizeof(si);
    		si.dwFlags = /*STARTF_USESHOWWINDOW*/0;
    		si.wShowWindow = /*SW_SHOW*/SW_HIDE;
    		si.lpDesktop = NULL;
    
    		PROCESS_INFORMATION   ProcessInformation;
    		ZeroMemory(&ProcessInformation, sizeof(ProcessInformation));
    		if (CreateProcess(filePath, (LPTSTR)text.c_str(), NULL, NULL, FALSE,/*CREATE_NEW_CONSOLE*/0, NULL, NULL, &si, &ProcessInformation))
    		{
    			WaitForSingleObject(ProcessInformation.hProcess, INFINITE);
    			::CloseHandle(ProcessInformation.hThread);
    			::CloseHandle(ProcessInformation.hProcess);
    		}

    通过查找本地的tts.exe文件进行远程调用并传递参数给exe即可。

     

    二、测试示例

    测试实例代码如下:

    int _tmain(int argc, _TCHAR* argv[])
    {
    	if(!TTS_Init()){
    		printf("初始化语音引擎失败!\n");
    	}
    
    	while (true)
    	{
    		TTS_Speak("尊敬的李先生,早上好!", 0);
    		printf("尊敬的李先生,早上好!\n");
    		Sleep(5000);
    	}
    
    	TTS_UnInit();
    
    	return 0;
    }
    

     

    (1)32bit的程序测试如下

    可以看到播放正常!

    (2)64bit程序测试如下

    可以看到64bit的dll被调用后播放也依然正常,只不过通过进程调用方式耗时稍微长一点,不过也只能通过这种方式兼容了。

     

    三、注意问题

    不同机器测试可以发现,阉割版本的win7是没有自带语音库的,所有初始化语音COM组件正常,所以我们需要修复语音库,这里需要32bit和64bit的语音修复库,另外也可以安装自己喜欢的语音播放库(我的是男士音,不好辨识!)

     

     

    源码获取、合作、技术交流请获取如下联系方式:  
    QQ交流群:961179337  
     

    微信账号:lixiang6153  
    公众号:IT技术快餐  
    电子邮箱:lixx2048@163.com  

    展开全文
  • 本语音引擎在Windows 8系统中可直接使用,可调用微软最新语音库,而在Windows XP和Windows 7系统中并没有默认安装该语音引擎,因此没有Win 8的情况下对微软新版的语音库蚂蚁早就垂涎八千尺了,例如微软的Huihui女声...
  • Windows基于anaconda的python3.6环境下安装用于语音信号处理的librosa 1 初始环境安装anaconda的方法与windows安装普通软件没有区别,下载安装包安装即可,其中包括python环境以及众多python的,包括numpy等...

    1 初始环境

    安装anaconda的方法与windows上安装普通软件没有区别,下载安装包安装即可,其中包括python环境以及众多python的库,包括numpy等。安装完之后包括以下内容:

    这里写图片描述

    之后可以在Anaconda Prompt(与cmd、powershell类似)中使用pip安装想用的其他库,包括深度学习很火的tensorflow,方法可以参考其官网。

    2 安装librosa

    基于以上环境,下面是安装librosa的过程与遇到的各类问题
    根据librosa的安装与使用文档 https://librosa.github.io/librosa/install.html 直接在Anaconda Prompt 中尝试使用pip进行安装

    pip install librosa

    可能出现类似如下错误信息:

    这里写图片描述

    下面逐一解决。

    1)解决问题一

    按提示网址 http://landinghub.visualstudio.com/visual-cpp-build-tools 下载并安装Visual C++ 14.0 下载界面如下图,之后按默认安装即可。
    这里写图片描述

    2)解决问题二

    在尝试各种安装方法的时候找到网页 http://www.lfd.uci.edu/~gohlke/pythonlibs/ 里面有众多python库的.whl安装包,其中有以下文字:

    这里写图片描述

    这里说明了两个问题,第一是很多的库依赖numpy-1.13+mkl,这就是我们要解决的第二个问题;第二是依赖Visual C++,我们已经安装了。
    在这个界面中找到所需要的numpy-1.13+mkl,下载对应版本

    这里写图片描述

    然后在Anaconda Prompt中使用pip uninstall numpy卸载原有的numpy,再使用

    pip install “d:\webdownload\numpy‑1.13.1+mkl‑cp36‑cp36m‑win_amd64.whl”

    安装已经下载的numpy-1.13+mkl,双引号里面为完整的文件位置。

    3 重新安装

    解决以上两个问题后,重新使用pip install librosa即可成功安装librosa,之后就可以在python中通过import librosa 使用其对语音信号进行处理了,其中的各类函数方法可以参考上面给出的librosa的使用文档。

    展开全文
  • Windows语音朗读

    万次阅读 2019-12-07 22:15:42
    代码非常简单: import win32com.client # 系统客户端包 dispatch = win32...dispatch.Speak('王涛,你酷,你喝水在水库,睡觉在古墓,嘴里流瀑布,四肢像枕木,你当你是貂禅吕布,其实你是南极土著。') ......

    代码非常简单:

    import win32com.client  # 系统客户端包
    
    dispatch = win32com.client.Dispatch('SAPI.SPVOICE')  # 系统接口
    dispatch.Speak('王涛,你酷,你喝水在水库,睡觉在古墓,嘴里流瀑布,四肢像枕木,你当你是貂禅吕布,其实你是南极土著。')
    

     

    展开全文
  • 安装librosa conda install -c conda-forge librosa 音频特征提取——librosa工具包使用

    安装librosa

    conda install -c conda-forge librosa

    音频特征提取——librosa工具包使用

    展开全文
  • Windows10/Windows8 中自带的语音库 Microsoft Desktop Huihui 安装到 XP 的方法。 Win8语音库MS-Huihui转XP,这个是语音库安装后无界面,可用微软提供的免费的TTSApp 这个工具选安装语音库播音。Windows10/...
  • Windows10/Windows8 中自带的语音库 Microsoft Desktop Huihui 安装Windows7/Vista的方法。 Win8语音库MS-Huihui转Win7/Vista,这个是语音库安装后无界面,可用微软提供的免费的TTSApp 这个工具选安装的...
  • Win8语音库是将 Windows10/Windows8 中自带的语音库 Microsoft Desktop Huihui 安装到 XP 的方法。 Win8语音库MS-Huihui转XP,这个是语音库安装后无界面,可用微软提供的免费的TTSApp 这个工具选安装语音库播音...
  • Win8语音库MS-Huihui转Win7能将 Windows10/Windows8 中自带的语音库 Microsoft Desktop Huihui 安装Windows7/Vista的方法。 Win8语音库MS-Huihui转Win7/Vista,这个是语音库安装后无界面,可用微软提供的免费的...
  • windows版的语音识别支持 cmu sphinxbase sphinx 运行时,必须要有的
  • 中文语音库 微软 sdk

    2018-03-29 16:13:52
    中文sdk,有实例,Win系统下语音合成开发,微软中文语音sdk
  • 破解有道词典语音库

    2018-04-13 15:51:00
    最近发现有道词典的语音很不错,但是喜欢Lingoes的Oxford词典,想结合两者(显示Oxford词典+有道语音库)。 在有道词典中点击下载语音库资料 下载的文件在这个目录:  C:\Users\nidaye\AppData\Local\...
  • 中文女声语音库包括简体,繁体汉字共20000多个,并包含全部的标点符号, 数字,英文字母等。中文女声语音库采用标准普通话读音,朗读清晰,准确, 可以作为学习普通话的范例读音。 将ChTTSEngine.dll复制到安装...
  • 万能的CSDN,有哪位大牛研究过github上的aubio语音分析处理?看了半天应该是支持windows的,可我还没弄清该怎么在windows上编译??
  • 中文女声语音库[Mina]4.8让你拥有更好的阅读体验,放松你的眼让你阅读文本不在眼疲劳。
  • python语音播报库-python 语音库

    千次阅读 2020-11-01 12:57:56
    广告关闭腾讯云双11爆品提前享,精选热门产品助力上云,云服务器... 此外,请建议我免费的python,这将帮助我解决问题...应用包括语音拨号、语音导航、室内设备控制、语音文档检索、简单的听写数据录入等。 一、功...
  • 开发工具:Visual Studio 2019 Preview ...不同语音库有不同的特性,或特性,有些字符有其对应的效果,比如某些分隔符可延迟后续播放词语间间隔(语顿) 某些语音库还富含语调,层次分明,效果真是 如:N...
  • Windows 语音识别编程

    千次阅读 热门讨论 2008-12-22 21:06:00
    语音类 1)在构造语音类之前,必须先设置好工程环境: a、从微软官方网站下载windows speech sdk并安装,然后在Visual Studio 6.0中进行相关设置,在Project Setings选项的C++选项卡的“分类:预处理器”添加“,__WIN...
  • tts语音库修复补丁win7/xp。 http://www.wsgosft.net/t2s/ 文字转语音助手。
  • 如何调用Windows本身的语音功能函数来执行语音播报,需要注意释放资源的问题
  • 语音包,分男女两种 专为tts技术提供!声音流利程度绝对比windows自带的效果好
  • 它利用统一的Windows 10语音识别引擎 您将需要启用它才能使用此应用程序 他们是从参与此应用程序的一些网络爬取,以获取单词的拼音以及在资源文件夹中的应用程序中大量存储类似数据 该应用程序的当前版本与专有api...
  • 语音库下载地址 给出了PB、C#2.0 3.0的例子 具体说明见: http://www.glimmer.cn/blog/post/318.html 【不好意思 PB、C#2.0 3.0的例子请到上面的网站上下载 谢谢~~】

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,625
精华内容 8,250
关键字:

windows语音库安装