目前很多開發者已經開始使用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:\Windows\Speech_OneCore\Engines\SR 目錄下,把zh-CN-N的這個文件夾拷貝到你的IoT設備。
拷貝到哪個目錄呢,拷貝到 \\192.168.1.215\C$\Windows\Speech_OneCore\Engines\SR
接着需要拷貝TTS的文件
同樣的,從PC的TTS目錄下拷貝zh-CN-N到你的IoT設備下的TTS目錄。
-
通過powershell,拷貝相關文件
是不是這樣就大功告成了么?不是的,還差一個文件夾沒拷。還得從你的PC機器C:\Windows\System32\Speech_OneCore\Common\拷貝zh-CN的文件夾到\\192.168.1.215\C$\Windows\System32\Speech_OneCore\Common這個目錄下。
那就拷唄,如果直接跟前面一樣使用FTP直接拷的,會有這樣的提示。
Common是一個比較特殊的文件夾,需要管理員權限才能拷貝文件。那怎么辦呢。
可以用PowerShell。
使用管理員權限打開Powershell
先把要的文件夾拷貝到\\192.168.1.215\C$\Windows\System32\Speech_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 }
查看結果:
遇到問題歡迎留言探討,希望能夠幫到大家。