My app currently uses the original flite, adapted for my special needs. I am considering purchasing NeatSpeech in order to improve the voice qualities.
Basically, I need a granular access to the text fragment currently spoken – I want to visually highlight the current text fragment spoken.
In my adaptation, a background thread generates the wav for each fragment, while the foreground thread sends it to the audioplayer and highlights the previously generated one.
NeatSpeech already does this, but without giving me any notification as to which fragment (of the larger text it received) is currently spoken.
Sure, I could just send NeatSpeech smaller phrases – but then I’d artificially insert delays(caused by voice generating the wav) after each small fragment/sentence – and I don’t want to.
What I would need is some way to inspect the NSRange for the fragment-currently spoken out of the original large text that I sent to Neat Speech – and be notified when NeatSpeech started speaking a new fragment (a notification that sends a nsrange for the fragment that has just been passed to the audioplayer would fit both needs).
Also, and this is a question, if the voice is currently saying a big text, calling it again with yet another text will do what? (A – push the new text in the queue for background processing, B – stop the current speech and replace it with the new one or C – none of the above)
Thanks for your help and guidance
Alex