voicerss.py 864 B

12345678910111213141516171819202122232425262728
  1. import logging
  2. from core import AudioPlayer
  3. from tts import TTS
  4. logging.basicConfig()
  5. logger = logging.getLogger("jarvis")
  6. class Voicerss(TTS):
  7. TTS_LANGUAGES_DEFAULT = 'fr-fr'
  8. TTS_URL = "http://www.voicerss.org/controls/speech.ashx"
  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_voicerss, AudioPlayer.PLAYER_MP3, AudioPlayer.AUDIO_MP3_44100_FREQUENCY)
  15. def get_audio_voicerss(self, language, words, file_path, cache):
  16. payload = {
  17. "src": words,
  18. "hl": language,
  19. "c": "mp3"
  20. }
  21. return self.get_audio(file_path, cache, payload, self.TTS_URL, self.TTS_CONTENT_TYPE, self.TTS_TIMEOUT_SEC)