Update app.py
Browse files
app.py
CHANGED
@@ -67,27 +67,31 @@ _ = net_g.eval()
|
|
67 |
|
68 |
_ = utils.load_checkpoint("pretrained_models/G_1153000.pth", net_g, None)
|
69 |
|
70 |
-
def infer(
|
71 |
# check character & duraction parameter
|
72 |
if language not in languages:
|
|
|
73 |
return "Error: No such language", None
|
74 |
if character not in characters:
|
|
|
75 |
return "Error: No such character", None
|
76 |
# check text length
|
77 |
if limitation:
|
78 |
-
text_len = len(re.sub("\[([A-Z]{2})\]", "",
|
79 |
if text_len > max_len:
|
|
|
80 |
return "Error: Text is too long", None
|
81 |
if text_len == 0:
|
|
|
82 |
return "Error: Please input text!", None
|
83 |
currentDateAndTime = datetime.now()
|
84 |
show_memory_info(str(currentDateAndTime) + "infer调用前")
|
85 |
if language == '日本語':
|
86 |
-
|
87 |
elif language == '简体中文':
|
88 |
-
text = tss.google(
|
89 |
elif language == 'English':
|
90 |
-
text = tss.google(
|
91 |
char_id = int(character.split(':')[0])
|
92 |
stn_tst = get_text(text, hps)
|
93 |
with torch.no_grad():
|
@@ -97,7 +101,10 @@ def infer(text, character, language, duration, noise_scale, noise_scale_w):
|
|
97 |
audio = net_g.infer(x_tst, x_tst_lengths, sid=sid, noise_scale=noise_scale, noise_scale_w=noise_scale_w,
|
98 |
length_scale=duration)[0][0, 0].data.cpu().float().numpy()
|
99 |
currentDateAndTime = datetime.now()
|
100 |
-
|
|
|
|
|
|
|
101 |
return (text, (22050, audio))
|
102 |
|
103 |
if __name__ == "__main__":
|
|
|
67 |
|
68 |
_ = utils.load_checkpoint("pretrained_models/G_1153000.pth", net_g, None)
|
69 |
|
70 |
+
def infer(text_raw, character, language, duration, noise_scale, noise_scale_w):
|
71 |
# check character & duraction parameter
|
72 |
if language not in languages:
|
73 |
+
print("Error: No such language\n")
|
74 |
return "Error: No such language", None
|
75 |
if character not in characters:
|
76 |
+
print("Error: No such character\n")
|
77 |
return "Error: No such character", None
|
78 |
# check text length
|
79 |
if limitation:
|
80 |
+
text_len = len(re.sub("\[([A-Z]{2})\]", "", text_raw))
|
81 |
if text_len > max_len:
|
82 |
+
print(f"Refused: Text too long ({text_len}).")
|
83 |
return "Error: Text is too long", None
|
84 |
if text_len == 0:
|
85 |
+
print("Refused: Text length is zero.")
|
86 |
return "Error: Please input text!", None
|
87 |
currentDateAndTime = datetime.now()
|
88 |
show_memory_info(str(currentDateAndTime) + "infer调用前")
|
89 |
if language == '日本語':
|
90 |
+
text = text_raw
|
91 |
elif language == '简体中文':
|
92 |
+
text = tss.google(text_raw, from_language='zh', to_language='ja')
|
93 |
elif language == 'English':
|
94 |
+
text = tss.google(text_raw, from_language='en', to_language='ja')
|
95 |
char_id = int(character.split(':')[0])
|
96 |
stn_tst = get_text(text, hps)
|
97 |
with torch.no_grad():
|
|
|
101 |
audio = net_g.infer(x_tst, x_tst_lengths, sid=sid, noise_scale=noise_scale, noise_scale_w=noise_scale_w,
|
102 |
length_scale=duration)[0][0, 0].data.cpu().float().numpy()
|
103 |
currentDateAndTime = datetime.now()
|
104 |
+
print(f"inference successful: {text}\n")
|
105 |
+
if language != '日本語':
|
106 |
+
print(f"translate from {language}: {text_raw}")
|
107 |
+
show_memory_info(str(currentDateAndTime) + " infer调用后")
|
108 |
return (text, (22050, audio))
|
109 |
|
110 |
if __name__ == "__main__":
|