#80 v2.5 Beta - Default SAPI TTS not used by the DAISY Translato

Language (6)

On 17-03-2011 18:01, Downie, Andrew wrote:

I am using MS Office 2007 on XP. I have a problem with V2.5 of the translator in that, despite selecting a high quality voice under Speech in the Control Panel, Microsoft Sam is always used. This did not happen with the previous version. (The document is English - Australian)


  • Prashant Ranjan Verma

    Romain on 24-03-2011

    It looks like there is something that prevent the SAPI-based voice- selection mechanism to work correctly.

    1. When the "multi-language support" is checked:

    Can you please run the "Save as DAISY XML" conversion and look at the XML content to see what exact language is declared in the DTBook ? Is it "en_AU" ?

    The reason it doesn't work should be that the default configuration file merely associates the locale "en" to the language code "0409" (American English).
    You could try by manually adding a section in the configuration to associate the locale "en_AU" to voices with the language code "0c09" (Australian English).

    Detailed description of the the TTS voice selection configuration file is available at: http://data.daisy.org/projects/pipeline/doc/scripts/Narrator-multilang.html

    2. When the "multi-language support" is unchecked, it should fallback to the default SAPI voice though.

    Update on 25-03-2011 from Andrew

    Thank you Romain. The language specified in the XML file is en-AU (note the dash rather than underscore).

    I tried editing the configuration file after a brief read of the notes. At best my efforts to date have made no difference and, at worst, have resulted in a turse error message.

    Romain on 25-03-2011

    Can you try by overriding the TTS voice configuration file with the file attached. The file is located in the Pipeline Lite home directory at the following path:


    You need to keep the "Multi-language support" checked.

    As for what happens when the option is unchecked, it should fallback to the previous SAPI5 voice selection mechanism, which hasn't changed since the last release. I wonder why it no longer works with the Nuance voice, but since you have it working correctly with the Cepstral voice it suspect it has something to do with a bad configuration of the Nuance voice. Have you updated the voice since the last time you tried ?

    Update on 28-03-2011 from Andrew

    Thanks Romain. The replacement file fixed the problem. When time permits, I will compare your new file with the original. You saved me considerable time, as I had planned to read through the documentation in order to try editing the file.

    Interestingly, the Nuance voice is now used whether language support is checked or unchecked.

    No, the Nuance speech hasn't been updated and I can't think of anything else that would have affected it at present. When first encountering the issue, I tested the old version of the translator on a second machine and it worked correctly. I then updated the software on that machine and the same problem occurred - it used a Microsoft voice. At least superficially, then, the new version seems to need the fix you applied to the ttsbuilder file.

  • Prashant Ranjan Verma

    This file was successfully translated but it used the Microsoft TTS even when the "language detection" checkbox was unchecked.

  • Prashant Ranjan Verma

    • labels: --> Language
    • priority: 5 --> 9
  • Romain Deltour

    Romain Deltour - 2011-06-03

    The TTS voice selection based on language codes is explained in [1]. On Windows, it's based on a mapping of ISO language codes to the Locale ID used by Microsoft SAPI (list available at [2]).

    A SAPI voice declared as being for a certain Locale ID is only selected if there is a corresponding language section defined in the TTS builder configuration file (located under the $PIPELINE_HOME/transformers/se_tpb_speechgen2/tts/ttsbuilder.xml). The default configuration file in the Pipeline only comes with a limited list of mappings for common language codes. Additional language code / MS locale ID mappings can be added on demand.

    I added the language mappings for "ar-EG", "en-GB" an "en-AU" (as requested by the beta testers) to the default configuration file.

    [1] http://data.daisy.org/projects/pipeline/doc/scripts/Narrator-multilang.html
    [2] http://msdn.microsoft.com/en-us/goglobal/bb964664.aspx

  • Prashant Ranjan Verma

    - Default TTS is not picked in all cases.
    For example, ScanSoft voices (Daniel/Lekha/Sangeeta) are never used whether "support for multi language" is selected or not. However, when the PipelineLite is used from within the installation directory this TTS is used.
    When Ivona voices or Espeak voices were selected, the translation was successful from Word itself.
    I noticed exactly same behaviour on following three computers
    Core i5 + Windows 7 + Office 2010
    Intel Dual Core + Win XP + Office 2007
    Intel Atom Netbook + Win 7 + Office 2003

  • chrisauld

    chrisauld - 2011-07-18

    We have included the additional changes from Romain and would like to close this issue.

    Suggest that a future release may inlcude a new feature for UI for editing the TTS Builder configuration settings.

    Until then suggest this is closed.

  • chrisauld

    chrisauld - 2011-07-18
    • status: open --> open-fixed
  • chrisauld

    chrisauld - 2011-07-18
    • status: open-fixed --> pending-fixed

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks