Page 1 sur 2

[python] TTS et chromecast

Publié : 01 mai 2017, 17:55
par papoo
Bonjour,
je souhaitais remplacer les notifications sur ma tablette de salon par une solution un peu plus performante au niveau du son notamment.
j'ai un dock iphone 4 pour me servir d'enceinte amplifiée et un chromecast audio qui dort dans un tiroir.
voila donc mon script me permettant d'utiliser les notifications domoticz avec un chromecast
le script chromecast.py à placer dans /home/pi/domoticz/scripts/python/ et à personnaliser avec l'adresse de domoticz et le nom que vous avez défini lors de l'installation de votre chromecast

Code : Tout sélectionner

#!/usr/bin/python3
from __future__ import print_function
import sys; sys.path.insert(0,'/usr/local/lib/python3.4/dist-packages/')
import time
import pychromecast
from gtts import gTTS
#import sys
URL_DOMOTICZ = 'http://192.168.10.240:8080/' # renseigner l'adresse et le port de votre domoticz
for arg in sys.argv:
	print(arg)
tts = gTTS(text=arg, lang='fr', slow=False)
tts.save("/home/pi/domoticz/www/notification.mp3")

chromecasts = pychromecast.get_chromecasts()

[cc.device.friendly_name for cc in chromecasts]
['MonChromecast'] #vous pouvez mettre le nom de plusieurs chromecast separe par une virgule ex: ['douche', 'salon', 'cuisine', 'chambre']
	
cast = next(cc for cc in chromecasts )

cast.wait()

mc = cast.media_controller

mc.play_media(URL_DOMOTICZ+'notification.mp3', 'audio/mp3')

mc.block_until_active()

mc.pause()

mc.play()
si vous n'avez pas python 3 d'installé
# install dependencies
sudo apt-get install -y python3
# Domoticz Beta versions since V3.6129 also require...
sudo apt-get install -y python3-dev python3-pip
# credit [https://www.domoticz.com/forum/viewtopi ... 6&p=119747]
ensuite on install pychromecast
sudo pip3 install pychromecast
et le tts de google

Code : Tout sélectionner

sudo pip3 install gtts
pour tester en ligne de commande depuis la console

Code : Tout sélectionner

python3 /home/pi/domoticz/scripts/python/chromecast.py "bonjour, je voudrais tester mon chromecast"
évitez les accents, les ' ...

ensuite dans domoticz réglages > paramètres > notifications > HTTP personnalisé/Action:
custom_http.png
custom_http.png (47.87 Kio) Consulté 13385 fois

Code : Tout sélectionner

script:///home/pi/domoticz/scripts/python/chromecast.py "#MESSAGE"
il y a environ 10 secondes de latence entre l'envoi de la notification et le message vocal


voila, si cela peut servir.

Re: [python] TTS et chromecast

Publié : 06 mai 2017, 21:06
par deennoo
Super ! Merci ! Bon bah voilà une belle solution...comment est la diction stp ? Tu aurais un fichier audio à partager ?


Reste à trouver une solution pour concilier ton script avec les notifications par SMS qui utilise déjà les notifications par http...

Re: [python] TTS et chromecast

Publié : 06 mai 2017, 23:01
par papoo
ci -joint une notification : "le sèche linge vient de se terminer"

Re: [python] TTS et chromecast

Publié : 06 mai 2017, 23:23
par frenchyyii
Salut, peut-on caster sur autre chose qu'une chrome cast ? Genre sur ma freebox .
Avec mon zidoo j'arrive à caster le son de google now et de mon zidoo "par dessus ce que je regarde
/ecoute à la tv" et franchement j'aime bien.
Et sur une enceinte BT on peut aussi l'adapter ?


Merci

Re: RE: Re: [python] TTS et chromecast

Publié : 07 mai 2017, 00:24
par deennoo
frenchyyii a écrit :Salut, peut-on caster sur autre chose qu'une chrome cast ? Genre sur ma freebox .
Avec mon zidoo j'arrive à caster le son de google now et de mon zidoo "par dessus ce que je regarde
/ecoute à la tv" et franchement j'aime bien.
Et sur une enceinte BT on peut aussi l'adapter ?


Merci
Tu utilise quel protocole ? UPnP/dlna ? pour envoyer le son du zidoo -> Freebox Player ?

(Hs : le zidoo permet de régler la luminositée de son écran ?)

Re: RE: Re: [python] TTS et chromecast

Publié : 07 mai 2017, 00:33
par deennoo
papoo a écrit :ci -joint une notification : "le sèche linge vient de se terminer"
Merci c'est plutôt bon.

Cela passe par un cloud j'imagine

Re: [python] TTS et chromecast

Publié : 07 mai 2017, 09:16
par papoo
@deennoo :
oui c'est la fonction tts de google https://github.com/pndurette/gTTS

Re: RE: Re: [python] TTS et chromecast

Publié : 07 mai 2017, 10:51
par deennoo
papoo a écrit :@deennoo :
oui c'est la fonction tts de google https://github.com/pndurette/gTTS
Merci

Re: RE: Re: [python] TTS et chromecast

Publié : 07 mai 2017, 11:26
par frenchyyii
deennoo a écrit : Tu utilise quel protocole ? UPnP/dlna ? pour envoyer le son du zidoo -> Freebox Player ?

(Hs : le zidoo permet de régler la luminositée de son écran ?)
Ca semble être du DNLA mais je n'en suis pas sûr :oops:

Pour l'écran pas certain de comprendre la question, tu me demandes si le Zidoo permet de baisser la luminosité du TV qui lui est relié en HDMI ? Si c'est ça... non, en tout cas pas nativement.
Avec Brightness Dimmer (No Adds) ça fonctionne impec

Pour le cast perso je ne cast que le son sur le FB player, on peu aussi caster l'image mais je n'y ai pas d’intérêt.

En espérant t'avoir répondu sinon précise moi ce que tu veux savoir ;)

Re: RE: Re: RE: Re: [python] TTS et chromecast

Publié : 07 mai 2017, 13:22
par deennoo
frenchyyii a écrit :
deennoo a écrit : Tu utilise quel protocole ? UPnP/dlna ? pour envoyer le son du zidoo -> Freebox Player ?

(Hs : le zidoo permet de régler la luminositée de son écran ?)
Ca semble être du DNLA mais je n'en suis pas sûr :oops:

Pour l'écran pas certain de comprendre la question, tu me demandes si le Zidoo permet de baisser la luminosité du TV qui lui est relié en HDMI ? Si c'est ça... non, en tout cas pas nativement.
Avec Brightness Dimmer (No Adds) ça fonctionne impec

Pour le cast perso je ne cast que le son sur le FB player, on peu aussi caster l'image mais je n'y ai pas d’intérêt.

En espérant t'avoir répondu sinon précise moi ce que tu veux savoir ;)
Lol non je parlais de l'afficheur digital de m....e en facade le but serait de le mettre dans la chambre a la place de la beelink mais il me faut un truc discret et surtout non lumineux au possible.

Le script de papoo crée un fichier mp3

Il doit donc y avoir un moyen de le diffuser sur une enceinte bt c'est sur ou en dlna (il suffit juste de trouver comment).

Tu dois envoyer tes sons via dlna au freeboxplayer c'est quasiment certain.

Un plugin python notification vocal dlna pour domoticz sera vraiment royal ! (Encore faut il avoir des competences c'est sur)