感謝IT之家網友 莫問霜飛 的原創投稿
Cortana(中文名:微軟小娜)是微軟發布的全球第一款個人智能助理。它「能夠了解用戶的喜好和習慣」,「幫助用戶進行日程安排、問題回答等」。微軟小娜自從發布以來就深受用戶喜愛,特別是它甜美的聲音,更是吸引了眾多粉絲,我也是眾多粉絲之一。
圖1:Cortana
可惜的是,微軟小娜發布以來只能以用戶助手的身份出現在電腦和手機上,能做的事情不是太多,比如我一直就非常喜歡讓小娜把小說朗讀給我聽,但現實的殘酷的,小娜雖然近在咫尺,卻如遠在天邊的仙子一樣,讓她為我朗讀小說可望而不可及。幸運的是,在查閱了大量的資料後,我終於找到了一種方法讓她朗讀文本的方法了,小娜這美麗的天仙終於下凡了。
圖2:來自微軟小娜的問候
不敢藏私,現在我把方法分享給廣大IT之家網友,祭出PowerShell大法,把下面的代碼複製為.ps1文件保存好,打開PowerShell(管理員),把執行.ps1文件。當然也可以複製之後直接執行命令,都是一樣的效果。
$TTS1 = "HKLM:\SOFTWARE\Microsoft\Speech_OneCore\Voices\Tokens\MSTTS_V110_zhCN_HongyuM"
$TTS1ATTRIB = "HKLM:\SOFTWARE\Microsoft\Speech_OneCore\Voices\Tokens\MSTTS_V110_zhCN_HongyuM\Attributes"
$TTS2 = "HKLM:\SOFTWARE\Microsoft\Speech\Voices\Tokens\MSTTS_V110_zhCN_HongyuM"
$TTS2ATTRIB = "HKLM:\SOFTWARE\Microsoft\Speech\Voices\Tokens\MSTTS_V110_zhCN_HongyuM\Attributes"
New-Item -Path $TTS1,$TTS2,$TTS1ATTRIB,$TTS2ATTRIB
New-ItemProperty -Path $TTS1,$TTS2 -Name "(default)" -PropertyType string -Value "Microsoft Hongyu Mobile - Chinese (Simplified, PRC)"
New-ItemProperty -Path $TTS1,$TTS2 -Name LangDataPath -PropertyType string -Value "%windir%\\Speech_OneCore\\Engines\\TTS\\zh-CN\\MSTTSLoczhCN.dat"
New-ItemProperty -Path $TTS1,$TTS2 -Name LangUpdateDataDirectory -PropertyType string -Value "%SystemDrive%\\Data\\SharedData\\Speech_OneCore\\Engines\\TTS\\zh-CN"
New-ItemProperty -Path $TTS1,$TTS2 -Name VoicePath -PropertyType string -Value "%windir%\\Speech_OneCore\\Engines\\TTS\\zh-CN\\M2052Hongyu"
New-ItemProperty -Path $TTS1,$TTS2 -Name VoiceUpdateDataDirectory -PropertyType string -Value "%SystemDrive%\\Data\\SharedData\\Speech_OneCore\\Engines\\TTS\\zh-CN"
New-ItemProperty -Path $TTS1,$TTS2 -Name 804 -PropertyType string -Value "Microsoft Hongyu Mobile - Chinese (Simplified, PRC)"
New-ItemProperty -Path $TTS1,$TTS2 -Name CLSID -PropertyType string -Value "{179F3D56-1B0B-42B2-A962-59B7EF59FE1B}"
New-ItemProperty -Path $TTS1ATTRIB,$TTS2ATTRIB -Name Version -PropertyType string -Value "11.0"
New-ItemProperty -Path $TTS1ATTRIB,$TTS2ATTRIB -Name Language -PropertyType string -Value "804"
New-ItemProperty -Path $TTS1ATTRIB,$TTS2ATTRIB -Name Gender -PropertyType string -Value "Female"
New-ItemProperty -Path $TTS1ATTRIB,$TTS2ATTRIB -Name Age -PropertyType string -Value "Adult"
New-ItemProperty -Path $TTS1ATTRIB,$TTS2ATTRIB -Name DataVersion -PropertyType string -Value "11.0.2013.1022"
New-ItemProperty -Path $TTS1ATTRIB,$TTS2ATTRIB -Name SharedPronunciation -PropertyType string -Value ""
New-ItemProperty -Path $TTS1ATTRIB,$TTS2ATTRIB -Name Name -PropertyType string -Value "Microsoft Hongyu Mobile"
New-ItemProperty -Path $TTS1ATTRIB,$TTS2ATTRIB -Name Vendor -PropertyType string -Value "Microsoft"
New-ItemProperty -Path $TTS1ATTRIB,$TTS2ATTRIB -Name PersonalAssistant -PropertyType string -Value "1"
接下來打開「控制面板」,找到「語音識別」,點擊左側窗口中的「文本到語音轉換」,在「語音選擇」框中選擇「Microsoft Hongyu Mobile - Chinese (Simplified, PRC)」,然後單擊確定按鈕,你就可以讓微軟小娜為你閱讀文本了。閱讀文本內容可以使用帶有文本閱讀功能的文本編輯器,或者使用專門的小說閱讀器,大家自己選一個自己喜歡的就行了。
圖3:選擇小娜的語音
下面貼一段用PowerShell閱讀小說的代碼:
$Read = Read-Host -Prompt "把小說拖到此處並回車開始朗讀"
$Voice = New-Object -ComObject SAPI.SpVoice
$Voice.Speak($Read,5)
Read-Host -Prompt "回車退出朗讀"
同樣保存為.ps1文件,然後在.ps1文件上右鍵,選擇「使用「使用PowerShell運行」,之後把txt小說拖到PowerShell窗口中,回車,小娜就會自動為你朗讀小說了,再次回車就會退出朗讀,怎麼樣,很簡單吧,去試試吧!
圖4:使用小娜朗讀小說
【廣告】