As I am getting the Speech Services working again, its a good time to refactor.  And I noticed, currently, there are 3 very different ways which speech can process.  SpeakQueue is the most "natural"  and should probably be renamed to speak, and our speak is more like speakMulti ...  speakBlocking was the only one named appropriately.

SpeakQueue was inplemented with the Service's InBox which is not usually a good idea.  The Inbox is used for taking control messages - like stop, or change volume,  etc.  Its often more responsive to have control on its own queue.

Mats

8 years 7 months ago

Thanks Grog.

Nice description ot the current implementation. 

Perhaps there should be a forth, high priority speech. Or a speach cancel that could be used to stop the current speach. Like when you hit yor thumb with a hammer. The "ouch" will not be queued, but will interrupt yoúr current speaking.

 

 

 

 

 

 

juerg

8 years 7 months ago

Hi GroG

can you elaborate what speak multi would be good for? Myself I can only say one thing at the same time but the "high priority interrupt" seems a realistic scenario.

Juerg

GroG

8 years 7 months ago

Ya the multi voice is a little crazy sounding - its hard listening to 2, 3, 4+ simultaneous conversations... Funny that we can't do parallel processing this way ...  it is more effective data transfer :)
I can listen to 2 conversations at once and get the gist of what is said, but more than that my understanding falls off quickly..

Its not this was created for any particular reason, it just "happened" - since a computer has many threads and the sound system of all modern operating systems can handle multiple inputs.  A computer has many mouths because it can mix all the sounds - this allows you to watch a movie and still get notified of incoming mail :)

Yes a speakNow and/or speakInterrupt would be good .. I believe I can add it...  good ideas - keep them coming !