在花了很多时间在网上搜索之后,我想是时候问了。
我试图用SAPI5在C++中实现一些文本到语音。唯一可用的64位语音是安娜。和安娜在一起一切都很好,但我也需要一个德语的声音。所以我找到了Hedda(微软)和Steffi(Realspeak)。
我已经想要实施一些约会服务了。
Hedda和Steffi都没有被添加到注册表中。因此,SAPI没有检测到这两个标记,而SAPI检查"HKLM\SOFTWARE\Microsoft\Speech\ voices“以获得所需的令牌来选择声音。我还试图将注册表路径更改为...\SOFTWARE\Wow6432Node.使用32位的声音,但没有成功。
有没有人知道如何使用Hedda或Steffi和Sapi?有没有办法使用32位的声音?
希望有人能帮上忙。提前谢谢。
发布于 2016-03-04 10:51:35
嗯,编辑注册表完成了任务。
从“\Server\v11.0.”复制注册表条目后“演讲”(参见Lesley )和重新安装SDK,运行时和语音,声音-“Hedda”可以使用64位系统的64位应用程序。
谢谢你的帮助。
发布于 2016-03-03 15:48:52
如果您构建了32位程序,并且将32位声音正确安装到注册表中,则可以使用32位声音。I describe how to do this registry hack over here。基本上,你只需在注册表中移动东西。实现这一目标的最快方法是安装所有您想要的声音,然后使用RegEdit导出那些特定的注册中心,以供您的语音平台声音所在。
然后使用文本编辑器打开注册表文件,并将“语音服务器\v11.0\声音”替换为“语音\声音”,并将“语音服务器\v11.0\声音”替换为“语音\声音”。保存注册表文件,然后运行它们以添加到注册表中。
您应该能够在windows提供的正常文本到语音对话框中测试您的新声音。但是,如果您在64位系统中,并且您想测试32位声音(因为您正在构建一个32位程序),则必须使用以下任何一种方法打开windows语音到文本对话框
C:\Windows\SysWOW64\Speech\SpeechUX\sapi.cpl的32位声音,我相信和
64位系统语音的C:\Windows\System32\Speech\SpeechUX\sapi.cpl。
尽管这看起来很矛盾。
https://stackoverflow.com/questions/35775542
复制相似问题