New voice generation

1,889 views
Skip to first unread message

Victor Shcherb

unread,
Jul 26, 2013, 5:09:37 PM7/26/13
to osmand
Hi All,

As you know we restructured completely voices and now we can get lots of benefit from it :)
1. Now we have all dynamics in the voice
2. Now we can generate recorded voice out of tts (but only new tts-version files).
Here are some voices, which are generated using Google TTS

Even though Google TTS has a good quality it is incredibly slow, if you know how to ask Google TTS to generate quicker voices please let me know. Or if you have good online TTS engine which has compliant License please also write comment.

For now you are free to test what we have & if you think this is normal voices, later we will make them public.

P.S. If your language is not in the list, please consider to contribute & upgrade it.

Thanks
Victor

Hardy

unread,
Jul 26, 2013, 8:12:06 PM7/26/13
to osm...@googlegroups.com
Quick summary:
 
I introduced a unified comment header block for all (new style, v1.5) tts voice files., to make them comparable, and facilitate better completion:
(X) indicates that I introduced the feature already,
(  ) means the feature is still missing (or needs checking)
(N/A) means the feature does not aspply to the language in question (special grammar, etc).
 
The file itself is now structured roughly in the ame order than these feature items.
 
If the tts-voice file for your languge does not have this header block yet, it is still an OLD voice format, so it will not yet support our new features (like announcing the street names!). Please consider upgrading it:
 
(1) Create a copy of a NEW voice file (for a language most similar to yours). I have already transformed to NEW: en, da, de, es, fr, it, pt, ru
(2) Transfer alll text strings to the "string" commands in the NEW file, leave the xxx.ogg file names as they are (but create new ones or split as needed)
(3) check the word order of text and numbers in the %% COMMAND BUILDING / WORD ORDER section.
 
It is not too hard if you start from a new-style file where the grammar is similar to your language already.  But it takes a little time, that is why progress is very slow here if you solely rely on me doing it.. 
 
Thanks, Hardy
 

mircozorzo

unread,
Jul 27, 2013, 5:11:37 AM7/27/13
to osm...@googlegroups.com
P.S. If your language is not in the list, please consider to contribute & upgrade it.


Hi, how can I contribute? I download every day the nightly build to test it, but to modify the ttsconfig.p file how can I do? Github? And how to upload recorder voices?

Github tells me that I have not permission to modify files.

Thanks a lot.

Mirco

 

Victor Shcherb

unread,
Jul 27, 2013, 5:30:21 AM7/27/13
to osmand
When you open the file in Github & you logined with your account, there is a button "Fork & Edit".



 

--
You received this message because you are subscribed to the Google Groups "Osmand" group.
To unsubscribe from this group and stop receiving emails from it, send an email to osmand+un...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Hardy

unread,
Jul 27, 2013, 2:28:18 PM7/27/13
to osm...@googlegroups.com
If this is too much trouble for you, it will also be fine if you just email me the file. I will review and publish it. Saves me the work of tackling all of them from scratch.
 
If you are working on an file and take longer, maybe you could post here, so we do not do double-work ...
 
The ones already in the new format can always be seen by their folder name on github just consisting of the "xx" language ISO code, with no trailing characters like -tts-old, -ov, or similar.
 
Recorded voice: Victor can try to generate from just the new style ttsconfig.p file, so no worries about recoring .ogg files any more.  :-)
 
Thx - Hardy

Hardy

unread,
Jul 27, 2013, 2:31:15 PM7/27/13
to osm...@googlegroups.com
PS: Mirco: If you are taliking the Italian file, I have already converted it to the new format. Just let me know what commands are wrong and how they need to be. Thx!

 

Harry van der Wolf

unread,
Jul 28, 2013, 5:06:45 AM7/28/13
to osm...@googlegroups.com
Hi,

I downloaded the dutch zip nl_0.voice.zip and unpacked it and found a lot of ogg files.
Now what do I need to do to use it with OsmAnd?

And secondly: How did you create them?

Harry

2013/7/26 Victor Shcherb <victor....@gmail.com>

--

Harry van der Wolf

unread,
Jul 28, 2013, 5:18:01 AM7/28/13
to osm...@googlegroups.com


2013/7/28 Harry van der Wolf <hvd...@gmail.com>

Hi,

I downloaded the dutch zip nl_0.voice.zip and unpacked it and found a lot of ogg files.
Now what do I need to do to use it with OsmAnd?


Sorry. I found this. I unzipped it into a new folder inside /osmand/voice.
Works great apart from the fact that the streets are not mentioned. I assume that is part of the new structure.

 
And secondly: How did you create them?

This I would like to know. Very badly.

Harry

Rodolfo

unread,
Jul 28, 2013, 5:43:31 AM7/28/13
to osm...@googlegroups.com
@ Harry: I just created a pull request for some minor changes in the dutch file. Didn't read your last post, sorry.
If I understand it right, Victor will generate new ogg's from the voice prompts I changed, Is that correct?
I have introduced a pause between distance and time announcement by changing "tijd..." into ", tijd..." Is this the right way or is there another way to make a pause?

Harry van der Wolf

unread,
Jul 28, 2013, 5:51:01 AM7/28/13
to osm...@googlegroups.com


2013/7/28 Rodolfo <rodo...@gmail.com>

@ Harry: I just created a pull request for some minor changes in the dutch file. Didn't read your last post, sorry.
If I understand it right, Victor will generate new ogg's from the voice prompts I changed, Is that correct?

Yes, Victor does that and my question to him was how he did that.
 
I have introduced a pause between distance and time announcement by changing "tijd..." into ", tijd..." Is this the right way or is there another way to make a pause?

As you can see from the previous answer: I don't know because I don't know how he generates them. Normally a comma or dot will force a pause.

I did tests myself with espeak and mbrola, both for text to speak, but these voices are different and worse from the (dutch female) voice he is using.

Harry
 

Harry van der Wolf

unread,
Jul 28, 2013, 8:41:58 AM7/28/13
to osm...@googlegroups.com
Victor used the google translate tts. I don't know whether he does it via the web interface (http://translate.google.com/translate_tts?tl=nl&q=Afstand is opnieuw berekend, de nieuwe afstand is)
or whether he uses it from some perl/python or whatever program/script, using the tts api, like hungtruongs python google-translate-tts (https://github.com/hungtruong/Google-Translate-TTS)

Harry

2013/7/28 Harry van der Wolf <hvd...@gmail.com>

mircozorzo

unread,
Jul 28, 2013, 11:47:02 AM7/28/13
to osm...@googlegroups.com
Hi, thank you for the answers, I can do this.

Now I'm testing in local only on my device some little changes of ttsconfig.p file.

Thank to you.

Mirco 

mircozorzo

unread,
Jul 28, 2013, 11:49:03 AM7/28/13
to osm...@googlegroups.com
Ok, I'm testing it and will post results soon.

Bye, Mirco

Rodolfo

unread,
Jul 28, 2013, 2:32:44 PM7/28/13
to osm...@googlegroups.com
Btw, Harry, when I need to generate sound files from text, I use SpeechLib (with C#)
It won't be difficult to generate all ogg files from the strings like: string('left.ogg', 'links afslaan ')
But the problem is how to get the language packs for all the languages.
If you know where to find those, I could write a simple app to process the ttsconfig file for the PC user".

Harry van der Wolf

unread,
Jul 28, 2013, 2:55:34 PM7/28/13
to osm...@googlegroups.com
Is that Microsoft's speech lib?
If so you could try http://office.microsoft.com/en-us/word-help/using-the-speak-feature-with-multilingual-tts-HA101825279.aspx

If not I don't have a clue. I'm on the Linux and Mac OS X "side" and use (and contribute to)  open source where possible.
The open source espeak and mbrola come with a lot of voicedata files and can easily be downloaded.

That's all I know about it.

Harry

2013/7/28 Rodolfo <rodo...@gmail.com>

Victor Shcherb

unread,
Jul 28, 2013, 6:08:28 PM7/28/13
to osmand
We consider to use Ivona package to regenerate static voices.
If someone is interested here is the script for generating voices https://github.com/osmandapp/OsmAnd-resources/blob/master/voice/gen_voice.sh

Regards,
Victor

Rodolfo

unread,
Jul 29, 2013, 8:49:08 AM7/29/13
to osm...@googlegroups.com
The new TTS file structure could solve the "Spanglish" problem.
This problem occurs when traveling in a country with another language (e.g. English traveler in Spain), where the Spanish street names are now pronounced like it was English, which is most of the time incomprehensible.
As the fixed prompts are going to be static sound files, the variable texts like street names could be pronounced using ES-TTS in this example.
Is this how it is going to work? Would be great!

Rodolfo

unread,
Jul 29, 2013, 9:33:57 AM7/29/13
to osm...@googlegroups.com
I figured it must work like that if I download the English TTS + OGG's and set my system TTS to Spanish....

Harry van der Wolf

unread,
Jul 29, 2013, 11:43:01 AM7/29/13
to osm...@googlegroups.com


2013/7/29 Rodolfo <rodo...@gmail.com>


As the fixed prompts are going to be static sound files, the variable texts like street names could be pronounced using ES-TTS in this example.
Is this how it is going to work? Would be great!


I assumed the same, but I can't get it to work. I hoped the Dutch recorded voice would be used to pronounce the static strings and the directions (variable strings/dynamic strings) would be pronounced using a tts.
If this is really how it should work then anyone who does understand it: please explain.

Harry

S.by

unread,
Jul 29, 2013, 1:44:11 PM7/29/13
to osm...@googlegroups.com
Hello , 

Is there a plan to use recorded voice with street names ? 


Onkar Shinde

unread,
Jul 29, 2013, 5:00:33 PM7/29/13
to osm...@googlegroups.com
I don't understand. Are you suggesting that part of the sentence will be recorded and the dynamic parts (like streets names) will be generated using TTS?

S.by

unread,
Jul 29, 2013, 6:44:24 PM7/29/13
to osm...@googlegroups.com
Onkar if you are talking to me ... that is an idea i didn't thought of .. but the situation is that the recorded voices doesn't work at all ... When they will reach some point that 

they will work  ...there will be the problem of the street names . It is possible to say them with TTS with the tag (field) "name:en" by first priority and if it doesn't exist ...then by by tag (field) "name" and if they 

 then to say the field "name" and if it doesn't exist then to say " missing name " ( or something agreed ) .

 Right now even the regular tts doesn't say names with the field "name:en" ... it goes straight to the field "name" and when it can't produce 

non latin letters ... it doesn't say anything . I opened a bug about this and a way to solve it ...



Saying street names is great ... but it needs to be refined...it doesn't work at all in non latin letters countries .

P.S... i don't understand how you want to use google translate as a recorded voice ... isn't this copyright steal ?    

Areg

unread,
Jul 30, 2013, 4:45:11 AM7/30/13
to osm...@googlegroups.com
Hi

It is very nice to hear to which road you need to turn on or drive on.

The only problematic part is when the road name contain the "ref" and "name" tags together like the Long Road in Cambridge - "ref=A1134, name=Long Road" the voice guidance is telling only the ref part.

As the human you mostly remember the street name and not a A1134 reference it will be nice that the app will try to tell the name and if it is not defined tell the ref, or tell them together.

Also this can be configurable by user choice.

Regards,
Areg

Hardy

unread,
Jul 30, 2013, 5:06:36 AM7/30/13
to osm...@googlegroups.com
Hello Areg, not generally true: This is a cultural issue. In some countries it is more customary to go by "street names", but in many countries in the world all directions are usually by highway number where it exists.
 
So it is definitely debatable. We could go for announcing both, but it potentially makes long announcements at times where you need quick info. And most road names are already longer than the highway refs. Pronoucing both would definitely be long. I am a little undecided, but vote for testing the current "ref over name" for now ...
 
Best,
Hardy

Areg

unread,
Jul 30, 2013, 5:37:30 AM7/30/13
to osm...@googlegroups.com
Hi Hardy

I would like to vote for the following:
* in the Settings add the Option for this: Pronounce 1. Ref Only, 2. Name Only (Ref if no Name), 3. Ref + Name (if so)

Regards,
Areg

Rodolfo

unread,
Jul 30, 2013, 8:13:26 AM7/30/13
to osm...@googlegroups.com
Voted for your suggestion.

Like Hardy said: "This is a cultural issue".
So we will need different behaviour for different cultures.

Harry van der Wolf

unread,
Jul 30, 2013, 9:31:39 AM7/30/13
to osm...@googlegroups.com
I vote for this option as well.
 
But I'm very, very happy with the new functionality and if the option can't be implemented I prefer to have it like this instead of any other option.
Ref before name is excellent. On the motorway you want to hear the ref. In the city you want to hear the name. When you are in the city only the biggests "pass through" roads have refs as well. Until now we had nothing and need to look on the map and listen (go left/go right, etc), so that remains in this rare situations: so be it.
 
So again: I'm very happy with this functionality. (and now a good Dutch tts engine :) )
 
Harry


 
2013/7/30 Rodolfo <rodo...@gmail.com>
Voted for your suggestion.

Andre

unread,
Jul 30, 2013, 9:58:52 AM7/30/13
to osm...@googlegroups.com

Yes. Thanks. Svox is a good tts engine btw

Op 30 jul. 2013 15:31 schreef "Harry van der Wolf" <hvd...@gmail.com> het volgende:
--

carda...@gmail.com

unread,
Jul 30, 2013, 11:17:17 AM7/30/13
to osm...@googlegroups.com
I would like to contribute improving Spanish tts file, as I've seen some untraslated strings in config file. In order to test the result, I would like to know if there's any way to use osmand in demo mode, i.e. without driving a real route. I'm quite new to osmand and don't know if it is possible.

Harry van der Wolf

unread,
Jul 30, 2013, 12:49:26 PM7/30/13
to osm...@googlegroups.com


2013/7/30 <carda...@gmail.com>

I would like to contribute improving Spanish tts file, as I've seen some untraslated strings in config file. In order to test the result, I would like to know if there's any way to use osmand in demo mode, i.e. without driving a real route. I'm quite new to osmand and don't know if it is possible.


Once you have calculated a route (destination and start from), you can do a simulation but unfortunately no vocal instructions are given.

You can test almost all instructions via settings->OsmAnd development->Test voice prompts.
Maybe you need to activate the OsmAnd development plugin first via the plugin manager.

You need to copy the modified ttsconfig.p as _ttsconfig.p into your osmand/voice folder. Create a folder for it and copy your file into it. Then test with your es-tts engine.

Harry

Harry van der Wolf

unread,
Jul 30, 2013, 12:54:30 PM7/30/13
to osm...@googlegroups.com
Yes, I already tried that one some weeks ago as trial version and today I purchased the dutch male voice as it sounds better then the female voice.
It is very good.

Harry



2013/7/30 Andre <andreo...@gmail.com>

carda...@gmail.com

unread,
Jul 30, 2013, 3:00:25 PM7/30/13
to osm...@googlegroups.com
Thanks for the hint, quite useful for testing.
I have one sugestion for the Spanish translation. In Spanish number 20 is pronounced differently if it is just 20 (veinte) or if it is 21-29 (veinti). Would make sense to modify the numbering lines as below?

dist(D, ['20.ogg'|L]) :- D < 21, Ts is D - 20, !, dist(Ts, L).
dist(D, ['20+.ogg'|L]) :- D < 30, Ts is D - 21, !, dist(Ts, L).

Victor Shcherb

unread,
Jul 30, 2013, 3:25:15 PM7/30/13
to osmand
Is '20+.ogg' correct file name?
I would a little bit implified like this
dist(20, ['20.ogg']) :- !.
dist(D, ['20_and.ogg'|L]) :- D < 30, Ts is D - 20, !, dist(Ts, L).

I guess it was a typo with 21.

Victor


--

carda...@gmail.com

unread,
Jul 30, 2013, 3:34:01 PM7/30/13
to osm...@googlegroups.com
20_and seems better than 20+ as file name
I used 21 instead of 20 to restrict the use of 20_and.ogg for numbers 21 to 29 both inclusive, but if using 20 makes the same effect, then that's ok.

Victor Shcherb

unread,
Jul 30, 2013, 3:37:06 PM7/30/13
to osmand
But basically it had different meaning 21.
So it looked something like you pronounce
'23' like '20+' and '2' (because 23 - 21 = 2) which I guess incorrect.
Please don't forget to specify in the file

string('20_and.ogg', 'veingti').

Regards,
Victor

Rodolfo

unread,
Jul 30, 2013, 4:02:40 PM7/30/13
to osm...@googlegroups.com
23 is officially written as "veinte y tres", but is usually shortened to "veintitrés", which is how it is spoken in everyday life.
But I think most TTS engines pronounce 23 OK.
For ttsconfig, maybe there should be an intermediate y.ogg that only pronounces the "y"?
It will make the prompts a trifle slower, but easy to understand.
What do you think, Carda...?
To unsubscribe from this group and stop receiving emails from it, send an email to osmand+unsubscribe@googlegroups.com.

Andre

unread,
Jul 30, 2013, 4:25:06 PM7/30/13
to osm...@googlegroups.com

Hi Hardy and Cardavilam, and others.

About testing: I test by creating a route with one or more waypoints and then click directions and click follow.
Of course if you are sitting on your chair at home Osmand will announce only the first spoken instruction.  After that I click "simulate route" , click "no" because I don't want to load a different gpx route but use current route (this part is not optimal clear and user friendly but who cares...)
Well, and then it start talking you all the way through. Cooooool. You can stop simulation and then Osmand concludes that you have lost your way and returns home, so you can start it all over again ;-)

Op 30 jul. 2013 17:17 schreef <carda...@gmail.com> het volgende:

carda...@gmail.com

unread,
Jul 30, 2013, 4:31:35 PM7/30/13
to osm...@googlegroups.com
I don't agree "veinte y tres" is the official form for 23, "veintitrés" is the correct form. (See http://lema.rae.es/drae/?val=veintitres)
If you create an y.ogg (and.ogg) file it will result in an incorrect pronunciation, for example veinte y dos instead of veintidos. From my point of view, we will get better results with a 20_and file for numbers 21-29

carda...@gmail.com

unread,
Jul 30, 2013, 4:38:55 PM7/30/13
to osm...@googlegroups.com
I don't find "Simulate route" option. Where is it placed?

Andre

unread,
Jul 30, 2013, 5:25:27 PM7/30/13
to osm...@googlegroups.com

Sorry. I have other language. When you have directions, and press menu button left under (3 stripes) choose "start simulation".

Op 30 jul. 2013 22:38 schreef <carda...@gmail.com> het volgende:

Rodolfo

unread,
Jul 30, 2013, 5:31:43 PM7/30/13
to osm...@googlegroups.com
OK, the DRAE is always right for single words (after all, it is THE reference), but it does not contain compound expressions (like "veinte y tres").
Never mind, nice to have a Spanish expert in the group, welcome!
And perhaps the y.ogg will serve for "treinta y uno" to "noventa y nueve" :)

Victor Shcherb

unread,
Jul 30, 2013, 6:40:49 PM7/30/13
to osmand
The only object here! The files you judge about '23', '21' is not about TTS!
TTS will take care about pronouncing on its own rules.
This is about generated voices, which clearly is not tested now. On the other hand we can't generate 100 files from 1...100, this is just too much. So may be compromise could be made, even though it is not 100% correct.
For example for Russian only 30 files needed,
1...9,10...20, 30, 40, 50, ... , 100

However 23 pronounced faster than 20 and 3. 
Anyway 23 will be quite rare number because we round minutes and meters to 5 , and we generate 25, 35, ....

Regards,
Victor

Rodolfo

unread,
Jul 31, 2013, 3:36:12 AM7/31/13
to osm...@googlegroups.com
You're right!
>> "... is not about TTS! This is about generated voices"
Of course and pronouncing "venti" "cinco" will be faster than "veinte" "y" "cinco", but similarly "treintaý" "cinco" would be faster than "treinta" "y" "cinco" and could also sound more natural (??).
Are you going to include the whole range 30+ to 90+? Oh, why not, only 9 extra files.

Rodolfo

unread,
Jul 31, 2013, 4:21:10 AM7/31/13
to osm...@googlegroups.com
not treintaý, but treintaí

carda...@gmail.com

unread,
Jul 31, 2013, 10:17:05 AM7/31/13
to osm...@googlegroups.com
For Spanish adding just two extra files, 20_and.ogg (veinti) and and.ogg (y) (good suggestion Rodolfo) would be enough to cover all numbers from 1 to 100

S.by

unread,
Jul 31, 2013, 10:39:54 AM7/31/13
to osm...@googlegroups.com
Hello , 

I am the developer of the hebrew recorded voice .

Please tell me where are it's configuration files now (And the other) because it's not working at all .  

Harry van der Wolf

unread,
Jul 31, 2013, 11:29:09 AM7/31/13
to osm...@googlegroups.com
https://github.com/osmandapp/OsmAnd-resources/tree/master/voice


2013/7/31 S.by <by.s...@gmail.com>
Hello , 

I am the developer of the hebrew recorded voice .

Please tell me where are it's configuration files now (And the other) because it's not working at all .  

--

S.by

unread,
Jul 31, 2013, 2:05:18 PM7/31/13
to osm...@googlegroups.com
Is there a recorded voice that works ? If yes , where is it's configuration file ? in the link "Harry van der Wolf " gave me all files are fractions of something and not a whole file .  

Also , where the en-tts configuration file ? 

Rodolfo

unread,
Jul 31, 2013, 2:50:57 PM7/31/13
to osm...@googlegroups.com
I understand that the recorded voices "section" is under construction at the moment, but the EN ttsconfig is here:
https://github.com/osmandapp/OsmAnd-resources/blob/master/voice/en/ttsconfig.p

S.by

unread,
Jul 31, 2013, 3:13:12 PM7/31/13
to osm...@googlegroups.com
What about the en-tts ( not en ) file  ? Where is it ? 

Creating a recorded voice in hebrew that will speak street names is possible... since streets names written in english (field "name:en") in israel are written in english letters but the letters are combining the hebrew word  ... This is the custom here in israel ... some culture thing that was always like that ... 

This is what is written in english on formal road sighs  also . The name itself can't be translated so they went ahead and didn't translate to proposition words also .

I am talking about combining recorded voice + tts for street names . 

Hardy

unread,
Jul 31, 2013, 4:15:50 PM7/31/13
to osm...@googlegroups.com
Ok, I have just fnished the "virgin" load of all new voice configuration files, and removed ALL old style files.
 
Some points again, these may answer many questions asked above. If not, please ask:
- The new style config source files are in folder 'xx' only (where xx is the ISO 639-1 language code), with NO trailing characters. (The copying to 'xx-tts' will happen via build script)
- The config file for tts voices and for pre-recorded voices is IDENTICAL, i.e. the pre-recorded voices can be produced from the each ttsconfig.p file (subject to us finding a proper tts engine for the language in question)
- Pre-recorded voices are now similar in functionality, but still LESS FLEXIBLE than tts-voices (no street name prompts, less granularity for numbers.) But now all other new features should work in all of them!!
 
Translators, would you please check your tts-language via the OsmAnd app (Settings/Development/Test voice propmts, advanced settings plugin must be activated). I have copied all grammar exceptions from all existing old tts files. I also added all new functionality like street name prompting, travel time prompting, new speed warning prompts, etc. For features missing in the old tts files I had no translations or grammar rules, so I did a best guess. Please verify and give me feedback, ok!
 
For "he" there is no pre-existing tts file, so I had no chance to produce a "new style" tts file. Maybe whoever supports he could send me a new-sytle tts file with at least the strings section filled out, I can then assist to produce the new voice.
 
Thanks, Hardy
 

S.by

unread,
Jul 31, 2013, 4:33:06 PM7/31/13
to osm...@googlegroups.com
Hello,  Hardy ... there is no hebrew tts android engine ... this is why i made the recorded voice.

In fact ... there is no tts engine in any operating system ... there are all under development . 

I tried to operate all recorded voices under bluestacks , but they don't work there , is the situation different in a real android ( i will try) ? 

Hardy

unread,
Jul 31, 2013, 6:04:29 PM7/31/13
to osm...@googlegroups.com
Hello S.by,
 
have you researched if there is ANY tts engine anywhere, (could alss be an online service) to produce he recordings? Because we could
(a) produce a new ttsconfig file for he
(b) use that to produce a pre-recorded voice EVEN THOUGH there is no tts engine on Android. That's one basic aspect for the current voice refactoring.
 
Regarding the other (old) recorded voices: Yes, I think there is still an issue with the file format. I thnik we need to either re-compile their config.p files (yes, they are derived from the ttsconfig files now!) or document how your existing config.p file needs to be changed. The best would probaly be you produce a ttsconfig.p for he (or send me what you have so I can have a shot at it), then you are flexible either way. Your existing recordings (oggs), if any, can of course be re-used (but likley they are incomplete for all new voice features)
 
Best,
Hardy

Hardy

unread,
Jul 31, 2013, 6:07:14 PM7/31/13
to osm...@googlegroups.com
PS: Let me post a template for the he grammar and word order here momentarily, so all you have to do is put in the he translations, ok?
 

Hardy

unread,
Jul 31, 2013, 6:33:35 PM7/31/13
to osm...@googlegroups.com
 
(1) Instructions to use existing ogg files from he-ov with it:
Look at all lines starting with "string": They will contain an expression each like 'xxx.ogg'. This expression must be left untouched! But then they contain an expression  like 'xxx-e' (without .ogg). This corresponfs to your existing ogg file names, if any. You need to rename each of your voice files to what the 'xxx.ogg' says.
 
Example:
string('left.ogg', 'turn_left-e ').
Rename your turn_left-e.ogg to left.ogg
 
(2) You will see that many expressions are missing, i.e. you do not have an ogg file for them (the new voice features mostly).
In order to try to produce them via a tts engine in the future, please now replace all the SECOND portzions in the string-lines with the hebrew translatiosn of what needs to be pronounced (in hebrew characters, I guess).
 
Leave the rest of the tts-file untouched, it should work as is and produce your correct grammar.
 
OK? any thing unclear, please ask!
 
Best, Hardy

Pavel Andrejs

unread,
Aug 1, 2013, 3:02:35 AM8/1/13
to osm...@googlegroups.com
Hi,
Even if I realize that this may be quite complicated, I have another cultural (or maube language) related suggestion. I tried to improve the Czech tts file and because of declination it is very complicated to create the annocments that don`t sound too much like a machine.  It would be a great help if the ref a name were differentiated even in the tts level, so I could create different rules for each other.  Would it be possible someday to implement something like this?

But anyway - this is a great improvemnt, thanks.

Pavel

Dne úterý, 30. července 2013 15:31:39 UTC+2 Harry van der Wolf napsal(a):

S.by

unread,
Aug 1, 2013, 3:46:06 AM8/1/13
to osm...@googlegroups.com
Hello again hardy ( had internet problems ) 

The only online service hebrew i found cost money if you want to go beyond trying .  (others are under development or sound horrible)
 (this one isn't perfect also)


Also It seems there is a hebrew tts for ipad already... and there are roomers about google making one.  

( waze has one , but it seems recorded and you don't have any way to use it  )

Don't you have copyright problems if you use google translate ?

I don't realy understand why you want to use google translate ... the built in english tts in android 4.2.2 (i have) is very good ( Improved a lot ) 

(actually i am rethinking about whether the never ending beta IVONA is necessary ) 

Hardy

unread,
Aug 1, 2013, 8:18:34 AM8/1/13
to osm...@googlegroups.com
Hello Pavel, yes, tackling the cs-tts file felt like an exam in a programming class ...  :-)  I have transferred all declinations,exceptions etc. there were in the old tts file.and decied along the way that Czech is not a language I would try to learn any time soon ... :-)
 
Please do check the wording and grammar for the new functions like miles/feets/yard suppprt, announcing names, announcing travel time, and the onto/on/to_street distinction (if needed), as I had no Czech blueprint for that.
 
en, de and es tts files can serve as examples for some of the distinctins you may need.
 
Thanks!
Hardy
 
 
About the

Hardy

unread,
Aug 1, 2013, 8:25:02 AM8/1/13
to osm...@googlegroups.com
Hello S.by,
 
Maybe you want to point Victor to this post, he may make a decision to use some of our project money on creating a new pre-recorded he-voice (provided you complete my file with all necessary translations first ... :-) ).
 
We also need to check the license of the online tts's you found, of course.
 
Yes, I worked on the English tts a lot to make it a good blueprint, which it should be now.
 
I think there is a misunderstanding here, I have no clue what you refer to when mentioning google-translate? We never use online translations for any recordings. We may want use online tts engines though to produce pre-recorded voices, but there of course the license needs to be checked. Guess that's what you meant.
 
Best, Hardy

Pavel Andrejs

unread,
Aug 1, 2013, 8:53:11 AM8/1/13
to osm...@googlegroups.com
Hello Hardy,
it is amazing, you did this without knowing czech language. So far I didn`t find any new problem (one detail is there for a long time). I updated the file, so the streets are announced (with the trouble I mentioned in my prevoius email), fixed the old problem  (the one mentioned in the TODO as optimize "pak držte se vlevo"  -> "pak se držte vlevo") and made another workround for the svox bug (worte the nominative numbers with words, the "dál" version was not nice). I`ll test thoroughly and let you know.

Pavel


2013/8/1 Hardy <hm.gg...@gmail.com>
--

carda...@gmail.com

unread,
Aug 1, 2013, 10:24:22 AM8/1/13
to osm...@googlegroups.com
I have checked the es file and have a few translations to change. I will make a pull request for them later, but one question first. I don't see any definition for numbers, for example string('one.ogg', 'uno '). Where is the translation of numbers placed, in a different file?

carda...@gmail.com

unread,
Aug 1, 2013, 11:22:53 AM8/1/13
to osm...@googlegroups.com
sorry, I meant string('1.ogg', 'uno').

Hardy

unread,
Aug 1, 2013, 1:23:50 PM8/1/13
to osm...@googlegroups.com
Hello Pavel, thank you for the flowers ... :-)
 
Yes, if you can somehow specify (maybe grammatically) how the cs-file can be improved even further, maybe we can work something out together. PROLOG is a very powerful programing language (I think I myself understnd only half of it), so I guess there may always be ways to succeed  ...  :-)
 
@carda:  Thank you for checking es, muchas gracias ... :-)
You do not need to worry about the .ogg number generation, it is down in the last 30 or so lines of code in the file: 1-20 is created in steps of one, 20-100 in steps of five, and so on. (tts-numbers use steps of one always, of course).
 
 
Best regards,
Hardy

Maarten Deen

unread,
Aug 1, 2013, 5:03:27 PM8/1/13
to osm...@googlegroups.com
I'm having a lot of problems with the voices in 1.5.1 and I'm wondering why it's just me as apparently for everyone else it works fine.
I had some voices converted from the tomtom voices (with the OsmAnd Voice tool) and they stopped working. Well, every once in a while I get the message "then turn". Nothing more.
What bothers me more is that I can not choose a different voice anymore. When I go into the settings and choose a different voice, I sometimes get "initialising voice data" (not always), but when I look again, the new voice hasn't been chosen. I could only choose the "do not use" option which is now checked and I can not choose a different voice anymore.

Why is this not working for me?

Hardy

unread,
Aug 1, 2013, 5:12:36 PM8/1/13
to osm...@googlegroups.com
Maarten,
- the old voices do not work any more (would need to be converted as laid out above)
- 1.5.1 has issues with recorded voices
- tts voices mostly work ok, but there are bugs, we are working on a bugfix v 1.5.2 to be published asap
- the voice selction menu works ok, but in my experience the indicator (supposed to show the chosen voice) in the menu is faulty: While it changes the voice correctly, It only shows the correct voice after you completely exited all settings (or alternatively restart the app).

Maarten Deen

unread,
Aug 2, 2013, 1:08:06 AM8/2/13
to osm...@googlegroups.com
I missed the post where it said I need to convert them. But I downloaded both the generated Dutch and recorded English version again from the download options in OsmAND. Don't they work anymore either? How do I get working voices then?
And sorry to say this, but it was working before and you could use all the tomtom voices. How is this an improvement?

Harry van der Wolf

unread,
Aug 2, 2013, 1:26:57 AM8/2/13
to osm...@googlegroups.com


2013/8/2 Maarten Deen <maarte...@gmail.com>

I missed the post where it said I need to convert them. But I downloaded both the generated Dutch and recorded English version again from the download options in OsmAND. Don't they work anymore either? How do I get working voices then?
And sorry to say this, but it was working before and you could use all the tomtom voices. How is this an improvement?


Meanings do differ of course, but until now everytone thinks it is definitely an improvement. The system is far more flexible now and gives directions which street to take (with a tts voice).
Besides, using Tomtom voices is illegal. No matter whether you have the  TomTom software legally or not, it is illegal to use a Tomtom voice (or other proprietary TomTom data) in other software. (Always be careful what you mention in a public forum).

Please also read http://www.marshut.com/sqysx/no-voice-in-osmand-1-5-1.html
I give some "hints" to come to a solution.

Also: Will you blame Firefox if "some third party plugin" that should not be used to download youtube movies, doesn't work anymore after Firefox  has upgraded their product? You can find it a pity, but you can't blame Mozilla.

Harry


Maarten Deen

unread,
Aug 2, 2013, 2:11:07 AM8/2/13
to osm...@googlegroups.com
I'm sure you know there are more tomtom voices out there than the ones created by tomtom?

But I'll have a look at your link, thanks. Just wished that there would be a notice that previous voice files and voices you can still download in OsmAND itself don't work anymore. You start to freak out when something that worked all of a sudden doesn't anymore, and really the last thing I think about is "the maker of the software deliberately did something that it doesn't work anymore and forgot to tell or remove the non-working voices from the download". Yeah, it took me this long to figure out. I wonder how long it takes people that don't know about this list to find out about it.

Hardy

unread,
Aug 2, 2013, 4:20:18 PM8/2/13
to osm...@googlegroups.com
Rodolfo, Carda, I think I had already put am  and.ogg  (=y in Spanish) in all tts files, I foresaw its use ... :-)

--
You received this message because you are subscribed to the Google Groups "Osmand" group.
To unsubscribe from this group and stop receiving emails from it, send an email to osmand+un...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

carda...@gmail.com

unread,
Aug 3, 2013, 2:39:13 AM8/3/13
to osm...@googlegroups.com
For Spainsh I think it could be as below, but please check it as I'm not sure about the right meaning of the code:
dist(D, ['20.ogg']) :- !.

dist(D, ['20_and.ogg'|L]) :- D < 30, Ts is D - 20, !, dist(Ts, L).
dist(D, ['30.ogg']) :- !.
dist(D, ['30.ogg', 'and.ogg'|L]) :- D < 40, Ts is D - 30, !, dist(Ts, L).
dist(D, ['40.ogg']) :- !.
dist(D, ['40.ogg', 'and.ogg'|L]) :- D < 50, Ts is D - 40, !, dist(Ts, L).
dist(D, ['50.ogg']) :- !.
dist(D, ['50.ogg', 'and.ogg'|L]) :- D < 60, Ts is D - 50, !, dist(Ts, L).
dist(D, ['60.ogg']) :- !.
dist(D, ['60.ogg', 'and.ogg'|L]) :- D < 70, Ts is D - 60, !, dist(Ts, L).
dist(D, ['70.ogg']) :- !.
dist(D, ['70.ogg', 'and.ogg'|L]) :- D < 80, Ts is D - 70, !, dist(Ts, L).
dist(D, ['80.ogg']) :- !.
dist(D, ['80.ogg', 'and.ogg'|L]) :- D < 90, Ts is D - 80, !, dist(Ts, L).
dist(D, ['90.ogg']) :- !.
dist(D, ['90.ogg', 'and.ogg'|L]) :- D < 100, Ts is D - 90, !, dist(Ts, L).

Hardy

unread,
Aug 3, 2013, 3:31:31 AM8/3/13
to osm...@googlegroups.com
I have refactored the route simulation dialogue a bit, it was quite un-logical ...
 
Carda, yes, that should work, I believe...
 
Best, Hardy
 

Am Dienstag, 30. Juli 2013 22:25:06 UTC+2 schrieb Andre Oid:

Hi Hardy and Cardavilam, and others.

About testing: I test by creating a route with one or more waypoints and then click directions and click follow.
Of course if you are sitting on your chair at home Osmand will announce only the first spoken instruction.  After that I click "simulate route" , click "no" because I don't want to load a different gpx route but use current route (this part is not optimal clear and user friendly but who cares...)
Well, and then it start talking you all the way through. Cooooool. You can stop simulation and then Osmand concludes that you have lost your way and returns home, so you can start it all over again ;-)

Op 30 jul. 2013 17:17 schreef <carda...@gmail.com> het volgende:
I would like to contribute improving Spanish tts file, as I've seen some untraslated strings in config file. In order to test the result, I would like to know if there's any way to use osmand in demo mode, i.e. without driving a real route. I'm quite new to osmand and don't know if it is possible.

El martes, 30 de julio de 2013 15:58:52 UTC+2, Andre Oid escribió:

Yes. Thanks. Svox is a good tts engine btw

Op 30 jul. 2013 15:31 schreef "Harry van der Wolf" <hvd...@gmail.com> het volgende:
I vote for this option as well.
 
But I'm very, very happy with the new functionality and if the option can't be implemented I prefer to have it like this instead of any other option.
Ref before name is excellent. On the motorway you want to hear the ref. In the city you want to hear the name. When you are in the city only the biggests "pass through" roads have refs as well. Until now we had nothing and need to look on the map and listen (go left/go right, etc), so that remains in this rare situations: so be it.
 
So again: I'm very happy with this functionality. (and now a good Dutch tts engine :) )
 
Harry


 
2013/7/30 Rodolfo <rodo...@gmail.com>
Voted for your suggestion.

On Tuesday, 30 July 2013 11:37:30 UTC+2, Areg wrote:
Hi Hardy

I would like to vote for the following:
* in the Settings add the Option for this: Pronounce 1. Ref Only, 2. Name Only (Ref if no Name), 3. Ref + Name (if so)

--
You received this message because you are subscribed to the Google Groups "Osmand" group.
To unsubscribe from this group and stop receiving emails from it, send an email to osmand+un...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Harry van der Wolf

unread,
Aug 3, 2013, 5:22:46 AM8/3/13
to osm...@googlegroups.com
I regenerated the recorded spanish voice. You can find it again in my public dropbox account at:
https://www.dropbox.com/sh/6hbu1sbfwy6pel6/toO8AzqqE0/Osmand/voices

(See <https://groups.google.com/forum/#!topic/osmand/f4nw_B8nug4> if necessary).

Harry


2013/8/3 Hardy <hm.gg...@gmail.com>

carda...@gmail.com

unread,
Aug 4, 2013, 1:37:22 PM8/4/13
to osm...@googlegroups.com
I have tested the new voice files and messages are correct now. I'll only remove the pause in make_uturn_wp because it is too long. Apart from the content of the messages, the voice isn't very good, and some messages sound a little bit ridiculous. At the beginning of this thread some other TTS engines were mentioned, but I don't know if any of them have been tried.
I have found a problem with the changes at the end of the config file. The line

dist(D, ['20.ogg']) :- !.
makes that the first message when a route is calculated always gives 20 km. Removing that line the right distance is output.

Hardy

unread,
Aug 4, 2013, 4:07:40 PM8/4/13
to osm...@googlegroups.com
Harry, Carda, I am trying to understand what you would be using the Spanish pre-recorded voice for, isn't the tts voice much more convenient, and has more features?
 
To me, the pre-recorded voices are really only needed as fallback for more "exotic" languges for which there is no or only bad tts support on smartphones? Just trying to understand, maybe I am missing something here?
 
Gracias, Hardy

Harry van der Wolf

unread,
Aug 4, 2013, 4:37:47 PM8/4/13
to osm...@googlegroups.com
Hi,

I only generated the voices for those who want to try them. No matter whether Google comes with a tts, like for Spanish, or not. When I saw that the Spanish was updated I simply regenerated it.

I wanted to do the same for the russian voice today, but it can't be generated anymore. I can't generate any voice.
They all error out with a lot of "Warning: <path_to>/g_config.p:<line_number>: followed by  "Clauses of (--)/2 are not together in the source file"

Harry


2013/8/4 Hardy <hm.gg...@gmail.com>
Harry, Carda, I am trying to understand what you would be using the Spanish pre-recorded voice for, isn't the tts voice much more convenient, and has more features?
 
To me, the pre-recorded voices are really only needed as fallback for more "exotic" languges for which there is no or only bad tts support on smartphones? Just trying to understand, maybe I am missing something here?
 
Gracias, Hardy

--

carda...@gmail.com

unread,
Aug 4, 2013, 4:41:24 PM8/4/13
to osm...@googlegroups.com
Well, as I said in my first post, I'm new to osmand (and also to smartphones), so i'm learning "on the go". When I installed osmand I didn't know about tts possibility to get voice instructions and so I installed pre-recorded voice and now I'm just investigating that way.
By the way, could you point me to a good tts engine for the smartphone?

Rodolfo

unread,
Aug 4, 2013, 5:00:01 PM8/4/13
to osm...@googlegroups.com
My favourite is still SVOX that comes with many languages (including Spanish).
I agree with Hardy, that pre-recorded voices are only interesting for languages without a decent TTS support.
Listening to the current pre-recorded Spanish voice, I am not at all convinced.
But maybe the quality will improve in due time...

Best regards, Rodolfo

Hardy

unread,
Aug 5, 2013, 2:31:00 AM8/5/13
to osm...@googlegroups.com
Ok, thank you for your replies! This convinces me even more that we somehow have to advertise that people should use the tts voices (we now pre-installl them for the major languages). Even the "improvement over time" would then be automatic as smartphones advance with new firmware or new devices.
 
Pity is that there need to be some settings set in Android (i.e. outside OsmAnd), and that maybe not all people get this to run very easily.
 
But in order to at least avoid people just selecting the sub-optimum recorded voices by default because the acronym "tts" does not apeal to them, I have some time ago at least changed the strings on the download screen to distinguish between
- Voice packs (recorded, limited features)
- Voice packs (TTS-synthesized, prefer)
 
Good voice engine is in deed SVOX Classic (costs money). I also like Pico which used to come built-in on many older smartphones (requires and extra free download per language, which is an additional hurdle), now more and more replaced by google-tts, which is not quite so good in intonation for some languages, in my mind. Also google-tts needs an extra (free) download for each suppported language or the pronunciation will be garbled.
 
Best, Hardy
 

carda...@gmail.com

unread,
Aug 5, 2013, 7:31:37 AM8/5/13
to osm...@googlegroups.com
I agree it would be good to advertise people to use tts, as it is not clear when you use osmand for the first time or browse osmand web/wiki. Perhaps a pop-up message when you activate voice instructions for the first time.

dona...@gmail.com

unread,
Aug 21, 2013, 2:17:39 AM8/21/13
to osm...@googlegroups.com
Hi
i'm french user and just update the issue for improvement of osmand user experience

for voice i see problem in french translation :
"onto" is spelling "A" in french must be change to "SUR LA"

the "turn left into 'Main street'" example is translate by "tournez à gauche à 'Main street'"  for correct speeling it will be "tournez à gauche sur la 'Main street'" because all road in french is "female"

could you change this speeling to be "more Frenchified" ?

thanks a lot

josep constantí mata

unread,
Mar 15, 2014, 7:50:09 AM3/15/14
to osm...@googlegroups.com
Hi,

For catalan language, I thing festcat http://festcat.talp.cat/demo.php has a good online TTS engine whith apropiated GPL license http://festcat.talp.cat/devel.php

If I can, I'm going to try generate ogg files whith this engine, but I'm a newby.

Greetings.

josep

El divendres 26 de juliol de 2013 23:09:37 UTC+2, V S va escriure:
Hi All,

As you know we restructured completely voices and now we can get lots of benefit from it :)
1. Now we have all dynamics in the voice
2. Now we can generate recorded voice out of tts (but only new tts-version files).
Here are some voices, which are generated using Google TTS

Even though Google TTS has a good quality it is incredibly slow, if you know how to ask Google TTS to generate quicker voices please let me know. Or if you have good online TTS engine which has compliant License please also write comment.

For now you are free to test what we have & if you think this is normal voices, later we will make them public.

P.S. If your language is not in the list, please consider to contribute & upgrade it.

Thanks
Victor

Leopoldo Saggin

unread,
Mar 21, 2014, 4:21:36 AM3/21/14
to osm...@googlegroups.com

Unfortunately only yesterday I noticed this threead.
So I would like to submit you some problems in the translation of some sentences into Italian
1. abount one mile/km  =  circa UN miglio/chilometro NOT "circa UNO miglio/chilometro"
2. route is = "il viaggio è lungo" or "il viaggio è di" or "viaggio lungo" NOT "il viaggio lungo" 
TIA
Leopoldo Saggin

Damjan Gerl

unread,
Jun 30, 2014, 11:40:18 AM6/30/14
to osm...@googlegroups.com
HI to all!
I want to ask about slovenian voices/tts:

I find the sl directory and some files in it in the github repository, but if I'm not wrong there do not exist a tts engine for android. So for what the directory stand? Is usable for something else?

And then maybe I can start to think of creating a slovenian voice (recorded). From where I can/must start?

BR,
Damjan

Harry van der Wolf

unread,
Jun 30, 2014, 12:41:12 PM6/30/14
to osmand


--
You received this message because you are subscribed to the Google Groups "Osmand" group.
To unsubscribe from this group and stop receiving emails from it, send an email to osmand+un...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Harry van der Wolf

unread,
Jun 30, 2014, 12:42:01 PM6/30/14
to osmand
Sorry wrong link. Is for slovak voice.

as said: espeak supports slovenian but is very robotic.
http://reecedunn.co.uk/espeak-for-android

Damjan Gerl

unread,
Jul 1, 2014, 6:05:02 PM7/1/14
to osm...@googlegroups.com
Yes, you are right! I don't know that eSpeak support also slovenian, also if in beta. Do you know if it is possible to listen to some demo with slovenian language somewhere?

BR
Damjan

Dne ponedeljek, 30. junij 2014 18:42:01 UTC+2 je oseba Harry van der Wolf napisala:

Harry van der Wolf

unread,
Jul 2, 2014, 7:47:38 AM7/2/14
to osmand
RHDunn's version is a spin-off of espeak and is a paid version as he has improved it. However espeak is open-source and so is his version.
You can build it yourself, also the android version. It contains slovenian.

https://github.com/rhdunn/espeak

Harry


--

StefanB

unread,
Jul 23, 2014, 1:39:52 PM7/23/14
to osm...@googlegroups.com
Hi!

I've added initial Slovenian TTS support back in 2012
but i gave up due to unavailability of good TTS engines.
Any pointers to are welcome, but in the mean time the only option for slovenian voice guidance is recorded sound samples... 
I'm trying to record and put it together these days.

greets,
Štefan

StefanB

unread,
Jul 29, 2014, 5:14:47 AM7/29/14
to osm...@googlegroups.com
Hi, i just committed Slovenian voice guidance into git & created pull request:
https://github.com/osmandapp/OsmAnd-resources/pull/217

Is there something else that needs to be done in order to have it distributed via osmand download manager?

greets,
Štefan

StefanB

unread,
Jul 29, 2014, 2:50:22 PM7/29/14
to osm...@googlegroups.com
Added support for altering the tempo of voice samples:
https://github.com/osmandapp/OsmAnd-resources/pull/218

I've published the latest Slovenian language pack (now with faster speech and reduced silence gaps) at:
http://dl.dropboxusercontent.com/u/36381923/sl_0.voice.zip
to be included in http://download.osmand.net/resource/voice/

greets,
Štefan

Luca

unread,
Nov 1, 2015, 2:06:57 AM11/1/15
to Osmand
Hi everyone,
I created new voice-only guidance files for Sardinian (sc). What should I do now? Should I just try to upload the .ogg files and pull a request or do I need to modify "ttsconfig.p", "config.p" or some other file before? I don't think I can obtain a TTS voice because it's not avaible with google for this language (actually, I don't know if there is any tts engine that supports Sardinian right now), so I don't know if those other files are still necessary.
sc-voice.zip
Reply all
Reply to author
Forward
0 new messages