但是,原作者好像忽略了什么事情……为了让UWP等使用WinRT API的应用也能调用Hongyu的TTS,原作者在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech_OneCore\Voices\Tokens\
处添加了相关键值。然而,我们查看设置的语音设置页面,并未发现新添加的Hongyu TTS。

通过搜索引擎的帮助,很容易就发现解决方法:How to enable Microsoft Eva (Cortana's voice) on Windows 10?。结论是,C:\Windows\System32\Speech_OneCore\Common\zh-CN\
和C:\Windows\SysWOW64\Speech_OneCore\Common\zh-CN\
处,添加相关.xml
文件,以支持通过WinRT TTS API的应用能够使用Hongyu TTS。
<?xml version="1.0" encoding="utf-8"?>
<Tokens>
<Category name="Voices" categoryBase="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech_OneCore">
<Token name="MSTTS_V110_zhCN_HongyuM">
<String name="" value="Microsoft Hongyu - Chinese (Simplified, PRC)" />
<String name="LangDataPath" value="%windir%\Speech_OneCore\Engines\TTS\zh-CN\MSTTSLoczhCN.dat" />
<String name="VoicePath" value="%windir%\Speech_OneCore\Engines\TTS\zh-CN\M2052Hongyu" />
<String name="804" value="Microsoft Hongyu - Chinese (Simplified, PRC)" />
<String name="CLSID" value="{179F3D56-1B0B-42B2-A962-59B7EF59FE1B}" />
<Attribute name="Version" value="11.0" />
<Attribute name="Language" value="804" />
<Attribute name="Gender" value="Female" />
<Attribute name="Age" value="Adult" />
<Attribute name="DataVersion" value="11.0.2013.1022" />
<Attribute name="SharedPronunciation" value="" />
<Attribute name="Name" value="Microsoft Hongyu" />
<Attribute name="Vendor" value="Microsoft" />
<Attribute name="SayAsSupport" value="spell=NativeSupported; cardinal=GlobalSupported; ordinal=NativeSupported; date=GlobalSupported; time=GlobalSupported; telephone=NativeSupported; computer=NativeSupported; address=NativeSupported; percentage=NativeSupported; currency=NativeSupported; message=NativeSupported; url=NativeSupported; alphanumeric=NativeSupported" />
<Attribute name="SampleText" value="您已选择 %1 作为默认语音" />
</Token>
</Category>
</Tokens>
PS:Microsoft Hongyu - Chinese (Simplified, PRC)
、Microsoft Hongyu
可以替换为其他名称,我使用了Cortana
。.xml
文件可以命名为Tokens_TTS_zh-CN_Hongyu.xml
这样,我们就可以让使用WinRT API的应用也能调用Hongyu的TTS了。