T先生使用Windows奇奇怪怪的方法 (三):将Cortana“带回”Windows
- 已编辑
- #6
但是,原作者好像忽略了什么事情……为了让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了。
- #8
最后总结一下。
- 这是全互联网你能找到的将Cortana TTS带回Windows最准确,最高效(但是不全面)的教程。同时,本教程也为手动添加TTS提供了重要参考。
- 上述提及的链接中的内容请谨参考,那些链接里的方法有些并不准确,有些没有效果。
- 已编辑
- #9
但是……
如果你真的去听这个语音,会发现十分僵硬,完全不是当年记忆中的小娜。
现在是2025年,我们可以有很多种方法尽力还原当年小娜的语音效果:
- 可以调优小娜的tts,改善其输出时的声调和速度。
- 可以基于互联网上现存的小娜视频中的声音,通过AI训练tts模型
可以抢劫丹棱街某公司,逼迫他们交出?!/@*%--?
所以,这个路程并未结束,仅仅是个开始,我们只是走完了第一部分的第一篇章。作者将尽力探索,会适时更新后续,直到用今天的技术真正复活小娜。
不过即便如此,我们还是得不到自然语音版的小娜
https://wvbimg2-1310561333.cos.ap-tokyo.myqcloud.com/2025-03-22/1742664381-277972-getvoice.mp3
- #10
ThinkBou 尽力还原当年小娜的语音效果
首先先支持一下(
自然语音看起来是使用了 AI 模型运算的,使用了 onnxruntime 组件
或许咱手搓一个()
另外我们都知道,Windows 10 oobe 里面的小娜没网也有正常的语气,实在怀念不如一起去扒里面的 SSML 吧
- #12
Baka632 我记得您应该还做过一个可以触发小娜自定义响应的应用(),好像也是有自动调教语气的来着?会不会语气微调在本地也有一部分存在……
DaleZ 自然语音看起来是使用了 AI 模型运算的,使用了 onnxruntime 组件
我希望仅仅只是生成了 SSML 而不是直接生成语音,自然语音也是包,而里面的内容和结构很类似于 Hongyu。
https://apps.microsoft.com/detail/9nthzkrrfghd?hl=zh-CN&gl=CN
https://apps.microsoft.com/detail/9nlcmwx9zzjz?hl=zh-CN&gl=CN