Skip to main content

Pacchetti vocali

🚧 This article is incomplete

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

OsmAnd supporta due tipi di pacchetti vocali:

Se non riesci a trovare il pacchetto vocale di cui hai bisogno, segui gli esempi seguenti e crea il tuo pacchetto vocale. Esempi - https://github.com/osmandapp/OsmAnd-resources/tree/master/voice, pacchetto tedesco de_0.voice.zip, pacchetto inglese en_0.voice.zip.

Differenza tra pacchetti TTS e registrati

  • un motore Text-To-Speech supporta la pronuncia di nomi di strade, riferimenti, nomi di POI
  • tutti i pacchetti supportati da Text-To-Speech sono raggruppati e aggiornati con un'applicazione
  • un pacchetto registrato deve essere installato e aggiornato manualmente (anche se il file di configurazione potrebbe essere aggiornato con l'aggiornamento dell'app)
  • un pacchetto registrato potrebbe non supportare alcune forme corrette e il supporto è limitato
  • un pacchetto registrato non richiede l'installazione di alcun motore TTS proprietario

Struttura del pacchetto

Il pacchetto vocale viene solitamente distribuito come .voice.zip, dove lo zip contiene una cartella con lang_tts.js (file di configurazione principale) e file audio se presenti.

I file di configurazione sono scritti in linguaggio JavaScript. Tutti i file di configurazione sono per impostazione predefinita pacchetti TTS, anche se non è ancora presente alcun TTS per supportare la lingua. E successivamente la configurazione viene estesa mappando "frasi del dizionario" a "nomi di file registrati".

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 ? ". " : " ");
}

Generazione di pacchetti personalizzati

Controlla le risorse del progetto e utilizza la stessa struttura di cartelle del pacchetto tedesco - semplicemente copialo. Una volta fatto, puoi modificare, eseguire lo script di generazione e specificare gli argomenti richiesti. L'aiuto è all'interno dello script.

Test del pacchetto vocale (Android)

Per i test, puoi utilizzare:

  • navigazione;
  • simulazione di navigazione;
  • o una comoda versione del plugin di sviluppo OsmAnd, che simula diversi comandi vocali per i test.