Update app.py
Browse files
app.py
CHANGED
|
@@ -13,7 +13,29 @@ import translators.server as tss
|
|
| 13 |
import psutil
|
| 14 |
limitation = os.getenv("SYSTEM") == "spaces" # limit text and audio length in huggingface spaces
|
| 15 |
max_len = 150
|
| 16 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 17 |
def show_memory_info(hint):
|
| 18 |
pid = os.getpid()
|
| 19 |
p = psutil.Process(pid)
|
|
@@ -42,11 +64,18 @@ _ = net_g.eval()
|
|
| 42 |
_ = utils.load_checkpoint("pretrained_models/G_1153000.pth", net_g, None)
|
| 43 |
|
| 44 |
def infer(text, character, language, duration, noise_scale, noise_scale_w):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 45 |
# check text length
|
| 46 |
if limitation:
|
| 47 |
text_len = len(re.sub("\[([A-Z]{2})\]", "", text))
|
| 48 |
if text_len > max_len:
|
| 49 |
return "Error: Text is too long", None
|
|
|
|
|
|
|
| 50 |
show_memory_info("infer调用前")
|
| 51 |
if language == '日本語':
|
| 52 |
pass
|
|
@@ -85,31 +114,10 @@ if __name__ == "__main__":
|
|
| 85 |
with gr.Row():
|
| 86 |
with gr.Column():
|
| 87 |
# We instantiate the Textbox class
|
| 88 |
-
textbox = gr.Textbox(label="Text", placeholder="Type your sentence here (Maximum 150 words)", lines=2)
|
| 89 |
# select character
|
| 90 |
-
char_dropdown = gr.Dropdown(choices=
|
| 91 |
-
|
| 92 |
-
'8:大和赤骥', '9:大树快车', '10:草上飞', '11:菱亚马逊',
|
| 93 |
-
'12:目白麦昆', '13:神鹰', '14:好歌剧', '15:成田白仁',
|
| 94 |
-
'16:鲁道夫象征', '17:气槽', '18:爱丽数码', '19:青云天空',
|
| 95 |
-
'20:玉藻十字', '21:美妙姿势', '22:琵琶晨光', '23:重炮',
|
| 96 |
-
'24:曼城茶座', '25:美普波旁', '26:目白雷恩', '27:菱曙',
|
| 97 |
-
'28:雪之美人', '29:米浴', '30:艾尼斯风神', '31:爱丽速子',
|
| 98 |
-
'32:爱慕织姬', '33:稻荷一', '34:胜利奖券', '35:空中神宫',
|
| 99 |
-
'36:荣进闪耀', '37:真机伶', '38:川上公主', '39:黄金城市',
|
| 100 |
-
'40:樱花进王', '41:采珠', '42:新光风', '43:东商变革',
|
| 101 |
-
'44:超级小溪', '45:醒目飞鹰', '46:荒漠英雄', '47:东瀛佐敦',
|
| 102 |
-
'48:中山庆典', '49:成田大进', '50:西野花', '51:春乌拉拉',
|
| 103 |
-
'52:青竹回忆', '53:微光飞驹', '54:美丽周日', '55:待兼福来',
|
| 104 |
-
'56:Mr.C.B', '57:名将怒涛', '58:目白多伯', '59:优秀素质',
|
| 105 |
-
'60:帝王光环', '61:待兼诗歌剧', '62:生野狄杜斯', '63:目白善信',
|
| 106 |
-
'64:大拓太阳神', '65:双涡轮', '66:里见光钻', '67:北部玄驹',
|
| 107 |
-
'68:樱花千代王', '69:天狼星象征', '70:目白阿尔丹', '71:八重无敌',
|
| 108 |
-
'72:鹤丸刚志', '73:目白光明', '74:樱花桂冠', '75:成田路',
|
| 109 |
-
'76:也文摄辉', '77:吉兆', '78:谷野美酒', '79:第一红宝石',
|
| 110 |
-
'80:真弓快车', '81:骏川手纲', '82:凯斯奇迹', '83:小林历奇',
|
| 111 |
-
'84:北港火山', '85:奇锐骏', '86:秋川理事长'], label='character')
|
| 112 |
-
language_dropdown = gr.Dropdown(choices=['日本語', '简体中文', 'English'], label='language')
|
| 113 |
|
| 114 |
|
| 115 |
duration_slider = gr.Slider(minimum=0.1, maximum=5, value=1, step=0.1, label='时长 Duration')
|
|
|
|
| 13 |
import psutil
|
| 14 |
limitation = os.getenv("SYSTEM") == "spaces" # limit text and audio length in huggingface spaces
|
| 15 |
max_len = 150
|
| 16 |
+
languages = ['日本語', '简体中文', 'English']
|
| 17 |
+
characters = ['0:特别周', '1:无声铃鹿', '2:东海帝王', '3:丸善斯基',
|
| 18 |
+
'4:富士奇迹', '5:小栗帽', '6:黄金船', '7:伏特加',
|
| 19 |
+
'8:大和赤骥', '9:大树快车', '10:草上飞', '11:菱亚马逊',
|
| 20 |
+
'12:目白麦昆', '13:神鹰', '14:好歌剧', '15:成田白仁',
|
| 21 |
+
'16:鲁道夫象征', '17:气槽', '18:爱丽数码', '19:青云天空',
|
| 22 |
+
'20:玉藻十字', '21:美妙姿势', '22:琵琶晨光', '23:重炮',
|
| 23 |
+
'24:曼城茶座', '25:美普波旁', '26:目白雷恩', '27:菱曙',
|
| 24 |
+
'28:雪之美人', '29:米浴', '30:艾尼斯风神', '31:爱丽速子',
|
| 25 |
+
'32:爱慕织姬', '33:稻荷一', '34:胜利奖券', '35:空中神宫',
|
| 26 |
+
'36:荣进闪耀', '37:真机伶', '38:川上公主', '39:黄金城市',
|
| 27 |
+
'40:樱花进王', '41:采珠', '42:新光风', '43:东商变革',
|
| 28 |
+
'44:超级小溪', '45:醒目飞鹰', '46:荒漠英雄', '47:东瀛佐敦',
|
| 29 |
+
'48:中山庆典', '49:成田大进', '50:西野花', '51:春乌拉拉',
|
| 30 |
+
'52:青竹回忆', '53:微光飞驹', '54:美丽周日', '55:待兼福来',
|
| 31 |
+
'56:Mr.C.B', '57:名将怒涛', '58:目白多伯', '59:优秀素质',
|
| 32 |
+
'60:帝王光环', '61:待兼诗歌剧', '62:生野狄杜斯', '63:目白善信',
|
| 33 |
+
'64:大拓太阳神', '65:双涡轮', '66:里见光钻', '67:北部玄驹',
|
| 34 |
+
'68:樱花千代王', '69:天狼星象征', '70:目白阿尔丹', '71:八重无敌',
|
| 35 |
+
'72:鹤丸刚志', '73:目白光明', '74:樱花桂冠', '75:成田路',
|
| 36 |
+
'76:也文摄辉', '77:吉兆', '78:谷野美酒', '79:第一红宝石',
|
| 37 |
+
'80:真弓快车', '81:骏川手纲', '82:凯斯奇迹', '83:小林历奇',
|
| 38 |
+
'84:北港火山', '85:奇锐骏', '86:秋川理事长']
|
| 39 |
def show_memory_info(hint):
|
| 40 |
pid = os.getpid()
|
| 41 |
p = psutil.Process(pid)
|
|
|
|
| 64 |
_ = utils.load_checkpoint("pretrained_models/G_1153000.pth", net_g, None)
|
| 65 |
|
| 66 |
def infer(text, character, language, duration, noise_scale, noise_scale_w):
|
| 67 |
+
# check character & duraction parameter
|
| 68 |
+
if language not in languages:
|
| 69 |
+
return "Error: No such language", None
|
| 70 |
+
if character not in characters:
|
| 71 |
+
return "Error: No such character", None
|
| 72 |
# check text length
|
| 73 |
if limitation:
|
| 74 |
text_len = len(re.sub("\[([A-Z]{2})\]", "", text))
|
| 75 |
if text_len > max_len:
|
| 76 |
return "Error: Text is too long", None
|
| 77 |
+
if text_len == 0:
|
| 78 |
+
return "Error: Please input text!", None
|
| 79 |
show_memory_info("infer调用前")
|
| 80 |
if language == '日本語':
|
| 81 |
pass
|
|
|
|
| 114 |
with gr.Row():
|
| 115 |
with gr.Column():
|
| 116 |
# We instantiate the Textbox class
|
| 117 |
+
textbox = gr.Textbox(label="Text", placeholder="Type your sentence here (Maximum 150 words)", value = "こんにちわ!", lines=2)
|
| 118 |
# select character
|
| 119 |
+
char_dropdown = gr.Dropdown(choices=characters, value = "0:特别周", label='character')
|
| 120 |
+
language_dropdown = gr.Dropdown(choices=languages, value = "日本語", label='language')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 121 |
|
| 122 |
|
| 123 |
duration_slider = gr.Slider(minimum=0.1, maximum=5, value=1, step=0.1, label='时长 Duration')
|