19 lines
647 B
Python
19 lines
647 B
Python
|
|
from aitextgen import aitextgen
|
||
|
|
import utterance.utils
|
||
|
|
|
||
|
|
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]
|