Code Monkey home page Code Monkey logo

voicify's Introduction

Home Voicify

Donner de la voix à votre maison domotisée !

Origine du projet : GitHub/Nikya/Voicify

Présentation

Home Voicify est un système de génération de notification vocal variable pour les maisons domotisées.
(Il génére des textes qui doivent être envoyés à un systéme TTS externe)

Certaines actions de votre domotique méritent une notification vocale:

La porte du garage est restée ouverte !

Bon retour chez vous Monsieur, la température intérieure est de 22°

Armement de l'alarme, vous avez 2 minutes pour évacuer les lieux.

Pensez à sortir la poubelle du tri sélectif pour demain.

Variation des notifications

Le principal avantage de Home Voicify est que pour un même type de notification, il va générer des phrases qui varient : il évite la lassitude ou évite de s'habituer à une notification et donc à la longue un risque de ne plus y prêter attention.

Avec une notification qui serait "oublie fermer porte garage", il est possible de paramétrer des phrases différentes comme :

La porte du garage, est restée ouverte.

Un oublie de la porte du garage.

Qui voudrait bien fermer la porte du garage ?

Home Voicify gère l'injection de variables dans le texte de la notification, par exemple une température qui peut varier :

Bon retour chez vous Monsieur, la température intérieure est de 22°.

Fonctionnalités

Module type FEATURE

Plusieurs fonctionnalités exploitent ce concept de notification vocale variée :

  • voicekey : Pour un certain mot clé déclancheur, obtenir une notificaiton vacale variante.
  • speakingclock : Une horloge parlante qui annoncera l'heure toujours de façon différente.
  • breakingnews : Un journal quotidien personalisé (météo, agenda, ...)

Module type TTSENGINE

Compatible avec plusieurs systèmes de génération de synthèse vocale (TTS) :

Mise en service

Prerequis

  • Avoir un serveur Web PHP

Installer

Dans un répertoire web du serveur PHP :

Dossiers d'échanges

Créer à la racine du dossier voicify, 2 dossiers d'échanges : configuration et temporaire, puis leur donner des droits en lecture/écriture :

mkdir config
mkdir temp
sudo chmod 770 config
sudo chmod 770 temp

Initialiser

  1. Aller sur l'URL du serveur Web-PHP où est installé Home Voicify.
  2. Aller sur l'interface web de Home Voicify
  3. Puis comme demandé, executer le Setup
  4. Une fois le Setup accomplie, il ne reste plus qu'à utiliser ce système

Utiliser

Tester

Tester et jouer avec les fonctionalités du système grace au menu Play.

Chaque page play est constituée de 3 parties :

  • Read Me : Contient la documentation contextuel
  • Action : Contient les éléments d'intérations
  • Console : Affiche les résultats de l'intération :
    • URL : Contient l'URL d'API appelée par l'intération
    • Indicateur : La couleur indique le bon déroulement ou non de l'intérration
    • Output : Affiche un détail du bon déroulement ou non de l'intérration
    • Saying : Affiche le texte final envoyé au systéme de notification vocale

Liaison domotique

Chaque utilisation d'une fonctionalité génére une URL d'API dans la console.

Il suffit ensuite :

  1. de copier cette URL
  2. de la coller dans un composant de votre sytéme de domotique qui est capable d'appeler des URL externes.
  3. De programmer dans votre sytéme de domotique, un appel au moments opportun vers ce composant.

Edition des textes

Les textes utilisés suivent une syntaxe particulière nommée Textify : Voir la documentation en ligne pour exploiter au mieux cette syntaxe.

Releasing

  • Release : Détails et contenues des releases précédentes
  • ToDo : Nouveau contenues à venir
  • Contributing : Comment contribuer au projet
  • Licence : GNU GENERAL PUBLIC LICENSE

Remerciements

voicify's People

Contributors

an0nym0us63 avatar nikya avatar

Stargazers

 avatar

Watchers

 avatar  avatar

voicify's Issues

Module "test" non trouvé

Un problème de sound_system/executer_action

     Traceback (most recent call last):
       File "./voicifyCore/sound_system/executer_action.py", line 192, in <module>
         "test": test
    NameError: name 'test' is not defined

Pb génération son

Un Pb coté executer_action.py mais il se peut que se soit à l'origine une erreur 503.
Pourtant cette URL focntionne directement dans un naviguateur :

http://translate.google.com/translate_tts?textlen=83&idx=0&q=J%27ai+r%C3%A9gul%C3%A9+la+temp%C3%A9rature+%C3%A0+22.1%C2%B0%2C+en+anticipation+de+votre+retour+Monsieur+%21&tl=fr&client=t&total=1&ie=UTF-8

Pas d'urgence pour la résoudre, on en discute prochainement.

L'erreur:

Fail to process the sound commande : ./voicifyCore/sound_system/executer_action.py 192.168.1.2 9090 0 0 94:de:80:72:23:f6 parle "J'ai régulé la température à 22.1°, en anticipation de votre retour Monsieur !" http://192.168.1.2 100 dingdong google fr 2>&1 
 Array
(
    [0] => Traceback (most recent call last):
    [1] =>   File "./voicifyCore/sound_system/executer_action.py", line 90, in 
    [2] =>     actions[sys.argv[6]](p)
    [3] =>   File "./voicifyCore/sound_system/executer_action.py", line 36, in parle
    [4] =>     tts.save(filenamemp3)
    [5] =>   File "/var/www/html/voicify/voicifyCore/sound_system/gtts/tts.py", line 90, in save
    [6] =>     self.write_to_fp(f)
    [7] =>   File "/var/www/html/voicify/voicifyCore/sound_system/gtts/tts.py", line 108, in write_to_fp
    [8] =>     r.raise_for_status()
    [9] =>   File "/var/www/html/voicify/voicifyCore/sound_system/requests/models.py", line 837, in raise_for_status
    [10] =>     raise HTTPError(http_error_msg, response=self)
    [11] => requests.exceptions.HTTPError: 503 Server Error: Service Unavailable for url: http://translate.google.com/translate_tts?textlen=83&idx=0&q=J%27ai+r%C3%A9gul%C3%A9+la+temp%C3%A9rature+%C3%A0+22.1%C2%B0%2C+en+anticipation+de+votre+retour+Monsieur+%21&tl=fr&client=t&total=1&ie=UTF-8
)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.