uxoxo/eb2ab
0
1import os2 3from lib.models import TTS_ENGINES4 5class TTSManager:6 def __init__(self, session): 7 self.session = session8 self.tts = None9 self._build()10 11 def _build(self):12 if self.session['tts_engine'] in TTS_ENGINES.values():13 if self.session['tts_engine'] in [TTS_ENGINES['XTTSv2'], TTS_ENGINES['BARK'], TTS_ENGINES['VITS'], TTS_ENGINES['FAIRSEQ'], TTS_ENGINES['TACOTRON2'], TTS_ENGINES['YOURTTS']]:14 from lib.classes.tts_engines.coqui import Coqui15 self.tts = Coqui(self.session)16 #elif self.session['tts_engine'] in [TTS_ENGINES['NEW_TTS']]:17 # from lib.classes.tts_engines.new_tts import NewTts18 # self.tts = NewTts(self.session)19 if self.tts:20 return True21 else:22 error = 'TTS engine could not be created!'23 print(error)24 else:25 print('Other TTS engines coming soon!')26 return False27 28 def convert_sentence2audio(self, sentence_number, sentence):29 try:30 if self.session['tts_engine'] in TTS_ENGINES.values():31 return self.tts.convert(sentence_number, sentence)32 else:33 print('Other TTS engines coming soon!') 34 except Exception as e:35 error = f'convert_sentence2audio(): {e}'36 raise ValueError(e)37 return False