import subprocess from core import AudioPlayer from tts import TTS import logging import sys logging.basicConfig() logger = logging.getLogger("kalliope") class Pico2wave(TTS): TTS_LANGUAGES_DEFAULT = 'fr-FR' def __init__(self): TTS.__init__(self, AudioPlayer.PLAYER_WAV) def say(self, words=None, language=TTS_LANGUAGES_DEFAULT, cache=False): self.say_generic(cache, language, words, self.get_audio_pico2wave, AudioPlayer.PLAYER_WAV, AudioPlayer.AUDIO_MP3_FREQUENCY) @staticmethod def get_audio_pico2wave(**kwargs): language = kwargs.get('language', None) words = kwargs.get('words', None) file_path = kwargs.get('file_path', None) subprocess.check_output(["/usr/bin/pico2wave", "-l=%s" % language, "-w=%s" % file_path, words], stderr=sys.stderr) return True