目前很多开发者已经开始使用Windows 10 IoT来做物联网领域的开发了,目前Windows 10 IoT Core的版本支持树莓派2(以及新出的树莓派3)、Minnowboard Max以及Dragonboard。
但是目前如果是做语言开发相关(TTS, Speeh Recognition)的童鞋们就会遇到一个问题,目前Windows 10 Iot core的版本只有英文版本,怎么支持其他语言呢。目前官方是没有语言包可以下的,但是有特别的方法可以来解决这个问题。
其实非常简单的,下面以Dragonboard 410c为例(其实树莓派也一样的)给大家讲解一下。
-
预先准备。首先在你的PC(Windows 10)上安装你想要的语音包,如简体中文。
设置à时间和语言à区域和语言,添加语音,把相应的语言添加上。
下载该语音的语音包,下载完成应该如下图所示。
- 确保你的PC与Dragonboard一起连接到同一个局域网内。
-
通过FTP,连接到你的Dragonboard,拷贝相应的文件
好了,现在打开资源管理器,输入你的Dragonboard或者树莓派的IP地址,如下:
这个时候会询问你用户名跟密码,用户名就是administrator 密码默认是p@ssw0rd
这样就可以进入到Dragonboard的C盘目录了:
拷贝SR文件
从你的PC机的C:WindowsSpeech_OneCoreEnginesSR 目录下,把zh-CN-N的这个文件夹拷贝到你的IoT设备。
拷贝到哪个目录呢,拷贝到 \192.168.1.215C$WindowsSpeech_OneCoreEnginesSR
接着需要拷贝TTS的文件
同样的,从PC的TTS目录下拷贝zh-CN-N到你的IoT设备下的TTS目录。
-
通过powershell,拷贝相关文件
是不是这样就大功告成了么?不是的,还差一个文件夹没拷。还得从你的PC机器C:WindowsSystem32Speech_OneCoreCommon拷贝zh-CN的文件夹到\192.168.1.215C$WindowsSystem32Speech_OneCoreCommon这个目录下。
那就拷呗,如果直接跟前面一样使用FTP直接拷的,会有这样的提示。
Common是一个比较特殊的文件夹,需要管理员权限才能拷贝文件。那怎么办呢。
可以用PowerShell。
使用管理员权限打开Powershell
先把要的文件夹拷贝到\192.168.1.215C$WindowsSystem32Speech_OneCore 目录下,然后再用PS拷过去就可以了。
使用PS,启动
在输入Enter-PSSession的命令连接你的dragonboard的时候会比较久,大概30秒左右,请耐心等待。
连接完你就可以cd到相应的目录拷贝了。
结果应该是:
-
测试中文语音
你可以新建一个Universal App的小程序试一下。
1 public MainPage() 2 { 3 this.InitializeComponent(); 4 5 var synt = new SpeechSynthesizer(); 6 7 foreach (var voice in SpeechSynthesizer.AllVoices) 8 { 9 Debug.WriteLine($"Name: {voice.DisplayName} Lang: {voice.Language} Type: {voice.Gender} Description : {voice.Description}"); 10 } 11 }
查看结果:
遇到问题欢迎留言探讨,希望能够帮到大家。