Skip to content

Как добавить больше голосов

Dmitry Shin edited this page Oct 16, 2020 · 13 revisions

Если необходимо добавить больше голосов или языков озвучивания уведомлений, вы можете установить их.

Для добавления нового языка озвучивания воспользуйтесь данным руководством:
https://support.microsoft.com/ru-ru/office/4c83a8d8-7486-42f7-8e46-2b0fdf753130

Тем не менее, даже после установки нового языка (голоса), он может не появиться в списке доступных голосов для гайда. Для решения этой проблемы необходимо выполнить 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
}

Чтобы выполнить данный сценарий, перейдите в поиск Windows, введите PowerShell. Запустите найденное приложение от имени администратора (правый клик - "Запуск от имени администратора"). Вставьте в открывшуюся консоль приведенный выше сценарий и нажмите Enter. Голоса должны перенестись.

Для проверки результата, можете воспользоваться другим сценарием, приведенным ниже.

Сценарий вывода списка доступных голосов

Add-Type -AssemblyName System.speech
$speak = New-Object System.Speech.Synthesis.SpeechSynthesizer
$speak.GetInstalledVoices() | Select-Object -ExpandProperty VoiceInfo | Select-Object -Property Culture,Name,Gender