|
#1
|
|||
|
|||
SAPI5 и WAV файл
В рамках темы
http://www.delphisources.ru/forum/sh...ad.php?t=24587 появилась одна задача. Для обучения системы распознавания речи необходимо формировать звучание слов. Делать это через микрофон не хочется, поэтому был установлен SAPI5 и в Delphi сделана прога, которая произносит через динамики любые слова, которые написаны текстом. Набор этих слов в текстовом виде в конечном итоге можно сделать из базы по случайной выборке. Но есть вопрос. Можно ли сделать так, чтобы звучание текстового слова через SAPI5 превратилось в файл WAV? |
#2
|
||||
|
||||
Вот пример, вместо Алёнки можно записать и другой голосок
Код:
... var SpFileStream: TSpFileStream; SpVoice: TSpVoice; Voices:ISpeechObjectTokens; i:integer; begin SpFileStream := TSpFilestream.Create(nil); SpVoice := TSpVoice.Create(nil); try SpFileStream.Format.type_ := SAFT11kHz8BitMono; SpFileStream.Open('test.wav', SSFMCreateForWrite, FALSE); SpVoice.AudioOutputStream := SPFileStream.DefaultInterface; Voices:=SpVoice.GetVoices('', ''); for i := 0 to Voices.Count - 1 do if Pos('Alyona', Voices.Item(i).GetAttribute('Name')) = 1 then begin SpVoice.Voice := Voices.Item(i); Break; end; SpVoice.SynchronousSpeakTimeout := 1000; SpVoice.Speak('Привет!', SVSFlagsAsync); SpVoice.WaitUntilDone(3000); finally SpVoice.Free;; SpFileStream.Free; end; end; ... Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#3
|
|||
|
|||
Цитата:
Вот пример. Там выбираются голосовые движки, если их несколько и запись производится либо в динамики, либо в файл. Но вот вопрос. Если я назначаю запись в файл, то как вернуться обратно в динамик? |
#4
|
||||
|
||||
Цитата:
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#5
|
|||
|
|||
Цитата:
|
#6
|
||||
|
||||
Вот такой вариант нашёл у себя сорцехранке, старинный но рабочий, посмотрите пжлст
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |