SALB
The SALB system is a frontend framework for speech synthesis using HMM based voice models built by HTS. See our Releases here and the github project page here. Build instructions, license information and a generic readme are contained in the package. Additional documentation can be found in the project wiki.
Facts & features:
The SALB framework
- provides a frontend to hts_engine through SAPI5, a command-line-interface and a C++ API for embedding in other applications.
- comes with an example NSIS script to aid building installer packages for distributing HTS voices as Microsoft Windows system voices.
- incorporates flite for text processing of English.
- supports other languages through the ability to load Festival format lexica and Letter-To-Sound rules (further preprocessing like number conversion can easily be added in C++).
- compiles on MS Windows (>= Vista), Linux, Android, iOS.
- includes a Visual Studio 2012 solution file for compiling the SAPI5 engine, CMake build files for everything else.
- is released under liberal/MIT-like license.
We also provide a free (Austrian) German voice model of a male, professional speaker, including number conversion, a pronunciation lexicon with 14k entries and a set of Letter-To-Sound rules. Listen to some samples here: Sample 1, Sample 2, Sample 3
F.A.Q.
How can I create a new voice model?
An easy way is to use the HTS demo packages. These produce htsvoice files that can be used with the SALB system. For more information, take a look at the project wiki.
Why not use flite+hts_engine instead?
The SALB system is another layer on top of flite and hts_engine (see Architecture). You might want this additional layer if:
- you want the SAPI5 interface.
- you would like to add a new language and/or use plain text Festival lexica and LTS rules*.
- you prefer the C++ interface.
- you would like to use the provided German voice model.
*Of course this is also possible in flite but a bit trickier. If you would really like to do that, take a look our description on adding a new language to flite here.
How can I contribute?
We would love to include language bindings (e.g. Python), further interfaces and more languages. Of course, bug fixes, improvements etc. are also always welcome.