cainteoir-engine
cainteoir-engine copied to clipboard
The Cainteoir Text-to-Speech core engine
Hebrew text does not include vowels. There is a system of diacritics (niqqud [1]) that is used to annotate the missing vowels. The vowel annotation logic should occur between the...
The eSpeak text-to-speech program uses a combination of klatt (see issue #35) parameters, recorded wave audio and spectral parameters. This is all coordinated by generating a sequence of wave commands...
At the moment, the rendering model for `cainteoir-engine` with XML-based documents is to: 1. call a document-specific parser; 2. map element names to `xml::context::entry` objects; 3. specify the type (span,...
Currencies in Unicode have the `Sc` character class. This should be split from the generic `punctuation` event type and put into a `currency` event type. Each currency symbol has a...
The NRL Report 7948 describes an algorithm for converting English letter sequences to phonemes. This is implemented in various places (such as rsynth's english.c file). Rsynth also has a ruleset...
The tests/dictionary.py script has very simple regular expression expansion logic, placing limits on where you can place `[ab]` and `(a|b)` expressions. This is limiting what can be expressed. For example...
On systems that do not support `open_memstream` a temporary file is created. While this works, it is slower than using the in-memory version. BSD-based systems (including Android and Mac OS)...
The engines API should have dictionary support that allows: - adding/updating a word to the dictionary; - reloading the dictionary set; - looking up the pronunciation of a given word....
At the moment `tts/context_analysis.cpp` only handles numbers of the form `nnnnn`. That is, it does not handle numbers of the form: ``` `n,nnn,nnn` -- e.g. US numbers `n nnn nnn`...
Due to HTML quirks, the processing for HTML and XHTML content (including HTML without xmlns, but with an XML processing instruction) should: 1. Use the xmlreader class to read the...