Aller au contenu principal

Paquets vocaux

🚧 This article is incomplete

This article is incomplete & needs to be reviewed. You can help by creating a pull request.

OsmAnd prend en charge deux types de paquets vocaux :

Si vous n'avez pas pu trouver le paquet vocal dont vous avez besoin, veuillez suivre les exemples suivants et créer votre propre paquet vocal. Exemples - https://github.com/osmandapp/OsmAnd-resources/tree/master/voice, paquet allemand de_0.voice.zip, paquet anglais en_0.voice.zip.

DiffĂ©rence entre les paquets TTS et enregistrĂ©s​

  • un moteur de synthĂšse vocale prend en charge la prononciation des noms de rues, des rĂ©fĂ©rences, des noms de POI
  • tous les paquets pris en charge par la synthĂšse vocale sont regroupĂ©s et mis Ă  jour avec une application
  • un paquet enregistrĂ© doit ĂȘtre installĂ© et mis Ă  jour manuellement (bien que le fichier de configuration puisse ĂȘtre mis Ă  jour avec la mise Ă  jour de l'application)
  • un paquet enregistrĂ© peut ne pas prendre en charge certaines formes correctes, et la prise en charge est limitĂ©e
  • un paquet enregistrĂ© ne nĂ©cessite pas l'installation d'un moteur TTS propriĂ©taire

Structure du paquet​

Un paquet vocal est gĂ©nĂ©ralement distribuĂ© sous forme de .voice.zip, oĂč le zip contient un dossier avec lang_tts.js (fichier de configuration principal), et des fichiers sonores s'ils sont prĂ©sents.

Les fichiers de configuration sont Ă©crits en langage JavaScript. Tous les fichiers de configuration sont par dĂ©faut des paquets TTS, mĂȘme s'il n'y a pas encore de TTS pour prendre en charge la langue. Et plus tard, la configuration est Ă©tendue en mappant les « phrases du dictionnaire » aux « noms de fichiers enregistrĂ©s ».

function populateDictionary(tts) {
// ROUTE CALCULATED
dictionary["route_is1"] = tts ? "Die berechnete Strecke ist" : "route_is1.ogg";
dictionary["route_is2"] = tts ? "lang" : "route_is2.ogg";
dictionary["route_calculate"] = tts ? "Route neu berechnet" : "route_calculate.ogg";
dictionary["distance"] = tts ? "die Entfernung betrÀgt" : "distance.ogg";

// LEFT/RIGHT
dictionary["prepare"] = tts ? "DemnÀchst " : "prepare.ogg"; // DemnÀchst sounds better then Vorbereiten zum
dictionary["after"] = tts ? "nach" : "after.ogg";

dictionary["left"] = tts ? "links abbiegen" : "left.ogg";
.....
}

function route_recalc(dist, seconds) {
return dictionary["route_calculate"] + (tts ? ", " : " ") + distance(dist, "nominativ") + (tts ? ", " : " ") + dictionary["time"] + " " + time(seconds) + (tts ? ". " : " ");
}

GĂ©nĂ©ration d'un paquet personnalisé​

Veuillez consulter les ressources du projet et utiliser la mĂȘme structure de dossiers que le paquet allemand - faites simplement une copie. Une fois cela fait, vous pouvez modifier, exĂ©cuter le script de gĂ©nĂ©ration et spĂ©cifier les arguments requis. L'aide est dans le script.

Test du paquet vocal (Android)​

Pour les tests, vous pouvez utiliser :

  • la navigation ;
  • la simulation de navigation ;
  • ou une version pratique du plugin de dĂ©veloppement OsmAnd, qui simule diffĂ©rentes commandes vocales pour les tests.