、私は数日前までは同じことを思っていました。ここでは解決策ですが、最初の行の数字「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
ありがとうございました!これは非常に便利でした! – mnutsch