CoolFace
Apppublic

uxoxo/eb2ab

sourceHugging Faceapache-2.0updated 11mo agoView on Hugging Face
0likes
tts_manager.py37 linesDownload Raw Back to classes
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