示例#1
0
    def getWavStream(self, text):

        wav_path = os.path.join(utils.getTmpfs(), 'speech.wav')
        mp3_path = os.path.join(utils.getTmpfs(), 'speech.mp3')
        self.runCommand(text, mp3_path)
        self.process = subprocess.Popen(['mpg123', '-w', wav_path, mp3_path],
                                        stdout=(open(os.path.devnull, 'w')),
                                        stderr=subprocess.STDOUT,
                                        universal_newlines=True)
        while self.process.poll() is None and self.active:
            xbmc.sleep(10)
        os.remove(mp3_path)
        return open(wav_path, 'rb')
示例#2
0
    def getWavStream(self, text):
        fpath = os.path.join(utils.getTmpfs(), 'speech.wav')
        if type(self)._logger.isEnabledFor(LazyLogger.DEBUG_VERBOSE):
            type(self)._logger.debug_verbose('tmpfile: ' + fpath)

        self.runCommand(text, fpath)
        return open(fpath, 'rb')
示例#3
0
 def getWavStream(self, text):
     wav_path = os.path.join(utils.getTmpfs(), 'speech.wav')
     subprocess.call([
         'say', '-o', wav_path, '--file-format', 'WAVE', '--data-format',
         'LEI16@22050', text
     ],
                     universal_newlines=True)
     return open(wav_path, 'rb')
示例#4
0
 def setOutDir(self):
     tmpfs = utils.getTmpfs()
     if Settings.getSetting(Settings.USE_TEMPFS, True) and tmpfs:
         self._logger.debug_extra_verbose(
             'Using tmpfs at: {0}'.format(tmpfs))
         self.outDir = os.path.join(tmpfs, 'kodi_speech')
     else:
         self.outDir = os.path.join(Constants.PROFILE_PATH, 'kodi_speech')
     if not os.path.exists(self.outDir):
         os.makedirs(self.outDir)
示例#5
0
 def getWavStream(self,text):
     wav_path = os.path.join(utils.getTmpfs(),'speech.wav')
     if not self.runCommand(text,wav_path): return None
     return open(wav_path,'rb')
示例#6
0
def getTmpfs():
    return utils.getTmpfs()