Intereting Posts
Можете ли вы программировать код Windows 95 на Windows 7? Настройте Angularjs и CORS правильно, используя Apache, запускающий Flask api и интерфейс Angularjs в отдельном домене Написание кошки в OCaml: использование Unix.read Сервер Определите состояние приложения android Unix / C ++: открыть новый терминал и перенаправить на него вывод Исходный тайм-аут соединения nodejs websocket Установка tomcat 7 на ubuntu 12.04LTS Что означает «Ex» для имен функций Windows API? File.Open для доступа на чтение, запрещенного при выполнении файла в Windows добавление одного исключения для перезаписи URL-адресов Windows 7 очищает утечки памяти C ++? Обновление последних двух строк, отображаемых на терминале с помощью оболочки? Как проверить учетные данные Unix в программе Java Прерванный скрипт CGI на стороне сервера, когда клиентский браузер закрывается Каков самый простой способ создать несколько баз данных сервера HSQLDB?

При использовании SAPI.SpVoice для вывода в WAV-файл результат звучит иначе, чем при выводе непосредственно на динамики

Я пытаюсь написать простой скрипт для запуска некоторых файлов txt с помощью текстового редактора Windows 7 (который имеет приличный голос Анны) и создает wav-файлы. Тем не менее, файлы wav выглядят не так хорошо, как если бы я просто выводил их непосредственно на динамики. Я уже пробовал это на двух совершенно разных системах Windows 7. Любой способ исправить это?

Автор сценария:

 set x = createobject ("SAPI.SpVoice")
 «Раскомментировать следующие строки для вывода в файл
 'set ofs = createobject ("SAPI.SpFileStream")
 'ofs.Open "msg.wav", 3, vbFalse
 'set x.AudioOutputStream = ofs
 x.Speak «Осенью 2003 года ...»

Должен признаться, мне было интересно то же самое до нескольких дней назад. Вот решение, однако число «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 

SapiFileType определяется здесь: http://msdn.microsoft.com/en-us/library/ms720595%28v=vs.85%29.aspx

Enum 18 = 16kHz 16Bit Mono