Должен признаться, мне было интересно то же самое до нескольких дней назад. Вот решение, однако число «18» в первой строке может быть специфичным для голоса. Я долго пытался вставить эту высококачественную версию в wav-файл, поэтому я, наконец, пробежал по каждому номеру (0-64) и слушал все сэмплы, пока не нашел нужный.
Вставьте приведенный ниже код в блокнот, сохраните как ' SapiSomething .vbs', запустите, и, надеюсь, это именно тот высококачественный вывод, который вы ищете. Для меня качество звука при выводе файла, наконец, такое же, как при передаче речи прямо на динамики.
Const SapiFileType=18 ' Magic number, possibly voice specific (0 to 64)
strText=Trim(InputBox("What do you want me to say?","Listen to Sapi.SpFileStream.Format.Type Quality",""))
If NOT len(strText)>0 Then WScript.Quit
With CreateObject("Scripting.FileSystemObject")
strFile=.BuildPath(.GetParentFolderName(WScript.ScriptFullName),"Sapi.SpFileStream.Format.Type_"&SapiFileType&".wav")
If .FileExists(strFile) Then .DeleteFile strFile
End With
With CreateObject("Sapi.SpVoice")
Set ss=CreateObject("Sapi.SpFileStream")
ss.Format.Type=SapiFileType
ss.Open strFile,3,False
Set .AudioOutputStream=ss
.Speak strText,8
.waituntildone(-1)
ss.Close
Set ss=Nothing
End With
With CreateObject("WMPlayer.OCX"):.settings.autoStart=True:.settings.volume=100:.URL=strFile:Do until .playState=1:Wscript.Sleep 200:Loop:End With