2022-03-13 17:09:05 +01:00

34 lines
948 B
Python

from aitextgen import aitextgen
import utterance.utils
import regex, string
class Voice:
def __init__(self, name: str, model: str, tokenizer: str, temp: int, lenght: int):
self.name = name
self.temp = temp
self.lenght = lenght
self.v = aitextgen(model_folder=model, tokenizer_file=tokenizer)
def utter_n(self, n: int, temp: float = None, lenght: int = None):
t = self.temp if temp != None else temp
l = self.lenght if lenght != None else lenght
return self.v.generate(n=n, max_lenght=l, temperature=t, return_as_list=True)
def utter_one(self, temp: int = None, lenght: float = None) -> str:
return self.utter_n(n=1, temp=temp, lenght=lenght)[0]
def set_channel(self, root: str, endpoint: str):
self.channel = root + endpoint
def channel(self):
return self.channel
def fragments(self, utt: str):
self.utterance = utt
self.utterance_fragments = utterance.utils.fragments(utt)
return self.utterance_fragments