IT之家学院:利用PowerShell设置Cortana朗读小说

2017-07-09 16:54IT之家 - 弥尘
感谢IT之家网友 v0124 的线索投递!

感谢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:使用小娜朗读小说

广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。

【广告】
文章价值:
人打分
有价值还可以无价值
置顶评论
    热门评论
      文章发布时间太久,仅显示热门评论
      全部评论
      一大波评论正在路上
        取消发送
        软媒旗下人气应用

        如点击保存海报无效,请长按图片进行保存分享