Replacing TTS ("Say.as") with prerecorded prompts
-
2008年7月24日 9:20
Hello,
In BlindTransfer demo app, application will correctly (digit by digit) read transfer extenesion (5 0 0 0) using TTS, but for some reason wont use prerecorded prompts.
Why?
Thanks
Code SnippetPleaseHold.MainPrompt.AppendTextWithHint((this.TransferDestination as PhoneNumberTelephonyAddress).PhoneNumber, SayAs.Telephone);
全部回复
-
2008年7月24日 14:22
Say.As is a TTS directive so your'e probably passing in 5000 (five thousand) and using Say to have the engine pronounce each digit individually.
To have a recorded prompt used, you're going to have to format the input so there's a space between each digit and you have to have extractions from each digit in your prompt db.
-
2008年7月25日 7:08
Extractions are set in promptdb, like so:
[5]
[0]
Thanks
-
2008年7月25日 19:38
Have you tested the utterance you're supplying with the prompt DB to verify that it can find extractions that match?
-
2008年7月26日 12:51
If I add full extension to prompt db, ie [5000] it works (this way I have to record all extensions...).
-
2008年7月26日 19:40
If you don't want to have each extension to the prompt DB, you could just add all the digits then separate the extension to individual digits when you're constructing your prompt. i.e. if the extension is "1234", write code to add spaces to is so it is "1 2 3 4"
What exactly is not working withthe sample? If I understand you correctly, it using prerecorded utterances to say each digit of the extension. How do you think it's supposed to work?
-
2008年7月26日 20:10
Hello Ahmed,
Ahmed Stewart [MSFT] wrote: If you don't want to have each extension to the prompt DB, you could just add all the digits then separate the extension to individual digits when you're constructing your prompt. i.e. if the extension is "1234", write code to add spaces to is so it is "1 2 3 4"
Whats the point? In theory (according to SDK and provided sample) it should interprete whole extension number correctly. And it does exactly that (reads five zero zero zero (not five thousand). The problem is that it still uses TTS for those digits, not provided prompts ([5] [0])
Ahmed Stewart [MSFT] wrote: What exactly is not working with the sample? If I understand you correctly, it using prerecorded utterances to say each digit of the extension. How do you think it's supposed to work?
It should work this way. But the problem is that in both in my development pc and standalone speech server it uses TTS for those damn digits.
Thanks again.
-
2008年7月27日 23:13Ah, I read your previous post to mean that it WAS using pre-recorded prompts for that audio.
I'll look into it when I get a chance. -
2008年7月28日 7:12
Hello Ahmed,
I've played a little more with debugger and you were right.
It still passes extension as a whole 5000 (five thousand) when it uses TTS SayAs. Thats why my prerecorded prompts wont work.
I guess I need some kind of script to separate those digits in promptdb, I suppose I could use peml:rule
http://msdn.microsoft.com/en-us/library/bb857147.aspx
So I've added supplied vbscript to promptdb (using add>new item), but for some reason it wont attach to my app
Compiling - C:\Speech_Projects\BlindTransfer\BlindTransfer\BlindTransferPrompts\VBScript.vbs
ERROR: Failed to save database: C:\Speech_Projects\BlindTransfer\BlindTransfer\Prompts\BlindTransferPrompts.prompts. Please try again later.
Code Snippet<peml:prompt_output><peml:rule name="phone_number">5-0-0-0</peml:rule></peml:prompt_output>Thanks