mirror of
https://github.com/RVC-Boss/GPT-SoVITS.git
synced 2026-07-02 11:48:12 +08:00
.
This commit is contained in:
parent
0b667c7b67
commit
bb4432d644
@ -130,7 +130,7 @@ class CUDAGraphCache(CUDAGraphCacheABC):
|
||||
super().__init__(decoder)
|
||||
|
||||
def release_graph(self, session: T2SSession):
|
||||
if session.id != self.id:
|
||||
if session.id == self.id:
|
||||
self.assigned = False
|
||||
else:
|
||||
del session.graph, session.xy_pos_, session.xy_dec_, session.input_pos, session.kv_cache
|
||||
|
||||
@ -127,7 +127,7 @@ class CUDAGraphCache(CUDAGraphCacheABC):
|
||||
)
|
||||
|
||||
def release_graph(self, session: T2SSession):
|
||||
if session.id != self.id:
|
||||
if session.id == self.id:
|
||||
self.assigned = False
|
||||
else:
|
||||
del (
|
||||
|
||||
@ -133,7 +133,7 @@ class CUDAGraphCache(CUDAGraphCacheABC):
|
||||
self.cu_seqlens_kv = torch.cat([torch.tensor(0, dtype=torch.int32), self.input_pos]).to(self.device)
|
||||
|
||||
def release_graph(self, session: T2SSession):
|
||||
if session.id != self.id:
|
||||
if session.id == self.id:
|
||||
self.assigned = False
|
||||
else:
|
||||
del (
|
||||
|
||||
@ -127,7 +127,7 @@ class CUDAGraphCache(CUDAGraphCacheABC):
|
||||
)
|
||||
|
||||
def release_graph(self, session: T2SSession):
|
||||
if session.id != self.id:
|
||||
if session.id == self.id:
|
||||
self.assigned = False
|
||||
else:
|
||||
del (
|
||||
|
||||
@ -534,7 +534,7 @@ class T2SDecoderABC(nn.Module, ABC, T2SDecoderProtocol):
|
||||
|
||||
graph = torch.cuda.CUDAGraph()
|
||||
|
||||
with torch.cuda.stream(s): # type: ignore
|
||||
with torch.cuda.stream(s):
|
||||
for _ in range(5):
|
||||
self.h(input_pos, x, kv_caches, *args, **kwds)
|
||||
torch.cuda.current_stream().wait_stream(s)
|
||||
@ -560,7 +560,7 @@ class CUDAGraphCacheABC(ABC):
|
||||
decoder: T2SDecoderABC,
|
||||
) -> None:
|
||||
self.is_applicable: bool
|
||||
|
||||
|
||||
if torch.cuda.is_available() and self.is_applicable:
|
||||
self.device: torch.device = decoder.device
|
||||
self.dtype = decoder.bert_proj.bias.dtype
|
||||
@ -585,7 +585,7 @@ class CUDAGraphCacheABC(ABC):
|
||||
args, kwds = self.decoder.pre_forward(session)
|
||||
graph = self.decoder.capture(self.input_pos, self.xy_pos, self.xy_dec, self.kv_cache, *args, **kwds)
|
||||
self.graph = graph
|
||||
self.stream = torch.cuda.Stream() # type: ignore
|
||||
self.stream = torch.cuda.Stream()
|
||||
|
||||
if self.assigned is False:
|
||||
self.get_cache_graph(session)
|
||||
|
||||
@ -29,6 +29,7 @@ from config import (
|
||||
infer_device as default_device,
|
||||
)
|
||||
from GPT_SoVITS.Accelerate import MLX, PyTorch, T2SEngineProtocol, T2SRequest, backends
|
||||
from GPT_SoVITS.Accelerate.logger import console
|
||||
from GPT_SoVITS.feature_extractor import cnhubert
|
||||
from GPT_SoVITS.module.mel_processing import mel_spectrogram_torch, spectrogram_torch
|
||||
from GPT_SoVITS.module.models import Generator, SynthesizerTrn, SynthesizerTrnV3
|
||||
@ -329,7 +330,6 @@ def change_sovits_weights(sovits_path, prompt_language=None, text_language=None)
|
||||
hps = DictToAttrRecursive(hps)
|
||||
hps.model.semantic_frame_rate = "25hz"
|
||||
hps.model.version = model_version
|
||||
# print("sovits版本:",hps.model.version)
|
||||
if model_version not in v3v4set:
|
||||
vq_model = SynthesizerTrn(
|
||||
hps.data.filter_length // 2 + 1,
|
||||
@ -351,12 +351,12 @@ def change_sovits_weights(sovits_path, prompt_language=None, text_language=None)
|
||||
pass
|
||||
|
||||
if is_lora is False:
|
||||
print(f">> loading sovits_{model_version}", vq_model.load_state_dict(dict_s2["weight"], strict=False))
|
||||
console.print(f">> loading sovits_{model_version}", vq_model.load_state_dict(dict_s2["weight"], strict=False))
|
||||
else:
|
||||
path_sovits = path_sovits_v3 if model_version == "v3" else path_sovits_v4
|
||||
print(f">> loading sovits_{model_version}spretrained_G")
|
||||
console.print(f">> loading sovits_{model_version}spretrained_G")
|
||||
dict_pretrain = torch.load(path_sovits)["weight"]
|
||||
print(f">> loading sovits_{model_version}_lora{model_version}")
|
||||
console.print(f">> loading sovits_{model_version}_lora{model_version}")
|
||||
state_dict = dict_pretrain.update(dict_s2["weight"])
|
||||
lora_rank = dict_s2["lora_rank"]
|
||||
lora_config = LoraConfig(
|
||||
@ -408,7 +408,7 @@ def change_gpt_weights(gpt_path):
|
||||
)
|
||||
# t2s_engine.decoder_model.compile()
|
||||
total = sum(p.numel() for p in t2s_engine.decoder_model.parameters())
|
||||
print(">> Number of parameter: %.2fM" % (total / 1e6))
|
||||
console.print(">> Number of parameter: %.2fM" % (total / 1e6))
|
||||
|
||||
|
||||
change_gpt_weights(gpt_path)
|
||||
@ -479,7 +479,7 @@ def init_hifigan():
|
||||
map_location="cpu",
|
||||
weights_only=False,
|
||||
)
|
||||
print(">> loading vocoder", hifigan_model.load_state_dict(state_dict_g))
|
||||
console.print(">> loading vocoder", hifigan_model.load_state_dict(state_dict_g))
|
||||
clean_bigvgan_model()
|
||||
clean_sv_cn_model()
|
||||
|
||||
@ -759,7 +759,6 @@ def get_tts_wav(
|
||||
text = cut5(text)
|
||||
while "\n\n" in text:
|
||||
text = text.replace("\n\n", "\n")
|
||||
print(">>", i18n("实际输入的目标文本(切句后):"), text)
|
||||
texts = text.split("\n")
|
||||
texts = process_text(texts)
|
||||
texts = merge_short_text_in_array(texts, 5)
|
||||
@ -940,9 +939,9 @@ def get_tts_wav(
|
||||
infer_speed_avg = sum(infer_len) / sum(infer_time)
|
||||
rtf_value = sum(t) / (audio_opt_n.__len__() / opt_sr)
|
||||
|
||||
print(f">> Time Stamps: {t0:.3f}\t{t1:.3f}\t{t2:.3f}\t{t3:.3f}")
|
||||
print(f">> Infer Speed: {infer_speed_avg:.2f} Token/s")
|
||||
print(f">> RTF: {rtf_value:.2f}")
|
||||
console.print(f">> Time Stamps: {t0:.3f}\t{t1:.3f}\t{t2:.3f}\t{t3:.3f}")
|
||||
console.print(f">> Infer Speed: {infer_speed_avg:.2f} Token/s")
|
||||
console.print(f">> RTF: {rtf_value:.2f}")
|
||||
|
||||
gr.Info(f"{infer_speed_avg:.2f} Token/s", title="Infer Speed")
|
||||
gr.Info(f"{rtf_value:.2f}", title="RTF")
|
||||
@ -1082,199 +1081,200 @@ with gr.Blocks(title="GPT-SoVITS WebUI", analytics_enabled=False, js=js, css=css
|
||||
),
|
||||
elem_classes="markdown",
|
||||
)
|
||||
with gr.Group():
|
||||
gr.Markdown(html_center(i18n("模型切换"), "h3"))
|
||||
with gr.Row(equal_height=True):
|
||||
GPT_dropdown = gr.Dropdown(
|
||||
label=i18n("GPT模型列表"),
|
||||
choices=GPT_names,
|
||||
value=gpt_path,
|
||||
interactive=True,
|
||||
scale=14,
|
||||
)
|
||||
SoVITS_dropdown = gr.Dropdown(
|
||||
label=i18n("SoVITS模型列表"),
|
||||
choices=SoVITS_names,
|
||||
value=sovits_path,
|
||||
interactive=True,
|
||||
scale=14,
|
||||
)
|
||||
gr.Markdown(html_center(i18n("模型切换"), "h3"))
|
||||
with gr.Row(equal_height=True):
|
||||
with gr.Column(scale=2):
|
||||
with gr.Row(equal_height=True):
|
||||
GPT_dropdown = gr.Dropdown(
|
||||
label=i18n("GPT模型列表"),
|
||||
choices=GPT_names,
|
||||
value=gpt_path,
|
||||
interactive=True,
|
||||
)
|
||||
SoVITS_dropdown = gr.Dropdown(
|
||||
label=i18n("SoVITS模型列表"),
|
||||
choices=SoVITS_names,
|
||||
value=sovits_path,
|
||||
interactive=True,
|
||||
)
|
||||
with gr.Column(scale=1):
|
||||
refresh_button = gr.Button(i18n("刷新模型路径"), variant="primary", scale=14)
|
||||
refresh_button.click(fn=change_choices_i18n, inputs=[], outputs=[SoVITS_dropdown, GPT_dropdown])
|
||||
gr.Markdown(html_center(i18n("*请上传并填写参考信息"), "h3"))
|
||||
with gr.Row(equal_height=True):
|
||||
inp_ref = gr.Audio(
|
||||
label=i18n("请上传3~10秒内参考音频,超过会报错!"),
|
||||
type="filepath",
|
||||
sources="upload",
|
||||
scale=13,
|
||||
editable=False,
|
||||
waveform_options={"show_recording_waveform": False},
|
||||
)
|
||||
with gr.Column(scale=13):
|
||||
ref_text_free = gr.Checkbox(
|
||||
label=i18n("开启无参考文本模式。不填参考文本亦相当于开启。")
|
||||
+ i18n("v3暂不支持该模式,使用了会报错。"),
|
||||
value=False,
|
||||
interactive=True if model_version not in v3v4set else False,
|
||||
show_label=True,
|
||||
scale=1,
|
||||
)
|
||||
gr.Markdown(
|
||||
html_left(
|
||||
i18n("使用无参考文本模式时建议使用微调的GPT")
|
||||
+ "<br>"
|
||||
+ i18n("听不清参考音频说的啥(不晓得写啥)可以开。开启后无视填写的参考文本。")
|
||||
refresh_button.click(fn=change_choices_i18n, inputs=[], outputs=[SoVITS_dropdown, GPT_dropdown])
|
||||
gr.Markdown(html_center(i18n("*请上传并填写参考信息"), "h3"))
|
||||
with gr.Row(equal_height=True):
|
||||
with gr.Column(scale=2):
|
||||
with gr.Row(equal_height=True):
|
||||
with gr.Column(scale=1):
|
||||
inp_ref = gr.Audio(
|
||||
label=i18n("请上传3~10秒内参考音频,超过会报错!"),
|
||||
type="filepath",
|
||||
sources="upload",
|
||||
scale=13,
|
||||
editable=False,
|
||||
waveform_options={"show_recording_waveform": False},
|
||||
)
|
||||
)
|
||||
prompt_text = gr.Textbox(label=i18n("参考音频的文本"), value="", lines=5, max_lines=5, scale=1)
|
||||
with gr.Column(scale=14):
|
||||
prompt_language = gr.Dropdown(
|
||||
label=i18n("参考音频的语种"),
|
||||
choices=list(dict_language.keys()),
|
||||
value=i18n("中文"),
|
||||
)
|
||||
inp_refs = (
|
||||
gr.File(
|
||||
label=i18n(
|
||||
"可选项:通过拖拽多个文件上传多个参考音频(建议同性),平均融合他们的音色。如不填写此项,音色由左侧单个参考音频控制。如是微调模型,建议参考音频全部在微调训练集音色内,底模不用管。"
|
||||
),
|
||||
file_count="multiple",
|
||||
with gr.Column(scale=1):
|
||||
gr.Markdown(
|
||||
html_center(
|
||||
i18n("使用无参考文本模式时建议使用微调的GPT")
|
||||
+ "<br>"
|
||||
+ i18n("听不清参考音频说的啥(不晓得写啥)可以开。开启后无视填写的参考文本。")
|
||||
)
|
||||
)
|
||||
if model_version not in v3v4set
|
||||
else gr.File(
|
||||
label=i18n(
|
||||
"可选项:通过拖拽多个文件上传多个参考音频(建议同性),平均融合他们的音色。如不填写此项,音色由左侧单个参考音频控制。如是微调模型,建议参考音频全部在微调训练集音色内,底模不用管。"
|
||||
),
|
||||
file_count="multiple",
|
||||
visible=False,
|
||||
)
|
||||
)
|
||||
sample_steps = (
|
||||
gr.Radio(
|
||||
label=i18n("采样步数,如果觉得电,提高试试,如果觉得慢,降低试试"),
|
||||
value=32 if model_version == "v3" else 8,
|
||||
choices=[4, 8, 16, 32, 64, 128] if model_version == "v3" else [4, 8, 16, 32],
|
||||
visible=True,
|
||||
)
|
||||
if model_version in v3v4set
|
||||
else gr.Radio(
|
||||
label=i18n("采样步数,如果觉得电,提高试试,如果觉得慢,降低试试"),
|
||||
choices=[4, 8, 16, 32, 64, 128] if model_version == "v3" else [4, 8, 16, 32],
|
||||
visible=False,
|
||||
value=32 if model_version == "v3" else 8,
|
||||
)
|
||||
)
|
||||
if_sr_Checkbox = gr.Checkbox(
|
||||
label=i18n("v3输出如果觉得闷可以试试开超分"),
|
||||
value=False,
|
||||
interactive=True,
|
||||
show_label=True,
|
||||
visible=False if model_version != "v3" else True,
|
||||
)
|
||||
gr.Markdown(html_center(i18n("*请填写需要合成的目标文本和语种模式"), "h3"))
|
||||
with gr.Row(equal_height=True):
|
||||
with gr.Column(scale=13):
|
||||
text = gr.Textbox(label=i18n("需要合成的文本"), value="", lines=26, max_lines=26)
|
||||
with gr.Column(scale=7):
|
||||
text_language = gr.Dropdown(
|
||||
label=i18n("需要合成的语种") + i18n(".限制范围越小判别效果越好。"),
|
||||
choices=list(dict_language.keys()),
|
||||
value=i18n("中文"),
|
||||
scale=1,
|
||||
)
|
||||
how_to_cut = gr.Dropdown(
|
||||
label=i18n("怎么切"),
|
||||
choices=[
|
||||
i18n("不切"),
|
||||
i18n("凑四句一切"),
|
||||
i18n("凑50字一切"),
|
||||
i18n("按中文句号。切"),
|
||||
i18n("按英文句号.切"),
|
||||
i18n("按标点符号切"),
|
||||
],
|
||||
value=i18n("凑四句一切"),
|
||||
interactive=True,
|
||||
scale=1,
|
||||
)
|
||||
gr.Markdown(value=html_center(i18n("语速调整,高为更快")))
|
||||
if_freeze = gr.Checkbox(
|
||||
label=i18n("是否直接对上次合成结果调整语速和音色。防止随机性。"),
|
||||
value=False,
|
||||
interactive=True,
|
||||
show_label=True,
|
||||
scale=1,
|
||||
)
|
||||
with gr.Row(equal_height=True):
|
||||
speed = gr.Slider(
|
||||
minimum=0.6, maximum=1.65, step=0.05, label=i18n("语速"), value=1, interactive=True, scale=1
|
||||
)
|
||||
pause_second_slider = gr.Slider(
|
||||
minimum=0.1,
|
||||
maximum=0.5,
|
||||
step=0.01,
|
||||
label=i18n("句间停顿秒数"),
|
||||
value=0.3,
|
||||
interactive=True,
|
||||
ref_text_free = gr.Checkbox(
|
||||
label=i18n("开启无参考文本模式"),
|
||||
info=i18n("不填参考文本亦相当于开启") + ", " + i18n("v3暂不支持该模式,使用了会报错。"),
|
||||
value=False,
|
||||
interactive=True if model_version not in v3v4set else False,
|
||||
show_label=True,
|
||||
scale=1,
|
||||
)
|
||||
gr.Markdown(html_center(i18n("GPT采样参数(无参考文本时不要太低。不懂就用默认):")))
|
||||
top_k = gr.Slider(
|
||||
minimum=1, maximum=100, step=1, label=i18n("top_k"), value=15, interactive=True, scale=1
|
||||
prompt_language = gr.Dropdown(
|
||||
label="",
|
||||
info=i18n("参考音频的语种"),
|
||||
choices=list(dict_language.keys()),
|
||||
value=i18n("中文"),
|
||||
)
|
||||
prompt_text = gr.Textbox(label="", info=i18n("参考音频的文本"), value="", lines=3, max_lines=3)
|
||||
|
||||
with gr.Column(scale=1):
|
||||
inp_refs = (
|
||||
gr.File(
|
||||
label=i18n(
|
||||
"可选项:通过拖拽多个文件上传多个参考音频(建议同性),平均融合他们的音色。如不填写此项,音色由左侧单个参考音频控制。如是微调模型,建议参考音频全部在微调训练集音色内,底模不用管。"
|
||||
),
|
||||
file_count="multiple",
|
||||
)
|
||||
top_p = gr.Slider(
|
||||
minimum=0, maximum=1, step=0.05, label=i18n("top_p"), value=1, interactive=True, scale=1
|
||||
if model_version not in v3v4set
|
||||
else gr.File(
|
||||
label=i18n(
|
||||
"可选项:通过拖拽多个文件上传多个参考音频(建议同性),平均融合他们的音色。如不填写此项,音色由左侧单个参考音频控制。如是微调模型,建议参考音频全部在微调训练集音色内,底模不用管。"
|
||||
),
|
||||
file_count="multiple",
|
||||
visible=False,
|
||||
)
|
||||
temperature = gr.Slider(
|
||||
minimum=0, maximum=1, step=0.05, label=i18n("temperature"), value=1, interactive=True, scale=1
|
||||
)
|
||||
sample_steps = (
|
||||
gr.Radio(
|
||||
label=i18n("采样步数,如果觉得电,提高试试,如果觉得慢,降低试试"),
|
||||
value=32 if model_version == "v3" else 8,
|
||||
choices=[4, 8, 16, 32, 64, 128] if model_version == "v3" else [4, 8, 16, 32],
|
||||
visible=True,
|
||||
)
|
||||
with gr.Row(equal_height=True):
|
||||
inference_button = gr.Button(value=i18n("合成语音"), variant="primary", size="lg", scale=25)
|
||||
if model_version in v3v4set
|
||||
else gr.Radio(
|
||||
label=i18n("采样步数,如果觉得电,提高试试,如果觉得慢,降低试试"),
|
||||
choices=[4, 8, 16, 32, 64, 128] if model_version == "v3" else [4, 8, 16, 32],
|
||||
visible=False,
|
||||
value=32 if model_version == "v3" else 8,
|
||||
)
|
||||
)
|
||||
if_sr_Checkbox = gr.Checkbox(
|
||||
label=i18n("v3输出如果觉得闷可以试试开超分"),
|
||||
value=False,
|
||||
interactive=True,
|
||||
show_label=True,
|
||||
visible=False if model_version != "v3" else True,
|
||||
)
|
||||
gr.Markdown(html_center(i18n("*请填写需要合成的目标文本和语种模式"), "h3"))
|
||||
with gr.Row(equal_height=True):
|
||||
with gr.Column(scale=2):
|
||||
text = gr.Textbox(label=i18n("需要合成的文本"), value="", lines=30, max_lines=40)
|
||||
with gr.Column(scale=1):
|
||||
text_language = gr.Dropdown(
|
||||
label=i18n("需要合成的语种") + i18n(".限制范围越小判别效果越好。"),
|
||||
choices=list(dict_language.keys()),
|
||||
value=i18n("中文"),
|
||||
scale=1,
|
||||
)
|
||||
how_to_cut = gr.Dropdown(
|
||||
label=i18n("怎么切"),
|
||||
choices=[
|
||||
i18n("不切"),
|
||||
i18n("凑四句一切"),
|
||||
i18n("凑50字一切"),
|
||||
i18n("按中文句号。切"),
|
||||
i18n("按英文句号.切"),
|
||||
i18n("按标点符号切"),
|
||||
],
|
||||
value=i18n("凑四句一切"),
|
||||
interactive=True,
|
||||
scale=1,
|
||||
)
|
||||
if_freeze = gr.Checkbox(
|
||||
label=i18n("是否直接对上次合成结果调整语速和音色"),
|
||||
value=False,
|
||||
interactive=True,
|
||||
show_label=True,
|
||||
scale=1,
|
||||
)
|
||||
with gr.Row(equal_height=True):
|
||||
speed = gr.Slider(
|
||||
minimum=0.6, maximum=1.65, step=0.05, label=i18n("语速"), value=1, interactive=True, scale=1
|
||||
)
|
||||
pause_second_slider = gr.Slider(
|
||||
minimum=0.1,
|
||||
maximum=0.5,
|
||||
step=0.01,
|
||||
label=i18n("句间停顿秒数"),
|
||||
value=0.3,
|
||||
interactive=True,
|
||||
scale=1,
|
||||
)
|
||||
gr.Markdown(html_center(i18n("GPT采样参数(不懂就用默认):")))
|
||||
top_k = gr.Slider(minimum=1, maximum=100, step=1, label=i18n("top_k"), value=15, interactive=True, scale=1)
|
||||
top_p = gr.Slider(minimum=0, maximum=1, step=0.05, label=i18n("top_p"), value=1, interactive=True, scale=1)
|
||||
temperature = gr.Slider(
|
||||
minimum=0, maximum=1, step=0.05, label=i18n("temperature"), value=1, interactive=True, scale=1
|
||||
)
|
||||
with gr.Row(equal_height=True):
|
||||
with gr.Column(scale=2):
|
||||
inference_button = gr.Button(value=i18n("合成语音"), variant="primary", size="lg")
|
||||
with gr.Column(scale=1):
|
||||
output = gr.Audio(
|
||||
label=i18n("输出的语音"),
|
||||
scale=14,
|
||||
waveform_options={"show_recording_waveform": False},
|
||||
editable=False,
|
||||
)
|
||||
|
||||
inference_button.click(
|
||||
get_tts_wav,
|
||||
[
|
||||
inp_ref,
|
||||
prompt_text,
|
||||
prompt_language,
|
||||
text,
|
||||
text_language,
|
||||
how_to_cut,
|
||||
top_k,
|
||||
top_p,
|
||||
temperature,
|
||||
ref_text_free,
|
||||
speed,
|
||||
if_freeze,
|
||||
inp_refs,
|
||||
sample_steps,
|
||||
if_sr_Checkbox,
|
||||
pause_second_slider,
|
||||
],
|
||||
[output],
|
||||
)
|
||||
SoVITS_dropdown.change(
|
||||
change_sovits_weights,
|
||||
[SoVITS_dropdown, prompt_language, text_language],
|
||||
[
|
||||
prompt_text,
|
||||
prompt_language,
|
||||
text,
|
||||
text_language,
|
||||
sample_steps,
|
||||
inp_refs,
|
||||
ref_text_free,
|
||||
if_sr_Checkbox,
|
||||
inference_button,
|
||||
],
|
||||
)
|
||||
GPT_dropdown.change(change_gpt_weights, [GPT_dropdown], [])
|
||||
inference_button.click(
|
||||
get_tts_wav,
|
||||
[
|
||||
inp_ref,
|
||||
prompt_text,
|
||||
prompt_language,
|
||||
text,
|
||||
text_language,
|
||||
how_to_cut,
|
||||
top_k,
|
||||
top_p,
|
||||
temperature,
|
||||
ref_text_free,
|
||||
speed,
|
||||
if_freeze,
|
||||
inp_refs,
|
||||
sample_steps,
|
||||
if_sr_Checkbox,
|
||||
pause_second_slider,
|
||||
],
|
||||
[output],
|
||||
)
|
||||
SoVITS_dropdown.change(
|
||||
change_sovits_weights,
|
||||
[SoVITS_dropdown, prompt_language, text_language],
|
||||
[
|
||||
prompt_text,
|
||||
prompt_language,
|
||||
text,
|
||||
text_language,
|
||||
sample_steps,
|
||||
inp_refs,
|
||||
ref_text_free,
|
||||
if_sr_Checkbox,
|
||||
inference_button,
|
||||
],
|
||||
)
|
||||
GPT_dropdown.change(change_gpt_weights, [GPT_dropdown], [])
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
@ -51,7 +51,7 @@ footer * {
|
||||
|
||||
top_html = """
|
||||
<div align="center">
|
||||
<div style="margin-bottom: 5px; font-size: 15px;">{}</div>
|
||||
<div style="margin-bottom: 15px; font-size: 15px;">{}</div>
|
||||
<div style="display: flex; gap: 60px; justify-content: center;">
|
||||
<a href="https://github.com/RVC-Boss/GPT-SoVITS" target="_blank">
|
||||
<img src="https://img.shields.io/badge/GitHub-GPT--SoVITS-blue.svg?style=for-the-badge&logo=github" style="width: auto; height: 30px;">
|
||||
@ -60,9 +60,9 @@ top_html = """
|
||||
<img src="https://img.shields.io/badge/简体中文-阅读文档-blue?style=for-the-badge&logo=googledocs&logoColor=white" style="width: auto; height: 30px;">
|
||||
</a>
|
||||
<a href="https://lj1995-gpt-sovits-proplus.hf.space/" target="_blank">
|
||||
<img src="https://img.shields.io/badge/免费在线体验-free_online_demo-yellow.svg?style=for-the-badge&logo=huggingface" style="width: auto; height: 30px;">
|
||||
<img src="https://img.shields.io/badge/在线体验-online_demo-yellow.svg?style=for-the-badge&logo=huggingface" style="width: auto; height: 30px;">
|
||||
</a>
|
||||
<a href="https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e" target="_blank">
|
||||
<a href="https://rentry.co/GPT-SoVITS-guide" target="_blank">
|
||||
<img src="https://img.shields.io/badge/English-READ%20DOCS-blue?style=for-the-badge&logo=googledocs&logoColor=white" style="width: auto; height: 30px;">
|
||||
</a>
|
||||
<a href="https://github.com/RVC-Boss/GPT-SoVITS/blob/main/LICENSE" target="_blank">
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
"GPT 训练: 模型权重文件在 GPT_weights/": "GPT Training: Model Weights saved in GPT_weights/",
|
||||
"GPT模型列表": "GPT weight list",
|
||||
"GPT训练": "GPT Training",
|
||||
"GPT采样参数(无参考文本时不要太低。不懂就用默认):": "GPT sampling parameters (not too low when there's no reference text. Use default if unsure):",
|
||||
"GPT采样参数(不懂就用默认):": "GPT sampling parameters",
|
||||
"GPU卡号,只能填1个整数": "GPU number, can only input ONE integer",
|
||||
"GPU卡号以-分割,每个卡号一个进程": "GPU number is separated by -, each GPU will run one process ",
|
||||
"LoRA秩": "LoRA Rank",
|
||||
@ -89,7 +89,7 @@
|
||||
"参考音频在3~10秒范围外,请更换!": "Reference audio is outside the 3-10 second range, please choose another one!",
|
||||
"参考音频的文本": "Text for reference audio",
|
||||
"参考音频的语种": "Language for reference audio",
|
||||
"句间停顿秒数": "Pause Duration between Sentences (Seconds)",
|
||||
"句间停顿秒数": "Sentence Pause Duration",
|
||||
"可选项:通过拖拽多个文件上传多个参考音频(建议同性),平均融合他们的音色。如不填写此项,音色由左侧单个参考音频控制。如是微调模型,建议参考音频全部在微调训练集音色内,底模不用管。": "Optional: Upload multiple reference audio files by dragging and dropping them (recommended to be of the same gender), and average their tone. If this option is left blank, the tone will be controlled by the single reference audio on the left. If fine-tuning the model, it is recommended that all reference audio files have tones within the fine-tuning training set; the pretrained model can be ignored.",
|
||||
"合成语音": "Start inference",
|
||||
"合成音频": "Synthesize Audio",
|
||||
@ -142,7 +142,7 @@
|
||||
"是否仅保存最新的权重文件以节省硬盘空间": "Save only the latest weight file to save disk space",
|
||||
"是否在每次保存时间点将最终小模型保存至weights文件夹": "Save a small final model to the 'weights' folder at each save point:",
|
||||
"是否开启DPO训练选项(实验性)": "Enable DPO Training (Experimental)",
|
||||
"是否直接对上次合成结果调整语速和音色。防止随机性。": "Adjust the speech rate and tone of the last synthesis result to prevent randomness.",
|
||||
"是否直接对上次合成结果调整语速和音色": "Adjust the speech rate and tone of the last synthesis result",
|
||||
"显卡信息": "GPU Information",
|
||||
"未下载模型": "Model Not Downloaded",
|
||||
"本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责.": "This software is open source under the MIT license. The author does not have any control over the software. Users who use the software and distribute the sounds exported by the software are solely responsible.",
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
"GPT 训练: 模型权重文件在 GPT_weights/": "Entrenamiento de GPT: los archivos de pesos del modelo están en GPT_weights/",
|
||||
"GPT模型列表": "Lista de modelos GPT",
|
||||
"GPT训练": "Entrenamiento de GPT",
|
||||
"GPT采样参数(无参考文本时不要太低。不懂就用默认):": "Parámetros de muestreo de GPT (no demasiado bajos cuando no hay texto de referencia. Use los valores por defecto si no está seguro):",
|
||||
"GPT采样参数(不懂就用默认):": "Parámetros de muestreo de GPT (no demasiado bajos cuando no hay texto de referencia. Use los valores por defecto si no está seguro):",
|
||||
"GPU卡号,只能填1个整数": "Número de tarjeta GPU, solo se puede ingresar un número entero",
|
||||
"GPU卡号以-分割,每个卡号一个进程": "Número de tarjeta GPU separado por '-', cada número de tarjeta es un proceso",
|
||||
"LoRA秩": "Rango de LoRA",
|
||||
@ -142,7 +142,7 @@
|
||||
"是否仅保存最新的权重文件以节省硬盘空间": "¿Guardar solo el último archivo de pesos más reciente para ahorrar espacio en disco?",
|
||||
"是否在每次保存时间点将最终小模型保存至weights文件夹": "¿Guardar el modelo final pequeño en la carpeta de pesos en cada punto de guardado?",
|
||||
"是否开启DPO训练选项(实验性)": "¿Habilitar la opción de entrenamiento dpo (experimental)?",
|
||||
"是否直接对上次合成结果调整语速和音色。防止随机性。": "¿Ajustar directamente la velocidad del habla y el tono del último resultado de síntesis? Para prevenir la aleatoriedad.",
|
||||
"是否直接对上次合成结果调整语速和音色": "¿Ajustar directamente la velocidad del habla y el tono del último resultado de síntesis? Para prevenir la aleatoriedad.",
|
||||
"显卡信息": "Información de la tarjeta gráfica",
|
||||
"未下载模型": "Modelo no descargado",
|
||||
"本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责.": "Este software es de código abierto bajo la licencia MIT. El autor no tiene control sobre el software. El usuario que lo utilice o distribuya, y el que genere sonidos a partir del software, asume toda la responsabilidad.",
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
"GPT 训练: 模型权重文件在 GPT_weights/": "Entraînement GPT : les poids du modèle sont dans GPT_weights/",
|
||||
"GPT模型列表": "Liste des modèles GPT",
|
||||
"GPT训练": "Entraînement GPT",
|
||||
"GPT采样参数(无参考文本时不要太低。不懂就用默认):": "Paramètres d'échantillonnage de GPT (ne pas mettre trop bas lorsqu'il n'y a pas de texte de référence. Utilisez les valeurs par défaut si vous n'êtes pas sûr):",
|
||||
"GPT采样参数(不懂就用默认):": "Paramètres d'échantillonnage de GPT (ne pas mettre trop bas lorsqu'il n'y a pas de texte de référence. Utilisez les valeurs par défaut si vous n'êtes pas sûr):",
|
||||
"GPU卡号,只能填1个整数": "Numéro de carte GPU, ne peut contenir qu'un seul entier",
|
||||
"GPU卡号以-分割,每个卡号一个进程": "Numéro de carte GPU séparé par des tirets, un processus par numéro de carte",
|
||||
"LoRA秩": "Rang LoRA",
|
||||
@ -142,7 +142,7 @@
|
||||
"是否仅保存最新的权重文件以节省硬盘空间": "Faut-il ne conserver que les derniers fichiers de poids pour économiser de l'espace disque ?",
|
||||
"是否在每次保存时间点将最终小模型保存至weights文件夹": "Sauvegarder le petit modèle final dans le dossier weights à chaque point de sauvegarde",
|
||||
"是否开启DPO训练选项(实验性)": "Activer l'option d'entraînement DPO (expérimental) ?",
|
||||
"是否直接对上次合成结果调整语速和音色。防止随机性。": "Ajuster la vitesse de parole et la tonalité du dernier résultat de synthèse pour prévenir l'aléatoire.",
|
||||
"是否直接对上次合成结果调整语速和音色": "Ajuster la vitesse de parole et la tonalité du dernier résultat de synthèse pour prévenir l'aléatoire.",
|
||||
"显卡信息": "Informations sur la carte graphique",
|
||||
"未下载模型": "Modèle non téléchargé",
|
||||
"本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责.": "Ce logiciel est open-source sous licence MIT. L'auteur n'exerce aucun contrôle sur le logiciel. L'utilisateur et toute personne diffusant les sorties audio générées sont entièrement responsables.",
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
"GPT 训练: 模型权重文件在 GPT_weights/": "Addestramento GPT: i pesi del modello sono in GPT_weights/",
|
||||
"GPT模型列表": "Elenco dei modelli GPT",
|
||||
"GPT训练": "Addestramento GPT",
|
||||
"GPT采样参数(无参考文本时不要太低。不懂就用默认):": "Parametri di campionamento di GPT (non troppo bassi quando non c'è testo di riferimento. Utilizzare i valori predefiniti in caso di incertezza):",
|
||||
"GPT采样参数(不懂就用默认):": "Parametri di campionamento di GPT (non troppo bassi quando non c'è testo di riferimento. Utilizzare i valori predefiniti in caso di incertezza):",
|
||||
"GPU卡号,只能填1个整数": "Numero della scheda grafica, può essere inserito solo un numero intero",
|
||||
"GPU卡号以-分割,每个卡号一个进程": "Numero di GPU separati da '-'; ogni numero corrisponde a un processo",
|
||||
"LoRA秩": "Rango LoRA",
|
||||
@ -142,7 +142,7 @@
|
||||
"是否仅保存最新的权重文件以节省硬盘空间": "Salvare solo i file di pesi più recenti per risparmiare spazio su disco?",
|
||||
"是否在每次保存时间点将最终小模型保存至weights文件夹": "Salvare il modello finale più piccolo nella cartella weights ad ogni punto di salvataggio",
|
||||
"是否开启DPO训练选项(实验性)": "Attivare l'opzione di addestramento DPO (sperimentale)?",
|
||||
"是否直接对上次合成结果调整语速和音色。防止随机性。": "Regola la velocità del parlato e il tono dell'ultimo risultato di sintesi per prevenire la casualità.",
|
||||
"是否直接对上次合成结果调整语速和音色": "Regola la velocità del parlato e il tono dell'ultimo risultato di sintesi per prevenire la casualità.",
|
||||
"显卡信息": "Informazioni sulla scheda grafica",
|
||||
"未下载模型": "Modello non scaricato",
|
||||
"本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责.": "Questo software è open-source sotto licenza MIT. L'autore non esercita alcun controllo sul software. L'utente e chiunque diffonda gli output audio generati sono pienamente responsabili.",
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
"GPT 训练: 模型权重文件在 GPT_weights/": "GPT トレーニング: モデルの重みファイルは GPT_weights/ にあります",
|
||||
"GPT模型列表": "GPTモデルリスト",
|
||||
"GPT训练": "GPTトレーニング",
|
||||
"GPT采样参数(无参考文本时不要太低。不懂就用默认):": "GPT サンプリングパラメーター(参照テキストがない場合はあまり低くしないでください。わからない場合はデフォルトを使用してください):",
|
||||
"GPT采样参数(不懂就用默认):": "GPT サンプリングパラメーター(参照テキストがない場合はあまり低くしないでください。わからない場合はデフォルトを使用してください):",
|
||||
"GPU卡号,只能填1个整数": "GPU番号、1つの整数しか入力できません",
|
||||
"GPU卡号以-分割,每个卡号一个进程": "GPUカード番号はハイフンで区切り、各カード番号ごとに1つのプロセスが実行されます",
|
||||
"LoRA秩": "LoRAランク",
|
||||
@ -142,7 +142,7 @@
|
||||
"是否仅保存最新的权重文件以节省硬盘空间": "最新の重みファイルのみを保存し、ディスクスペースを節約しますか?",
|
||||
"是否在每次保存时间点将最终小模型保存至weights文件夹": "各保存時間点で最終的な小さなモデルをweightsフォルダに保存するかどうか",
|
||||
"是否开启DPO训练选项(实验性)": "DPO トレーニングオプションを有効にしますか?(実験的)",
|
||||
"是否直接对上次合成结果调整语速和音色。防止随机性。": "ランダム性を防ぐために、前回の合成結果のスピーチ速度とトーンを調整します。",
|
||||
"是否直接对上次合成结果调整语速和音色": "ランダム性を防ぐために、前回の合成結果のスピーチ速度とトーンを調整します。",
|
||||
"显卡信息": "グラフィックカード情報",
|
||||
"未下载模型": "モデルがダウンロードされていません",
|
||||
"本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责.": "このソフトウェアはMITライセンスでオープンソース化されており、作者はソフトウェアに対して一切の制御権を持っていません。ソフトウェアを使用する者、ソフトウェアから導出される音声を広める者は、自己責任で行ってください。",
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
"GPT 训练: 模型权重文件在 GPT_weights/": "GPT 훈련: 모델 가중치 파일은 GPT_weights/에 있습니다",
|
||||
"GPT模型列表": "GPT 모델 목록",
|
||||
"GPT训练": "GPT훈련",
|
||||
"GPT采样参数(无参考文本时不要太低。不懂就用默认):": "GPT 샘플링 매개변수 (참조 텍스트가 없을 때 너무 낮게 설정하지 마십시오. 확실하지 않으면 기본값을 사용하십시오):",
|
||||
"GPT采样参数(不懂就用默认):": "GPT 샘플링 매개변수 (참조 텍스트가 없을 때 너무 낮게 설정하지 마십시오. 확실하지 않으면 기본값을 사용하십시오):",
|
||||
"GPU卡号,只能填1个整数": "GPU 카드 번호, 1개의 정수만 입력 가능",
|
||||
"GPU卡号以-分割,每个卡号一个进程": "GPU 카드 번호는 -로 구분되며 각 카드 번호에 하나의 프로세스가 있어야 함",
|
||||
"LoRA秩": "LoRA 랭크",
|
||||
@ -142,7 +142,7 @@
|
||||
"是否仅保存最新的权重文件以节省硬盘空间": "디스크 공간을 절약하기 위해 최신 가중치 파일만 저장할지 여부",
|
||||
"是否在每次保存时间点将最终小模型保存至weights文件夹": "각 저장 시간에 최종 작은 모델을 weights 폴더에 저장할지 여부",
|
||||
"是否开启DPO训练选项(实验性)": "DPO 훈련 옵션 활성화 여부 (실험적 기능)",
|
||||
"是否直接对上次合成结果调整语速和音色。防止随机性。": "랜덤성을 방지하기 위해 마지막 합성 결과의 말하기 속도와 톤을 조정합니다.",
|
||||
"是否直接对上次合成结果调整语速和音色": "랜덤성을 방지하기 위해 마지막 합성 결과의 말하기 속도와 톤을 조정합니다.",
|
||||
"显卡信息": "그래픽 카드 정보",
|
||||
"未下载模型": "모델이 다운로드되지 않음",
|
||||
"本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责.": "본 소프트웨어는 MIT 라이선스로 오픈소스이며, 개발자는 소프트웨어에 대한 어떠한 통제력도 가지지 않습니다. 사용자는 소프트웨어를 이용하거나 이를 통해 생성된 음성을 배포할 경우 모든 책임을 집니다.",
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
"GPT 训练: 模型权重文件在 GPT_weights/": "Treinamento GPT: O arquivo de pesos do modelo está em GPT_weights/",
|
||||
"GPT模型列表": "Lista de modelos GPT",
|
||||
"GPT训练": "Treinamento GPT",
|
||||
"GPT采样参数(无参考文本时不要太低。不懂就用默认):": "Parâmetros de amostragem do GPT (não muito baixos quando não houver texto de referência. Use o padrão se não tiver certeza):",
|
||||
"GPT采样参数(不懂就用默认):": "Parâmetros de amostragem do GPT (não muito baixos quando não houver texto de referência. Use o padrão se não tiver certeza):",
|
||||
"GPU卡号,只能填1个整数": "Número da placa de vídeo, só é possível preencher com um número inteiro",
|
||||
"GPU卡号以-分割,每个卡号一个进程": "Número da placa de vídeo dividido por-, cada número de placa é um processo",
|
||||
"LoRA秩": "Classificação LoRA",
|
||||
@ -142,7 +142,7 @@
|
||||
"是否仅保存最新的权重文件以节省硬盘空间": "Deseja salvar apenas os arquivos de pesos mais recentes para economizar espaço em disco?",
|
||||
"是否在每次保存时间点将最终小模型保存至weights文件夹": "Se deve salvar o modelo pequeno final na pasta Weights em cada ponto de salvamento de tempo",
|
||||
"是否开启DPO训练选项(实验性)": "Ativar a opção de treinamento DPO (experimental)?",
|
||||
"是否直接对上次合成结果调整语速和音色。防止随机性。": "Ajuste a velocidade da fala e o tom do último resultado de síntese para evitar aleatoriedade.",
|
||||
"是否直接对上次合成结果调整语速和音色": "Ajuste a velocidade da fala e o tom do último resultado de síntese para evitar aleatoriedade.",
|
||||
"显卡信息": "Informações da placa de vídeo",
|
||||
"未下载模型": "Modelo não baixado",
|
||||
"本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责.": "Este software é de código aberto sob a licença MIT, e o autor não tem controle sobre seu uso. O usuário e qualquer pessoa que distribua áudio gerado pelo software são totalmente responsáveis.",
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
"GPT 训练: 模型权重文件在 GPT_weights/": "Обучение GPT: файлы весов модели находятся в GPT_weights/",
|
||||
"GPT模型列表": "Список моделей GPT",
|
||||
"GPT训练": "Обучение GPT",
|
||||
"GPT采样参数(无参考文本时不要太低。不懂就用默认):": "Параметры выборки GPT (не устанавливайте слишком низкие значения, если нет ссылочного текста. Используйте значения по умолчанию, если не уверены):",
|
||||
"GPT采样参数(不懂就用默认):": "Параметры выборки GPT (не устанавливайте слишком низкие значения, если нет ссылочного текста. Используйте значения по умолчанию, если не уверены):",
|
||||
"GPU卡号,只能填1个整数": "Номер GPU, можно указать только одно целое число",
|
||||
"GPU卡号以-分割,每个卡号一个进程": "Номера GPU разделяются дефисом, на каждый номер отдельный процесс",
|
||||
"LoRA秩": "Ранг LoRA",
|
||||
@ -142,7 +142,7 @@
|
||||
"是否仅保存最新的权重文件以节省硬盘空间": "Сохранить только последние файлы весов для экономии дискового пространства?",
|
||||
"是否在每次保存时间点将最终小模型保存至weights文件夹": "Сохранять финальную версию модели в папке weights на каждом этапе сохранения?",
|
||||
"是否开启DPO训练选项(实验性)": "Включить опцию обучения DPO (экспериментально)?",
|
||||
"是否直接对上次合成结果调整语速和音色。防止随机性。": "Настройте скорость речи и тон последнего результата синтеза, чтобы избежать случайности.",
|
||||
"是否直接对上次合成结果调整语速和音色": "Настройте скорость речи и тон последнего результата синтеза, чтобы избежать случайности.",
|
||||
"显卡信息": "Информация о видеокарте",
|
||||
"未下载模型": "Модель не загружена",
|
||||
"本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责.": "Эта программа распространяется с открытым исходным кодом по лицензии MIT, и автор не несёт ответственности за её использование. Пользователь и распространитель звука, созданного программой, несут полную ответственность.",
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
"GPT 训练: 模型权重文件在 GPT_weights/": "GPT Eğitimi: Model ağırlık dosyaları GPT_weights/ içinde",
|
||||
"GPT模型列表": "GPT model listesi",
|
||||
"GPT训练": "GPT Eğitimi",
|
||||
"GPT采样参数(无参考文本时不要太低。不懂就用默认):": "GPT örnekleme parametreleri (referans metin olmadığında çok düşük olmamalıdır. Emin değilseniz varsayılanı kullanın):",
|
||||
"GPT采样参数(不懂就用默认):": "GPT örnekleme parametreleri (referans metin olmadığında çok düşük olmamalıdır. Emin değilseniz varsayılanı kullanın):",
|
||||
"GPU卡号,只能填1个整数": "GPU kart numarası, sadece bir tamsayı girilebilir",
|
||||
"GPU卡号以-分割,每个卡号一个进程": "GPU kart numaraları - ile ayrılır, her kart numarası için bir işlem",
|
||||
"LoRA秩": "LoRA Derecesi",
|
||||
@ -142,7 +142,7 @@
|
||||
"是否仅保存最新的权重文件以节省硬盘空间": "Sadece en son ağırlık dosyasını kaydedip sabit disk alanı tasarrufu sağlamak isterseniz",
|
||||
"是否在每次保存时间点将最终小模型保存至weights文件夹": "Her kayıt zamanında son küçük modelin weights klasörüne kaydedilmesi gerekiyor mu",
|
||||
"是否开启DPO训练选项(实验性)": "DPO Eğitim Seçeneğini Açmak (Deneysel)",
|
||||
"是否直接对上次合成结果调整语速和音色。防止随机性。": "Rastgeleliği önlemek için son sentez sonucunun konuşma hızını ve tonunu ayarlayın.",
|
||||
"是否直接对上次合成结果调整语速和音色": "Rastgeleliği önlemek için son sentez sonucunun konuşma hızını ve tonunu ayarlayın.",
|
||||
"显卡信息": "Ekran kartı bilgisi",
|
||||
"未下载模型": "Model İndirilmedi",
|
||||
"本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责.": "Bu yazılım MIT lisansı ile açık kaynak olarak sunulmuştur, yazar yazılım üzerinde herhangi bir kontrol sahibi değildir, yazılımı kullanan veya yazılımın çıktısını dağıtan kişiler tüm sorumluluğu üstlenir.",
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
"GPT 训练: 模型权重文件在 GPT_weights/": "GPT 训练: 模型权重文件在 GPT_weights/",
|
||||
"GPT模型列表": "GPT模型列表",
|
||||
"GPT训练": "GPT训练",
|
||||
"GPT采样参数(无参考文本时不要太低。不懂就用默认):": "GPT采样参数(无参考文本时不要太低。不懂就用默认):",
|
||||
"GPT采样参数(不懂就用默认):": "GPT采样参数(不懂就用默认):",
|
||||
"GPU卡号,只能填1个整数": "GPU卡号,只能填1个整数",
|
||||
"GPU卡号以-分割,每个卡号一个进程": "GPU卡号以-分割,每个卡号一个进程",
|
||||
"LoRA秩": "LoRA秩",
|
||||
@ -142,7 +142,7 @@
|
||||
"是否仅保存最新的权重文件以节省硬盘空间": "是否仅保存最新的权重文件以节省硬盘空间",
|
||||
"是否在每次保存时间点将最终小模型保存至weights文件夹": "是否在每次保存时间点将最终小模型保存至weights文件夹",
|
||||
"是否开启DPO训练选项(实验性)": "是否开启DPO训练选项(实验性)",
|
||||
"是否直接对上次合成结果调整语速和音色。防止随机性。": "是否直接对上次合成结果调整语速和音色。防止随机性。",
|
||||
"是否直接对上次合成结果调整语速和音色": "是否直接对上次合成结果调整语速和音色",
|
||||
"显卡信息": "显卡信息",
|
||||
"未下载模型": "未下载模型",
|
||||
"本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责.": "本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责.",
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
"GPT 训练: 模型权重文件在 GPT_weights/": "GPT 訓練: 模型權重檔案在 GPT_weights/",
|
||||
"GPT模型列表": "GPT模型列表",
|
||||
"GPT训练": "GPT訓練",
|
||||
"GPT采样参数(无参考文本时不要太低。不懂就用默认):": "GPT 采样参数(无参考文本时不要太低。不懂就用默认):",
|
||||
"GPT采样参数(不懂就用默认):": "GPT 采样参数(无参考文本时不要太低。不懂就用默认):",
|
||||
"GPU卡号,只能填1个整数": "GPU卡號,只能填1個整數",
|
||||
"GPU卡号以-分割,每个卡号一个进程": "GPU卡號以-分割,每個卡號一個進程",
|
||||
"LoRA秩": "LoRA秩",
|
||||
@ -142,7 +142,7 @@
|
||||
"是否仅保存最新的权重文件以节省硬盘空间": "是否僅保存最新的權重文件以節省硬碟空間",
|
||||
"是否在每次保存时间点将最终小模型保存至weights文件夹": "是否在每次保存時間點將最終小模型保存至weights文件夾",
|
||||
"是否开启DPO训练选项(实验性)": "是否開啟DPO訓練選項(實驗性)",
|
||||
"是否直接对上次合成结果调整语速和音色。防止随机性。": "是否直接對上次合成結果調整語速和音色,以防止隨機性。",
|
||||
"是否直接对上次合成结果调整语速和音色": "是否直接對上次合成結果調整語速和音色,以防止隨機性。",
|
||||
"显卡信息": "顯卡信息",
|
||||
"未下载模型": "未下載模型",
|
||||
"本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责.": "本軟體以MIT協議開源, 作者不對軟體具備任何控制力, 使用軟體者、傳播軟體導出的聲音者自負全責.",
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
"GPT 训练: 模型权重文件在 GPT_weights/": "GPT 训练: 模型权重文件在 GPT_weights/ 目錄下",
|
||||
"GPT模型列表": "GPT模型列表",
|
||||
"GPT训练": "GPT訓練",
|
||||
"GPT采样参数(无参考文本时不要太低。不懂就用默认):": "GPT 采样参数(无参考文本时不要太低。不懂就用默认):",
|
||||
"GPT采样参数(不懂就用默认):": "GPT 采样参数(无参考文本时不要太低。不懂就用默认):",
|
||||
"GPU卡号,只能填1个整数": "GPU卡號,只能填1個整數",
|
||||
"GPU卡号以-分割,每个卡号一个进程": "GPU卡號以-分割,每個卡號一個進程",
|
||||
"LoRA秩": "LoRA秩",
|
||||
@ -142,7 +142,7 @@
|
||||
"是否仅保存最新的权重文件以节省硬盘空间": "是否僅保存最新的權重文件以節省硬碟空間",
|
||||
"是否在每次保存时间点将最终小模型保存至weights文件夹": "是否在每次保存時間點將最終小模型保存至weights文件夾",
|
||||
"是否开启DPO训练选项(实验性)": "是否開啟DPO訓練選項(實驗性)",
|
||||
"是否直接对上次合成结果调整语速和音色。防止随机性。": "是否直接對上次合成結果調整語速和音色,以防止隨機性。",
|
||||
"是否直接对上次合成结果调整语速和音色": "是否直接對上次合成結果調整語速和音色,以防止隨機性。",
|
||||
"显卡信息": "顯卡資訊",
|
||||
"未下载模型": "未下載模型",
|
||||
"本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责.": "本軟體以MIT協議開源, 作者不對軟體具備任何控制力, 使用軟體者、傳播軟體導出的聲音者自負全責.",
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
"GPT 训练: 模型权重文件在 GPT_weights/": "GPT 訓練: 模型權重文件在 GPT_weights/",
|
||||
"GPT模型列表": "GPT模型列表",
|
||||
"GPT训练": "GPT訓練",
|
||||
"GPT采样参数(无参考文本时不要太低。不懂就用默认):": "GPT 采样参数(无参考文本时不要太低。不懂就用默认):",
|
||||
"GPT采样参数(不懂就用默认):": "GPT 采样参数(无参考文本时不要太低。不懂就用默认):",
|
||||
"GPU卡号,只能填1个整数": "GPU卡號,只能填1個整數",
|
||||
"GPU卡号以-分割,每个卡号一个进程": "GPU卡號以-分割,每個卡號一個進程",
|
||||
"LoRA秩": "LoRA階",
|
||||
@ -142,7 +142,7 @@
|
||||
"是否仅保存最新的权重文件以节省硬盘空间": "是否僅保存最新的權重文件以節省硬盤空間",
|
||||
"是否在每次保存时间点将最终小模型保存至weights文件夹": "是否在每次保存時間點將最終小模型保存至weights文件夾",
|
||||
"是否开启DPO训练选项(实验性)": "是否開啟DPO訓練選項(實驗性)",
|
||||
"是否直接对上次合成结果调整语速和音色。防止随机性。": "是否直接對上次合成結果調整語速和音色,以防止隨機性。",
|
||||
"是否直接对上次合成结果调整语速和音色": "是否直接對上次合成結果調整語速和音色,以防止隨機性。",
|
||||
"显卡信息": "顯卡資訊",
|
||||
"未下载模型": "未下載模型",
|
||||
"本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责.": "本軟體以MIT協議開源,作者不對軟體具備任何控制力,使用軟體者、傳播軟體導出的聲音者自負全責。",
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user