googletts.py 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import logging
  2. from core import AudioPlayer
  3. from tts import TTS
  4. logging.basicConfig()
  5. logger = logging.getLogger("kalliope")
  6. class Googletts(TTS):
  7. TTS_LANGUAGES_DEFAULT = 'fr'
  8. TTS_URL = "http://translate.google.com/translate_tts"
  9. TTS_CONTENT_TYPE = "audio/mpeg"
  10. TTS_TIMEOUT_SEC = 30
  11. def __init__(self):
  12. TTS.__init__(self)
  13. def say(self, words=None, language=TTS_LANGUAGES_DEFAULT, cache=True):
  14. self.say_generic(cache, language, words, self.get_audio_googletts, AudioPlayer.PLAYER_MP3, 25000)
  15. def get_audio_googletts(self, **kwargs):
  16. words = kwargs.get('words', None)
  17. cache = kwargs.get('cache', None)
  18. file_path = kwargs.get('file_path', None)
  19. language = kwargs.get('language', None)
  20. payload = Googletts.get_payload(language,words)
  21. return TTS.get_audio(file_path, cache, payload, self.TTS_URL)
  22. @staticmethod
  23. def get_payload(language, words):
  24. return {
  25. "q": words,
  26. "tl": language,
  27. "ie": "UTF-8",
  28. "total": "1",
  29. "client": "tw-ob"
  30. }