问题
如何使用Microsoft Speech SDK,请参考https://blog.csdn.net/daoming1112/article/details/77542562
使用系统自带男声语音,不需要安装。win10系统
将女生改为系统自带男声(Kangkang)
根据链接中使用SDK只能使用默认的女声的语音,改为男声修改代码如下。
ISpObjectToken* pSpObjectToken = nullptr;
hr = SpFindBestToken(_T(SPCAT_VOICES), L"language=804", L"name=Microsoft Kangkang", &pSpObjectToken);
if (SUCCEEDED(hr))
{
pVoice->SetVoice(pSpObjectToken); // 声音大小
pVoice->SetRate(2); // 语速
pSpObjectToken->Release();
}
1、修改男声语音需要修改注册表。win+R regedit打开注册表,根据下面路径展开,我的没有MSTTS_V110_ZHCN_KangkangM这项。后来增加的。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens
2、展开下面路径注册表,可以看到有MSTTS_V110_ZHCN_KangkangM这项,右键导出,保存到桌面。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech_OneCore\Voices\Tokens
3、使用文本工具修改保存的注册表文件,将Speech_OneCore改为Speech。保存
4、双击修改后的文件,点击确定后,查看Speech路径下有Kangkang这项了。
5、再重新执行代码,查看声音是否改变。
根据上面的步骤我的播放声音是改变了,但是还是女生,是yaoyao的女生。是因为下面注册表路径中VoicePath这个配置的路径指向了yaoyao的文件。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\MSTTS_V110_zhCN_KangkangM
改为Kangkang的声音步骤
1、使用文件管理器打开路径:%windir%\Speech_OneCore\Engines\TTS\zh-CN
2、查看目录下是否有Kangkang的文件,如下图
3、将VoicePath中的路径改为:%windir%\Speech_OneCore\Engines\TTS\zh-CN\M2052Kangkang
4、重新执行代码后声音变为男声。