Skip to content

[ttsWebServer] Android : Description des méthodes

abarrau edited this page Jan 15, 2020 · 1 revision

L’application Android "TTS Web Service" inclue plusieurs méthodes. Voici une description de celle-ci et leur utilisation avec le plugin Jeedom.

readTTS :

 — Description :
[depuis v1.0] méthode permettant de diffuser un message audio directement sur l’équipement où l’application Android est installée ; le message audio au format Wav est également renvoyé par la requête.

 — Arguments :
* text : texte à synthétiser ; si le paramètre est vide, la méthode retour une erreur ;
* voice : nom du moteur à utiliser pour la synthèse ; si le paramètre est vide, le moteur par défaut (à l’initialisation) ou le dernier moteur demandé (durant une session de l’application) sera utilisé ;
* volume : valeur du volume sur l’équipement entre 0 et 100 (remarque : cette valeur est reconvertie entre 0 et 15, donc le changement d'1% n’aura que très peu d’effet sonore);
* noFile : si valeur = 1, permet de ne pas renvoyer de fichier en réponse à requête ; une réponse au format json sera renvoyée.

 — Réponse : (seulement si "noFile=1") :
{"res":"OK", "method":"readTTS", "text":"bonjour jeedom", "engine": "voxygen.tts.fabienne", "time_ms": "1025" }
* text : texte synthétisé ;
* engine : moteur TTS utilisé pour la synthèse (peut être différent de la demande, si problème technique par exemple);
* time_ms : durée en milliseconde pour générer le fichier coté Android.

getTTS :

 — Description :
[depuis v1.0] méthode permettant de synthétiser un message texte en fichier audio Wav sur l’équipement où l’application Android est installée ; ce fichier renvoyé lors de la réponse.

 — Arguments :
* text : texte à synthétiser ; si le paramètre est vide, la méthode retour une erreur ;
* voice : nom du moteur à utiliser pour la synthèse ; si le paramètre est vide, le moteur par défaut (à l’initialisation) ou le dernier moteur demandé (durant une session de l’application) sera utilisé ;
* volume : valeur du volume sur l’équipement entre 0 et 100 (remarque : cette valeur est reconvertie entre 0 et 15, donc le changement d'1% n’aura que très peu d’effet sonore);

 — Réponse : fichier wav.

getLastTTS :

 — Description :
[depuis v1.4] méthode permettant de récupérer les informations du dernier TTS généré.
(peut être utilisé après un getTTS, afin de récupérer les informations liés au temps de génération du fichier et la voix utilisée pour générer le fichier)

 — Arguments : aucun

 — Requête : http://@IP:8089/method=getLastTTS

 — Réponse :
{"res":"OK", "method":"getLastTTS", "methodLast":"readTTS", "text":"bonjour encore", "engine": "com.google.android.tts", "time_ms": "130" }
* methodLast : méthode utilisé pour la génération de ce texte (readTTS ou getTTS) ;
* text : texte synthétisé ;
* engine : moteur TTS utilisé pour la synthèse (peut être différent de la demande, si problème technique par exemple) ;
* time_ms : durée en milliseconde pour générer le fichier coté Android.

getVoices :

 — Description :
[depuis v1.1] méthode permettant de retourner la liste des moteurs TTS existants sur l’équipement.

 — Arguments : aucun

 — Requête : http://@IP:8089/method=getVoices

 — Réponse :
{"res":"OK", "method":"getVoices", "voices":"com.google.android.tts|voxygen.tts.damien|voxygen.tts.fabienne"}
* voices : liste des moteurs disponibles séparés par des |.

getLog :

 — Description :
[depuis v1.0] méthode permettant de retourner la log générée localement sur l’équipement Android. La log locale est alors réunitialisée (remise à vide), sauf si le paramètre "noDelete" est passé en argument.

 — Arguments :
* noDelete : si valeur = 1, permet de ne pas supprimer la log localement.

 — Requête : http://@IP:8089/method=getLog

 — Réponse :
{"res":"OK", "method":"getLog", "logs":"[2017-05-13 23:14:02][debug] xxxxx (…​.) xxxx"}
* logs : contenu de la log locale.

isTTL :

 — Description :
[depuis v1.0] méthode permettant de retourner l’état de l’application (date de démarrage, etc …​). Cette méthode est très importante, car elle est vérifiée par le plugin pour vérifier que l’application distante est démarrée.

 — Arguments : aucun

 — Requête : http://@IP:8089/method=isTTL

 — Réponse :
{"res":"OK", "method":"isTTL", "srvIsRun":"true", "srvRunDate":"2017-05-15 21:51:44", "appRunDate":"2017-05-15 21:51:44", "lastHttpEvent":"2017-05-15 22:06:21"}
* srvIsRun : "true", définie si le service est démarré. Remarque : il n’est pas possible d’avoir "false", du faite que si l’application est arrêtée, le WebService ne peut pas répondre …​.
* srvRunDate : date de démarrage du (Web) service sur l’équipement distant ;
* appRunDate : date de démarrage de l’application Android ; cela correspond à une "session" de l’application ;
* lastHttpEvent : date de réception et traitement de la dernière requête, quelque soit la méthode demandée ;

getInfo :

 — Description :
[depuis v1.1] méthode permettant de retourner un certain nombre d’information sur l’application.

 — Arguments : aucun

 — Requête : http://@IP:8089/method=getInfo

 — Réponse :
{"res":"OK", "method":"getInfo", "versionApk":"1.1", "product": "Lenovo TAB 2 A7-30F", "build": "19", "defaultEngine": "com.google.android.tts", "currentEngine": "com.google.android.tts", "maxCharServer": "4000", "ttsNbSynthetize": "2", "battery": "n/a", "unknownSource": "0"}
* versionApk : version de l’application TTS Web Server Android ;
* product : type d’équipement (nom du fabriquant et référence) ;
* build : valeur de la version d’Android ; Remarque : inférieur à 19, l’application ne fonctionnera pas ;
* defaultEngine : valeur du moteur TTS utilisé par défaut dans la configuration Android ;
* currentEngine : valeur du moteur TTS actuellement initialisée au niveau de l’application ; cette valeur dépend de la valeur passé dans le paramètre "voice" pour les méthodes "readTTS et getTTS" ;
* maxCharServer : nombre de caractères maximum autorisés par le moteur TTS courant ;
* ttsNbSynthetize : nombre de synthèse TTS (read ou get) réalisée au cours d’une session de l’application ;
* battery : (non utilisé)
* unknownSource : précise si le paramètre de sécurité d’Android "Sources inconnues" est activée ou non ;

getInfoDevice :

 — Description :
[depuis v1.4] méthode permettant d’afficher la liste brute des interfaces réseaux avec leur @IP, ainsi que l’état/droit sur les espaces de stockage. (Cette requête n’est pas utilisable dans le cadre d’un échange (non formaté), uniquement en cas de debug).

 — Arguments : aucun

 — Réponse : page HTML avec les informations techniques.

restartService :

 — Description :
[depuis v1.0] méthode permettant de redémarrer le (Web) service et réinitialiser le moteur TTS.

 — Arguments : aucun

 — Réponse :
{"res":"OK", "method":"restartService", "date":'2017-05-15 21:51:44"}
* date : date du dernier re/démarrage (valeur précédente à l’action courante).

stopService :

 — Description :
[depuis v1.0] méthode permettant d’arrêter le (Web) service et le moteur TTS.
REMARQUE : à partir de cet instant l’application ne pourra plus être interroger par le Web Service ; une action manuelle sur l’équipement Android devra être réalisée par l’utilisateur.

 — Arguments : aucun

 — Réponse :
{"res":"OK", "method":"stopService", "date":"2017-05-15 22:25:32"}
* date : date de l’arrêt (soit l’heure de la requête !)