Handle the skippable elements with ssml:marks. Change the way the sentences are dispatched to the threads (from now on the threads poll the sentences when they have to current work to do). Add a TTS Adapter for the ATT's C++ SDK
take paths and ip addresses from the system properties. Take the ATT's SDK location from a Maven property
look for .exe and .bat on Windows
communicate a missing TTS exception, and let bnd generate a section of the ATT native's manifest
Use voices' name (i.e. Crystal, Alain) instead of the adapter's name (i.e. att, espeak) to select the TTS Service. Add a utiility function to read WAV files. Improve Espeak so it can recycle temp file"
Update guava. Be case-insensitive regarding TTS voice names. When selecting voice, look for all the voices of the variant (e.g. en_us) before broadening the search to other variants
optimize the TTSregistry so that the voice selection algorithm is not run again for every SSML sentence.
Add the TTS Adapter for SAPI using Com4j. Fix a bug that made the voice priorities sorted in ascending order
* Let the user override and add voice priorities by editing the system properties
* Write the methods that retrieve the installed voices of eSpeak, ATTBin and ATTNative
* Add many voices for eSpeak, Microsoft and ATT
move TTSServices' initialization from their constructor to a dedicated method so they are initialized only if necessary and can be repaired at runtime (after the server has already registered the OSGi bundles)
Update the SAPI com4j adapter: change the com4j's version, embed the concord dependency (removed from osgi-libs/com4j) and move the init code from the constructor to initialize()
fix a bug in the allocation of utf8 big sentences. Add comments about the solution used to forward the audio data from C++ to Java
* Change the way the strings are copied from Java to the C++ ATT SDK. The string are now converted into UTF8 byte arrays in Java.
* Add tests for eSpeak
* Add tests for ATT Native
* Give nice names to the produced audio files
move the ATT jni code to native-libs/ directory that will host also the other future jni code (SAPI and so on)
* Added tests for the CSS inlining
* Got rid of the medium and inherit options in the CSS inlining
* Espeak now reads the SSML on the standard input and writes the WAV on the standard output;
* Multiple CSS stylesheets with mixed media;
* Retrieved the CSS stylesheets' URI from the processing-instructions and <link> elements;
* By default, SSML is provided to the TTS as SSML 1.0 with no xml:lang (the voice selection is mandatory);
* The end-of-sentence breaks are no longer added in XSLT, but rather by the Java SSML adapters.
SAPI nativeL
Changed the lib imports after the corresponding URI have been renamed
Merge branch 'skippable' of github.com:daisy-consortium/pipeline-mod-tts into skippable
* New class MarkFreeTTSService to deal with TTS processors that can not handle ssm:marks (like eSpeak) ;
* Simplified the TTSService's interface by removing the possibility to retry a synthesis multiple times with a memory object ;
* Fixed a bug in the time value format ;
* Allowed to continue filling an on-the-fly allocated audio buffer until the next audio encoding;
* The bookmarks are now returned by SAPINative (not tested);
* Misc refactoring.