[python] TTS et chromecast

Vous avez des questions concernant les scripts dans Domoticz, posez vos questions ici, quelque soit le langage nous tenterons des réponses pertinentes ...
papoo
Messages : 2009
Enregistré le : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

[python] TTS et chromecast

Message 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) Vu 7658 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.
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github

deennoo
Messages : 4019
Enregistré le : 25 janv. 2015, 02:00

Re: [python] TTS et chromecast

Message 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...
De quoi se faire Plaisir et essayer d'aider...
http://www.domo-attitude.fr

papoo
Messages : 2009
Enregistré le : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: [python] TTS et chromecast

Message par papoo »

ci -joint une notification : "le sèche linge vient de se terminer"
Fichiers joints
notification.zip
(9.92 Kio) Téléchargé 210 fois
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github

frenchyyii
Messages : 303
Enregistré le : 16 oct. 2015, 06:29

Re: [python] TTS et chromecast

Message 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

deennoo
Messages : 4019
Enregistré le : 25 janv. 2015, 02:00

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

Message 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 ?)
De quoi se faire Plaisir et essayer d'aider...
http://www.domo-attitude.fr

deennoo
Messages : 4019
Enregistré le : 25 janv. 2015, 02:00

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

Message 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
De quoi se faire Plaisir et essayer d'aider...
http://www.domo-attitude.fr

papoo
Messages : 2009
Enregistré le : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: [python] TTS et chromecast

Message par papoo »

@deennoo :
oui c'est la fonction tts de google https://github.com/pndurette/gTTS
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github

deennoo
Messages : 4019
Enregistré le : 25 janv. 2015, 02:00

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

Message par deennoo »

papoo a écrit :@deennoo :
oui c'est la fonction tts de google https://github.com/pndurette/gTTS
Merci
De quoi se faire Plaisir et essayer d'aider...
http://www.domo-attitude.fr

frenchyyii
Messages : 303
Enregistré le : 16 oct. 2015, 06:29

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

Message 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 ;)

deennoo
Messages : 4019
Enregistré le : 25 janv. 2015, 02:00

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

Message 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)
De quoi se faire Plaisir et essayer d'aider...
http://www.domo-attitude.fr

Répondre