Aller au contenu

Tuto - TTS pour assistants vocaux (Google Home, Alexa, Cortona, …)


jojo

Recommended Posts

Introduction
Le présent tutoriel  est inspiré de ceci sur Github : https://aymkdn.github.io/assistant-plugins/
J'ai uniquement testé la plugin qui permet de faire du TTS sur ma Google Home.
Donc si quelqu'un pouvait valider que cela fonctionne également avec Alexa, …

@ebouilleur a tes, et ça ne fonctionne pas avec Alexa

 

Objectif
Vous pourrez faire du TTS en voyant une simple URL avec votre texte.
Ce TTS est beaucoup plus rapide (5 secondes max) que ce que l'on connaissait jusqu'à présent.

 

Prérequis
Assistant vocal : ici validé avec Google Home
Compte gratuit IFTTTT
Compte gratuit Pushbullet
Un Linux, MAC ou Windows 24/7 : ici j'explique l'installation sur un Synology avec DSM 6.2
Une box domotique qui peut envoyer des url : ici Lifedomus

 

Installation sur le Synology
N.B. : lisez également le tuto dont le lien ci-dessus, il est super bien fait. Je ne reprendrai ici que les particularités pour l'installation sur Synology.

    • Installer le paquet Node.js v8
    • Créer un dossier partagé "Assistant-plugins"
    • Télécharger le plugin souhaité (ici notifier (v2.1.3) => cfr lien ci-dessus, étapes 4 & 5 ou prendre le fichier ZIP en PJ
    • Dézipper le fichier
    • Copier son contenu dans le dossier partagé "Assistant-plugins"
    • Ouvrir une console SSH en root

(pour se connecter en root sur DSM 6.x : https://www.synology.com/fr-fr/knowledgebase/DSM/tutorial/General_Setup/How_to_login_to_DSM_with_root_permission_via_SSH_Telnet)

dans ce répertoire et tapper :

        npm install --loglevel error && npm run-script postinstall

    • Créer une tâche sur le syno qui va s'exécuter au démarrage de celui-ci avec la commande :

        node /volume1/Assistant-plugins/index.js > Assistant-plugins.log &

        Où "/volume1/Assistant-plugins" est l'endroit où on a créé le dossier partagé
    • Chez moi (je ne sais pas pourquoi), il faut régulièrement relancer le process. J'ai donc créé une seconde tâche qui fait la même chose toutes les 6 heures.
    
Configuration
Adapter le fichier configuration.json qui est apparu dans le dossier partage "Assistant-pluginns" suivant la documentation.

 

Utilisation
Dans un browser, mettez cette URL :
 

https://maker.ifttt.com/trigger/<Project name>/with/key/<IFTTT Key>?value1=super de faire dire ce qu'on veut à son Google Home&value2=&value3=

Implémentation sur la box domotique (optionel) :
J'explique ici comment le faire sur une box Lifedomus Vision.
    1. Créer un connecteur HTTP Universel
oh6j.jpg    
     IP ou nom de domaine :

https://maker.ifttt.com/trigger/<projject name>/with/key/<IFTTT Key> 

où <Project name> est le nom de votre projet Webhoosk dans IFTTT

    ==> il faut créer une Applet de ce type dans IFTTT :

a4ni.png

    où l'Event Name (ici Message) correspond au <project name>

    où <IFTTT Key> est la key IFTTT lié au Webhooks dans IFTTT -> votre user -> Services ->recherche Webhooks -> documentation

    2. Créer un équipement

Créer un équipement Universel Générique, que j'ai appelé "IFTTT - Message"

Créer une commande de type ASCII (nom = "Message") et commande :

?value1={message1}&value2={message2}&value3={message3}

    Où {message1}, {message2} et {message3} sont les 3 paramètres du message à faire dire

5isw.jpg
 

    3. Créer un automate

On crée un automate avec l'équipement générique créé, et apparaissent les 3 variables.
dtfh.jpg    

 

N.B. 1 : il n'est pas obligatoire de remplir les 3 variables

N.B.2 : on peut mettre comme texte, une variable (ici c'est la température de la piscine), MAIS il faut que cette variable soit de type chaîne.

N.B. 3 : tous les espaces doivent être remplacés par %20

 

Tuto - TTS pour assistants vocaux.pdf

assistant-plugins.zip

Modifié par jojo
pas pour Alexa
  • Like 2
  • Downvote 1
Lien vers le commentaire
Partager sur d’autres sites

maintennt, s'il y en a un qui a le courage de faire la partie Box domotique pour la HC2, il me fournit le texte et les images, et je l'adapte dans le premier post

Lien vers le commentaire
Partager sur d’autres sites

  • 11 months later...
Le 09/11/2018 à 15:58, jojo a dit :

Installation sur le Synology
N.B. : lisez également le tuto dont le lien ci-dessus, il est super bien fait. Je ne reprendrai ici que les particularités pour l'installation sur Synology.

    • Installer le paquet Node.js v8
    • Créer un dossier partagé "Assistant-plugins"
    • Télécharger le plugin souhaité (ici notifier (v2.1.3) => cfr lien ci-dessus, étapes 4 & 5 ou prendre le fichier ZIP en PJ
    • Dézipper le fichier
    • Copier son contenu dans le dossier partagé "Assistant-plugins"
    • Ouvrir une console SSH en root dans ce répertoire et tapper :


        npm install --loglevel error && npm run-script postinstall

    • Créer une tâche sur le syno qui va s'exécuter au démarrage de celui-ci avec la commande :


        node /volume1/Assistant-plugins/index.js > Assistant-plugins.log &

        Où "/volume1/Assistant-plugins" est l'endroit où on a créé le dossier partagé
    • Chez moi (je ne sais pas pourquoi), il faut régulièrement relancer le process. J'ai donc créé une seconde tâche qui fait la même chose toutes les 6 heures.

Bonjour,

Je viens d'essayer de suivre le tuto mais je bloque. He oui! mes compétences dans le domaine sont vraiment très limitées.

J'en suis à la console SSH:

J'ai fais qqu recherche et j'ai suivi cet autre tuto: https://benjamin-balet.info/multimedia/utiliser-les-fonctions-ssh-ou-telnet-du-synology/

Mais dans l’exécution de PUTTY dont l'installation c'est très bien passé, je rentre "root" et il me demande le mot de passe mais il m'est impossible de le taper. Je ne sais pas pourquoi.

Une idée?

Merci

 

Lien vers le commentaire
Partager sur d’autres sites

tu est en DSM6 ?

Car en DSM6, on ne sait plus se connecter directement en root.

Il faut se connecter avec un user administratif, puis faire un su pour passer en root

Lien vers le commentaire
Partager sur d’autres sites

zut alors ...

Alors j'ai voulu essayé depuis mon eMAC pour te montrer que c'était ok, mais il me fait authorization denier lorsque je veux faire le su (je ne comprends pas pourquoi ...)

Mais je ne connais pas PUTTY (je suppose donc que tu es sous Windows), mais je crois me souvenir qu'il y a différents modes de configuration de la Connection, et que celle par défaut n'est pas la bonne.

As-tu regardé ceci ?

https://www.synology.com/fr-fr/knowledgebase/DSM/tutorial/General_Setup/How_to_login_to_DSM_with_root_permission_via_SSH_Telnet

Lien vers le commentaire
Partager sur d’autres sites

je viens de lire la doc, et je t'avais dit entre <su>

mais en fait, c'est <sudo -i>

et du coup ça fonctionne

 

Je vais rajouter ce lien dans la première page du tutoriel

 

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

il y a 4 minutes, jojo a dit :

zut alors ...

Alors j'ai voulu essayé depuis mon eMAC pour te montrer que c'était ok, mais il me fait authorization denier lorsque je veux faire le su (je ne comprends pas pourquoi ...)

Mais je ne connais pas PUTTY (je suppose donc que tu es sous Windows), mais je crois me souvenir qu'il y a différents modes de configuration de la Connection, et que celle par défaut n'est pas la bonne.

As-tu regardé ceci ?

https://www.synology.com/fr-fr/knowledgebase/DSM/tutorial/General_Setup/How_to_login_to_DSM_with_root_permission_via_SSH_Telnet

Bonjour

Je viens juste de trouver en fait il n'affiche pas le mot de pass et donc on crois que l'on tape dans le vide mais en fait ça marche.

Il me reste plus q'a essayer les commandes

 

  • Like 1
Lien vers le commentaire
Partager sur d’autres sites

Comme je l'ai signalé, je suis complètement novice donc, je ne sais pas ce que je fais. J'ai donc peur de faire une bêtise.

J'en suis là

Je tape directement cette commande sans mettre le répertoire devant ? 

npm install --loglevel error && npm run-script postinstall

puis en suite l'autre?

 

 

Image3.jpg

Lien vers le commentaire
Partager sur d’autres sites

  • 5 months later...
Le 09/11/2018 à 15:58, jojo a dit :

Dans un browser, mettez cette URL :
 


https://maker.ifttt.com/trigger/<Project name>/with/key/<IFTTT Key>?value1=super de faire dire ce qu'on veut à son Google Home&value2=&value3=

 

Hello @jojo : je viens d'installer suivant le tuto sur GITHUB.

ça marche très bien si je lui dit "ok Google, répète la phrase : blablablanla"...

 

mais impossible de le faire fonctionner avec l'URL que tu donnes !

 

tu as une idée ?

 

J'ai bien saisie la Key de IFTTT et le nom de projet c'est le nom de l'Applet, c'est bien ça ?

 

 

 

 

Lien vers le commentaire
Partager sur d’autres sites

Ah j'ai compris !

 

il NE faut PAS créé une applet google Assistant -> pushbullet comme décrit dans le GITHUB...

 

mais webhooks -> pushbullet...

 

afin de déterminer un "event" de webhooks qui trigge l'action de pushbullet :60::wacko:

Modifié par jjacques68
Lien vers le commentaire
Partager sur d’autres sites

  • 1 month later...

Bonjour, 

 

J'ai un petit soucis :(

Citation

Dans un browser, mettez cette URL :
 


https://maker.ifttt.com/trigger/<Project name>/with/key/<IFTTT Key>?value1=super de faire dire ce qu'on veut à son Google Home&value2=&value3=

   

 

IP ou nom de domaine :


https://maker.ifttt.com/trigger/<projject name>/with/key/<IFTTT Key> 

où <Project name> est le nom de votre projet Webhoosk dans IFTTT
    Où <IFTTT Key> est la key IFTTT lié au Webhooks dans IFTTT -> votre user -> Services ->recherche Webhooks -> documentation

Quand je colles l'url, j'obtient un Congratulations! You've fired the webhook event

 

Mais je ne suis pas sur d'avoir saisi ce qu'il fallait (ou non) faire sur le site ifttt.com

Il faut mettre quoi exactement à la place de <projject name> ?

 

J'ai créé mon compte et créé mon webhook. Dans la page setting je vois :

 

Account Info

Connected as : monpseudo
URL : https://maker.ifttt.com/use/cOhTXEgergexxxxxxxx_xxxxxxx3cAEv
Status : Active

 

A noté que j'ai pas d'erreur côté Putty :

root@synology:/volume1/Yves/Assistant-plugins# node index.js
[assistant] Assistant v2.0.13 : Chargement en cours...
[assistant] 1 plugin trouvé.
[assistant] Chargement du plugin 'notifier' (v2.1.8)
[assistant-notifier] Plugin chargé et prêt.
[assistant] Connexion au flux de PushBullet...
[assistant] (2020-05-08 16:36:53) Connecté ! Prêt à exécuter les ordres.

 

et sur le site pushbullet.com, dans following, je n'ai rien...

mais dans Device, je vois bien "assitant-plugins" (qui a du se créé tout seul)

 

et sur ifttt.com/activity non plus...

 

Il me reste d'autre chose à faire?

J'ai du loupé un truc important, mais je ne vois pas trop quoi..

Merci

Modifié par ebouilleur
Lien vers le commentaire
Partager sur d’autres sites

  • 2 weeks later...

désolé, c'était il y a très longtemps, et je n'ai pas retrouvé où il fallait configurer <projectname>. Mon tuto n'était donc pas parfait ...

Lien vers le commentaire
Partager sur d’autres sites

voilà, ça m'énervais tellement de ne plus avoir la solution, que j'ai cherché.

dans IFFF, il faut créer un appelât comme celui-ci

a4ni.png

où Message est le ProjectName

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...