Aller au contenu
jojo

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

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

Partager ce message


Lien à poster
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

Partager ce message


Lien à poster
Partager sur d’autres sites
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

 

Partager ce message


Lien à poster
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

Partager ce message


Lien à poster
Partager sur d’autres sites

Même avec un user admin je n'arrive pas à taper le mot de passe

Partager ce message


Lien à poster
Partager sur d’autres sites

as-tu activé le service SSH (Panneau config -> Terminal & SNMP) Par défaut il est désactivé

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 3 heures, jojo a dit :

as-tu activé le service SSH (Panneau config -> Terminal & SNMP) Par défaut il est désactivé

Oui oui

 

Partager ce message


Lien à poster
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

Partager ce message


Lien à poster
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

Partager ce message


Lien à poster
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

Partager ce message


Lien à poster
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

Partager ce message


Lien à poster
Partager sur d’autres sites

Bon ben voilà je me suis lancé et j'ai ça!

ça n'a pas marché.

Un conseil?

Merci

Image4.jpg

Partager ce message


Lien à poster
Partager sur d’autres sites

je ne sais que te dire, car moi aussi je n'y connais rien, et ça a fonctionné en suivant à la lettre le tutoiement sur GITHUB.

Partager ce message


Lien à poster
Partager sur d’autres sites
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 ?

 

 

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai l'impression qu'il manque un truc !

 

j'ai l'applet entre Google Assistant et pushbullet !

 

mais il en faudrait pas une entre Webhooks et cette applet ?

Partager ce message


Lien à poster
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

Partager ce message


Lien à poster
Partager sur d’autres sites

en effet, je ne fais plus rien dire à mes sonos, et eux ils deviennent bavards ...

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,
Personne n'a d'idées pour mon soucis ?

Je ferai le tuto pour Alexa si j'y arrive ^^

Merci

Partager ce message


Lien à poster
Partager sur d’autres sites

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 ...

Partager ce message


Lien à poster
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

Partager ce message


Lien à poster
Partager sur d’autres sites

×