列出并选择已安装的语音(用于文本到语音)

时间:2019-04-15 19:17:49

标签: .net powershell text-to-speech

如此处所示(对不起,法语用户界面),我的计算机上安装了3种文字转语音:

enter image description here

但是,当我跑步时:

CoolLedI

它仅返回“ Microsoft Zira Desktop”:

Gender                : Female
Age                   : Adult
Name                  : Microsoft Zira Desktop
Culture               : en-US
Id                    : TTS_MS_EN-US_ZIRA_11.0
Description           : Microsoft Zira Desktop - English (United States)
SupportedAudioFormats : {}
AdditionalInfo        : {[Age, Adult], [Gender, Female], [Language, 409], [Name, Microsoft Zira Desktop]...}

我的目标是能够列出所有已安装的语音,然后使用PowerShell选择一个。

我真的对为什么声音起作用并且可以在UI中但不能通过PowerShell选择声音感到困惑吗?

1 个答案:

答案 0 :(得分:0)

感谢杰夫·泽特林(Jeff Zeitlin)为我指明了正确的方向!

您必须将声音复制到注册表中的其他路径。 GitHub上的脚本可以解决问题:)现在,可以在PowerShell和其他第三方程序中使用和选择所有声音!

$sourcePath = 'HKLM:\software\Microsoft\Speech_OneCore\Voices\Tokens' #Where the OneCore voices live
$destinationPath = 'HKLM:\SOFTWARE\Microsoft\Speech\Voices\Tokens' #For 64-bit apps
$destinationPath2 = 'HKLM:\SOFTWARE\WOW6432Node\Microsoft\SPEECH\Voices\Tokens' #For 32-bit apps
cd $destinationPath
$listVoices = Get-ChildItem $sourcePath
foreach($voice in $listVoices)
{
$source = $voice.PSPath #Get the path of this voices key
copy -Path $source -Destination $destinationPath -Recurse
copy -Path $source -Destination $destinationPath2 -Recurse
}

https://gist.github.com/hiepxanh/8b6ad80f6d620cd3eaaaa5c1d2c660b2

详细说明:https://www.reddit.com/r/Windows10/comments/96dx8z/how_unlock_all_windows_10_hidden_tts_voices_for/