Post a reply

Modifying TT Loquendo voices

Sun Feb 26, 2012 3:08 am

I finally found some info on error locating in Loquendo and am now on a dead end.Here's why:
Loquendo (Now they and Nuance are one company!) uses a very specific folder and discription hirachy and that should have made thing easy as all was working fine on the PC.
But TT simply refuses to accept those rules and specifies their own (undocumented) rules in their modiefied libraries.
At first I thought this is only to confuse a potential user trying to do some changes but I realised that TT insists on using the cphonme.dat inside the map folder.
Without deleting this file all possible changes to the lexicons and definitions are ignored or their settings overridden by the cphoneme.dat.
This causes the engine for example to mix street and road types so that a freeway becomes a court in a bad case.
My first approach by deleting this file resolved quite a few issues but I had to create some new exceptions for raod types so that for example the M1 will be spoken as M 1 and not Motorway something...
However this is quite an easy task as you can find several .rex files as reference on the net.
The big problems started once I got the error logging and TTS engine logging working.
My modified lexicons were loaded, but at a later stage sicarded because the TT tried to load default definitions.
YES!!! You do it right and define everything according to Loquendo's specifications and the bloody thing simply overrides it!Image
So I transformed all necessary files so that they match the what the TT wanted.
Result: It started to complain that the original language discriptions are missing!
So that you understand my frustration: even with a correctly installed voice the TT stays silent for instructions as long as not all files and definitions are correct!
At this stage I decided to start fresh and with the old version 6 Kate as she should work fine on 32mb devices as well. This was a complete disaster as the old engine does not support all the changes and is even more restricted than the V7 Kate.
Not sure if anyone realised yet but you never get any definitions when you buy a Loquendo distribution, not even with the voice.
Than there's the problem with the versions and "encryption" of the lexicon files.
According to Loquendo they are plain text files but most files I could find can't be edited with a normal editor and the same problem when trying it with the Loquendo Lexicon manager.
But at this stage this does not really matter as I would need the current LoquendoTTS director suite including the english voices first. If possible for 64bit.
All links for that are pointing to hotfiles and long gone.

Another big problem is finding the correct phonetic disciptions for native names, Australia is hard enough, but I gues NZ will be even harder.
Same is true for the spanish dialects, not that I would understand spanish, but some might want a localized voice....
If you make the neccessary changes to the exceptions file you are limited to the use of normal charcters as could not get any type of phonetics working - not even the standard sampa!

There are millions of iPhone apps out there, maybe someone with time can check if there is any dictionary that provides australian/NZ phonetics...
I will try to clean the voice a bit more and upload it for further testing, but without phonetics it will be hard to correct the pronounciations.
Or does anyone know a way to edit the cphoneme.dat?

Any help and info is welcome!

Mon Dec 03, 2012 2:05 am

Maybe you have already found that. But if not, I think this can help you. This is an app for android to decode encrypted lexicon files. Really usefull! I'm using it to learn someting about lexicon rules to modify android voices, and can't be much different for TomTom, I think.

I've even found the Loq TTS Engine for Win64, the english Simon voice, and Ximena (spanish), but I miss RemoteAPI and SDK, that are mandatory to install the full engine (and therefore the director). If you want I can provide the full Win32 Engine, but I think that you've already found that.

Mon Dec 03, 2012 3:47 am

Downunder's follow-up tut might be of interest to you.

The ultimate guide on TT's LoquendoTT system and how to make Kate say what you want

Mon Dec 03, 2012 7:32 am

If you would have that piece of software for Windows I would be very interested as there are still many errors in the AU maps.
But I don't have any android devices :(
And I thought the Android uses a different TTS system and not Loquendo ?

Mon Dec 03, 2012 9:47 pm

Android uses a lot of TTS voices. By default google provide a basic tts engine named PicoTTS, but there are many third-party engines. Lately there is an official Loquendo version with a couple of voices (Paola Italian and Susan for US) only for Gingerbread, and an unofficial more recent version even for ICS and JB that use the last TTS7 engine to work and properly configured, you can use any voice that loquendo have released (something similar to the vcf, vde, ycf etc, that you use in TT). :)

I don't know if there is a lexicon Encoder/Decoder for windows (I didn't found anything similar in the net) but I think that someone skilled enough, can port that app to other systems. In the whiletime, I can try to convert for you the lexicon you need. Keep in mind that, loquendo voices support either decoded and encoded lex files, so once converted, you can simply replace the original with the decoded one without any missing feature (at least in android it work). :) After this, you can modify the lex in any manner you prefer.

EDIT.: I've got a look to your tutorial. Really well written. :) Do you have the Loquendo User Manual? Have you seen the "\@AutoGuess" feature? Maybe this can help you. And even the \language command con be useful (it can use a different localization for the next word, mantaining the same voice e.g. "House" = "\Language=EnghlishAu House"). Unfortunately here in android, work for plain text but not in lexicon files, even if in the TTS Director, the Lexicon Manager say that is ok...

Mon Dec 03, 2012 9:55 pm

Hmmm! Just wondering if my modified Loquendo voices that I use with iGO will be of assistance. I've also modifed the .lex file for pronunciation.

Mon Dec 03, 2012 10:51 pm

Downunder35m wrote:If you would have that piece of software for Windows I would be very interested as there are still many errors in the AU maps.
But I don't have any android devices :(
And I thought the Android uses a different TTS system and not Loquendo ?


Loquendo it's present in android even if the official TTS engine is PicoTTS. :) I didn't found any lexdecoder for windows, sorry. But I believe that someone enough skilled, can port that app to windows (or at least in linux). In the whiletime, if you want I can try to convert the lex you need, and you can replace the original encoded, with the decoded one. After that you can modify that file in any manner you prefer... :)

You've got a look to the Loq User Manual provided with the Director? There are many command that can used in lex files. One particular exciting feature is:

Code:
[B]Language Control:[/B] forces a language switch between languages. The mnemonic must be the name of an [U]installed[/U] language (see Languages and Voices).
Aliases are accepted for the language name, from the generic name (e.g. English), to the standard ISO codes for languages and variants (e.g. en-US, en-GB).
At the end of the prompt the parameter is reset to its application default value.

\language=<mnemonic>

Example:

\language=English Paris \language=French Paris.

(the first occurrence of the word Paris will be pronounced: p"}rIs , and the second: paR"i).


Unfortunately using that command in lexicon sentences, result in a second of deep silence (at least here in Android) even if it works for plain text.

Regarding the phonetic pronunciation, if you can find some IPA phonetic table for Australia/NZ, here there is:

[Please Register or Login to download file]
[Please Register or Login to download file]
[Please Register or Login to download file]

Tue Dec 04, 2012 1:05 am

The problem with the TT TTS engine is the TT refused to play to the Loquendo standards.
It was very hard to get the changes working that I made.
TT uses an encrypted Lexicon that I can change but also an encypted speech file that is included in the map.
To make things worse TT did not even stick to the Loquendo standards of their own voices and use settings that are not supported in the engine.
This means a command contains up to three different sets of voice instructions.
1. is the standard set instrcutions like "turn", "300", "meters".
2. is the additional stuff only relevant for navigation.
3. is everything the TT defined itself like foreign streenames, or places in native language - quite a lot in Australia.

The first 2 sets I can bend a bit, the last changes the voice settings in a way that no changes in the self made lexicons are working.
I have to assume that TT bought the Loquendo engine and voices as seperate packs.
So they could save money on the actual engine.
Result is an engine with only the most basic support and voice files that no loger comply to the Loquendo standards.
Using an encrypted system for most features does not make it easier.
Would love to get my hands on two Austalian LoquendoTTS voices but had no luck so far finding anything close enough to TT's standards:(

Tue Dec 04, 2012 1:22 pm

mmmm... I've the two australian voices, Alan and Grace for Win32, intended to be used with TTS Director, if can help... But are not customized for Automotive. Anyway you can pick the codec and the gilded databases, to try make them work in TT.

Tue Dec 04, 2012 1:37 pm

That would be nice.
I'm not sure if they can be converted as TT uses a protected system but I will definately try it if you PM me a download link :)
Would be too nice to have proper AU voices on the TT.

Tue Dec 04, 2012 2:42 pm

Sorry guys, but there are NO Australian TTS voices for Loquendo. Only non-TTS. My English lex file for TTS is in plain language not computerese. Let me know if you want me to upload my TTS_LOQ folder where it lives. Also, in the Loquendo voice file is the config folder which contains the command.csv file. This is where you will make a change for each voice BUT I SUGGEST YOU BACK THE VOICE FILE UP FIRST! ALSO BE VERY CAREFUL WHEN YOU MAKE A CHANGE THERE OR YOU WILL KILL THE VOICE ENTIRELY.

Susan [US]
This board requires you to be registered and logged-in to view hidden content.

Tue Dec 04, 2012 2:54 pm

Sorry, but I have to correct you :[Please Register or Login to download file]
Scroll down to the bottom ;)
Tried to get the voice for quite a while bit without luck so far.
Might be still impossible to port the Win voices to TT but I'll give it a try anyway ;)

Tue Dec 04, 2012 3:23 pm

Downunder35m wrote:Sorry, but I have to correct you :[Please Register or Login to download file]
Scroll down to the bottom ;)
Tried to get the voice for quite a while bit without luck so far.
Might be still impossible to port the Win voices to TT but I'll give it a try anyway ;)


You're correct. Let me give you some history. TTS voices [WinCE] were created years ago from TT TTS Loquendo voices. I didn't do it. Some geeks did. I'm only throwing my thoughts out to you.

Thu Dec 06, 2012 12:56 am

The problem of importing win voices to TT is that you have not the corresponding .so files (that are represented by DLLs in windows I think.). Fortunately for android we dont need additional libraries (dunno why). But you can try to replace the .bin files of Kate GB, with ones of the given voices. (I think that you'll have to update the descriptor files, with proper path, frequency and bitrate...)
Post a reply