voxygen.py 964 B

1234567891011121314151617181920212223242526272829
  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, voice, words, file_path, cache):
  17. payload = {
  18. "method": "redirect",
  19. "text": words,
  20. "voice": voice
  21. }
  22. return self.get_audio(file_path, cache, payload, self.TTS_URL, self.TTS_CONTENT_TYPE, self.TTS_TIMEOUT_SEC)