Text2Speech mit BOSE

Begonnen von LuBeDa, 22 Juli 2017, 17:50:32

Vorheriges Thema - Nächstes Thema

LuBeDa

Hallo,
ich habe eine zeitlang mit TTS aus dem BOSE Modul rumgespielt aber bei mir lief es nicht richtig rund. Nun habe ich durch Zufall eine gute Alternative gefunden.

Das python Modul libsoundtouch (https://github.com/CharlesBlonde/libsoundtouch) hat eine API Schnittstelle mit der man MP3s über http zu Soundtouch "pushen" kann. Damit und dem normalen Text2Speech von FHEM mache ich jetzt meine Durchsagen.

Mit Text2Speech erzeuge ich die MP3s und lege sie in ein Verz. das über dem FHEM-Web Server erreichbar ist. Statt mplayer rufe ich ein python Skript auf, das die MP3s zu meiner Soundtouch pusht.

Ist zwar "schlampig" programmiert funktioniert aber sehr gut ;-)

Das Pythonskript:
#!/usr/bin/python

from libsoundtouch import soundtouch_device
from libsoundtouch.utils import Source, Type
import sys

# IP der Soundtouch
device = soundtouch_device('192.168.178.58') 
device.power_on()

volume = device.volume()
#BaseUrl von FHEM
url = "http://opi:8083/fhem" + sys.argv[1].replace("www","")

device.pause()

# Play URL
device.play_url(url )

device.set_volume(volume) # 0..100


Mein Text2Speech
defmod sayit2BOSE Text2Speech default
attr sayit2BOSE TTS_APIKey werdaslietistdoof
attr sayit2BOSE TTS_CacheFileDir www/tts
attr sayit2BOSE TTS_FileTemplateDir templates
attr sayit2BOSE TTS_MplayerCall /opt/fhem/lokal/sayit
attr sayit2BOSE TTS_Quality 44khz_16bit_mono
attr sayit2BOSE TTS_Ressource VoiceRSS
attr sayit2BOSE TTS_UseMP3Wrap 1