Pass all test strings through our character replacement method
This commit is contained in:
parent
8496abef67
commit
dbfad1e88b
2 changed files with 12 additions and 4 deletions
|
@ -25,6 +25,7 @@ import net.osmand.plus.voice.AbstractPrologCommandPlayer;
|
|||
import net.osmand.plus.voice.TTSCommandPlayerImpl;
|
||||
import net.osmand.plus.voice.CommandBuilder;
|
||||
import net.osmand.plus.voice.CommandPlayer;
|
||||
import net.osmand.plus.routing.VoiceRouter;
|
||||
import net.osmand.util.Algorithms;
|
||||
|
||||
import java.io.File;
|
||||
|
@ -190,7 +191,14 @@ public class TestVoiceActivity extends OsmandActionBarActivity {
|
|||
}
|
||||
return new Struct("");
|
||||
}
|
||||
|
||||
private Term street(CommandPlayer p, String name, String ref, String destName, String currentName) {
|
||||
// Pass all test strings through our character replacement method
|
||||
ref = VoiceRouter.getSpeakablePointName(ref);
|
||||
name = VoiceRouter.getSpeakablePointName(name);
|
||||
destName = VoiceRouter.getSpeakablePointName(destName);
|
||||
currentName = VoiceRouter.getSpeakablePointName(currentName);
|
||||
|
||||
if(p.supportsStructuredStreetNames()) {
|
||||
Struct next = new Struct(new Term[] { getTermString(ref),
|
||||
getTermString(name),
|
||||
|
|
|
@ -618,18 +618,18 @@ public class VoiceRouter {
|
|||
return empty;
|
||||
}
|
||||
|
||||
public String getSpeakablePointName(String pn) {
|
||||
// Replace characters which may produce unwanted tts sounds:
|
||||
public static String getSpeakablePointName(String pn) {
|
||||
// Replace characters which may produce unwanted TTS sounds:
|
||||
if (pn != null) {
|
||||
pn = pn.replace('-', ' ');
|
||||
pn = pn.replace(':', ' ');
|
||||
pn = pn.replace(";", ", "); // Trailing blank prevents punctuation being pronounced. Replace by comma for better intonation.
|
||||
pn = pn.replace("/", ", "); // Slash is actually pronounced by many TTS engines, ceeating an awkward voice prompt, better replace by comma.
|
||||
if ((player != null) && (!player.getLanguage().equals("de"))) {
|
||||
pn = pn.replace("\u00df", "ss"); // Helps non-German tts voices to pronounce German Strasse (=street)
|
||||
pn = pn.replace("\u00df", "ss"); // Helps non-German TTS voices to pronounce German Straße (=street)
|
||||
}
|
||||
if ((player != null) && (player.getLanguage().startsWith("en"))) {
|
||||
pn = pn.replace("SR", "S R"); // Avoid SR (as for State Route or Strada Regionale) be pronounced as "Senior" in English tts voice
|
||||
pn = pn.replace("SR", "S R"); // Avoid SR (as for State Route or Strada Regionale) be pronounced as "Senior" in English TTS voice
|
||||
pn = pn.replace("Dr.", "Dr "); // Avoid pause many English TTS voices introduce after period
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue