Sintesi vocale per applicazioni mobili
Altova MobileTogether supporta la funzionalità di sintesi vocale per Applicazioni mobili multipiattaforma, consentendo agli sviluppatori di integrare la funzionalità vocale e di creare un'esperienza utente multimediale completa e coinvolgente.
La funzione di sintesi vocale può essere integrata completamente con il testo in qualsiasi punto dell'applicazione. Ad esempio, un'applicazione come l'esempio "Parcel Delivery MobileTogether" può essere migliorata rendendo udibile l'indirizzo della prossima consegna, soprattutto se il conducente è nel traffico! Oppure, il testo presente nelle caselle di messaggio o in altri blocchi di informazioni può essere letto ad alta voce dal dispositivo mobile.
Abbiamo creato una semplice dimostrazione per sperimentare le funzionalità di sintesi vocale per le applicazioni mobile, e successivamente abbiamo integrato queste funzionalità nell'applicazione per la consegna di pacchi.

Questa semplice applicazione dimostrativa di sintesi vocale offre quattro funzionalità:
- Un campo di input consente all'utente di digitare qualsiasi testo oppure di riprodurre un testo predefinito
- Un pulsante "Parla" permette di ascoltare la lettura a voce alta del testo inserito
- Il pulsante "Silenzia" interrompe la trasmissione audio se questa è già in corso
- Il pulsante "Esci" visualizza una finestra di dialogo con un messaggio vocale e offre la possibilità di chiudere l'applicazione
Ecco l'applicazione in esecuzione su un dispositivo Android, con del testo visualizzato nel campo di input:

Il testo all'interno di un'applicazione può provenire da diverse fonti, tra cui la funzione di copia e incolla del dispositivo mobile. Nella schermata qui sotto, un utente di un iPhone ha eliminato il testo predefinito, copiato dal sito web di Altova, e lo ha incollato nel campo di input:

La proprietà del campo di input per più righe è selezionata, e la casella si ridimensiona automaticamente per adattarsi al testo incollato.
Il testo inserito nel campo di input viene memorizzato in un elemento all'interno della struttura dati dell'applicazione. L'azione associata al pulsante "Parla" fa sì che il motore di sintesi vocale integrato nel dispositivo mobile legga il testo.
Questa singola azione, definita nella finestra di dialogo "Azioni" di MobileTogether, funziona indipendentemente dal fatto che l'applicazione sia in esecuzione su un telefono Android, iOS o Windows, su un computer Windows 10, o persino in un browser web su un altro dispositivo.

Abbiamo assegnato direttamente l'azione "Testo in voce" alle azioni associate al pulsante "Parla", ma è possibile utilizzarla anche all'interno di un gruppo di azioni. Abbiamo utilizzato un gruppo di azioni per il pulsante "Esci". Quando l'utente clicca su "Esci", vogliamo sia visualizzare una finestra di messaggio che pronunciare il messaggio, come si può vedere in questo esempio su un telefono Android:

Ecco le azioni definite per il pulsante "Esci":

La frase "È sicuro che desidera abbandonare questa applicazione?" è memorizzata nell'albero dei dati e utilizzata nelle espressioni XPath per l'azione di sintesi vocale evidenziata e per la finestra di messaggio che si trova al di sotto.
Quando l'utente fa clic su "OK", un'azione di tipo "Loop" attende che la funzione di sintesi vocale sia completata prima che l'applicazione venga chiusa.
Aggiornamento dell'applicazione per la consegna di pacchi con funzionalità di sintesi vocale per dispositivi mobili
L'applicazione di esempio "Consegna pacchi" è stata originariamente creata per dimostrare come lavorare con i dati di geolocalizzazione in MobileTogether. In questa simulazione, l'utente interpreta il ruolo di un autista di una società di consegne, incaricato di trasportare pacchi da un magazzino nel New Jersey a diverse destinazioni nella città di New York.
Quando viene assegnata una nuova destinazione, l'app visualizza una pagina "Consegna" che mostra l'indirizzo e la distanza attuale dalla posizione corrente alla destinazione, come si può vedere in questa schermata del simulatore MobileTogether per un telefono Android:

Vogliamo aggiungere la funzione di sintesi vocale per ogni nuova destinazione e distanza, man mano che il conducente percorre il tragitto.
Innanzitutto, possiamo aggiungere una nuova impostazione utente nella pagina di configurazione, con un interruttore per abilitare o disabilitare la funzione di sintesi vocale. Ecco la pagina di configurazione modificata, visualizzata su un iPhone:

Nella pagina "Consegna" del programma di progettazione, possiamo notare che la destinazione, la posizione attuale e la distanza dalla destinazione sono tutti elementi derivati da espressioni XPath

Queste stesse espressioni possono essere associate a funzioni di sintesi vocale. Innanzitutto, abbiamo creato un gruppo di azioni per pronunciare ogni nuova destinazione. L'area evidenziata in blu qui sotto mostra l'azione di sintesi vocale. Abbiamo utilizzato la funzione "concat" per aggiungere alcune parole aggiuntive, creando così una frase più colloquiale che include l'indirizzo e la distanza di partenza:

Man mano che il conducente si avvicina alla destinazione, la geolocalizzazione viene aggiornata periodicamente e la distanza dalla destinazione viene ricalcolata. Abbiamo creato un secondo gruppo di azioni per comunicare la nuova distanza:

Il ciclo all'inizio è simile all'azione definita per il pulsante "Esci" della nostra app dimostrativa descritta in precedenza. In questo caso, impedisce alla nuova azione di sintesi vocale da interrompersi se l'azione di sintesi vocale precedente non è ancora terminata. Questo potrebbe verificarsi altrimenti se un aggiornamento della geolocalizzazione si verifica prima che la precedente vocalizzazione sia completata.
I gruppi di azioni di sintesi vocale devono essere attivati durante l'esecuzione dell'applicazione. Innanzitutto, possiamo inserire il gruppo "Vocalize Next Destination" nella sequenza delle azioni "OnPageLoad" per la pagina "Delivery":

La pagina "Consegna" viene caricata una sola volta per la prima consegna. Per le consegne successive, possiamo aggiungere il gruppo di azioni alla sezione "Procedi con la prossima destinazione" già esistente:

Ciò che ci rimane da fare è inserire il gruppo di azioni "Vocalize New Distance" nella sezione "Azioni al ricaricamento della pagina" per la pagina di consegna

Ora, che l'applicazione venga eseguita nel simulatore MobileTogether o su qualsiasi dispositivo mobile, il conducente riceve aggiornamenti vocali e non deve distogliere lo sguardo dalla strada!
Potete provare a creare funzionalità di sintesi vocale per applicazioni mobile, ad esempio, seguendo questi passaggi: scaricare il software MobileTogether Designer, che è gratuito, che include un sistema di assistenza integrato, tutorial e numerosi esempi di applicazioni, tra cui un'applicazione per la consegna di pacchi.
Le soluzioni descritte in questo articolo possono essere scaricate all'indirizzo https://github.com/altova/MobileTogether-TTS
Aprire il file .mtd desiderato nel programma MobileTogether Designer per esaminare come è stato creato e quindi eseguirlo nel simulatore MobileTogether.
Connettiti all'app store del tuo dispositivo e scarica l'applicazione MobileTogether. Successivamente, connettiti al server dimostrativo di MobileTogether per eseguire altre applicazioni dimostrative. Una volta installata l'applicazione MobileTogether, puoi anche provare la funzionalità di sintesi vocale per applicazioni mobile sul tuo dispositivo, utilizzando MobileTogether Designer come server.