Decimal separator in TTS messages

Hi. I recently discovered Kurviger Pro as a routeplanner who is the only one who can compete with my 15-year-old Garmin 276c in determining great motorbike trips, away from the main roads (but still on a paved Surface). Thanks for this!

Thank you also for the recent introduction the Polish language in TTS navigation. Unfortunately, in this case, there is a serious problem arising from the use the “dot” character and not the “comma” as the decimal separator (as in Polish, but many others too). In this case, Android TTS cannot interpret numbers as numbers correctly, making voice messages completely meaningless and unusable!

Please think about it, and I suggest using in the application as a decimal separator character compatible with Android system settings, or maybe even better - in the Kurviger settings adding the appropriate parametr to select a period or comma as the separator. I think it should be easy to implement :slight_smile:

PS. As a new user of this Forum, I would like to welcome everyone, at the same time please forgive my poor English…

3 Likes

Thanks for the report.

Can you write in words the pronunciation of decimal numbers in your case?

What text-to-speech engine is selected as active in device’s language settings?

It’s recommended to use the Google text-to-speech app, as it handles automatically units, decimals, etc. for all languages.

Testing languages which use “comma” for decimal separation, Google text-to-speech pronounces correctly all numbers.

1 Like

I am pleased that you answered quickly.

I use Google TTS and of course I know that it can correctly interpret numbers, fractions, dates, time etc. in many of my applications (eg I have a lot of “talking projects” in Tasker). Also the numbers with the comma as the separator are pronounced very well, but with a dot - not…

Maybe this problem occurs only in Polish? I just checked that in Czech, Google TTS correctly interprets both dot and comma as the decimal separator. I think this is due to the fact that in Poland the ordinal numbers are marked with a dot - and TTS tries to read them as ordinal numbers. Believe me, that in this case it is completely impossible to understand the meaning.

Seems a specific language problem with the Android text-to-speech engine, since other (similar) languages work correctly.

Well then we would need to address the case in another way so that works correctly everywhere. :slightly_smiling_face:

I’m afraid you’re the only one who can help here, because from Google’s point of view it’s not a “problem” but a “feature”. For example Polish “3.” is treated by the TTS engine as English “3-th”. In many cases it makes sense - for example when numbering exits from a roundabout :slight_smile:

So it would be great if you could add a simple command to Kurviger’s code to replace “#.# km” with “#,# km” in the string that is sent to the TTS engine. Maybe to not interfere too much in the program code, it is enough if such a conversion occurs only in TTS, without affecting the numbers shown on the display. Please…

That’s the idea to help the cases where text-to-speech is not clever enough.

Will be included in next version. :slightly_smiling_face:

Great! I can only say: Danke Schön! :slight_smile:

Please keep in mind not to replace each dot in the string with a comma, because in that case the abbreviations would be defective (such as “gen.” = “general” and especially in our strange country “J.P.” = “Johannes Paul” obligatory in every town :wink: )!

And since I have already mentioned the numbering of exits: maybe you could add this unfortunate dot to the number of the exit? Without this dot, TTS strangely says exit instructions from the roundabout (although of course I can understand the intention). But with this dot - immediately following the number - the instructions are spoken perfectly in Polish :smiley:

1 Like

Instruction in English is “at roundabout, take exit X” (X = number).

In Polish community has the translation “zjedź z ronda X zjazdem”.

I can change it, if there is a better one, but without 1st, 2nd, …, etc.
Need to keep the simple English text with numbers, easier for TTS.

Something like “na rondzie, zjedź na zjazd X” ?

It would be absolutely perfect:
“zjedź z ronda X. zjazdem”
with a dot character immediately after X - because thanks to this dot, the Polish TTS engine interprets the preceding digit as an ordinal number, and he correctly speaks Polish “first”, “second”, “third” instead of “one”, “two”, “three”.

1 Like

Cannot depend on TTS to convert first, second, etc., as there are several engines less capable which pronounce the dot.

As explained above, we need to keep EN text translated in all languages with same wording and just plain exit numbers.

Also plain numbers (1, 2, 3, …) are much clearer to hear and understand than ordinal numbers (first, second, third, …).

In fact, you are absolutely right. We can’t predict how different TTS engines in different languages ​​(even including future versions of Google TTS) will interpret dotted notation, or any other. So it’s safe to leave the roundabouts as they are - it’s not perfect (at least in Polish) but with good will, everyone can understand the navigation hint.

So I am just asking you again to only replace “#.# km” with “#,# km” because it really is very important.

Thank you for your patience, best wishes :slight_smile:

  • Maciek from Warsaw

Is something like “na rondzie, zjedź na zjazd X” better, instead of current “zjedź z ronda X zjazdem”?

I already implemented that for next version. :slightly_smiling_face:

In my opinion, the current version looks better - is correct and unambiguous. Unfortunately, the Polish Google TTS both versions (as well as several others that I have just tested) terribly “hurt” by an incorrect number form… but I can live with it. :smiley: So you can safely leave it as it is, hoping that Google will someday improve the interpretation of numbers in Polish.

2 Likes

Should work correctly now with Kurviger 1.11.8 (Beta).

1 Like

Bingo! It’s OK now :ok_hand:

It is true that, as a language purist, I still have a few notes to translate, but for now I will not bother you because it is rather a cosmetic matter. Thank you for the comma in TTS because it was critical :smiley:

1 Like

Thanks for the report!

I can send you the few TTS texts to see for improvements.
(currently Polish translations exist only for TTS language)

I mean to publish the language resources of platform + app (e.g. in GitHub), so that everyone can read them and post improvements more easily.

From what I noticed during the navigation simulation, generally the translation is already good except for (but not very important) the translation of the word “onto”. In the case of phrases used in navigation, it should rather be translated into Polish “w” and not “na”. Unfortunately, this does not apply to all cases, but most. Exceptions are the phrases “U-turn onto” and “Continue onto”, whose translations should remain unchanged.

So for example:

Turn (slight/sharp) left/right onto Somestreet
should be
Skręć (delikatnie/ostro) w lewo/prawo w Somestreet

At rondabout, take exit # onto Somestreet
should be
Zjedź z ronda #. zjazdem w Somestreet (you really don’t want to add this dot after #? :smiley: )

Keep left/right onto Somestreet
should be
Trzymaj się lewej/prawej strony w Somestreet

BUT:

U-turn onto and Somestreet
let it stay
Zawróć na Somestreet

Continue onto Somestreet
let it stay
Kontynuuj na Somestreet

I do not know if I can express myself clearly: if in the above phrases appear “different onto” each time (translated separately for each phrase), I would suggest changing that. But if it is still “the same onto”, translated once, then there will be no tragedy when everything stays as it is.

Indeed, it may be easiest if you share these texts with me, and I will look at it with my friends. Maybe together we will make some small changes - but really small, because it is already quite good.

1 Like

Navigation simulation evolves to quite significant asset for many use cases!

Instructions are not ready full phrases, they are created by several text parts.
The “onto” is a text that goes between all instructions, we have one text for all.

I sent you a message with them. :slightly_smiling_face:

Solved in Kurviger 1.11.5.