|
Post by rosy on Apr 23, 2021 13:48:17 GMT -6
In the Speech Synthesizer I tried 2 methods of waiting for the sound to end:
it works:
While ChannelIsPlaying(0)
Wend
there are problems with this:
Wait(100)
Despite the constant value of the time in Wait, the length of the voices varies between attempts to pronounce the same word. This suggests that Wait measures time differently ...
|
|
|
Post by johnno56 on Apr 23, 2021 17:29:18 GMT -6
I think you have come across one of the basic problems with Text-to-Speech (TTS).
Imagine the entire alphabet and all 26 letters were the same width... The sentence would look strange with all letters occupying the same amount of space on the line. Also makes it a challenge to read.
Sound is probably no different. If the sound of each letter were the same length, then when the sentence is played back, it would sound almost mechanical.
For example: The word "with"... The emphasis seems to be on the "w" and the "th" and the "i" is very short compared to the other characters. So, depending of which words are used, and their context, the "delay" between each letter has the potential to constantly change. Getting the right delay between the letters, as well as the "voice" used, will create a more "natural" sounding output. This has, and probably will always be, a challenge for most creators of TTS.
I hope this helps.
|
|
|
Post by rosy on Apr 24, 2021 2:26:16 GMT -6
I will not help, because it has nothing to do with my report.
Just at the same length, the words sound pretty good. The problem is that the same word is repeated - it sounds different each time.
|
|
|
Post by n00b on Apr 24, 2021 7:39:49 GMT -6
Wait() is not supposed to be used for timing. It passes control to your operating system for a specified amount of time. Its up to the operating system to give control back to your program and that can very depending on what process it was in .
Use Timer() instead.
|
|
|
Post by rosy on Apr 26, 2021 15:10:55 GMT -6
Isn't it better to replace it with a simple pause? And maybe add to the Update the possibility of specifying how many cycles should wait ...
|
|