Mahiruoshi commited on
Commit
625ce8a
1 Parent(s): 989f4af

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +113 -1
app.py CHANGED
@@ -91,6 +91,9 @@ BandList = {
91
  "Morfonica":["ましろ","瑠唯","つくし","七深","透子"],
92
  "MyGo":["燈","愛音","そよ","立希","楽奈"],
93
  "AveMujica":["祥子","睦","海鈴","にゃむ","初華"],
 
 
 
94
  "圣翔音乐学园":["華戀","光","香子","雙葉","真晝","純那","克洛迪娜","真矢","奈奈"],
95
  "凛明馆女子学校":["珠緒","壘","文","悠悠子","一愛"],
96
  "弗隆提亚艺术学校":["艾露","艾露露","菈樂菲","司","靜羽"],
@@ -873,7 +876,116 @@ if __name__ == "__main__":
873
  label="文本输入,可用'|'分割说话人和文本,注意换行",
874
  info="输入纯日语或者中文",
875
  placeholder=f"{name}|你觉得你是职业歌手吗\n真白|我觉得我是",
876
- value=f"私は{name}です、あの子はだれ? "
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
877
  )
878
  style_text = gr.Textbox(
879
  label="情感辅助文本",
 
91
  "Morfonica":["ましろ","瑠唯","つくし","七深","透子"],
92
  "MyGo":["燈","愛音","そよ","立希","楽奈"],
93
  "AveMujica":["祥子","睦","海鈴","にゃむ","初華"],
94
+ }
95
+
96
+ SchoolLilst = {
97
  "圣翔音乐学园":["華戀","光","香子","雙葉","真晝","純那","克洛迪娜","真矢","奈奈"],
98
  "凛明馆女子学校":["珠緒","壘","文","悠悠子","一愛"],
99
  "弗隆提亚艺术学校":["艾露","艾露露","菈樂菲","司","靜羽"],
 
876
  label="文本输入,可用'|'分割说话人和文本,注意换行",
877
  info="输入纯日语或者中文",
878
  placeholder=f"{name}|你觉得你是职业歌手吗\n真白|我觉得我是",
879
+ value=f"私は{name}です。 "
880
+ )
881
+ style_text = gr.Textbox(
882
+ label="情感辅助文本",
883
+ info="语言保持跟主文本一致,文本可以参考训练集:https://huggingface.co/spaces/Mahiruoshi/BangDream-Bert-VITS2/blob/main/filelists/Mygo.list)",
884
+ placeholder="使用辅助文本的语意来辅助生成对话(语言保持与主文本相同)\n\n"
885
+ "**注意**:不要使用**指令式文本**(如:开心),要使用**带有强烈情感的文本**(如:我好快乐!!!)"
886
+ )
887
+ style_weight = gr.Slider(
888
+ minimum=0,
889
+ maximum=1,
890
+ value=0.7,
891
+ step=0.1,
892
+ label="Weight",
893
+ info="主文本和辅助文本的bert混合比率,0表示仅主文本,1表示仅辅助文本",
894
+ )
895
+ btn = gr.Button("点击生成", variant="primary")
896
+ audio_output = gr.Audio(label="Output Audio")
897
+ btntran = gr.Button("快速中翻日")
898
+ translateResult = gr.TextArea(label="使用百度翻译",placeholder="从这里复制翻译后的文本")
899
+ btntran.click(translate, inputs=[text], outputs = [translateResult])
900
+ btn.click(
901
+ generate_audio,
902
+ inputs=[
903
+ inputFile,
904
+ groupSize,
905
+ filepath,
906
+ silenceTime,
907
+ speakerList,
908
+ text,
909
+ sdp_ratio,
910
+ noise_scale,
911
+ noise_scale_w,
912
+ length_scale,
913
+ speaker,
914
+ style_text,
915
+ style_weight,
916
+ language,
917
+ mode,
918
+ sentence_mode,
919
+ skip_start,
920
+ skip_end
921
+ ],
922
+ outputs=[audio_output],
923
+ )
924
+ for band in SchoolLilst:
925
+ with gr.TabItem(band):
926
+ for name in BandList[band]:
927
+ with gr.TabItem(name):
928
+ with gr.Row():
929
+ with gr.Column():
930
+ with gr.Row():
931
+ gr.Markdown(
932
+ '<div align="center">'
933
+ f'<img style="width:auto;height:400px;" src="https://mahiruoshi-bangdream-bert-vits2.hf.space/file/image/{name}.png">'
934
+ '</div>'
935
+ )
936
+ with gr.Accordion(label="参数设定", open=False):
937
+ sdp_ratio = gr.Slider(
938
+ minimum=0, maximum=1, value=0.5, step=0.01, label="SDP/DP混合比"
939
+ )
940
+ noise_scale = gr.Slider(
941
+ minimum=0.1, maximum=2, value=0.6, step=0.01, label="Noise:感情调节"
942
+ )
943
+ noise_scale_w = gr.Slider(
944
+ minimum=0.1, maximum=2, value=0.667, step=0.01, label="Noise_W:音素长度"
945
+ )
946
+ skip_start = gr.Checkbox(label="skip_start")
947
+ skip_end = gr.Checkbox(label="skip_end")
948
+ speaker = gr.Dropdown(
949
+ choices=speakers, value=name, label="说话人"
950
+ )
951
+ length_scale = gr.Slider(
952
+ minimum=0.1, maximum=2, value=1, step=0.01, label="语速调节"
953
+ )
954
+ language = gr.Dropdown(
955
+ choices=languages, value="Auto", label="语言选择,若不选自动则会将输入语言翻译为日语或中文"
956
+ )
957
+ mode = gr.Dropdown(
958
+ choices=modes, value="pyopenjtalk-V2.3-Katakana", label="TTS模式,合成少歌角色需要切换成 pyopenjtalk-V2.3-Katakana "
959
+ )
960
+ sentence_mode = gr.Dropdown(
961
+ choices=sentence_modes, value="sentence", label="文本合成模式"
962
+ )
963
+ with gr.Accordion(label="扩展选项", open=False):
964
+ inputFile = gr.UploadButton(label="txt文件输入")
965
+ speakerList = gr.TextArea(
966
+ label="角色对应表,如果你记不住角色名可以这样,左边是你想要在每一句话合成中用到的speaker(见角色清单)右边是你上传文本时分隔符左边设置的说话人:{ChoseSpeakerFromConfigList}|{SeakerInUploadText}",
967
+ value = "ましろ|真白\n七深|七深\n透子|透子\nつくし|筑紫\n瑠唯|瑠唯\nそよ|素世\n祥子|祥子",
968
+ )
969
+ groupSize = gr.Slider(
970
+ minimum=10, maximum=1000 if torch.cuda.is_available() else 50,value = 50, step=1, label="单个音频文件包含的最大句子数"
971
+ )
972
+ filepath = gr.TextArea(
973
+ label="本地合成时的音频存储文件夹(会清空文件夹,别把C盘删了)",
974
+ value = "D:/audiobook/book1",
975
+ )
976
+ silenceTime = gr.Slider(
977
+ minimum=0, maximum=1, value=0.5, step=0.01, label="句子的间隔"
978
+ )
979
+ modelstrs = gr.Dropdown(label = "模型", choices = modelPaths, value = modelPaths[0], type = "value")
980
+ btnMod = gr.Button("载入模型")
981
+ statusa = gr.TextArea(label = "模型加载状态")
982
+ btnMod.click(loadmodel, inputs=[modelstrs], outputs = [statusa])
983
+ with gr.Column():
984
+ text = gr.TextArea(
985
+ label="文本输入,可用'|'分割说话人和文本,注意换行",
986
+ info="输入纯日语或者中文",
987
+ placeholder=f"{name}|你觉得你是职业歌手吗\n真白|我觉得我是",
988
+ value=f"私は{name}です。 "
989
  )
990
  style_text = gr.Textbox(
991
  label="情感辅助文本",