rhdunn/cainteoir-engine — Issue #14: investigate embedding the espeak engine
Author: rhdunn
Created: 2011-11-23 09:17:05+00:00
State: open
Labels: roadmap, tts

At the moment, the cainteoir engine links to the external espeak library. This has various problems:
1/ there is code in espeak for handling ssml and html tags, but cainteoir processes these at a different level before passing the text to espeak;
2/ control over where sentence breaks (pauses) and word breaks are is poor -- espeak gets passed text blocks as found, so "1st" gets spoken incorrectly as espeak does not recognise this as "first";
3/ lack of control over the dictionary makes it difficult to support adding words or reloading a dictionary while the application is running -- this also makes dictionary verifiers hard to implement;
4/ lack of fine grained control over prosody vs pronunciation and being able to separate different phases of espeak makes it difficult to control at this level;
5/ lack of buffer support for returning translation data makes it difficult to embed this functionality in applications (the API uses FILE* redirect).