voxygen.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. import logging
  2. from core import AudioPlayer
  3. from tts import TTS
  4. logging.basicConfig()
  5. logger = logging.getLogger("jarvis")
  6. class Voxygen(TTS):
  7. TTS_VOICE_DEFAULT = "Michel"
  8. TTS_LANGUAGES_DEFAULT = "default"
  9. TTS_URL = "https://www.voxygen.fr/sites/all/modules/voxygen_voices/assets/proxy/index.php"
  10. TTS_CONTENT_TYPE = "audio/mpeg"
  11. TTS_TIMEOUT_SEC = 30
  12. def __init__(self):
  13. TTS.__init__(self)
  14. def say(self, words=None, voice=TTS_VOICE_DEFAULT, language=TTS_LANGUAGES_DEFAULT, cache=True):
  15. self.say_generic(cache, language, words, self.get_audio_voxygen, AudioPlayer.PLAYER_MP3, AudioPlayer.AUDIO_MP3_FREQUENCY, voice)
  16. def get_audio_voxygen(self, **kwargs):
  17. words = kwargs.get('words', None)
  18. cache = kwargs.get('cache', None)
  19. file_path = kwargs.get('file_path', None)
  20. voice = kwargs.get('voice', None)
  21. payload = {
  22. "method": "redirect",
  23. "text": words,
  24. "voice": voice
  25. }
  26. return self.get_audio(file_path, cache, payload, self.TTS_URL, self.TTS_CONTENT_TYPE, self.TTS_TIMEOUT_SEC)