Paquets vocaux
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 :
- SynthÚse vocale (https://developer.android.com/reference/android/speech/tts/TextToSpeech) disponible sur les App Stores ou préinstallée
- Paquets vocaux enregistrés , qui incluent des voix enregistrées.
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.