mirror of
https://github.com/RVC-Boss/GPT-SoVITS.git
synced 2025-04-05 04:22:46 +08:00
Update Documentation (#2032)
* add exception handling * Fill in the missing content * remove GB code * Simplify i18n text and remove trailing spaces * ignore v3 model dir * Update Changelog * Fix encoding
This commit is contained in:
parent
6e2b49186c
commit
15cbd1b673
2
.gitignore
vendored
2
.gitignore
vendored
@ -12,6 +12,8 @@ GPT_weights
|
||||
SoVITS_weights
|
||||
GPT_weights_v2
|
||||
SoVITS_weights_v2
|
||||
GPT_weights_v3
|
||||
SoVITS_weights_v3
|
||||
TEMP
|
||||
weight.json
|
||||
ffmpeg*
|
||||
|
@ -79,7 +79,7 @@ def set_seed(seed:int):
|
||||
except:
|
||||
pass
|
||||
return seed
|
||||
|
||||
|
||||
class TTS_Config:
|
||||
default_configs={
|
||||
"default":{
|
||||
@ -118,18 +118,18 @@ class TTS_Config:
|
||||
# "auto_yue",#多语种启动切分识别语种
|
||||
|
||||
def __init__(self, configs: Union[dict, str]=None):
|
||||
|
||||
|
||||
# 设置默认配置文件路径
|
||||
configs_base_path:str = "GPT_SoVITS/configs/"
|
||||
os.makedirs(configs_base_path, exist_ok=True)
|
||||
self.configs_path:str = os.path.join(configs_base_path, "tts_infer.yaml")
|
||||
|
||||
|
||||
if configs in ["", None]:
|
||||
if not os.path.exists(self.configs_path):
|
||||
self.save_configs()
|
||||
print(f"Create default config file at {self.configs_path}")
|
||||
configs:dict = deepcopy(self.default_configs)
|
||||
|
||||
|
||||
if isinstance(configs, str):
|
||||
self.configs_path = configs
|
||||
configs:dict = self._load_configs(self.configs_path)
|
||||
@ -142,8 +142,8 @@ class TTS_Config:
|
||||
|
||||
default_config_key = "default"if version=="v1" else "default_v2"
|
||||
self.configs:dict = configs.get("custom", deepcopy(self.default_configs[default_config_key]))
|
||||
|
||||
|
||||
|
||||
|
||||
self.device = self.configs.get("device", torch.device("cpu"))
|
||||
self.is_half = self.configs.get("is_half", False)
|
||||
self.version = version
|
||||
@ -153,7 +153,7 @@ class TTS_Config:
|
||||
self.cnhuhbert_base_path = self.configs.get("cnhuhbert_base_path", None)
|
||||
self.languages = self.v2_languages if self.version=="v2" else self.v1_languages
|
||||
|
||||
|
||||
|
||||
if (self.t2s_weights_path in [None, ""]) or (not os.path.exists(self.t2s_weights_path)):
|
||||
self.t2s_weights_path = self.default_configs[default_config_key]['t2s_weights_path']
|
||||
print(f"fall back to default t2s_weights_path: {self.t2s_weights_path}")
|
||||
@ -167,8 +167,8 @@ class TTS_Config:
|
||||
self.cnhuhbert_base_path = self.default_configs[default_config_key]['cnhuhbert_base_path']
|
||||
print(f"fall back to default cnhuhbert_base_path: {self.cnhuhbert_base_path}")
|
||||
self.update_configs()
|
||||
|
||||
|
||||
|
||||
|
||||
self.max_sec = None
|
||||
self.hz:int = 50
|
||||
self.semantic_frame_rate:str = "25hz"
|
||||
@ -180,7 +180,7 @@ class TTS_Config:
|
||||
self.n_speakers:int = 300
|
||||
|
||||
|
||||
|
||||
|
||||
def _load_configs(self, configs_path: str)->dict:
|
||||
if os.path.exists(configs_path):
|
||||
...
|
||||
@ -189,14 +189,14 @@ class TTS_Config:
|
||||
self.save_configs(configs_path)
|
||||
with open(configs_path, 'r') as f:
|
||||
configs = yaml.load(f, Loader=yaml.FullLoader)
|
||||
|
||||
|
||||
return configs
|
||||
|
||||
def save_configs(self, configs_path:str=None)->None:
|
||||
configs=deepcopy(self.default_configs)
|
||||
if self.configs is not None:
|
||||
configs["custom"] = self.update_configs()
|
||||
|
||||
|
||||
if configs_path is None:
|
||||
configs_path = self.configs_path
|
||||
with open(configs_path, 'w') as f:
|
||||
@ -217,7 +217,7 @@ class TTS_Config:
|
||||
def update_version(self, version:str)->None:
|
||||
self.version = version
|
||||
self.languages = self.v2_languages if self.version=="v2" else self.v1_languages
|
||||
|
||||
|
||||
def __str__(self):
|
||||
self.configs = self.update_configs()
|
||||
string = "TTS Config".center(100, '-') + '\n'
|
||||
@ -225,7 +225,7 @@ class TTS_Config:
|
||||
string += f"{str(k).ljust(20)}: {str(v)}\n"
|
||||
string += "-" * 100 + '\n'
|
||||
return string
|
||||
|
||||
|
||||
def __repr__(self):
|
||||
return self.__str__()
|
||||
|
||||
@ -242,21 +242,21 @@ class TTS:
|
||||
self.configs = configs
|
||||
else:
|
||||
self.configs:TTS_Config = TTS_Config(configs)
|
||||
|
||||
|
||||
self.t2s_model:Text2SemanticLightningModule = None
|
||||
self.vits_model:SynthesizerTrn = None
|
||||
self.bert_tokenizer:AutoTokenizer = None
|
||||
self.bert_model:AutoModelForMaskedLM = None
|
||||
self.cnhuhbert_model:CNHubert = None
|
||||
|
||||
|
||||
self._init_models()
|
||||
|
||||
|
||||
self.text_preprocessor:TextPreprocessor = \
|
||||
TextPreprocessor(self.bert_model,
|
||||
self.bert_tokenizer,
|
||||
TextPreprocessor(self.bert_model,
|
||||
self.bert_tokenizer,
|
||||
self.configs.device)
|
||||
|
||||
|
||||
|
||||
|
||||
self.prompt_cache:dict = {
|
||||
"ref_audio_path" : None,
|
||||
"prompt_semantic": None,
|
||||
@ -268,8 +268,8 @@ class TTS:
|
||||
"norm_text" : None,
|
||||
"aux_ref_audio_paths": [],
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
self.stop_flag:bool = False
|
||||
self.precision:torch.dtype = torch.float16 if self.configs.is_half else torch.float32
|
||||
|
||||
@ -279,9 +279,9 @@ class TTS:
|
||||
self.init_bert_weights(self.configs.bert_base_path)
|
||||
self.init_cnhuhbert_weights(self.configs.cnhuhbert_base_path)
|
||||
# self.enable_half_precision(self.configs.is_half)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
def init_cnhuhbert_weights(self, base_path: str):
|
||||
print(f"Loading CNHuBERT weights from {base_path}")
|
||||
self.cnhuhbert_model = CNHubert(base_path)
|
||||
@ -289,9 +289,9 @@ class TTS:
|
||||
self.cnhuhbert_model = self.cnhuhbert_model.to(self.configs.device)
|
||||
if self.configs.is_half and str(self.configs.device)!="cpu":
|
||||
self.cnhuhbert_model = self.cnhuhbert_model.half()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
def init_bert_weights(self, base_path: str):
|
||||
print(f"Loading BERT weights from {base_path}")
|
||||
self.bert_tokenizer = AutoTokenizer.from_pretrained(base_path)
|
||||
@ -300,7 +300,7 @@ class TTS:
|
||||
self.bert_model = self.bert_model.to(self.configs.device)
|
||||
if self.configs.is_half and str(self.configs.device)!="cpu":
|
||||
self.bert_model = self.bert_model.half()
|
||||
|
||||
|
||||
def init_vits_weights(self, weights_path: str):
|
||||
print(f"Loading VITS weights from {weights_path}")
|
||||
self.configs.vits_weights_path = weights_path
|
||||
@ -311,11 +311,11 @@ class TTS:
|
||||
else:
|
||||
self.configs.update_version("v2")
|
||||
self.configs.save_configs()
|
||||
|
||||
|
||||
hps["model"]["version"] = self.configs.version
|
||||
self.configs.filter_length = hps["data"]["filter_length"]
|
||||
self.configs.segment_size = hps["train"]["segment_size"]
|
||||
self.configs.sampling_rate = hps["data"]["sampling_rate"]
|
||||
self.configs.sampling_rate = hps["data"]["sampling_rate"]
|
||||
self.configs.hop_length = hps["data"]["hop_length"]
|
||||
self.configs.win_length = hps["data"]["win_length"]
|
||||
self.configs.n_speakers = hps["data"]["n_speakers"]
|
||||
@ -330,7 +330,7 @@ class TTS:
|
||||
|
||||
if hasattr(vits_model, "enc_q"):
|
||||
del vits_model.enc_q
|
||||
|
||||
|
||||
vits_model = vits_model.to(self.configs.device)
|
||||
vits_model = vits_model.eval()
|
||||
vits_model.load_state_dict(dict_s2["weight"], strict=False)
|
||||
@ -338,7 +338,7 @@ class TTS:
|
||||
if self.configs.is_half and str(self.configs.device)!="cpu":
|
||||
self.vits_model = self.vits_model.half()
|
||||
|
||||
|
||||
|
||||
def init_t2s_weights(self, weights_path: str):
|
||||
print(f"Loading Text2Semantic weights from {weights_path}")
|
||||
self.configs.t2s_weights_path = weights_path
|
||||
@ -354,18 +354,18 @@ class TTS:
|
||||
self.t2s_model = t2s_model
|
||||
if self.configs.is_half and str(self.configs.device)!="cpu":
|
||||
self.t2s_model = self.t2s_model.half()
|
||||
|
||||
|
||||
def enable_half_precision(self, enable: bool = True, save: bool = True):
|
||||
'''
|
||||
To enable half precision for the TTS model.
|
||||
Args:
|
||||
enable: bool, whether to enable half precision.
|
||||
|
||||
|
||||
'''
|
||||
if str(self.configs.device) == "cpu" and enable:
|
||||
print("Half precision is not supported on CPU.")
|
||||
return
|
||||
|
||||
|
||||
self.configs.is_half = enable
|
||||
self.precision = torch.float16 if enable else torch.float32
|
||||
if save:
|
||||
@ -388,7 +388,7 @@ class TTS:
|
||||
self.bert_model = self.bert_model.float()
|
||||
if self.cnhuhbert_model is not None:
|
||||
self.cnhuhbert_model = self.cnhuhbert_model.float()
|
||||
|
||||
|
||||
def set_device(self, device: torch.device, save: bool = True):
|
||||
'''
|
||||
To set the device for all models.
|
||||
@ -406,10 +406,10 @@ class TTS:
|
||||
self.bert_model = self.bert_model.to(device)
|
||||
if self.cnhuhbert_model is not None:
|
||||
self.cnhuhbert_model = self.cnhuhbert_model.to(device)
|
||||
|
||||
|
||||
def set_ref_audio(self, ref_audio_path:str):
|
||||
'''
|
||||
To set the reference audio for the TTS model,
|
||||
To set the reference audio for the TTS model,
|
||||
including the prompt_semantic and refer_spepc.
|
||||
Args:
|
||||
ref_audio_path: str, the path of the reference audio.
|
||||
@ -417,9 +417,9 @@ class TTS:
|
||||
self._set_prompt_semantic(ref_audio_path)
|
||||
self._set_ref_spec(ref_audio_path)
|
||||
self._set_ref_audio_path(ref_audio_path)
|
||||
|
||||
|
||||
def _set_ref_audio_path(self, ref_audio_path):
|
||||
self.prompt_cache["ref_audio_path"] = ref_audio_path
|
||||
self.prompt_cache["ref_audio_path"] = ref_audio_path
|
||||
|
||||
def _set_ref_spec(self, ref_audio_path):
|
||||
spec = self._get_ref_spec(ref_audio_path)
|
||||
@ -472,10 +472,10 @@ class TTS:
|
||||
1, 2
|
||||
) # .float()
|
||||
codes = self.vits_model.extract_latent(hubert_feature)
|
||||
|
||||
|
||||
prompt_semantic = codes[0, 0].to(self.configs.device)
|
||||
self.prompt_cache["prompt_semantic"] = prompt_semantic
|
||||
|
||||
|
||||
def batch_sequences(self, sequences: List[torch.Tensor], axis: int = 0, pad_value: int = 0, max_length:int=None):
|
||||
seq = sequences[0]
|
||||
ndim = seq.dim()
|
||||
@ -496,12 +496,12 @@ class TTS:
|
||||
padded_sequences.append(padded_seq)
|
||||
batch = torch.stack(padded_sequences)
|
||||
return batch
|
||||
|
||||
def to_batch(self, data:list,
|
||||
prompt_data:dict=None,
|
||||
batch_size:int=5,
|
||||
threshold:float=0.75,
|
||||
split_bucket:bool=True,
|
||||
|
||||
def to_batch(self, data:list,
|
||||
prompt_data:dict=None,
|
||||
batch_size:int=5,
|
||||
threshold:float=0.75,
|
||||
split_bucket:bool=True,
|
||||
device:torch.device=torch.device("cpu"),
|
||||
precision:torch.dtype=torch.float32,
|
||||
):
|
||||
@ -514,8 +514,8 @@ class TTS:
|
||||
batch_index_list = []
|
||||
if split_bucket:
|
||||
index_and_len_list.sort(key=lambda x: x[1])
|
||||
index_and_len_list = np.array(index_and_len_list, dtype=np.int64)
|
||||
|
||||
index_and_len_list = np.array(index_and_len_list, dtype=np.int64)
|
||||
|
||||
batch_index_list_len = 0
|
||||
pos = 0
|
||||
while pos <index_and_len_list.shape[0]:
|
||||
@ -531,16 +531,16 @@ class TTS:
|
||||
pos = pos_end
|
||||
break
|
||||
pos_end=pos_end-1
|
||||
|
||||
|
||||
assert batch_index_list_len == len(data)
|
||||
|
||||
|
||||
else:
|
||||
for i in range(len(data)):
|
||||
if i%batch_size == 0:
|
||||
batch_index_list.append([])
|
||||
batch_index_list[-1].append(i)
|
||||
|
||||
|
||||
|
||||
for batch_idx, index_list in enumerate(batch_index_list):
|
||||
item_list = [data[idx] for idx in index_list]
|
||||
phones_list = []
|
||||
@ -568,19 +568,19 @@ class TTS:
|
||||
|
||||
all_bert_max_len = max(all_bert_max_len, all_bert_features.shape[-1])
|
||||
all_phones_max_len = max(all_phones_max_len, all_phones.shape[-1])
|
||||
|
||||
|
||||
phones_list.append(phones)
|
||||
phones_len_list.append(phones.shape[-1])
|
||||
all_phones_list.append(all_phones)
|
||||
all_phones_len_list.append(all_phones.shape[-1])
|
||||
all_bert_features_list.append(all_bert_features)
|
||||
norm_text_batch.append(item["norm_text"])
|
||||
|
||||
|
||||
phones_batch = phones_list
|
||||
all_phones_batch = all_phones_list
|
||||
all_bert_features_batch = all_bert_features_list
|
||||
|
||||
|
||||
|
||||
|
||||
max_len = max(all_bert_max_len, all_phones_max_len)
|
||||
# phones_batch = self.batch_sequences(phones_list, axis=0, pad_value=0, max_length=max_len)
|
||||
#### 直接对phones和bert_features进行pad。(padding策略会影响T2S模型生成的结果,但不直接影响复读概率。影响复读概率的主要因素是mask的策略)
|
||||
@ -589,16 +589,16 @@ class TTS:
|
||||
# all_bert_features_batch = torch.zeros((len(all_bert_features_list), 1024, max_len), dtype=precision, device=device)
|
||||
# for idx, item in enumerate(all_bert_features_list):
|
||||
# all_bert_features_batch[idx, :, : item.shape[-1]] = item
|
||||
|
||||
|
||||
# #### 先对phones进行embedding、对bert_features进行project,再pad到相同长度,(padding策略会影响T2S模型生成的结果,但不直接影响复读概率。影响复读概率的主要因素是mask的策略)
|
||||
# all_phones_list = [self.t2s_model.model.ar_text_embedding(item.to(self.t2s_model.device)) for item in all_phones_list]
|
||||
# all_phones_list = [F.pad(item,(0,0,0,max_len-item.shape[0]),value=0) for item in all_phones_list]
|
||||
# all_phones_batch = torch.stack(all_phones_list, dim=0)
|
||||
|
||||
|
||||
# all_bert_features_list = [self.t2s_model.model.bert_proj(item.to(self.t2s_model.device).transpose(0, 1)) for item in all_bert_features_list]
|
||||
# all_bert_features_list = [F.pad(item,(0,0,0,max_len-item.shape[0]), value=0) for item in all_bert_features_list]
|
||||
# all_bert_features_batch = torch.stack(all_bert_features_list, dim=0)
|
||||
|
||||
|
||||
batch = {
|
||||
"phones": phones_batch,
|
||||
"phones_len": torch.LongTensor(phones_len_list).to(device),
|
||||
@ -609,17 +609,17 @@ class TTS:
|
||||
"max_len": max_len,
|
||||
}
|
||||
_data.append(batch)
|
||||
|
||||
|
||||
return _data, batch_index_list
|
||||
|
||||
|
||||
def recovery_order(self, data:list, batch_index_list:list)->list:
|
||||
'''
|
||||
Recovery the order of the audio according to the batch_index_list.
|
||||
|
||||
|
||||
Args:
|
||||
data (List[list(np.ndarray)]): the out of order audio .
|
||||
batch_index_list (List[list[int]]): the batch index list.
|
||||
|
||||
|
||||
Returns:
|
||||
list (List[np.ndarray]): the data in the original order.
|
||||
'''
|
||||
@ -635,14 +635,14 @@ class TTS:
|
||||
Stop the inference process.
|
||||
'''
|
||||
self.stop_flag = True
|
||||
|
||||
|
||||
@torch.no_grad()
|
||||
def run(self, inputs:dict):
|
||||
"""
|
||||
Text to speech inference.
|
||||
|
||||
|
||||
Args:
|
||||
inputs (dict):
|
||||
inputs (dict):
|
||||
{
|
||||
"text": "", # str.(required) text to be synthesized
|
||||
"text_lang: "", # str.(required) language of the text to be synthesized
|
||||
@ -734,7 +734,7 @@ class TTS:
|
||||
if not os.path.exists(ref_audio_path):
|
||||
raise ValueError(f"{ref_audio_path} not exists")
|
||||
self.set_ref_audio(ref_audio_path)
|
||||
|
||||
|
||||
aux_ref_audio_paths = aux_ref_audio_paths if aux_ref_audio_paths is not None else []
|
||||
paths = set(aux_ref_audio_paths)&set(self.prompt_cache["aux_ref_audio_paths"])
|
||||
if not (len(list(paths)) == len(aux_ref_audio_paths) == len(self.prompt_cache["aux_ref_audio_paths"])):
|
||||
@ -744,10 +744,10 @@ class TTS:
|
||||
if path in [None, ""]:
|
||||
continue
|
||||
if not os.path.exists(path):
|
||||
print(i18n("音频文件不存在,跳过:{}").format(path))
|
||||
print(i18n("音频文件不存在,跳过:"), path)
|
||||
continue
|
||||
self.prompt_cache["refer_spec"].append(self._get_ref_spec(path))
|
||||
|
||||
|
||||
if not no_prompt_text:
|
||||
prompt_text = prompt_text.strip("\n")
|
||||
if (prompt_text[-1] not in splits): prompt_text += "。" if prompt_lang != "en" else "."
|
||||
@ -757,7 +757,7 @@ class TTS:
|
||||
self.prompt_cache["prompt_lang"] = prompt_lang
|
||||
phones, bert_features, norm_text = \
|
||||
self.text_preprocessor.segment_and_extract_feature_for_text(
|
||||
prompt_text,
|
||||
prompt_text,
|
||||
prompt_lang,
|
||||
self.configs.version)
|
||||
self.prompt_cache["phones"] = phones
|
||||
@ -778,26 +778,26 @@ class TTS:
|
||||
return
|
||||
|
||||
batch_index_list:list = None
|
||||
data, batch_index_list = self.to_batch(data,
|
||||
prompt_data=self.prompt_cache if not no_prompt_text else None,
|
||||
batch_size=batch_size,
|
||||
data, batch_index_list = self.to_batch(data,
|
||||
prompt_data=self.prompt_cache if not no_prompt_text else None,
|
||||
batch_size=batch_size,
|
||||
threshold=batch_threshold,
|
||||
split_bucket=split_bucket,
|
||||
device=self.configs.device,
|
||||
precision=self.precision
|
||||
)
|
||||
else:
|
||||
print(i18n("############ 切分文本 ############"))
|
||||
print(f'############ {i18n("切分文本")} ############')
|
||||
texts = self.text_preprocessor.pre_seg_text(text, text_lang, text_split_method)
|
||||
data = []
|
||||
for i in range(len(texts)):
|
||||
if i%batch_size == 0:
|
||||
data.append([])
|
||||
data[-1].append(texts[i])
|
||||
|
||||
|
||||
def make_batch(batch_texts):
|
||||
batch_data = []
|
||||
print(i18n("############ 提取文本Bert特征 ############"))
|
||||
print(f'############ {i18n("提取文本Bert特征")} ############')
|
||||
for text in tqdm(batch_texts):
|
||||
phones, bert_features, norm_text = self.text_preprocessor.segment_and_extract_feature_for_text(text, text_lang, self.configs.version)
|
||||
if phones is None:
|
||||
@ -810,9 +810,9 @@ class TTS:
|
||||
batch_data.append(res)
|
||||
if len(batch_data) == 0:
|
||||
return None
|
||||
batch, _ = self.to_batch(batch_data,
|
||||
prompt_data=self.prompt_cache if not no_prompt_text else None,
|
||||
batch_size=batch_size,
|
||||
batch, _ = self.to_batch(batch_data,
|
||||
prompt_data=self.prompt_cache if not no_prompt_text else None,
|
||||
batch_size=batch_size,
|
||||
threshold=batch_threshold,
|
||||
split_bucket=False,
|
||||
device=self.configs.device,
|
||||
@ -868,10 +868,10 @@ class TTS:
|
||||
t_34 += t4 - t3
|
||||
|
||||
refer_audio_spec:torch.Tensor = [item.to(dtype=self.precision, device=self.configs.device) for item in self.prompt_cache["refer_spec"]]
|
||||
|
||||
|
||||
|
||||
batch_audio_fragment = []
|
||||
|
||||
|
||||
# ## vits并行推理 method 1
|
||||
# pred_semantic_list = [item[-idx:] for item, idx in zip(pred_semantic_list, idx_list)]
|
||||
# pred_semantic_len = torch.LongTensor([item.shape[0] for item in pred_semantic_list]).to(self.configs.device)
|
||||
@ -914,10 +914,10 @@ class TTS:
|
||||
t_45 += t5 - t4
|
||||
if return_fragment:
|
||||
print("%.3f\t%.3f\t%.3f\t%.3f" % (t1 - t0, t2 - t1, t4 - t3, t5 - t4))
|
||||
yield self.audio_postprocess([batch_audio_fragment],
|
||||
self.configs.sampling_rate,
|
||||
None,
|
||||
speed_factor,
|
||||
yield self.audio_postprocess([batch_audio_fragment],
|
||||
self.configs.sampling_rate,
|
||||
None,
|
||||
speed_factor,
|
||||
False,
|
||||
fragment_interval
|
||||
)
|
||||
@ -935,10 +935,10 @@ class TTS:
|
||||
yield self.configs.sampling_rate, np.zeros(int(self.configs.sampling_rate),
|
||||
dtype=np.int16)
|
||||
return
|
||||
yield self.audio_postprocess(audio,
|
||||
self.configs.sampling_rate,
|
||||
batch_index_list,
|
||||
speed_factor,
|
||||
yield self.audio_postprocess(audio,
|
||||
self.configs.sampling_rate,
|
||||
batch_index_list,
|
||||
speed_factor,
|
||||
split_bucket,
|
||||
fragment_interval
|
||||
)
|
||||
@ -958,7 +958,7 @@ class TTS:
|
||||
raise e
|
||||
finally:
|
||||
self.empty_cache()
|
||||
|
||||
|
||||
def empty_cache(self):
|
||||
try:
|
||||
gc.collect() # 触发gc的垃圾回收。避免内存一直增长。
|
||||
@ -967,13 +967,13 @@ class TTS:
|
||||
elif str(self.configs.device) == "mps":
|
||||
torch.mps.empty_cache()
|
||||
except:
|
||||
pass
|
||||
|
||||
def audio_postprocess(self,
|
||||
audio:List[torch.Tensor],
|
||||
sr:int,
|
||||
batch_index_list:list=None,
|
||||
speed_factor:float=1.0,
|
||||
pass
|
||||
|
||||
def audio_postprocess(self,
|
||||
audio:List[torch.Tensor],
|
||||
sr:int,
|
||||
batch_index_list:list=None,
|
||||
speed_factor:float=1.0,
|
||||
split_bucket:bool=True,
|
||||
fragment_interval:float=0.3
|
||||
)->Tuple[int, np.ndarray]:
|
||||
@ -982,36 +982,36 @@ class TTS:
|
||||
dtype=self.precision,
|
||||
device=self.configs.device
|
||||
)
|
||||
|
||||
|
||||
for i, batch in enumerate(audio):
|
||||
for j, audio_fragment in enumerate(batch):
|
||||
max_audio=torch.abs(audio_fragment).max()#简单防止16bit爆音
|
||||
if max_audio>1: audio_fragment/=max_audio
|
||||
audio_fragment:torch.Tensor = torch.cat([audio_fragment, zero_wav], dim=0)
|
||||
audio[i][j] = audio_fragment.cpu().numpy()
|
||||
|
||||
|
||||
|
||||
|
||||
if split_bucket:
|
||||
audio = self.recovery_order(audio, batch_index_list)
|
||||
else:
|
||||
# audio = [item for batch in audio for item in batch]
|
||||
audio = sum(audio, [])
|
||||
|
||||
|
||||
|
||||
|
||||
audio = np.concatenate(audio, 0)
|
||||
audio = (audio * 32768).astype(np.int16)
|
||||
|
||||
audio = (audio * 32768).astype(np.int16)
|
||||
|
||||
# try:
|
||||
# if speed_factor != 1.0:
|
||||
# audio = speed_change(audio, speed=speed_factor, sr=int(sr))
|
||||
# except Exception as e:
|
||||
# print(f"Failed to change speed of audio: \n{e}")
|
||||
|
||||
|
||||
return sr, audio
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
def speed_change(input_audio:np.ndarray, speed:float, sr:int):
|
||||
# 将 NumPy 数组转换为原始 PCM 流
|
||||
raw_audio = input_audio.astype(np.int16).tobytes()
|
||||
|
@ -49,18 +49,18 @@ def merge_short_text_in_array(texts:str, threshold:int) -> list:
|
||||
|
||||
|
||||
class TextPreprocessor:
|
||||
def __init__(self, bert_model:AutoModelForMaskedLM,
|
||||
def __init__(self, bert_model:AutoModelForMaskedLM,
|
||||
tokenizer:AutoTokenizer, device:torch.device):
|
||||
self.bert_model = bert_model
|
||||
self.tokenizer = tokenizer
|
||||
self.device = device
|
||||
|
||||
|
||||
def preprocess(self, text:str, lang:str, text_split_method:str, version:str="v2")->List[Dict]:
|
||||
print(i18n("############ 切分文本 ############"))
|
||||
print(f'############ {i18n("切分文本")} ############')
|
||||
text = self.replace_consecutive_punctuation(text)
|
||||
texts = self.pre_seg_text(text, lang, text_split_method)
|
||||
result = []
|
||||
print(i18n("############ 提取文本Bert特征 ############"))
|
||||
print(f'############ {i18n("提取文本Bert特征")} ############')
|
||||
for text in tqdm(texts):
|
||||
phones, bert_features, norm_text = self.segment_and_extract_feature_for_text(text, lang, version)
|
||||
if phones is None or norm_text=="":
|
||||
@ -77,14 +77,14 @@ class TextPreprocessor:
|
||||
text = text.strip("\n")
|
||||
if len(text) == 0:
|
||||
return []
|
||||
if (text[0] not in splits and len(get_first(text)) < 4):
|
||||
if (text[0] not in splits and len(get_first(text)) < 4):
|
||||
text = "。" + text if lang != "en" else "." + text
|
||||
print(i18n("实际输入的目标文本:"))
|
||||
print(text)
|
||||
|
||||
|
||||
seg_method = get_seg_method(text_split_method)
|
||||
text = seg_method(text)
|
||||
|
||||
|
||||
while "\n\n" in text:
|
||||
text = text.replace("\n\n", "\n")
|
||||
|
||||
@ -93,29 +93,29 @@ class TextPreprocessor:
|
||||
_texts = merge_short_text_in_array(_texts, 5)
|
||||
texts = []
|
||||
|
||||
|
||||
|
||||
for text in _texts:
|
||||
# 解决输入目标文本的空行导致报错的问题
|
||||
if (len(text.strip()) == 0):
|
||||
continue
|
||||
if not re.sub("\W+", "", text):
|
||||
if not re.sub("\W+", "", text):
|
||||
# 检测一下,如果是纯符号,就跳过。
|
||||
continue
|
||||
if (text[-1] not in splits): text += "。" if lang != "en" else "."
|
||||
|
||||
|
||||
# 解决句子过长导致Bert报错的问题
|
||||
if (len(text) > 510):
|
||||
texts.extend(split_big_text(text))
|
||||
else:
|
||||
texts.append(text)
|
||||
|
||||
|
||||
print(i18n("实际输入的目标文本(切句后):"))
|
||||
print(texts)
|
||||
return texts
|
||||
|
||||
|
||||
def segment_and_extract_feature_for_text(self, text:str, language:str, version:str="v1")->Tuple[list, torch.Tensor, str]:
|
||||
return self.get_phones_and_bert(text, language, version)
|
||||
|
||||
|
||||
def get_phones_and_bert(self, text:str, language:str, version:str, final:bool=False):
|
||||
if language in {"en", "all_zh", "all_ja", "all_ko", "all_yue"}:
|
||||
language = language.replace("all_","")
|
||||
@ -203,7 +203,7 @@ class TextPreprocessor:
|
||||
phone_level_feature.append(repeat_feature)
|
||||
phone_level_feature = torch.cat(phone_level_feature, dim=0)
|
||||
return phone_level_feature.T
|
||||
|
||||
|
||||
def clean_text_inf(self, text:str, language:str, version:str="v2"):
|
||||
phones, word2ph, norm_text = clean_text(text, language, version)
|
||||
phones = cleaned_text_to_sequence(phones, version)
|
||||
@ -232,13 +232,10 @@ class TextPreprocessor:
|
||||
else:
|
||||
_text.append(text)
|
||||
return _text
|
||||
|
||||
|
||||
|
||||
def replace_consecutive_punctuation(self,text):
|
||||
punctuations = ''.join(re.escape(p) for p in punctuation)
|
||||
pattern = f'([{punctuations}])([{punctuations}])+'
|
||||
result = re.sub(pattern, r'\1', text)
|
||||
return result
|
||||
|
||||
|
||||
|
||||
|
@ -243,7 +243,7 @@ class TextEncoder(nn.Module):
|
||||
)
|
||||
|
||||
y = self.ssl_proj(y * y_mask) * y_mask
|
||||
|
||||
|
||||
y = self.encoder_ssl(y * y_mask, y_mask)
|
||||
|
||||
text_mask = torch.unsqueeze(
|
||||
@ -1139,8 +1139,8 @@ class CFM(torch.nn.Module):
|
||||
|
||||
class SynthesizerTrnV3(nn.Module):
|
||||
"""
|
||||
Synthesizer for Training
|
||||
"""
|
||||
Synthesizer for Training
|
||||
"""
|
||||
|
||||
def __init__(self,
|
||||
spec_channels,
|
||||
@ -1187,8 +1187,8 @@ class SynthesizerTrnV3(nn.Module):
|
||||
self.model_dim=512
|
||||
self.use_sdp = use_sdp
|
||||
self.enc_p = TextEncoder(inter_channels,hidden_channels,filter_channels,n_heads,n_layers,kernel_size,p_dropout)
|
||||
# self.ref_enc = modules.MelStyleEncoder(spec_channels, style_vector_dim=gin_channels)###回滚。。。
|
||||
self.ref_enc = modules.MelStyleEncoder(704, style_vector_dim=gin_channels)###回滚。。。
|
||||
# self.ref_enc = modules.MelStyleEncoder(spec_channels, style_vector_dim=gin_channels)###Rollback
|
||||
self.ref_enc = modules.MelStyleEncoder(704, style_vector_dim=gin_channels)###Rollback
|
||||
# self.dec = Generator(inter_channels, resblock, resblock_kernel_sizes, resblock_dilation_sizes, upsample_rates,
|
||||
# upsample_initial_channel, upsample_kernel_sizes, gin_channels=gin_channels)
|
||||
# self.enc_q = PosteriorEncoder(spec_channels, inter_channels, hidden_channels, 5, 1, 16,
|
||||
@ -1238,7 +1238,7 @@ class SynthesizerTrnV3(nn.Module):
|
||||
x, m_p, logs_p, y_mask = self.enc_p(quantized, y_lengths, text, text_lengths, ge)
|
||||
fea=self.bridge(x)
|
||||
fea = F.interpolate(fea, scale_factor=1.875, mode="nearest")##BCT
|
||||
fea, y_mask_ = self.wns1(fea, mel_lengths, ge)###如果1min微调没问题就不需要微操学习率了
|
||||
fea, y_mask_ = self.wns1(fea, mel_lengths, ge)##If the 1-minute fine-tuning works fine, no need to manually adjust the learning rate.
|
||||
B=ssl.shape[0]
|
||||
prompt_len_max = mel_lengths*2/3
|
||||
prompt_len = (torch.rand([B], device=fea.device) * prompt_len_max).floor().to(dtype=torch.long)
|
||||
|
@ -160,9 +160,9 @@
|
||||
1-修复无参考文本模式问题
|
||||
|
||||
2-优化中英文文本前端
|
||||
|
||||
|
||||
3-api格式优化
|
||||
|
||||
|
||||
4-cmd格式问题修复
|
||||
|
||||
5-训练数据处理阶段不支持的语言提示报错
|
||||
@ -235,16 +235,15 @@
|
||||
### 20240821
|
||||
|
||||
1-fast_inference分支合并进main:https://github.com/RVC-Boss/GPT-SoVITS/pull/1490
|
||||
|
||||
|
||||
2-支持通过ssml标签优化数字、电话、时间日期等:https://github.com/RVC-Boss/GPT-SoVITS/issues/1508
|
||||
|
||||
|
||||
3-api修复优化:https://github.com/RVC-Boss/GPT-SoVITS/pull/1503
|
||||
|
||||
|
||||
4-修复了参考音频混合只能上传一条的bug:https://github.com/RVC-Boss/GPT-SoVITS/pull/1422
|
||||
|
||||
|
||||
5-增加了各种数据集检查,若缺失会弹出warning:https://github.com/RVC-Boss/GPT-SoVITS/pull/1422
|
||||
|
||||
### 20250211
|
||||
|
||||
1-增加gpt-sovits-v3模型
|
||||
|
||||
|
@ -130,7 +130,7 @@
|
||||
|
||||
#### Major Fixes:
|
||||
|
||||
4. [Commit 99f09c8](https://github.com/RVC-Boss/GPT-SoVITS/commit/99f09c8bdc155c1f4272b511940717705509582a) fixed the issue of WebUI's GPT fine-tuning not reading BERT feature of Chinese input texts, causing inconsistency with inference and potential quality degradation.
|
||||
4. [Commit 99f09c8](https://github.com/RVC-Boss/GPT-SoVITS/commit/99f09c8bdc155c1f4272b511940717705509582a) fixed the issue of WebUI's GPT fine-tuning not reading BERT feature of Chinese input texts, causing inconsistency with inference and potential quality degradation.
|
||||
**Caution: If you have previously fine-tuned with a large amount of data, it is recommended to retune the model to improve quality.**
|
||||
|
||||
### 20240706 Update
|
||||
@ -145,8 +145,8 @@
|
||||
|
||||
#### Major Fixes:
|
||||
|
||||
6. The accelerated inference code from [PR 672](https://github.com/RVC-Boss/GPT-SoVITS/pull/672) has been validated and merged into the main branch, ensuring consistent inference effects with the base.
|
||||
It also supports accelerated inference in no-reference text mode.
|
||||
6. The accelerated inference code from [PR 672](https://github.com/RVC-Boss/GPT-SoVITS/pull/672) has been validated and merged into the main branch, ensuring consistent inference effects with the base.
|
||||
It also supports accelerated inference in no-reference text mode.
|
||||
|
||||
**Future updates will continue to verify the consistency of changes in the `fast_inference` branch**.
|
||||
|
||||
@ -160,7 +160,7 @@
|
||||
|
||||
#### Major Fixes:
|
||||
|
||||
4. [Commit 9588a3c](https://github.com/RVC-Boss/GPT-SoVITS/commit/9588a3c52d9ebdb20b3c5d74f647d12e7c1171c2) supported speech rate adjustment for synthesis.
|
||||
4. [Commit 9588a3c](https://github.com/RVC-Boss/GPT-SoVITS/commit/9588a3c52d9ebdb20b3c5d74f647d12e7c1171c2) supported speech rate adjustment for synthesis.
|
||||
Enabled freezing randomness while only adjusting the speech rate.
|
||||
|
||||
### 20240806 Update
|
||||
@ -176,3 +176,14 @@
|
||||
5. [Commit 8a10147](https://github.com/RVC-Boss/GPT-SoVITS/commit/8a101474b5a4f913b4c94fca2e3ca87d0771bae3) added support for Cantonese ASR.
|
||||
6. Added support for GPT-SoVITS v2.
|
||||
7. [PR 1387](https://github.com/RVC-Boss/GPT-SoVITS/pull/1387) optimized timing logic.
|
||||
|
||||
### 20240821 Update
|
||||
|
||||
1. [PR 1490](https://github.com/RVC-Boss/GPT-SoVITS/pull/1490) Merge the `fast_inference` branch into the main branch.
|
||||
2. [Issue 1508](https://github.com/RVC-Boss/GPT-SoVITS/issues/1508) Support for optimizing numbers, phone numbers, dates, and times using SSML tags.
|
||||
3. [PR 1503](https://github.com/RVC-Boss/GPT-SoVITS/pull/1503) Fixed and optimized API.
|
||||
4. [PR 1422](https://github.com/RVC-Boss/GPT-SoVITS/pull/1422) Fixed the bug where only one reference audio could be uploaded for mixing, Added various dataset checks with warnings popping up if missing files.
|
||||
|
||||
### 20250211 Update
|
||||
|
||||
1. [Wiki](https://github.com/RVC-Boss/GPT-SoVITS/wiki/GPT%E2%80%90SoVITS%E2%80%90v3%E2%80%90features-(%E6%96%B0%E7%89%B9%E6%80%A7)) Added GPT-SoVITS v3 Model.
|
@ -175,3 +175,14 @@
|
||||
5. [Commit 8a10147](https://github.com/RVC-Boss/GPT-SoVITS/commit/8a101474b5a4f913b4c94fca2e3ca87d0771bae3) 広東語ASRのサポートを追加しました。
|
||||
6. GPT-SoVITS v2 のサポートを追加しました。
|
||||
7. [PR 1387](https://github.com/RVC-Boss/GPT-SoVITS/pull/1387) タイミングロジックを最適化しました。
|
||||
|
||||
### 20240821 更新
|
||||
|
||||
1. [PR 1490](https://github.com/RVC-Boss/GPT-SoVITS/pull/1490) `fast_inference` ブランチをメインブランチにマージしました。
|
||||
2. [Issue 1508](https://github.com/RVC-Boss/GPT-SoVITS/issues/1508) SSMLタグを使用して数字、電話番号、日付、時間などの最適化をサポートしました。
|
||||
3. [PR 1503](https://github.com/RVC-Boss/GPT-SoVITS/pull/1503) APIの修正と最適化を行いました。
|
||||
4. [PR 1422](https://github.com/RVC-Boss/GPT-SoVITS/pull/1422) 参照音声のミキシングで1つしかアップロードできないバグを修正し、データセットの各種チェックを追加してファイルが欠落している場合に警告を表示するようにしました。
|
||||
|
||||
### 20250211 更新
|
||||
|
||||
1. [Wiki](https://github.com/RVC-Boss/GPT-SoVITS/wiki/GPT%E2%80%90SoVITS%E2%80%90v3%E2%80%90features-(%E6%96%B0%E7%89%B9%E6%80%A7)) GPT-SoVITS v3 モデルを追加しました。
|
@ -175,4 +175,15 @@
|
||||
4. [Commit bce451a](https://github.com/RVC-Boss/GPT-SoVITS/commit/bce451a2d1641e581e200297d01f219aeaaf7299), [Commit 4c8b761](https://github.com/RVC-Boss/GPT-SoVITS/commit/4c8b7612206536b8b4435997acb69b25d93acb78) GPU 인식 로직을 최적화했습니다.
|
||||
5. [Commit 8a10147](https://github.com/RVC-Boss/GPT-SoVITS/commit/8a101474b5a4f913b4c94fca2e3ca87d0771bae3) 광동어 ASR 지원을 추가했습니다.
|
||||
6. GPT-SoVITS v2 지원을 추가했습니다.
|
||||
7. [PR 1387](https://github.com/RVC-Boss/GPT-SoVITS/pull/1387) 타이밍 로직을 최적화했습니다.
|
||||
7. [PR 1387](https://github.com/RVC-Boss/GPT-SoVITS/pull/1387) 타이밍 로직을 최적화했습니다.
|
||||
|
||||
### 20240821 업데이트
|
||||
|
||||
1. [PR 1490](https://github.com/RVC-Boss/GPT-SoVITS/pull/1490) `fast_inference` 브랜치를 메인 브랜치에 병합.
|
||||
2. [Issue 1508](https://github.com/RVC-Boss/GPT-SoVITS/issues/1508) SSML 태그를 사용하여 숫자, 전화번호, 날짜 및 시간 최적화 지원.
|
||||
3. [PR 1503](https://github.com/RVC-Boss/GPT-SoVITS/pull/1503) API 수정 및 최적화.
|
||||
4. [PR 1422](https://github.com/RVC-Boss/GPT-SoVITS/pull/1422) 믹싱을 위한 참조 오디오를 하나만 업로드할 수 있는 버그 수정, 다양한 데이터셋 검사 추가 및 파일이 누락된 경우 경고 팝업.
|
||||
|
||||
### 20250211 업데이트
|
||||
|
||||
1. [Wiki](https://github.com/RVC-Boss/GPT-SoVITS/wiki/GPT%E2%80%90SoVITS%E2%80%90v3%E2%80%90features-(%E6%96%B0%E7%89%B9%E6%80%A7)) GPT-SoVITS v3 모델 추가.
|
@ -130,7 +130,7 @@
|
||||
|
||||
#### Büyük Düzeltmeler:
|
||||
|
||||
4. [Commit 99f09c8](https://github.com/RVC-Boss/GPT-SoVITS/commit/99f09c8bdc155c1f4272b511940717705509582a) WebUI'nin GPT ince ayarının, Çince giriş metinlerinin BERT özelliğini okumaması sorununu düzeltti, bu da çıkarım ile tutarsızlığa ve potansiyel kalite düşüşüne neden oluyordu.
|
||||
4. [Commit 99f09c8](https://github.com/RVC-Boss/GPT-SoVITS/commit/99f09c8bdc155c1f4272b511940717705509582a) WebUI'nin GPT ince ayarının, Çince giriş metinlerinin BERT özelliğini okumaması sorununu düzeltti, bu da çıkarım ile tutarsızlığa ve potansiyel kalite düşüşüne neden oluyordu.
|
||||
**Dikkat: Daha önce büyük miktarda veri ile ince ayar yaptıysanız, modelin kalitesini artırmak için yeniden ayar yapmanız önerilir.**
|
||||
|
||||
### 20240706 Güncellemesi
|
||||
@ -160,7 +160,7 @@
|
||||
|
||||
#### Büyük Düzeltmeler:
|
||||
|
||||
4. [Commit 9588a3c](https://github.com/RVC-Boss/GPT-SoVITS/commit/9588a3c52d9ebdb20b3c5d74f647d12e7c1171c2) sentez için konuşma hızı ayarlamasını destekledi.
|
||||
4. [Commit 9588a3c](https://github.com/RVC-Boss/GPT-SoVITS/commit/9588a3c52d9ebdb20b3c5d74f647d12e7c1171c2) sentez için konuşma hızı ayarlamasını destekledi.
|
||||
Konuşma hızını ayarlarken rastgeleliği dondurmayı etkinleştirdi.
|
||||
|
||||
### 20240806 Güncellemesi
|
||||
@ -175,4 +175,15 @@
|
||||
4. [Commit bce451a](https://github.com/RVC-Boss/GPT-SoVITS/commit/bce451a2d1641e581e200297d01f219aeaaf7299), [Commit 4c8b761](https://github.com/RVC-Boss/GPT-SoVITS/commit/4c8b7612206536b8b4435997acb69b25d93acb78) GPU tanıma mantığını optimize etti.
|
||||
5. [Commit 8a10147](https://github.com/RVC-Boss/GPT-SoVITS/commit/8a101474b5a4f913b4c94fca2e3ca87d0771bae3) Kantonca ASR desteği ekledi.
|
||||
6. GPT-SoVITS v2 desteği eklendi.
|
||||
7. [PR 1387](https://github.com/RVC-Boss/GPT-SoVITS/pull/1387) zamanlama mantığını optimize etti.
|
||||
7. [PR 1387](https://github.com/RVC-Boss/GPT-SoVITS/pull/1387) zamanlama mantığını optimize etti.
|
||||
|
||||
### 20240821 Güncelleme
|
||||
|
||||
1. [PR 1490](https://github.com/RVC-Boss/GPT-SoVITS/pull/1490) `fast_inference` dalını ana dala birleştir.
|
||||
2. [Issue 1508](https://github.com/RVC-Boss/GPT-SoVITS/issues/1508) SSML etiketlerini kullanarak sayıları, telefon numaralarını, tarihleri ve saatleri optimize etme desteği.
|
||||
3. [PR 1503](https://github.com/RVC-Boss/GPT-SoVITS/pull/1503) API düzeltildi ve optimize edildi.
|
||||
4. [PR 1422](https://github.com/RVC-Boss/GPT-SoVITS/pull/1422) Karıştırmak için yalnızca bir referans sesi yüklenebiliyordu hatası düzeltildi, çeşitli veri seti kontrolleri eklendi ve eksik dosyalar için uyarılar çıkar.
|
||||
|
||||
### 20250211 Güncelleme
|
||||
|
||||
1. [Wiki](https://github.com/RVC-Boss/GPT-SoVITS/wiki/GPT%E2%80%90SoVITS%E2%80%90v3%E2%80%90features-(%E6%96%B0%E7%89%B9%E6%80%A7)) GPT-SoVITS v3 Modeli eklendi.
|
@ -52,6 +52,7 @@
|
||||
"UVR5已开启": "UVR5 opened ",
|
||||
"UVR5进程输出信息": "UVR5 process output log",
|
||||
"alpha_mix:混多少比例归一化后音频进来": "alpha_mix: proportion of normalized audio merged into dataset",
|
||||
"batch_size": "Batch Size",
|
||||
"hop_size:怎么算音量曲线,越小精度越大计算量越高(不是精度越大效果越好)": "hop_size: FO hop size, the smaller the value, the higher the accuracy)",
|
||||
"max:归一化后最大值多少": "Loudness multiplier after normalized",
|
||||
"max_sil_kept:切完后静音最多留多长": "Maximum length for silence to be kept",
|
||||
@ -66,6 +67,9 @@
|
||||
"中文": "Chinese",
|
||||
"中文教程文档:https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e": "Chinese Tutorial:https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e",
|
||||
"中英混合": "Chinese-English Mixed",
|
||||
"主参考音频(请上传3~10秒内参考音频,超过会报错!)": "Primary Reference Audio (Please upload reference audio within 3-10 seconds, exceeding this limit will cause an error!)",
|
||||
"主参考音频的文本": "Text of Primary Reference Audio",
|
||||
"主参考音频的语种": "Language of Primary Reference Audio",
|
||||
"也可批量输入音频文件, 二选一, 优先读文件夹": "Multiple audio files can also be imported. If a folder path exists, this input is ignored.",
|
||||
"人声伴奏分离批量处理, 使用UVR5模型。": "Batch processing for vocal and instrumental separation, using the UVR5 model.",
|
||||
"人声提取激进程度": "Vocal extraction aggressiveness",
|
||||
@ -73,13 +77,24 @@
|
||||
"以下模型不存在:": "No Such Model:",
|
||||
"伴奏人声分离&去混响&去回声": "Vocals/Accompaniment Separation & Reverberation Removal",
|
||||
"使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开。<br>开启后无视填写的参考文本。": "When using the no-reference text mode, it is recommended to use a fine-tuned GPT. If the reference audio is unclear and you don't know what to write, you can enable this feature, which will ignore the reference text you've entered.",
|
||||
"使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开,开启后无视填写的参考文本。": "Recommended to use a Finetune-GPT when using Prompt-Free Mode. If reference audio is not clear or unsure what to write, enable this option to ignore the reference text.",
|
||||
"保存频率save_every_epoch": "Save frequency (save_every_epoch):",
|
||||
"保持随机": "Keep Random",
|
||||
"关闭TTS推理WebUI": "Close TTS Inference WebUI",
|
||||
"关闭UVR5-WebUI": "Close UVR5-WebUI",
|
||||
"关闭打标WebUI": "Close Labeling WebUI",
|
||||
"凑50字一切": "Slice per 50 characters",
|
||||
"凑四句一切": "Slice once every 4 sentences",
|
||||
"分桶处理模式已关闭": "Bucket Processing Mode Disabled",
|
||||
"分桶处理模式已开启": "Bucket Processing Mode Enabled",
|
||||
"分段返回模式不支持分桶处理,已自动关闭分桶处理": "Segmented Return Mode does not support Bucket Processing, Bucket Processing Disabled automatically",
|
||||
"分段返回模式已开启": "Segmented Return Mode Enabled",
|
||||
"分段间隔(秒)": "Segment Interval (Seconds)",
|
||||
"分段间隔过小,已自动设置为0.01": "Segment Interval too short, automatically set to 0.01",
|
||||
"切分": "Segmentation",
|
||||
"切分后文本": "Inference Text After Segmentation",
|
||||
"切分后的子音频的输出根目录": "Audio slicer output folder",
|
||||
"切分文本": "Segment Text",
|
||||
"切割使用的进程数": "CPU threads used for audio slicing",
|
||||
"刷新模型路径": "refreshing model paths",
|
||||
"前端处理后的文本(每句):": "Processed text from the frontend (per sentence):",
|
||||
@ -90,6 +105,8 @@
|
||||
"可选项:通过拖拽多个文件上传多个参考音频(建议同性),平均融合他们的音色。如不填写此项,音色由左侧单个参考音频控制。如是微调模型,建议参考音频全部在微调训练集音色内,底模不用管。": "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",
|
||||
"合格的文件夹路径格式举例: E:\\codes\\py39\\vits_vc_gpu\\白鹭霜华测试样例(去文件管理器地址栏拷就行了)。": "An example of a valid folder path format: E:\\codes\\py39\\vits_vc_gpu\\白鹭霜华测试样例 (simply copy the address from the file manager's address bar).",
|
||||
"后续将支持转音素、手工修改音素、语音合成分步执行。": "Support for Phoneme Conversion, Manual Phoneme Editing, and Step-by-Step Speech Synthesis will be added in the future.",
|
||||
"启用并行推理版本": "Enable Parallel Inference Version",
|
||||
"填切割后音频所在目录!读取的音频文件完整路径=该目录-拼接-list文件里波形对应的文件名(不是全路径)。如果留空则使用.list文件里的绝对全路径。": "Please fill in the segmented audio files' directory! The full path of the audio file = the directory concatenated with the filename corresponding to the waveform in the list file (not the full path). If left blank, the absolute full path in the .list file will be used.",
|
||||
"多语种混合": "Multilingual Mixed",
|
||||
"多语种混合(粤语)": "Multilingual Mixed(Yue)",
|
||||
@ -98,6 +115,9 @@
|
||||
"实际输入的目标文本(每句):": "Actual Input Target Text (per sentence):",
|
||||
"实际输入的目标文本:": "Actual Input Target Text:",
|
||||
"导出文件格式": "Export file format",
|
||||
"并行推理": "Parallel Inference",
|
||||
"并行推理模式已关闭": "Parallel Inference Mode Disabled",
|
||||
"并行推理模式已开启": "Parallel Inference Mode Enabled",
|
||||
"开启GPT训练": "Start GPT training",
|
||||
"开启SSL提取": "Start SSL extracting",
|
||||
"开启SoVITS训练": "Start SoVITS training",
|
||||
@ -107,6 +127,7 @@
|
||||
"开启打标WebUI": "Open Labeling WebUI",
|
||||
"开启文本获取": "Start speech-to-text",
|
||||
"开启无参考文本模式。不填参考文本亦相当于开启。": "Enable no reference mode. If you don't fill 'Text for reference audio', no reference mode will be enabled.",
|
||||
"开启无参考文本模式。不填参考文本亦相当于开启。v3暂不支持该模式,使用了会报错。": "Enable Reference Text-Free Mode. Leaving the reference text field blank is equivalent to enabling this mode. v3 does not support this mode currently, using it will cause an error.",
|
||||
"开启离线批量ASR": "Start batch ASR",
|
||||
"开启语义token提取": "Start semantics token extraction",
|
||||
"开启语音切割": "Start audio slicer",
|
||||
@ -122,7 +143,11 @@
|
||||
"按中文句号。切": "Slice by Chinese punct",
|
||||
"按标点符号切": "Slice by every punct",
|
||||
"按英文句号.切": "Slice by English punct",
|
||||
"推理设置": "Inference Settings",
|
||||
"提取文本Bert特征": "Extract Text BERT Features",
|
||||
"数据分桶(并行推理时会降低一点计算量)": "Data Bucketing (Reduces Computation Cost in Parallel Inference)",
|
||||
"数据类型精度": "Computing precision",
|
||||
"文本切分工具。太长的文本合成出来效果不一定好,所以太长建议先切。合成会根据文本的换行分开合成再拼起来。": "Text Segmentation Tool. Very long text may not yield good synthesis results, so Segmentation is Recommended. Synthesis will be performed based on line breaks and then concatenated.",
|
||||
"文本模块学习率权重": "Text model learning rate weighting",
|
||||
"文本进程输出信息": "Text processing output",
|
||||
"施工中,请静候佳音": "In construction, please wait",
|
||||
@ -146,6 +171,7 @@
|
||||
"终止SSL提取进程": "Stop SSL extraction",
|
||||
"终止SoVITS训练": "Stop SoVITS training",
|
||||
"终止一键三连": "Stop one-click formatting",
|
||||
"终止合成": "Terminate Synthesis",
|
||||
"终止文本获取进程": "Stop speech-to-text",
|
||||
"终止语义token提取进程": "Stop semantics token extraction",
|
||||
"终止语音切割": "Stop audio cutting",
|
||||
@ -158,6 +184,7 @@
|
||||
"语义token提取进程输出信息": "Sematics token extraction output log",
|
||||
"语速": "Speech rate",
|
||||
"语速调整,高为更快": "Adjust speech rate, higher for faster",
|
||||
"语速调节不支持分桶处理,已自动关闭分桶处理": "Speech Rate Adjustment does not support Bucket Processing, Bucket Processing Disabled automatically",
|
||||
"语音切割进程输出信息": "Audio slicer output log",
|
||||
"语音降噪进程输出信息": "Voice Denoiser Process Output Information",
|
||||
"请上传3~10秒内参考音频,超过会报错!": "Please upload a reference audio within the 3-10 second range; if it exceeds this duration, it will raise errors.",
|
||||
@ -166,9 +193,11 @@
|
||||
"请填入正确的List路径": "Please Fill in the Correct List Path",
|
||||
"请填入正确的音频文件夹路径": "Please Fill in the Correct Audio Folder Path",
|
||||
"请输入有效文本": "Please enter valid text.",
|
||||
"路径不存在,使用默认配置": "Paths Not Found, Using Default Config",
|
||||
"路径不能为空": "Expected No Empty Path",
|
||||
"路径错误": "Path Error",
|
||||
"转换": "Convert",
|
||||
"辅参考音频(可选多个,或不选)": "Secondary Reference Audio (Multiple Optional, or None)",
|
||||
"输入待处理音频文件夹路径": "Enter the path of the audio folder to be processed:",
|
||||
"输入文件夹路径": "Input folder path",
|
||||
"输出logs/实验名目录下应有23456开头的文件和文件夹": "output folder (logs/{experiment name}) should have files and folders starts with 23456.",
|
||||
@ -176,13 +205,19 @@
|
||||
"输出文件夹路径": "Output folder path",
|
||||
"输出的语音": "Inference Result",
|
||||
"选择训练完存放在SoVITS_weights和GPT_weights下的模型。默认的一个是底模,体验5秒Zero Shot TTS用。": "Choose the models from SoVITS_weights and GPT_weights. The default one is a pretrain, so you can experience zero shot TTS.",
|
||||
"采样步数,如果觉得电,提高试试,如果觉得慢,降低试试": "Sampling Steps: If feel noisy, try increasing, if feel slow, try decreasing",
|
||||
"重复惩罚": "Repetition Penalty",
|
||||
"降噪结果输出文件夹": "Denoised Results Output Folder",
|
||||
"降噪音频文件输入文件夹": "Denoising Audio File Input Folder",
|
||||
"随机种子": "Random Seed",
|
||||
"需要合成的切分前文本": "Inference Text Before Segmentation",
|
||||
"需要合成的文本": "Inference text",
|
||||
"需要合成的文本的语种": "Language of the Inference Text",
|
||||
"需要合成的语种": "Inference text language",
|
||||
"韩文": "Korean",
|
||||
"韩英混合": "Korean-English Mixed",
|
||||
"音频加载失败": "Failed to Load Audio",
|
||||
"音频文件不存在,跳过:": "Audio File Not Found, Skipping: ",
|
||||
"音频自动切分输入路径,可文件可文件夹": "Audio slicer input (file or folder)",
|
||||
"预训练的GPT模型路径": "Pretrained GPT model path",
|
||||
"预训练的SSL模型路径": "Pretrained SSL model path",
|
||||
|
@ -9,7 +9,7 @@
|
||||
"*请上传并填写参考信息": "*Por favor, suba y complete la información de referencia",
|
||||
"*请填写需要合成的目标文本和语种模式": "*Por favor, complete el texto objetivo a sintetizar y el modo de idioma",
|
||||
".list标注文件的路径": "Ruta del archivo de anotación .list",
|
||||
".限制范围越小判别效果越好。": "#!.限制范围越小判别效果越好。",
|
||||
".限制范围越小判别效果越好。": ".Cuanto más pequeño sea el rango, mejor será el efecto de discriminación.",
|
||||
"0-前置数据集获取工具": "0-Herramienta de obtención de conjunto de datos previo",
|
||||
"0a-UVR5人声伴奏分离&去混响去延迟工具": "0a-Herramienta de separación de voz y acompañamiento UVR5 y eliminación de reverberación y retardo",
|
||||
"0b-语音切分工具": "0b-Herramienta de división de voz",
|
||||
@ -52,6 +52,7 @@
|
||||
"UVR5已开启": "UVR5 está habilitado",
|
||||
"UVR5进程输出信息": "Información de salida del proceso UVR5",
|
||||
"alpha_mix:混多少比例归一化后音频进来": "alpha_mix: proporción de mezcla de audio normalizado que entra",
|
||||
"batch_size": "Tamaño de lote",
|
||||
"hop_size:怎么算音量曲线,越小精度越大计算量越高(不是精度越大效果越好)": "hop_size: cómo calcular la curva de volumen, cuanto más pequeño, mayor precisión pero mayor carga computacional (mayor precisión no significa mejor rendimiento)",
|
||||
"max:归一化后最大值多少": "max: valor máximo después de la normalización",
|
||||
"max_sil_kept:切完后静音最多留多长": "max_sil_kept: duración máxima del silencio después del corte",
|
||||
@ -66,6 +67,9 @@
|
||||
"中文": "Chino",
|
||||
"中文教程文档:https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e": "Documentación del tutorial en chino: https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e",
|
||||
"中英混合": "Chino e inglés mezclados",
|
||||
"主参考音频(请上传3~10秒内参考音频,超过会报错!)": "Audio de referencia principal (Por favor, suba un audio de referencia de entre 3 y 10 segundos, si supera este límite se producirá un error)",
|
||||
"主参考音频的文本": "Texto del audio de referencia principal",
|
||||
"主参考音频的语种": "Idioma del audio de referencia principal",
|
||||
"也可批量输入音频文件, 二选一, 优先读文件夹": "También se pueden ingresar archivos de audio por lotes, seleccionar uno, prioridad para leer carpetas",
|
||||
"人声伴奏分离批量处理, 使用UVR5模型。": "Procesamiento por lotes de separación de voz y acompañamiento utilizando el modelo UVR5",
|
||||
"人声提取激进程度": "Nivel de agresividad en la extracción de voz",
|
||||
@ -73,13 +77,24 @@
|
||||
"以下模型不存在:": "No Existe tal Modelo:",
|
||||
"伴奏人声分离&去混响&去回声": "Separación de acompañamiento y voz principal y eliminación de reverberación y eco",
|
||||
"使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开。<br>开启后无视填写的参考文本。": "Se recomienda usar un GPT ajustado en modo sin texto de referencia; habilítelo si no puede entender el audio de referencia (si no sabe qué escribir). Una vez habilitado, ignorará el texto de referencia ingresado.",
|
||||
"使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开,开启后无视填写的参考文本。": "Se recomienda usar un GPT ajustado cuando se use el modo sin texto de referencia. Si el audio de referencia no es claro o no sabe qué escribir, habilite esta opción para ignorar el texto de referencia.",
|
||||
"保存频率save_every_epoch": "Frecuencia de guardado (cada epoch)",
|
||||
"保持随机": "Mantener aleatorio",
|
||||
"关闭TTS推理WebUI": "Cerrar TTS Inference WebUI",
|
||||
"关闭UVR5-WebUI": "Cerrar UVR5-WebUI",
|
||||
"关闭打标WebUI": "Cerrar Labeling WebUI",
|
||||
"凑50字一切": "Todo para alcanzar las 50 palabras",
|
||||
"凑四句一切": "Completa cuatro oraciones para rellenar todo",
|
||||
"分桶处理模式已关闭": "Modo de procesamiento por lotes deshabilitado",
|
||||
"分桶处理模式已开启": "Modo de procesamiento por lotes habilitado",
|
||||
"分段返回模式不支持分桶处理,已自动关闭分桶处理": "El modo de retorno segmentado no es compatible con el procesamiento por lotes, se ha deshabilitado automáticamente",
|
||||
"分段返回模式已开启": "Modo de retorno segmentado habilitado",
|
||||
"分段间隔(秒)": "Intervalo de segmentación (segundos)",
|
||||
"分段间隔过小,已自动设置为0.01": "El intervalo de segmentación es demasiado pequeño, se ha ajustado automáticamente a 0.01",
|
||||
"切分": "Segmentación",
|
||||
"切分后文本": "Texto después de la segmentación",
|
||||
"切分后的子音频的输出根目录": "Directorio raíz de salida de los sub-audios después de la división",
|
||||
"切分文本": "Segmentar texto",
|
||||
"切割使用的进程数": "Número de procesos utilizados para la división",
|
||||
"刷新模型路径": "Actualizar la ruta del modelo",
|
||||
"前端处理后的文本(每句):": "Texto después del procesamiento previo (por frase):",
|
||||
@ -90,6 +105,8 @@
|
||||
"可选项:通过拖拽多个文件上传多个参考音频(建议同性),平均融合他们的音色。如不填写此项,音色由左侧单个参考音频控制。如是微调模型,建议参考音频全部在微调训练集音色内,底模不用管。": "Opcional: Sube varios archivos de audio de referencia arrastrándolos y soltándolos (se recomienda que sean del mismo género) y promedia sus tonos. Si esta opción se deja en blanco, el tono será controlado por el único audio de referencia a la izquierda. Si se está afinando el modelo, se recomienda que todos los archivos de audio de referencia tengan tonos dentro del conjunto de entrenamiento de ajuste fino; se puede ignorar el modelo preentrenado.",
|
||||
"合成语音": "Síntesis de voz",
|
||||
"合格的文件夹路径格式举例: E:\\codes\\py39\\vits_vc_gpu\\白鹭霜华测试样例(去文件管理器地址栏拷就行了)。": "Ejemplo de formato de ruta de carpeta válida: E:\\codes\\py39\\vits_vc_gpu\\白鹭霜华测试样例 (simplemente copie desde la barra de direcciones del administrador de archivos).",
|
||||
"后续将支持转音素、手工修改音素、语音合成分步执行。": "Se añadirá soporte para conversión de fonemas, edición manual de fonemas y síntesis de voz por pasos en el futuro.",
|
||||
"启用并行推理版本": "Habilitar versión de inferencia paralela",
|
||||
"填切割后音频所在目录!读取的音频文件完整路径=该目录-拼接-list文件里波形对应的文件名(不是全路径)。如果留空则使用.list文件里的绝对全路径。": "Ingrese el directorio donde se encuentran los audios después de la división. La ruta completa de los archivos de audio leídos = este directorio + nombre de archivo correspondiente en el archivo .list (no la ruta completa). Si se deja en blanco, se utilizará la ruta completa del archivo .list.",
|
||||
"多语种混合": "Mezcla de varios idiomas",
|
||||
"多语种混合(粤语)": "Mezcla Multilingüe (Cantonés)",
|
||||
@ -98,6 +115,9 @@
|
||||
"实际输入的目标文本(每句):": "Texto objetivo realmente ingresado (por frase):",
|
||||
"实际输入的目标文本:": "Texto objetivo realmente ingresado:",
|
||||
"导出文件格式": "Formato de archivo de exportación",
|
||||
"并行推理": "Inferencia paralela",
|
||||
"并行推理模式已关闭": "Modo de inferencia paralela deshabilitado",
|
||||
"并行推理模式已开启": "Modo de inferencia paralela habilitado",
|
||||
"开启GPT训练": "Iniciar entrenamiento de GPT",
|
||||
"开启SSL提取": "Habilitar la extracción SSL",
|
||||
"开启SoVITS训练": "Iniciar entrenamiento de SoVITS",
|
||||
@ -107,6 +127,7 @@
|
||||
"开启打标WebUI": "Abrir Labeling WebUI",
|
||||
"开启文本获取": "Habilitar la obtención de texto",
|
||||
"开启无参考文本模式。不填参考文本亦相当于开启。": "Habilitar el modo sin texto de referencia. No llenar el texto de referencia también lo habilita.",
|
||||
"开启无参考文本模式。不填参考文本亦相当于开启。v3暂不支持该模式,使用了会报错。": "Habilitar modo sin texto de referencia. No completar el campo de texto de referencia equivale a habilitar este modo. v3 no es compatible con este modo actualmente y su uso generará un error.",
|
||||
"开启离线批量ASR": "Habilitar ASR en lote fuera de línea",
|
||||
"开启语义token提取": "Habilitar la extracción de tokens semánticos",
|
||||
"开启语音切割": "Habilitar la división de voz",
|
||||
@ -122,7 +143,11 @@
|
||||
"按中文句号。切": "Cortar según puntos en chino",
|
||||
"按标点符号切": "Cortar según los signos de puntuación",
|
||||
"按英文句号.切": "Cortar por puntos en inglés.",
|
||||
"推理设置": "Configuración de inferencia",
|
||||
"提取文本Bert特征": "Extraer características de texto con BERT",
|
||||
"数据分桶(并行推理时会降低一点计算量)": "Agrupación de datos (Reduce el costo computacional en inferencia paralela)",
|
||||
"数据类型精度": "precisión del tipo de datos",
|
||||
"文本切分工具。太长的文本合成出来效果不一定好,所以太长建议先切。合成会根据文本的换行分开合成再拼起来。": "Herramienta de segmentación de texto. Un texto demasiado largo puede no producir buenos resultados, por lo que se recomienda segmentarlo. La síntesis se realizará por separado según los saltos de línea y luego se unirá.",
|
||||
"文本模块学习率权重": "Peso de la tasa de aprendizaje del módulo de texto",
|
||||
"文本进程输出信息": "Información de salida del proceso de obtención de texto",
|
||||
"施工中,请静候佳音": "En construcción, por favor espere pacientemente",
|
||||
@ -146,6 +171,7 @@
|
||||
"终止SSL提取进程": "Terminar el proceso de extracción SSL",
|
||||
"终止SoVITS训练": "Detener entrenamiento de SoVITS",
|
||||
"终止一键三连": "Terminar el proceso de un solo paso de formateo",
|
||||
"终止合成": "Terminar síntesis",
|
||||
"终止文本获取进程": "Terminar el proceso de obtención de texto",
|
||||
"终止语义token提取进程": "Terminar el proceso de extracción de tokens semánticos",
|
||||
"终止语音切割": "Terminar la división de voz",
|
||||
@ -158,6 +184,7 @@
|
||||
"语义token提取进程输出信息": "Información de salida del proceso de extracción de tokens semánticos",
|
||||
"语速": "Velocidad de habla",
|
||||
"语速调整,高为更快": "Ajustar la velocidad de habla, más alta para más rápido",
|
||||
"语速调节不支持分桶处理,已自动关闭分桶处理": "El ajuste de velocidad de voz no es compatible con el procesamiento por lotes, se ha deshabilitado automáticamente",
|
||||
"语音切割进程输出信息": "Información de salida del proceso de división de voz",
|
||||
"语音降噪进程输出信息": "Información de salida del proceso de reducción de ruido de voz",
|
||||
"请上传3~10秒内参考音频,超过会报错!": "Por favor, suba un audio de referencia de entre 3 y 10 segundos, ¡más de eso causará un error!",
|
||||
@ -166,9 +193,11 @@
|
||||
"请填入正确的List路径": "Por Favor, Introduzca la Ruta Correcta de la Lista",
|
||||
"请填入正确的音频文件夹路径": "Por Favor, Introduzca la Ruta Correcta de la Carpeta de Audio",
|
||||
"请输入有效文本": "Por favor, introduzca un texto válido",
|
||||
"路径不存在,使用默认配置": "Ruta no encontrada, usando configuración predeterminada",
|
||||
"路径不能为空": "Se Espera que la Ruta No Esté Vacía",
|
||||
"路径错误": "Error de Ruta",
|
||||
"转换": "Convertir",
|
||||
"辅参考音频(可选多个,或不选)": "Audio de referencia secundario (Opcional, se pueden seleccionar varios o ninguno)",
|
||||
"输入待处理音频文件夹路径": "Ingrese la ruta de la carpeta de audio a procesar",
|
||||
"输入文件夹路径": "Ingrese la ruta de la carpeta",
|
||||
"输出logs/实验名目录下应有23456开头的文件和文件夹": "Debe haber archivos y carpetas que comiencen con 23456 en el directorio logs/nombre del experimento",
|
||||
@ -176,13 +205,19 @@
|
||||
"输出文件夹路径": "Ruta de la carpeta de salida",
|
||||
"输出的语音": "Audio de salida",
|
||||
"选择训练完存放在SoVITS_weights和GPT_weights下的模型。默认的一个是底模,体验5秒Zero Shot TTS用。": "Seleccione el modelo almacenado en SoVITS_weights y GPT_weights después del entrenamiento. Uno de ellos es el modelo base, útil para experimentar con TTS de 5 segundos sin entrenamiento.",
|
||||
"采样步数,如果觉得电,提高试试,如果觉得慢,降低试试": "Pasos de muestreo: si se siente ruidoso, intente aumentarlo; si es lento, intente reducirlo",
|
||||
"重复惩罚": "Penalización por repetición",
|
||||
"降噪结果输出文件夹": "Carpeta de salida de los resultados de reducción de ruido",
|
||||
"降噪音频文件输入文件夹": "Carpeta de entrada de archivos de audio para reducción de ruido",
|
||||
"随机种子": "Semilla aleatoria",
|
||||
"需要合成的切分前文本": "Texto antes de la segmentación para la síntesis",
|
||||
"需要合成的文本": "Texto a sintetizar",
|
||||
"需要合成的文本的语种": "Idioma del texto a sintetizar",
|
||||
"需要合成的语种": "Idioma para la síntesis",
|
||||
"韩文": "Coreano",
|
||||
"韩英混合": "Mezcla Coreano-Inglés",
|
||||
"音频加载失败": "Error al Cargar el Audio",
|
||||
"音频文件不存在,跳过:": "Archivo de audio no encontrado, omitiendo: ",
|
||||
"音频自动切分输入路径,可文件可文件夹": "Ruta de entrada para la división automática de audio, puede ser un archivo o una carpeta",
|
||||
"预训练的GPT模型路径": "Ruta del modelo GPT preentrenado",
|
||||
"预训练的SSL模型路径": "Ruta del modelo SSL preentrenado",
|
||||
|
@ -52,6 +52,7 @@
|
||||
"UVR5已开启": "UVR5 est activé",
|
||||
"UVR5进程输出信息": "Informations de processus UVR5",
|
||||
"alpha_mix:混多少比例归一化后音频进来": "alpha_mix: proportion d'audio normalisé mélangé",
|
||||
"batch_size": "Taille de lot",
|
||||
"hop_size:怎么算音量曲线,越小精度越大计算量越高(不是精度越大效果越好)": "hop_size: comment calculer la courbe de volume, plus petit pour une précision plus élevée mais une charge de calcul plus élevée (ce n'est pas une meilleure précision)",
|
||||
"max:归一化后最大值多少": "max: valeur maximale après normalisation",
|
||||
"max_sil_kept:切完后静音最多留多长": "max_sil_kept: durée maximale de silence après la coupe",
|
||||
@ -66,6 +67,9 @@
|
||||
"中文": "Chinois",
|
||||
"中文教程文档:https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e": "Documentation du tutoriel en chinois:https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e",
|
||||
"中英混合": "Mélange de chinois et d'anglais",
|
||||
"主参考音频(请上传3~10秒内参考音频,超过会报错!)": "Audio de référence principal (Veuillez télécharger un audio de référence entre 3 et 10 secondes, dépasser cette limite entraînera une erreur !)",
|
||||
"主参考音频的文本": "Texte de l’audio de référence principal",
|
||||
"主参考音频的语种": "Langue de l’audio de référence principal",
|
||||
"也可批量输入音频文件, 二选一, 优先读文件夹": "Également possible d'entrer en lot des fichiers audio, au choix, privilégiez la lecture du dossier",
|
||||
"人声伴奏分离批量处理, 使用UVR5模型。": "Traitement par lot de séparation voix-accompagnement en utilisant le modèle UVR5.",
|
||||
"人声提取激进程度": "Degré d'extraction des voix",
|
||||
@ -73,13 +77,24 @@
|
||||
"以下模型不存在:": "Aucun Modèle de ce Type:",
|
||||
"伴奏人声分离&去混响&去回声": "Séparation de la voix et de l'accompagnement, suppression de la réverbération et de l'écho",
|
||||
"使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开。<br>开启后无视填写的参考文本。": "Il est recommandé d'utiliser GPT finement ajusté en mode sans texte de référence. Si vous ne comprenez pas ce que dit l'audio de référence (vous ne savez pas quoi écrire), vous pouvez l'activer ; une fois activé, ignorez le texte de référence saisi.",
|
||||
"使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开,开启后无视填写的参考文本。": "Il est recommandé d’utiliser un GPT ajusté pour le mode sans texte de référence. Si l’audio de référence est incompréhensible ou si vous ne savez pas quoi écrire, activez cette option pour ignorer le texte de référence.",
|
||||
"保存频率save_every_epoch": "Fréquence de sauvegarde (sauvegarder à chaque époque)",
|
||||
"保持随机": "Garder aléatoire",
|
||||
"关闭TTS推理WebUI": "Fermer TTS Inference WebUI",
|
||||
"关闭UVR5-WebUI": "Fermer UVR5-WebUI",
|
||||
"关闭打标WebUI": "Fermer Labeling WebUI",
|
||||
"凑50字一切": "Assembler 50 mots tout",
|
||||
"凑四句一切": "Composez quatre phrases pour tout remplir",
|
||||
"分桶处理模式已关闭": "Mode de traitement par regroupement désactivé",
|
||||
"分桶处理模式已开启": "Mode de traitement par regroupement activé",
|
||||
"分段返回模式不支持分桶处理,已自动关闭分桶处理": "Le mode de retour segmenté ne prend pas en charge le regroupement des données, désactivation automatique",
|
||||
"分段返回模式已开启": "Mode de retour segmenté activé",
|
||||
"分段间隔(秒)": "Intervalle de segmentation (secondes)",
|
||||
"分段间隔过小,已自动设置为0.01": "L’intervalle de segmentation est trop court, réglé automatiquement à 0.01",
|
||||
"切分": "Segmentation",
|
||||
"切分后文本": "Texte après segmentation",
|
||||
"切分后的子音频的输出根目录": "Répertoire racine de sortie des sous-audios après découpage",
|
||||
"切分文本": "Segmenter le texte",
|
||||
"切割使用的进程数": "Nombre de processus utilisés pour le découpage",
|
||||
"刷新模型路径": "Actualiser le chemin du modèle",
|
||||
"前端处理后的文本(每句):": "Texte après traitement frontal (par phrase):",
|
||||
@ -90,6 +105,8 @@
|
||||
"可选项:通过拖拽多个文件上传多个参考音频(建议同性),平均融合他们的音色。如不填写此项,音色由左侧单个参考音频控制。如是微调模型,建议参考音频全部在微调训练集音色内,底模不用管。": "Optionnel : Téléchargez plusieurs fichiers audio de référence en les faisant glisser (recommandé d'être du même genre) et fusionnez leur tonalité. Si cette option est laissée vide, la tonalité sera contrôlée par l'unique fichier audio de référence à gauche. Si vous ajustez le modèle, il est recommandé que tous les fichiers audio de référence aient des tonalités dans l'ensemble d'entraînement d'ajustement ; le modèle pré-entrainé peut être ignoré.",
|
||||
"合成语音": "Synthèse vocale",
|
||||
"合格的文件夹路径格式举例: E:\\codes\\py39\\vits_vc_gpu\\白鹭霜华测试样例(去文件管理器地址栏拷就行了)。": "Exemple de format de chemin de dossier valide : E:\\codes\\py39\\vits_vc_gpu\\白鹭霜华测试样例 (copiez-le depuis la barre d'adresse de l'explorateur de fichiers).",
|
||||
"后续将支持转音素、手工修改音素、语音合成分步执行。": "Le support pour la conversion phonémique, l’édition manuelle des phonèmes et la synthèse vocale par étapes sera ajouté ultérieurement.",
|
||||
"启用并行推理版本": "Activer la version d’inférence parallèle",
|
||||
"填切割后音频所在目录!读取的音频文件完整路径=该目录-拼接-list文件里波形对应的文件名(不是全路径)。如果留空则使用.list文件里的绝对全路径。": "Veuillez indiquer le répertoire contenant les audio découpés ! Le chemin complet du fichier audio à lire = ce répertoire - nom du fichier correspondant à l'onde dans le fichier .list (pas le chemin complet). Si laissé vide, le chemin absolu dans le fichier .list sera utilisé.",
|
||||
"多语种混合": "Mélange multilingue",
|
||||
"多语种混合(粤语)": "Mélange Multilingue (Cantonais)",
|
||||
@ -98,6 +115,9 @@
|
||||
"实际输入的目标文本(每句):": "Texte cible réellement saisi (par phrase):",
|
||||
"实际输入的目标文本:": "Texte cible réellement saisi:",
|
||||
"导出文件格式": "Format d'exportation du fichier",
|
||||
"并行推理": "Inférence parallèle",
|
||||
"并行推理模式已关闭": "Mode d’inférence parallèle désactivé",
|
||||
"并行推理模式已开启": "Mode d’inférence parallèle activé",
|
||||
"开启GPT训练": "Activer l'entraînement GPT",
|
||||
"开启SSL提取": "Activer l'extraction SSL",
|
||||
"开启SoVITS训练": "Activer l'entraînement SoVITS",
|
||||
@ -107,6 +127,7 @@
|
||||
"开启打标WebUI": "Ouvrir Labeling WebUI",
|
||||
"开启文本获取": "Activer l'extraction de texte",
|
||||
"开启无参考文本模式。不填参考文本亦相当于开启。": "Activer le mode sans texte de référence. Laisser le texte de référence vide équivaut également à activer le mode.",
|
||||
"开启无参考文本模式。不填参考文本亦相当于开启。v3暂不支持该模式,使用了会报错。": "Activer le mode sans texte de référence. Ne pas remplir le texte de référence revient à activer ce mode. v3 ne prend pas encore en charge ce mode et l’utiliser entraînera une erreur.",
|
||||
"开启离线批量ASR": "Activer la transcription automatique hors ligne en masse",
|
||||
"开启语义token提取": "Activer l'extraction de jetons sémantiques",
|
||||
"开启语音切割": "Activer le découpage vocal",
|
||||
@ -122,7 +143,11 @@
|
||||
"按中文句号。切": "Couper selon les points en chinois.",
|
||||
"按标点符号切": "Couper selon les signes de ponctuation",
|
||||
"按英文句号.切": "Découpez par des points en anglais",
|
||||
"推理设置": "Paramètres d’inférence",
|
||||
"提取文本Bert特征": "Extraire les caractéristiques du texte avec BERT",
|
||||
"数据分桶(并行推理时会降低一点计算量)": "Regroupement des données (Réduit le coût de calcul en inférence parallèle)",
|
||||
"数据类型精度": "précision du type de données",
|
||||
"文本切分工具。太长的文本合成出来效果不一定好,所以太长建议先切。合成会根据文本的换行分开合成再拼起来。": "Outil de segmentation de texte. Un texte trop long peut donner un mauvais résultat, il est donc recommandé de le segmenter. La synthèse se fera selon les sauts de ligne puis sera assemblée.",
|
||||
"文本模块学习率权重": "Poids du taux d'apprentissage du module de texte",
|
||||
"文本进程输出信息": "Informations de processus de texte",
|
||||
"施工中,请静候佳音": "En construction, veuillez attendre patiemment",
|
||||
@ -146,6 +171,7 @@
|
||||
"终止SSL提取进程": "Arrêter le processus d'extraction SSL",
|
||||
"终止SoVITS训练": "Arrêter l'entraînement SoVITS",
|
||||
"终止一键三连": "Arrêter l'un clic trois connexions",
|
||||
"终止合成": "Terminer la synthèse",
|
||||
"终止文本获取进程": "Arrêter le processus d'extraction de texte",
|
||||
"终止语义token提取进程": "Arrêter le processus d'extraction de jetons sémantiques",
|
||||
"终止语音切割": "Arrêter le découpage vocal",
|
||||
@ -158,6 +184,7 @@
|
||||
"语义token提取进程输出信息": "Informations de processus d'extraction de jetons sémantiques",
|
||||
"语速": "Débit de parole",
|
||||
"语速调整,高为更快": "Ajuster la vitesse de parole, plus élevée pour plus rapide",
|
||||
"语速调节不支持分桶处理,已自动关闭分桶处理": "Le réglage de la vitesse vocale ne prend pas en charge le regroupement des données, désactivation automatique",
|
||||
"语音切割进程输出信息": "Informations de processus de découpage vocal",
|
||||
"语音降噪进程输出信息": "Informations de sortie du processus de réduction du bruit vocal",
|
||||
"请上传3~10秒内参考音频,超过会报错!": "Veuillez télécharger une référence audio de 3 à 10 secondes ; les fichiers plus longs généreront une erreur!",
|
||||
@ -166,9 +193,11 @@
|
||||
"请填入正确的List路径": "Veuillez Remplir le Chemin Correct de la Liste",
|
||||
"请填入正确的音频文件夹路径": "Veuillez Remplir le Chemin Correct du Dossier Audio",
|
||||
"请输入有效文本": "Veuillez entrer un texte valide",
|
||||
"路径不存在,使用默认配置": "Chemin introuvable, utilisation de la configuration par défaut",
|
||||
"路径不能为空": "Chemin Non Vide Attendu",
|
||||
"路径错误": "Erreur de Chemin",
|
||||
"转换": "Conversion",
|
||||
"辅参考音频(可选多个,或不选)": "Audio de référence secondaire (Facultatif, plusieurs possibles ou aucun)",
|
||||
"输入待处理音频文件夹路径": "Entrez le chemin du dossier audio à traiter",
|
||||
"输入文件夹路径": "Chemin du dossier à entrer",
|
||||
"输出logs/实验名目录下应有23456开头的文件和文件夹": "Les fichiers et dossiers commençant par 23456 devraient être présents dans le répertoire logs/nom de l'expérience",
|
||||
@ -176,13 +205,19 @@
|
||||
"输出文件夹路径": "Chemin du dossier de sortie",
|
||||
"输出的语音": "Audio de sortie",
|
||||
"选择训练完存放在SoVITS_weights和GPT_weights下的模型。默认的一个是底模,体验5秒Zero Shot TTS用。": "Choisissez le modèle entraîné stocké sous SoVITS_weights et GPT_weights. Par défaut, l'un d'eux est un modèle de base pour l'expérience de TTS Zero Shot de 5 secondes.",
|
||||
"采样步数,如果觉得电,提高试试,如果觉得慢,降低试试": "Nombre d’étapes d’échantillonnage : si le son est bruité, essayez d’augmenter, si c’est lent, essayez de réduire",
|
||||
"重复惩罚": "Pénalité de répétition",
|
||||
"降噪结果输出文件夹": "Dossier de sortie des résultats de réduction du bruit",
|
||||
"降噪音频文件输入文件夹": "Dossier d'entrée des fichiers audio de réduction du bruit",
|
||||
"随机种子": "Graine aléatoire",
|
||||
"需要合成的切分前文本": "Texte avant segmentation pour la synthèse",
|
||||
"需要合成的文本": "Texte à synthétiser",
|
||||
"需要合成的文本的语种": "Langue du texte à synthétiser",
|
||||
"需要合成的语种": "Langue de synthèse requise",
|
||||
"韩文": "Coreano",
|
||||
"韩英混合": "Mezcla Coreano-Inglés",
|
||||
"音频加载失败": "Échec du Chargement de l'Audio",
|
||||
"音频文件不存在,跳过:": "Fichier audio introuvable, passage : ",
|
||||
"音频自动切分输入路径,可文件可文件夹": "Chemin d'entrée automatique de découpage audio, peut être un fichier ou un dossier",
|
||||
"预训练的GPT模型路径": "Chemin du modèle GPT pré-entraîné",
|
||||
"预训练的SSL模型路径": "Chemin du modèle SSL pré-entraîné",
|
||||
|
@ -52,6 +52,7 @@
|
||||
"UVR5已开启": "UVR5 è attivato",
|
||||
"UVR5进程输出信息": "Informazioni sull'output del processo UVR5",
|
||||
"alpha_mix:混多少比例归一化后音频进来": "alpha_mix: Quanta proporzione dell'audio normalizzato deve essere miscelata",
|
||||
"batch_size": "Dimensione del batch",
|
||||
"hop_size:怎么算音量曲线,越小精度越大计算量越高(不是精度越大效果越好)": "hop_size: Come calcolare la curva del volume. Più piccolo è, maggiore è la precisione ma aumenta la complessità computazionale (non significa che una maggiore precisione dà risultati migliori)",
|
||||
"max:归一化后最大值多少": "max: Massimo valore dopo la normalizzazione",
|
||||
"max_sil_kept:切完后静音最多留多长": "max_sil_kept: Massima durata del silenzio dopo il taglio",
|
||||
@ -66,6 +67,9 @@
|
||||
"中文": "Cinese",
|
||||
"中文教程文档:https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e": "Documentazione del tutorial in cinese:https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e",
|
||||
"中英混合": "Cinese e inglese misti",
|
||||
"主参考音频(请上传3~10秒内参考音频,超过会报错!)": "Audio di riferimento principale (Si prega di caricare un audio di riferimento tra 3 e 10 secondi, superato questo limite si verificherà un errore!)",
|
||||
"主参考音频的文本": "Testo dell'audio di riferimento principale",
|
||||
"主参考音频的语种": "Lingua dell'audio di riferimento principale",
|
||||
"也可批量输入音频文件, 二选一, 优先读文件夹": "È possibile anche inserire file audio in batch, una delle due opzioni, con priorità alla lettura della cartella",
|
||||
"人声伴奏分离批量处理, 使用UVR5模型。": "Separazione voce-accompagnamento in batch, utilizza il modello UVR5.",
|
||||
"人声提取激进程度": "Grado di aggressività dell'estrazione vocale",
|
||||
@ -73,13 +77,24 @@
|
||||
"以下模型不存在:": "Nessun Modello del Genere:",
|
||||
"伴奏人声分离&去混响&去回声": "Separazione tra accompagnamento e voce & Rimozione dell'eco & Rimozione dell'eco",
|
||||
"使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开。<br>开启后无视填写的参考文本。": "Si consiglia di utilizzare GPT fine-tuned quando si utilizza la modalità senza testo di riferimento. Se non si riesce a capire cosa dice l'audio di riferimento (e non si sa cosa scrivere), è possibile abilitare questa opzione, ignorando il testo di riferimento inserito.",
|
||||
"使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开,开启后无视填写的参考文本。": "Si consiglia di usare un GPT fine-tuned quando si usa la modalità senza testo di riferimento. Se l'audio di riferimento non è chiaro o non sai cosa scrivere, abilita questa opzione per ignorare il testo di riferimento.",
|
||||
"保存频率save_every_epoch": "Frequenza di salvataggio ogni epoca",
|
||||
"保持随机": "Mantieni casuale",
|
||||
"关闭TTS推理WebUI": "Chiudere TTS Inference WebUI",
|
||||
"关闭UVR5-WebUI": "Chiudere UVR5-WebUI",
|
||||
"关闭打标WebUI": "Chiudere Labeling WebUI",
|
||||
"凑50字一切": "Riempire con 50 caratteri per tutto",
|
||||
"凑四句一切": "Riempire con quattro frasi per tutto",
|
||||
"分桶处理模式已关闭": "Modalità di elaborazione per bucket disabilitata",
|
||||
"分桶处理模式已开启": "Modalità di elaborazione per bucket abilitata",
|
||||
"分段返回模式不支持分桶处理,已自动关闭分桶处理": "La modalità di ritorno segmentato non supporta l'elaborazione per bucket, l'elaborazione per bucket è stata disabilitata automaticamente",
|
||||
"分段返回模式已开启": "Modalità di ritorno segmentato abilitata",
|
||||
"分段间隔(秒)": "Intervallo di segmentazione (secondi)",
|
||||
"分段间隔过小,已自动设置为0.01": "L'intervallo di segmentazione è troppo breve, impostato automaticamente a 0.01",
|
||||
"切分": "Segmentazione",
|
||||
"切分后文本": "Testo dopo segmentazione",
|
||||
"切分后的子音频的输出根目录": "Directory radice di output per gli audio segmentati",
|
||||
"切分文本": "Segmenta il testo",
|
||||
"切割使用的进程数": "Numero di processi utilizzati per il taglio",
|
||||
"刷新模型路径": "Aggiorna il percorso del modello",
|
||||
"前端处理后的文本(每句):": "Testo elaborato dal front-end (per frase):",
|
||||
@ -90,6 +105,8 @@
|
||||
"可选项:通过拖拽多个文件上传多个参考音频(建议同性),平均融合他们的音色。如不填写此项,音色由左侧单个参考音频控制。如是微调模型,建议参考音频全部在微调训练集音色内,底模不用管。": "Opzionale: Carica più file audio di riferimento trascinandoli (si consiglia dello stesso genere) e media il loro tono. Se questa opzione è lasciata vuota, il tono sarà controllato dal singolo file audio di riferimento a sinistra. Se si sta perfezionando il modello, è consigliato che tutti i file audio di riferimento abbiano toni presenti nel set di addestramento per il perfezionamento; il modello pre-addestrato può essere ignorato.",
|
||||
"合成语音": "Sintesi vocale",
|
||||
"合格的文件夹路径格式举例: E:\\codes\\py39\\vits_vc_gpu\\白鹭霜华测试样例(去文件管理器地址栏拷就行了)。": "Formato di percorso della cartella valido: E:\\codes\\py39\\vits_vc_gpu\\Esempio di test di BaiLuShuangHua (copiare direttamente dalla barra degli indirizzi del gestore file).",
|
||||
"后续将支持转音素、手工修改音素、语音合成分步执行。": "In futuro verrà aggiunto il supporto per la conversione dei fonemi, la modifica manuale dei fonemi e la sintesi vocale passo dopo passo.",
|
||||
"启用并行推理版本": "Abilita versione di inferenza parallela",
|
||||
"填切割后音频所在目录!读取的音频文件完整路径=该目录-拼接-list文件里波形对应的文件名(不是全路径)。如果留空则使用.list文件里的绝对全路径。": "Inserisci la directory dell'audio segmentato! Il percorso completo del file audio letto = questa directory - unione del nome del file corrispondente alle forme d'onda nel file .list (non il percorso completo). Se lasciato vuoto, verrà utilizzato il percorso assoluto nel file .list.",
|
||||
"多语种混合": "Mix multilingue",
|
||||
"多语种混合(粤语)": "Misto Multilingue (Cantonese)",
|
||||
@ -98,6 +115,9 @@
|
||||
"实际输入的目标文本(每句):": "Testo di destinazione effettivamente inserito (per frase):",
|
||||
"实际输入的目标文本:": "Testo di destinazione effettivamente inserito:",
|
||||
"导出文件格式": "Formato di esportazione del file",
|
||||
"并行推理": "Inferenza parallela",
|
||||
"并行推理模式已关闭": "Modalità di inferenza parallela disabilitata",
|
||||
"并行推理模式已开启": "Modalità di inferenza parallela abilitata",
|
||||
"开启GPT训练": "Attivare l'allenamento di GPT",
|
||||
"开启SSL提取": "Attivare l'estrazione SSL",
|
||||
"开启SoVITS训练": "Attivare l'allenamento di SoVITS",
|
||||
@ -107,6 +127,7 @@
|
||||
"开启打标WebUI": "Aprire Labeling WebUI",
|
||||
"开启文本获取": "Attivare l'estrazione del testo",
|
||||
"开启无参考文本模式。不填参考文本亦相当于开启。": "Attivare la modalità senza testo di riferimento. Anche se non inserisci un testo di riferimento, la modalità verrà attivata.",
|
||||
"开启无参考文本模式。不填参考文本亦相当于开启。v3暂不支持该模式,使用了会报错。": "Abilita modalità senza testo di riferimento. Non compilare il campo del testo di riferimento equivale ad abilitarla. V3 non supporta questa modalità, utilizzarla genererà un errore.",
|
||||
"开启离线批量ASR": "Attivare ASR offline batch",
|
||||
"开启语义token提取": "Attivare l'estrazione del token semantico",
|
||||
"开启语音切割": "Attivare la segmentazione vocale",
|
||||
@ -122,7 +143,11 @@
|
||||
"按中文句号。切": "Taglia secondo il punto cinese.",
|
||||
"按标点符号切": "Taglia secondo i segni di punteggiatura",
|
||||
"按英文句号.切": "Taglia secondo il punto inglese",
|
||||
"推理设置": "Impostazioni di inferenza",
|
||||
"提取文本Bert特征": "Estrai caratteristiche Bert dal testo",
|
||||
"数据分桶(并行推理时会降低一点计算量)": "Raggruppamento dei dati (Riduce il costo computazionale nell'inferenza parallela)",
|
||||
"数据类型精度": "precisione del tipo di dati",
|
||||
"文本切分工具。太长的文本合成出来效果不一定好,所以太长建议先切。合成会根据文本的换行分开合成再拼起来。": "Strumento di segmentazione del testo. Testi troppo lunghi potrebbero non dare buoni risultati, quindi si consiglia di segmentarli. La sintesi verrà eseguita separando il testo in base ai ritorni a capo e poi concatenandolo.",
|
||||
"文本模块学习率权重": "Peso del tasso di apprendimento del modulo di testo",
|
||||
"文本进程输出信息": "Informazioni sull'output del processo di estrazione del testo",
|
||||
"施工中,请静候佳音": "In costruzione, attendi pazientemente le buone notizie",
|
||||
@ -146,6 +171,7 @@
|
||||
"终止SSL提取进程": "Terminare il processo di estrazione SSL",
|
||||
"终止SoVITS训练": "Terminare l'allenamento di SoVITS",
|
||||
"终止一键三连": "Terminare la formattazione con tre passaggi",
|
||||
"终止合成": "Termina sintesi",
|
||||
"终止文本获取进程": "Terminare il processo di estrazione del testo",
|
||||
"终止语义token提取进程": "Terminare il processo di estrazione del token semantico",
|
||||
"终止语音切割": "Terminare la segmentazione vocale",
|
||||
@ -158,6 +184,7 @@
|
||||
"语义token提取进程输出信息": "Informazioni sull'output del processo di estrazione del token semantico",
|
||||
"语速": "Velocità della voce",
|
||||
"语速调整,高为更快": "Regolare la velocità della voce, più alta per più veloce",
|
||||
"语速调节不支持分桶处理,已自动关闭分桶处理": "Il controllo della velocità del discorso non supporta l'elaborazione per bucket, l'elaborazione per bucket è stata disabilitata automaticamente",
|
||||
"语音切割进程输出信息": "Informazioni sull'output del processo di segmentazione vocale",
|
||||
"语音降噪进程输出信息": "Informazioni sull'output del processo di riduzione del rumore vocale",
|
||||
"请上传3~10秒内参考音频,超过会报错!": "Carica un audio di riferimento della durata compresa tra 3 e 10 secondi. Superiore a questo, verrà generato un errore!",
|
||||
@ -166,9 +193,11 @@
|
||||
"请填入正确的List路径": "Si Prega di Inserire il Percorso Corretto della Lista",
|
||||
"请填入正确的音频文件夹路径": "Si Prega di Inserire il Percorso Corretto della Cartella Audio",
|
||||
"请输入有效文本": "Inserisci un testo valido",
|
||||
"路径不存在,使用默认配置": "Percorso non trovato, utilizzo della configurazione predefinita",
|
||||
"路径不能为空": "Percorso Vuoto Non Consentito",
|
||||
"路径错误": "Errore di Percorso",
|
||||
"转换": "Converti",
|
||||
"辅参考音频(可选多个,或不选)": "Audio di riferimento secondario (Facoltativo, seleziona più o nessuno)",
|
||||
"输入待处理音频文件夹路径": "Inserisci il percorso della cartella dei file audio da elaborare",
|
||||
"输入文件夹路径": "Inserisci il percorso della cartella",
|
||||
"输出logs/实验名目录下应有23456开头的文件和文件夹": "Nella cartella logs/nome dell'esperimento dovrebbero esserci file e cartelle che iniziano con 23456",
|
||||
@ -176,13 +205,19 @@
|
||||
"输出文件夹路径": "Percorso della cartella di output",
|
||||
"输出的语音": "Audio di output",
|
||||
"选择训练完存放在SoVITS_weights和GPT_weights下的模型。默认的一个是底模,体验5秒Zero Shot TTS用。": "Scegli il modello salvato in SoVITS_weights e GPT_weights dopo l'addestramento. Uno di default è il modello di base, utilizzato per l'esperienza di Zero Shot TTS in 5 secondi.",
|
||||
"采样步数,如果觉得电,提高试试,如果觉得慢,降低试试": "Passi di campionamento: se sembra rumoroso, prova a aumentarlo, se è lento, prova a diminuirlo",
|
||||
"重复惩罚": "Penalità di ripetizione",
|
||||
"降噪结果输出文件夹": "Cartella di output dei risultati di riduzione del rumore",
|
||||
"降噪音频文件输入文件夹": "Cartella di input dei file audio per la riduzione del rumore",
|
||||
"随机种子": "Seme casuale",
|
||||
"需要合成的切分前文本": "Testo prima della segmentazione per la sintesi",
|
||||
"需要合成的文本": "Testo da sintetizzare",
|
||||
"需要合成的文本的语种": "Lingua del testo da sintetizzare",
|
||||
"需要合成的语种": "Lingua da sintetizzare",
|
||||
"韩文": "Coreano",
|
||||
"韩英混合": "Misto Coreano-Inglese",
|
||||
"音频加载失败": "Caricamento Audio Fallito",
|
||||
"音频文件不存在,跳过:": "File audio non trovato, salto: ",
|
||||
"音频自动切分输入路径,可文件可文件夹": "Percorso di input per la segmentazione automatica dell'audio, può essere un file o una cartella",
|
||||
"预训练的GPT模型路径": "Percorso del modello preaddestrato GPT",
|
||||
"预训练的SSL模型路径": "Percorso del modello SSL preaddestrato",
|
||||
|
@ -52,6 +52,7 @@
|
||||
"UVR5已开启": "UVR5がオンになっています",
|
||||
"UVR5进程输出信息": "UVR5プロセスの出力情報",
|
||||
"alpha_mix:混多少比例归一化后音频进来": "alpha_mix:正規化後のオーディオが入る割合",
|
||||
"batch_size": "バッチサイズ",
|
||||
"hop_size:怎么算音量曲线,越小精度越大计算量越高(不是精度越大效果越好)": "hop_size: 音量曲線の計算方法、小さいほど精度が高くなりますが、計算量が増加します(精度が高いほど必ずしも効果が良いわけではありません)",
|
||||
"max:归一化后最大值多少": "max:正規化後の最大値",
|
||||
"max_sil_kept:切完后静音最多留多长": "max_sil_kept:切り終えた後、最大でどれだけ静かにするか",
|
||||
@ -66,6 +67,9 @@
|
||||
"中文": "中国語",
|
||||
"中文教程文档:https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e": "中国語チュートリアルドキュメント:https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e",
|
||||
"中英混合": "中英混合",
|
||||
"主参考音频(请上传3~10秒内参考音频,超过会报错!)": "プライマリーFERエンス音声(3〜10秒以内の参考音声をアップロードしてください。これを超えるとエラーが発生します!)",
|
||||
"主参考音频的文本": "プライマリーFERエンス音声のテキスト",
|
||||
"主参考音频的语种": "プライマリーFERエンス音声の言語",
|
||||
"也可批量输入音频文件, 二选一, 优先读文件夹": "複数のオーディオファイルもインポートできます。フォルダパスが存在する場合、この入力は無視されます。",
|
||||
"人声伴奏分离批量处理, 使用UVR5模型。": "人声と伴奏の分離をバッチ処理で行い、UVR5モデルを使用します。",
|
||||
"人声提取激进程度": "人声抽出の積極性",
|
||||
@ -73,13 +77,24 @@
|
||||
"以下模型不存在:": "モデルが存在しません:",
|
||||
"伴奏人声分离&去混响&去回声": "ボーカル/伴奏の分離と残響の除去",
|
||||
"使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开。<br>开启后无视填写的参考文本。": "参考テキストなしモードを使用する場合は、微調整されたGPTの使用をお勧めします。参考音声が聞き取れない場合(何を書けば良いかわからない場合)は、有効にすると、入力した参考テキストを無視します。",
|
||||
"使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开,开启后无视填写的参考文本。": "参照テキストなしモードを使用する際は、微調整されたGPTを推奨めることをお勧びします。参照音声がはっきり、または何を書くかわからない場合は、このオプションを有効にして参照テキストを無視します。",
|
||||
"保存频率save_every_epoch": "保存頻度save_every_epoch",
|
||||
"保持随机": "ランダムを維持",
|
||||
"关闭TTS推理WebUI": "TTS Inference WebUIを閉じる",
|
||||
"关闭UVR5-WebUI": "UVR5-WebUIを閉じる",
|
||||
"关闭打标WebUI": "ラベリングWebUIを閉じる",
|
||||
"凑50字一切": "50文字ずつカット",
|
||||
"凑四句一切": "4つの文で埋める",
|
||||
"分桶处理模式已关闭": "バケット処理モードを無効化",
|
||||
"分桶处理模式已开启": "バケット処理モードを有効化",
|
||||
"分段返回模式不支持分桶处理,已自动关闭分桶处理": "セグメントされた返却モードはバケット処理をサポートしていないため、自動的にバケット処理を無効化",
|
||||
"分段返回模式已开启": "セグメントされた返却モードを有効化",
|
||||
"分段间隔(秒)": "セグメント間隔(秒)",
|
||||
"分段间隔过小,已自动设置为0.01": "セグメント間隔が短すぎていので、自動的に0.01に設定されました",
|
||||
"切分": "セグメント",
|
||||
"切分后文本": "セグメント後のテキスト",
|
||||
"切分后的子音频的输出根目录": "分割後のサブオーディオの出力ルートディレクトリ",
|
||||
"切分文本": "テキストをセグメント",
|
||||
"切割使用的进程数": "分割に使用されるプロセス数",
|
||||
"刷新模型路径": "モデルのパスを更新",
|
||||
"前端处理后的文本(每句):": "フロントエンド処理後のテキスト(文ごと):",
|
||||
@ -90,6 +105,8 @@
|
||||
"可选项:通过拖拽多个文件上传多个参考音频(建议同性),平均融合他们的音色。如不填写此项,音色由左侧单个参考音频控制。如是微调模型,建议参考音频全部在微调训练集音色内,底模不用管。": "オプション:複数の参照オーディオファイルをドラッグ&ドロップしてアップロードし、それらのトーンを平均化します(同性推奨)。このオプションを空白のままにした場合、トーンは左側の単一の参照オーディオによって制御されます。モデルを微調整する場合、すべての参照オーディオファイルが微調整のトレーニングセット内のトーンを持つことをお勧めします。プリトレーニングモデルは無視しても構いません。",
|
||||
"合成语音": "推論を開始",
|
||||
"合格的文件夹路径格式举例: E:\\codes\\py39\\vits_vc_gpu\\白鹭霜华测试样例(去文件管理器地址栏拷就行了)。": "適切なフォルダパスの例: E:\\codes\\py39\\vits_vc_gpu\\白鹭霜华テストサンプル(ファイルマネージャのアドレスバーからコピーしてください)。",
|
||||
"后续将支持转音素、手工修改音素、语音合成分步执行。": "今後、フォンメ转换、手動フォンメ編集、音声合成のステップバイステップ実行をサポートします。",
|
||||
"启用并行推理版本": "並列推論バージョンを有効化",
|
||||
"填切割后音频所在目录!读取的音频文件完整路径=该目录-拼接-list文件里波形对应的文件名(不是全路径)。如果留空则使用.list文件里的绝对全路径。": "切断後の音声ファイルが格納されているディレクトリを入力してください!読み取り対象の音声ファイルの完全パス = このディレクトリ - 結合 - listファイル内の波形に対応するファイル名(完全パスではありません)。空白の場合、.listファイル内の絶対完全パスを使用します。",
|
||||
"多语种混合": "多言語混合",
|
||||
"多语种混合(粤语)": "多言語混合(粤語)",
|
||||
@ -98,6 +115,9 @@
|
||||
"实际输入的目标文本(每句):": "実際に入力された目標テキスト(文ごと):",
|
||||
"实际输入的目标文本:": "実際に入力された目標テキスト:",
|
||||
"导出文件格式": "エクスポートファイル形式",
|
||||
"并行推理": "並列推論",
|
||||
"并行推理模式已关闭": "並列推論モードを無効化",
|
||||
"并行推理模式已开启": "並列推論モードを有効化",
|
||||
"开启GPT训练": "GPTトレーニングを開始",
|
||||
"开启SSL提取": "SSL抽出を開始",
|
||||
"开启SoVITS训练": "SoVITSトレーニングを開始",
|
||||
@ -107,6 +127,7 @@
|
||||
"开启打标WebUI": "ラベリングWebUIを開く",
|
||||
"开启文本获取": "テキストの取得を開始",
|
||||
"开启无参考文本模式。不填参考文本亦相当于开启。": "参照テキストなしモードを有効にします。参照テキストを入力しない場合も同様に有効になります。",
|
||||
"开启无参考文本模式。不填参考文本亦相当于开启。v3暂不支持该模式,使用了会报错。": "参照テキストなしモードを有効化。参照テキストフィールドを空にすると、このモードが有効になります。v3では現在このモードをサポートしておらず、使用するとエラーが発生します。",
|
||||
"开启离线批量ASR": "オフラインバッチASRを開始",
|
||||
"开启语义token提取": "セマンティックトークン抽出を開始",
|
||||
"开启语音切割": "音声の分割を開始",
|
||||
@ -122,7 +143,11 @@
|
||||
"按中文句号。切": "中国語の句点でカット",
|
||||
"按标点符号切": "句読点で分割",
|
||||
"按英文句号.切": "英文のピリオドで切ってください",
|
||||
"推理设置": "推論設定",
|
||||
"提取文本Bert特征": "テキストBERT特徴を抽出",
|
||||
"数据分桶(并行推理时会降低一点计算量)": "データバケット化(並列推論時に少し計算コストを減らす)",
|
||||
"数据类型精度": "データ型の精度",
|
||||
"文本切分工具。太长的文本合成出来效果不一定好,所以太长建议先切。合成会根据文本的换行分开合成再拼起来。": "テキストセグメントツール。非常に長いテキストは合成結果が良くない可能性があるため、長いテキストは事前にセグメントすることをお勧びします。合成は改行に基づいて分かれ、その後に結合されます。",
|
||||
"文本模块学习率权重": "テキストモジュールの学習率の重み",
|
||||
"文本进程输出信息": "テキストプロセスの出力情報",
|
||||
"施工中,请静候佳音": "施工中、お待ちください",
|
||||
@ -146,6 +171,7 @@
|
||||
"终止SSL提取进程": "SSL抽出プロセスを停止",
|
||||
"终止SoVITS训练": "SoVITSトレーニングを停止",
|
||||
"终止一键三连": "ワンクリック三連を停止",
|
||||
"终止合成": "合成を終了",
|
||||
"终止文本获取进程": "テキスト取得プロセスを停止",
|
||||
"终止语义token提取进程": "セマンティックトークン抽出プロセスを停止",
|
||||
"终止语音切割": "音声の分割を停止",
|
||||
@ -158,6 +184,7 @@
|
||||
"语义token提取进程输出信息": "セマンティックトークン抽出プロセスの出力情報",
|
||||
"语速": "話速",
|
||||
"语速调整,高为更快": "話速調整、高いほど速く",
|
||||
"语速调节不支持分桶处理,已自动关闭分桶处理": "音声調整はバケット処理をサポートしていないため、自動的にバケット処理を無効化",
|
||||
"语音切割进程输出信息": "音声分割プロセスの出力情報",
|
||||
"语音降噪进程输出信息": "音声ノイズ除去プロセスの出力情報",
|
||||
"请上传3~10秒内参考音频,超过会报错!": "3~10秒以内の参照音声をアップロードしてください。それを超えるとエラーが発生します!",
|
||||
@ -166,9 +193,11 @@
|
||||
"请填入正确的List路径": "正しいリストパスを入力してください",
|
||||
"请填入正确的音频文件夹路径": "正しいオーディオフォルダパスを入力してください",
|
||||
"请输入有效文本": "有効なテキストを入力してください",
|
||||
"路径不存在,使用默认配置": "パスが見つからないため、デフォルト設定を使用",
|
||||
"路径不能为空": "空のパスは予期されていません",
|
||||
"路径错误": "パスエラー",
|
||||
"转换": "変換",
|
||||
"辅参考音频(可选多个,或不选)": "二次参考音声(複数可、またはなし)",
|
||||
"输入待处理音频文件夹路径": "処理するオーディオフォルダのパスを入力してください:",
|
||||
"输入文件夹路径": "入力フォルダのパス",
|
||||
"输出logs/实验名目录下应有23456开头的文件和文件夹": "logs/実験名ディレクトリには23456で始まるファイルとフォルダが含まれている必要があります",
|
||||
@ -176,13 +205,19 @@
|
||||
"输出文件夹路径": "出力フォルダのパス",
|
||||
"输出的语音": "推論結果",
|
||||
"选择训练完存放在SoVITS_weights和GPT_weights下的模型。默认的一个是底模,体验5秒Zero Shot TTS用。": "SoVITS_weightsおよびGPT_weightsに保存されたモデルを選択します。デフォルトのものはプレトレインであり、ゼロショットTTSを体験できます。",
|
||||
"采样步数,如果觉得电,提高试试,如果觉得慢,降低试试": "サンプリングステップ数:ノイズが強い場合は増やし、遅い場合は減らしてみてください",
|
||||
"重复惩罚": "繰り返しペナルティ",
|
||||
"降噪结果输出文件夹": "ノイズ除去結果出力フォルダ",
|
||||
"降噪音频文件输入文件夹": "ノイズ除去音声ファイル入力フォルダ",
|
||||
"随机种子": "ランダムシード",
|
||||
"需要合成的切分前文本": "セグメント前の推論テキスト",
|
||||
"需要合成的文本": "推論テキスト",
|
||||
"需要合成的语种": "推論テキストの言語",
|
||||
"需要合成的文本的语种": "推論テキストの言語",
|
||||
"需要合成的语种": "推論の言語",
|
||||
"韩文": "韓国語",
|
||||
"韩英混合": "韓英混合",
|
||||
"音频加载失败": "音声の読み込みに失敗しました",
|
||||
"音频文件不存在,跳过:": "オーディオファイルが見つからない。スキップ:",
|
||||
"音频自动切分输入路径,可文件可文件夹": "オーディオの自動分割入力パス、ファイルまたはフォルダを指定できます",
|
||||
"预训练的GPT模型路径": "事前にトレーニングされたGPTモデルのパス",
|
||||
"预训练的SSL模型路径": "事前にトレーニングされたSSLモデルのパス",
|
||||
|
@ -52,6 +52,7 @@
|
||||
"UVR5已开启": "UVR5가 활성화되었습니다",
|
||||
"UVR5进程输出信息": "UVR5 프로세스 출력 정보",
|
||||
"alpha_mix:混多少比例归一化后音频进来": "알파 믹스: 정규화된 오디오가 들어오는 비율",
|
||||
"batch_size": "배치 크기",
|
||||
"hop_size:怎么算音量曲线,越小精度越大计算量越高(不是精度越大效果越好)": "hop 크기: 볼륨 곡선을 계산하는 방법. 작을수록 정확도가 높아지지만 계산량이 높아집니다 (정확도가 높다고 효과가 좋아지지 않음)",
|
||||
"max:归一化后最大值多少": "최대 값 (정규화 후)",
|
||||
"max_sil_kept:切完后静音最多留多长": "최대 유지되는 정적 길이 (분리 후)",
|
||||
@ -66,6 +67,9 @@
|
||||
"中文": "중국어",
|
||||
"中文教程文档:https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e": "중국어 튜토리얼 문서:https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e",
|
||||
"中英混合": "중영 혼합",
|
||||
"主参考音频(请上传3~10秒内参考音频,超过会报错!)": "주 참조 오디오 (3~10초 이내의 참조 오디오를 업로드하세요. 초과 시 오류 발생!)",
|
||||
"主参考音频的文本": "주 참조 오디오의 텍스트",
|
||||
"主参考音频的语种": "주 참조 오디오의 언어",
|
||||
"也可批量输入音频文件, 二选一, 优先读文件夹": "오디오 파일을 일괄로 입력할 수도 있습니다. 둘 중 하나를 선택하고 폴더를 읽기를 우선합니다.",
|
||||
"人声伴奏分离批量处理, 使用UVR5模型。": "보컬과 반주 분리 배치 처리, UVR5 모델 사용.",
|
||||
"人声提取激进程度": "보컬 추출의 공격성",
|
||||
@ -73,13 +77,24 @@
|
||||
"以下模型不存在:": "해당 모델이 존재하지 않습니다:",
|
||||
"伴奏人声分离&去混响&去回声": "반주 및 보컬 분리 & 리버브 제거 & 에코 제거",
|
||||
"使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开。<br>开启后无视填写的参考文本。": "참고 텍스트가 없을 때는 미세 조정된 GPT를 사용하는 것이 좋습니다. 참고 오디오에서 무엇을 말하는지 잘 들리지 않으면 이 모드를 켜서 입력한 참고 텍스트를 무시할 수 있습니다.",
|
||||
"使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开,开启后无视填写的参考文本。": "참조 텍스트 없는 모드 사용 시 미세 조정된 GPT 사용을 권장합니다. 참조 오디오가 들리지 않거나 무엇을 쓸지 모를 경우 이 옵션을 활성화하여 참조 텍스트를 무시할 수 있습니다.",
|
||||
"保存频率save_every_epoch": "저장 빈도 (각 라운드마다)",
|
||||
"保持随机": "랜덤 유지",
|
||||
"关闭TTS推理WebUI": "TTS Inference WebUI 닫기",
|
||||
"关闭UVR5-WebUI": "UVR5-WebUI 닫기",
|
||||
"关闭打标WebUI": "Labeling WebUI 닫기",
|
||||
"凑50字一切": "50자를 채우십시오",
|
||||
"凑四句一切": "네 문장의 세트를 완성하세요.",
|
||||
"分桶处理模式已关闭": "버킷 처리 모드 비활성화됨",
|
||||
"分桶处理模式已开启": "버킷 처리 모드 활성화됨",
|
||||
"分段返回模式不支持分桶处理,已自动关闭分桶处理": "분할 반환 모드는 버킷 처리를 지원하지 않아 버킷 처리 자동 비활성화됨",
|
||||
"分段返回模式已开启": "분할 반환 모드 활성화됨",
|
||||
"分段间隔(秒)": "분할 간격(초)",
|
||||
"分段间隔过小,已自动设置为0.01": "분할 간격이 너무 짧아 자동으로 0.01로 설정됨",
|
||||
"切分": "분할",
|
||||
"切分后文本": "분할 후 추론 텍스트",
|
||||
"切分后的子音频的输出根目录": "분리된 하위 오디오의 출력 기본 디렉터리",
|
||||
"切分文本": "텍스트 분할",
|
||||
"切割使用的进程数": "사용되는 프로세스 수로 자르기",
|
||||
"刷新模型路径": "모델 경로 새로 고침",
|
||||
"前端处理后的文本(每句):": "프론트엔드 처리 후 텍스트(문장별):",
|
||||
@ -90,6 +105,8 @@
|
||||
"可选项:通过拖拽多个文件上传多个参考音频(建议同性),平均融合他们的音色。如不填写此项,音色由左侧单个参考音频控制。如是微调模型,建议参考音频全部在微调训练集音色内,底模不用管。": "선택 사항: 여러 참조 오디오 파일을 드래그하여 업로드하고 (동일한 성별을 권장), 그들의 톤을 평균화합니다. 이 옵션을 비워두면 톤은 왼쪽의 단일 참조 오디오로 제어됩니다. 모델을 미세 조정하는 경우 모든 참조 오디오 파일이 미세 조정 훈련 세트 내의 톤을 가지고 있는 것이 좋으며, 사전 훈련된 모델은 무시할 수 있습니다.",
|
||||
"合成语音": "합성 음성",
|
||||
"合格的文件夹路径格式举例: E:\\codes\\py39\\vits_vc_gpu\\白鹭霜华测试样例(去文件管理器地址栏拷就行了)。": "적절한 폴더 경로 형식 예: E:\\codes\\py39\\vits_vc_gpu\\백로서리 테스트 샘플 (파일 관리자 주소 표시줄에서 복사하면 됩니다).",
|
||||
"后续将支持转音素、手工修改音素、语音合成分步执行。": "향후 음소 변환, 수동 음소 편집, 단계별 음성 합성 지원이 추가될 예정입니다.",
|
||||
"启用并行推理版本": "병렬 추론 버전 활성화",
|
||||
"填切割后音频所在目录!读取的音频文件完整路径=该目录-拼接-list文件里波形对应的文件名(不是全路径)。如果留空则使用.list文件里的绝对全路径。": "분리된 오디오가 위치한 디렉터리를 입력하세요! 읽어들인 오디오 파일의 전체 경로 = 이 디렉터리 - list 파일에서 파형에 해당하는 파일명(전체 경로가 아님). 비워 두면 .list 파일의 절대 전체 경로를 사용합니다.",
|
||||
"多语种混合": "다국어 혼합",
|
||||
"多语种混合(粤语)": "다국어 혼합(粤語)",
|
||||
@ -98,6 +115,9 @@
|
||||
"实际输入的目标文本(每句):": "실제 입력된 목표 텍스트(문장별):",
|
||||
"实际输入的目标文本:": "실제 입력된 목표 텍스트:",
|
||||
"导出文件格式": "내보내기 파일 형식",
|
||||
"并行推理": "병렬 추론",
|
||||
"并行推理模式已关闭": "병렬 추론 모드 비활성화됨",
|
||||
"并行推理模式已开启": "병렬 추론 모드 활성화됨",
|
||||
"开启GPT训练": "GPT 훈련 활성화",
|
||||
"开启SSL提取": "SSL 추출 활성화",
|
||||
"开启SoVITS训练": "SoVITS 훈련 활성화",
|
||||
@ -107,6 +127,7 @@
|
||||
"开启打标WebUI": "Labeling WebUI 열기",
|
||||
"开启文本获取": "텍스트 추출 활성화",
|
||||
"开启无参考文本模式。不填参考文本亦相当于开启。": "참고 텍스트 없이 모드를 활성화합니다. 참고 텍스트를 입력하지 않으면 자동으로 활성화됩니다.",
|
||||
"开启无参考文本模式。不填参考文本亦相当于开启。v3暂不支持该模式,使用了会报错。": "참조 텍스트 없는 모드 활성화. 참조 텍스트를 입력하지 않으면 이 모드가 활성화됩니다. v3는 현재 이 모드를 지원하지 않으며, 사용 시 오류가 발생합니다.",
|
||||
"开启离线批量ASR": "오프라인 대량 ASR 활성화",
|
||||
"开启语义token提取": "의미 토큰 추출 활성화",
|
||||
"开启语音切割": "음성 분리 활성화",
|
||||
@ -122,7 +143,11 @@
|
||||
"按中文句号。切": "중국어 문장으로 분리하십시오.",
|
||||
"按标点符号切": "구두점을 기준으로 자르기",
|
||||
"按英文句号.切": "영어 문장으로 분리하기",
|
||||
"推理设置": "추론 설정",
|
||||
"提取文本Bert特征": "텍스트 BERT 특징 추출",
|
||||
"数据分桶(并行推理时会降低一点计算量)": "데이터 버킷팅 (병렬 추론 시 계산량 감소)",
|
||||
"数据类型精度": "데이터 유형 정밀도",
|
||||
"文本切分工具。太长的文本合成出来效果不一定好,所以太长建议先切。合成会根据文本的换行分开合成再拼起来。": "텍스트 분할 도구. 너무 긴 텍스트는 합성 결과가 좋지 않을 수 있으므로 분할을 권장합니다. 합성은 텍스트의 줄바꿈을 기준으로 분할된 후 결합됩니다.",
|
||||
"文本模块学习率权重": "텍스트 모듈 학습률 가중치",
|
||||
"文本进程输出信息": "텍스트 프로세스 출력 정보",
|
||||
"施工中,请静候佳音": "공사 중입니다. 기다려주십시오.",
|
||||
@ -146,6 +171,7 @@
|
||||
"终止SSL提取进程": "SSL 추출 프로세스 종료",
|
||||
"终止SoVITS训练": "SoVITS 훈련 종료",
|
||||
"终止一键三连": "일괄 처리 종료",
|
||||
"终止合成": "합성 종료",
|
||||
"终止文本获取进程": "텍스트 추출 프로세스 종료",
|
||||
"终止语义token提取进程": "의미 토큰 추출 프로세스 종료",
|
||||
"终止语音切割": "음성 분리 종료",
|
||||
@ -158,6 +184,7 @@
|
||||
"语义token提取进程输出信息": "의미 토큰 추출 프로세스 출력 정보",
|
||||
"语速": "언어 속도",
|
||||
"语速调整,高为更快": "언어 속도 조정, 높을수록 빠름",
|
||||
"语速调节不支持分桶处理,已自动关闭分桶处理": "음속 조절은 버킷 처리를 지원하지 않아 버킷 처리 자동 비활성화됨",
|
||||
"语音切割进程输出信息": "음성 분리 프로세스 출력 정보",
|
||||
"语音降噪进程输出信息": "음성 노이즈 제거 프로세스 출력 정보",
|
||||
"请上传3~10秒内参考音频,超过会报错!": "3~10초 이내의 참고 오디오를 업로드하십시오. 초과하면 오류가 발생합니다!",
|
||||
@ -166,9 +193,11 @@
|
||||
"请填入正确的List路径": "올바른 리스트 경로를 입력하세요",
|
||||
"请填入正确的音频文件夹路径": "올바른 오디오 폴더 경로를 입력하세요",
|
||||
"请输入有效文本": "유효한 텍스트를 입력하세요",
|
||||
"路径不存在,使用默认配置": "경로가 존재하지 않음, 기본 설정 사용",
|
||||
"路径不能为空": "경로가 비어 있을 수 없습니다",
|
||||
"路径错误": "경로 오류",
|
||||
"转换": "변환",
|
||||
"辅参考音频(可选多个,或不选)": "보조 참조 오디오 (여러 개 선택 가능 또는 선택 안 함)",
|
||||
"输入待处理音频文件夹路径": "처리 대기 중인 오디오 폴더 경로 입력",
|
||||
"输入文件夹路径": "폴더 경로 입력",
|
||||
"输出logs/实验名目录下应有23456开头的文件和文件夹": "logs/실험 이름 디렉터리에는 23456으로 시작하는 파일과 폴더가 있어야 함",
|
||||
@ -176,13 +205,19 @@
|
||||
"输出文件夹路径": "출력 폴더 경로",
|
||||
"输出的语音": "출력 음성",
|
||||
"选择训练完存放在SoVITS_weights和GPT_weights下的模型。默认的一个是底模,体验5秒Zero Shot TTS用。": "SoVITS_weights 및 GPT_weights에 저장된 훈련 완료된 모델 중 선택. 기본적으로 하나는 기본 모델이며 5초 Zero Shot TTS를 체험할 수 있습니다.",
|
||||
"采样步数,如果觉得电,提高试试,如果觉得慢,降低试试": "샘플링 스텝: 노이즈가 느껴지면 증가, 느리다면 감소 시도",
|
||||
"重复惩罚": "반복 패널티",
|
||||
"降噪结果输出文件夹": "노이즈 제거 결과 출력 폴더",
|
||||
"降噪音频文件输入文件夹": "노이즈 제거 오디오 파일 입력 폴더",
|
||||
"随机种子": "랜덤 시드",
|
||||
"需要合成的切分前文本": "분할 전 추론 텍스트",
|
||||
"需要合成的文本": "합성해야 할 텍스트",
|
||||
"需要合成的文本的语种": "추론 텍스트의 언어",
|
||||
"需要合成的语种": "합성해야 할 언어",
|
||||
"韩文": "한국어",
|
||||
"韩英混合": "한영 혼합",
|
||||
"音频加载失败": "오디오 로드 실패",
|
||||
"音频文件不存在,跳过:": "오디오 파일이 존재하지 않음, 건너뜀: ",
|
||||
"音频自动切分输入路径,可文件可文件夹": "오디오 자동 분리 입력 경로, 파일 또는 폴더 가능",
|
||||
"预训练的GPT模型路径": "사전 훈련된 GPT 모델 경로",
|
||||
"预训练的SSL模型路径": "사전 훈련된 SSL 모델 경로",
|
||||
|
@ -52,6 +52,7 @@
|
||||
"UVR5已开启": "UVR5 está ativado",
|
||||
"UVR5进程输出信息": "Informações de saída do processo UVR5",
|
||||
"alpha_mix:混多少比例归一化后音频进来": "alpha_mix: Em que proporção o áudio normalizado é misturado de volta",
|
||||
"batch_size": "Tamanho do Lote",
|
||||
"hop_size:怎么算音量曲线,越小精度越大计算量越高(不是精度越大效果越好)": "HOP_SIZE: Como calcular a curva de volume, quanto menor a precisão, maior a quantidade de cálculos (não significa que quanto maior a precisão, melhor o efeito)",
|
||||
"max:归一化后最大值多少": "MAX: Qual é o valor máximo após a normalização?",
|
||||
"max_sil_kept:切完后静音最多留多长": "max_sil_kept: Depois de cortar, por quanto tempo no máximo o silêncio é mantido",
|
||||
@ -66,6 +67,9 @@
|
||||
"中文": "Chinês",
|
||||
"中文教程文档:https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e": "Documentação do tutorial em chinês:https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e",
|
||||
"中英混合": "Mistura de Chinês e Inglês",
|
||||
"主参考音频(请上传3~10秒内参考音频,超过会报错!)": "Áudio de Referência Principal (Por favor, carregue um áudio de referência entre 3-10 segundos, exceder esse limite causará um erro!)",
|
||||
"主参考音频的文本": "Texto do Áudio de Referência Principal",
|
||||
"主参考音频的语种": "Idioma do Áudio de Referência Principal",
|
||||
"也可批量输入音频文件, 二选一, 优先读文件夹": "Também é possível inserir arquivos de áudio em lote; escolha uma opção, preferencialmente leia a pasta.",
|
||||
"人声伴奏分离批量处理, 使用UVR5模型。": "Processamento em lote de separação de voz e acompanhamento, usando o modelo UVR5.",
|
||||
"人声提取激进程度": "Grau de agressividade da extração de voz",
|
||||
@ -73,13 +77,24 @@
|
||||
"以下模型不存在:": "Nenhum Modelo Tal:",
|
||||
"伴奏人声分离&去混响&去回声": "Separação de acompanhamento e voz & remoção de reverberação & remoção de eco",
|
||||
"使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开。<br>开启后无视填写的参考文本。": "Ao usar o modo sem texto de referência, recomenda-se usar um GPT ajustado. Se não conseguir ouvir claramente o áudio de referência (não sabe o que escrever), você pode ativar o modo e ignorar o texto de referência fornecido.",
|
||||
"使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开,开启后无视填写的参考文本。": "Recomenda-se usar um GPT ajustado ao usar o Modo Sem Texto de Referência. Se o áudio de referência não estiver claro ou não souber o que escrever, ative esta opção para ignorar o texto de referência.",
|
||||
"保存频率save_every_epoch": "Frequência de salvamento save_every_epoch",
|
||||
"保持随机": "Manter Aleatório",
|
||||
"关闭TTS推理WebUI": "Fechar TTS Inference WebUI",
|
||||
"关闭UVR5-WebUI": "Fechar UVR5-WebUI",
|
||||
"关闭打标WebUI": "Fechar Labeling WebUI",
|
||||
"凑50字一切": "Complete com 50 caracteres",
|
||||
"凑四句一切": "Complete com quatro frases",
|
||||
"分桶处理模式已关闭": "Modo de Processamento em Balde Desativado",
|
||||
"分桶处理模式已开启": "Modo de Processamento em Balde Ativado",
|
||||
"分段返回模式不支持分桶处理,已自动关闭分桶处理": "Modo de Retorno Segmentado não suporta Processamento em Balde, Processamento em Balde Desativado Automaticamente",
|
||||
"分段返回模式已开启": "Modo de Retorno Segmentado Ativado",
|
||||
"分段间隔(秒)": "Intervalo de Segmentação (Segundos)",
|
||||
"分段间隔过小,已自动设置为0.01": "Intervalo de Segmentação muito curto, automaticamente definido como 0.01",
|
||||
"切分": "Segmentação",
|
||||
"切分后文本": "Texto de Inferência Após Segmentação",
|
||||
"切分后的子音频的输出根目录": "Diretório raiz de saída do sub-áudio após o corte",
|
||||
"切分文本": "Segmentar Texto",
|
||||
"切割使用的进程数": "Número de processos para corte",
|
||||
"刷新模型路径": "Atualizar caminho do modelo",
|
||||
"前端处理后的文本(每句):": "Texto após processamento front-end (por frase):",
|
||||
@ -90,6 +105,8 @@
|
||||
"可选项:通过拖拽多个文件上传多个参考音频(建议同性),平均融合他们的音色。如不填写此项,音色由左侧单个参考音频控制。如是微调模型,建议参考音频全部在微调训练集音色内,底模不用管。": "Opcional: Faça upload de vários arquivos de áudio de referência arrastando e soltando-os (recomendado que sejam do mesmo gênero) e faça uma média dos seus tons. Se essa opção for deixada em branco, o tom será controlado pelo único áudio de referência à esquerda. Se estiver ajustando o modelo, é recomendado que todos os arquivos de áudio de referência tenham tons dentro do conjunto de treinamento de ajuste; o modelo pré-treinado pode ser ignorado.",
|
||||
"合成语音": "Voz sintetizada",
|
||||
"合格的文件夹路径格式举例: E:\\codes\\py39\\vits_vc_gpu\\白鹭霜华测试样例(去文件管理器地址栏拷就行了)。": "Exemplo de formato de caminho de pasta válido: E:\\codes\\py39\\vits_vc_gpu\\白鹭霜华测试样例 (copie do endereço da barra do gerenciador de arquivos).",
|
||||
"后续将支持转音素、手工修改音素、语音合成分步执行。": "Suporte para Conversão de Fonemas, Edição Manual de Fonemas e Síntese de Fase por Fase será adicionado no futuro.",
|
||||
"启用并行推理版本": "Ativar Versão de Inferência Paralela",
|
||||
"填切割后音频所在目录!读取的音频文件完整路径=该目录-拼接-list文件里波形对应的文件名(不是全路径)。如果留空则使用.list文件里的绝对全路径。": "Preencha o diretório onde os áudios cortados estão localizados! O caminho completo dos arquivos de áudio lidos = este diretório - concatenação com o nome do arquivo de forma correspondente no arquivo .list (não o caminho completo). Se deixar em branco, use o caminho absoluto no arquivo .list.",
|
||||
"多语种混合": "Mistura de múltiplos idiomas",
|
||||
"多语种混合(粤语)": "Mistura Multilíngue (Yue)",
|
||||
@ -98,6 +115,9 @@
|
||||
"实际输入的目标文本(每句):": "Texto alvo realmente inserido (por frase):",
|
||||
"实际输入的目标文本:": "Texto alvo realmente inserido:",
|
||||
"导出文件格式": "Formato de arquivo de exportação",
|
||||
"并行推理": "Inferência Paralela",
|
||||
"并行推理模式已关闭": "Modo de Inferência Paralela Desativado",
|
||||
"并行推理模式已开启": "Modo de Inferência Paralela Ativado",
|
||||
"开启GPT训练": "Ativar treinamento GPT",
|
||||
"开启SSL提取": "Ativar extração SSL",
|
||||
"开启SoVITS训练": "Ativar treinamento SoVITS",
|
||||
@ -107,6 +127,7 @@
|
||||
"开启打标WebUI": "Abrir Labeling WebUI",
|
||||
"开启文本获取": "Ativar obtenção de texto",
|
||||
"开启无参考文本模式。不填参考文本亦相当于开启。": "Ativar o modo sem texto de referência. Não preencher o texto de referência também equivale a ativar.",
|
||||
"开启无参考文本模式。不填参考文本亦相当于开启。v3暂不支持该模式,使用了会报错。": "Ativar Modo Sem Texto de Referência. Deixar o campo de texto de referência em branco equivale a ativar este modo. v3 não suporta este modo atualmente, usar causará um erro.",
|
||||
"开启离线批量ASR": "Ativar ASR offline em lote",
|
||||
"开启语义token提取": "Ativar extração de token semântico",
|
||||
"开启语音切割": "Ativar corte de voz",
|
||||
@ -122,7 +143,11 @@
|
||||
"按中文句号。切": "Dividir por ponto final chinês",
|
||||
"按标点符号切": "Dividir por sinais de pontuação",
|
||||
"按英文句号.切": "Dividir por ponto final em inglês",
|
||||
"推理设置": "Configurações de Inferência",
|
||||
"提取文本Bert特征": "Extrair Características BERT do Texto",
|
||||
"数据分桶(并行推理时会降低一点计算量)": "Agrupamento de Dados (Reduz o Custo Computacional na Inferência Paralela)",
|
||||
"数据类型精度": "precisão do tipo de dado",
|
||||
"文本切分工具。太长的文本合成出来效果不一定好,所以太长建议先切。合成会根据文本的换行分开合成再拼起来。": "Ferramenta de Segmentação de Texto. Textos muito longos podem não resultar em uma boa síntese, então é recomendado segmentar. A síntese será feita com base nas quebras de linha e depois concatenada.",
|
||||
"文本模块学习率权重": "Weight da taxa de aprendizado do módulo de texto",
|
||||
"文本进程输出信息": "Informações de saída do processo de texto",
|
||||
"施工中,请静候佳音": "Em construção, por favor, aguarde por um bom som",
|
||||
@ -146,6 +171,7 @@
|
||||
"终止SSL提取进程": "Encerrar processo de extração SSL",
|
||||
"终止SoVITS训练": "Encerrar treinamento SoVITS",
|
||||
"终止一键三连": "Encerrar um clique",
|
||||
"终止合成": "Terminar Síntese",
|
||||
"终止文本获取进程": "Encerrar processo de obtenção de texto",
|
||||
"终止语义token提取进程": "Encerrar processo de extração de token semântico",
|
||||
"终止语音切割": "Encerrar corte de voz",
|
||||
@ -158,6 +184,7 @@
|
||||
"语义token提取进程输出信息": "Informações de saída do processo de extração de token semântico",
|
||||
"语速": "Velocidade da fala",
|
||||
"语速调整,高为更快": "Ajustar a velocidade da fala, mais alta para mais rápido",
|
||||
"语速调节不支持分桶处理,已自动关闭分桶处理": "Ajuste de Velocidade de Fala não suporta Processamento em Balde, Processamento em Balde Desativado Automaticamente",
|
||||
"语音切割进程输出信息": "Informações de saída do processo de corte de voz",
|
||||
"语音降噪进程输出信息": "Informações de saída do processo de redução de ruído de voz",
|
||||
"请上传3~10秒内参考音频,超过会报错!": "Por favor, faça upload de um áudio de referência com duração entre 3 e 10 segundos. Áudios fora dessa faixa causarão erro!",
|
||||
@ -166,9 +193,11 @@
|
||||
"请填入正确的List路径": "Por Favor, Insira o Caminho Correto da Lista",
|
||||
"请填入正确的音频文件夹路径": "Por Favor, Insira o Caminho Correto da Pasta de Áudio",
|
||||
"请输入有效文本": "Por favor, insira um texto válido",
|
||||
"路径不存在,使用默认配置": "Caminhos Não Encontrados, Usando Configuração Padrão",
|
||||
"路径不能为空": "Esperado Caminho Não Vazio",
|
||||
"路径错误": "Erro de Caminho",
|
||||
"转换": "Converter",
|
||||
"辅参考音频(可选多个,或不选)": "Áudio de Referência Secundário (Múltiplos Opcionais ou Nenhum)",
|
||||
"输入待处理音频文件夹路径": "Caminho da pasta de arquivos de áudio a ser processados",
|
||||
"输入文件夹路径": "Caminho da pasta de entrada",
|
||||
"输出logs/实验名目录下应有23456开头的文件和文件夹": "Logs de saída/deve haver arquivos e pastas começando com 23456 no diretório do nome do experimento",
|
||||
@ -176,13 +205,19 @@
|
||||
"输出文件夹路径": "Caminho da pasta de saída",
|
||||
"输出的语音": "Áudio de saída",
|
||||
"选择训练完存放在SoVITS_weights和GPT_weights下的模型。默认的一个是底模,体验5秒Zero Shot TTS用。": "Selecione os modelos armazenados em Sovits_weights e GPT_WEIGHTS. O padrão é o modelo inferior, experiência para 5 segundos de Zero Shot TTS",
|
||||
"采样步数,如果觉得电,提高试试,如果觉得慢,降低试试": "Passos de Amostragem: Se parecer ruidoso, tente aumentar; se parecer lento, tente diminuir",
|
||||
"重复惩罚": "Penalidade de Repetição",
|
||||
"降噪结果输出文件夹": "Pasta de saída dos resultados de redução de ruído",
|
||||
"降噪音频文件输入文件夹": "Pasta de entrada dos arquivos de áudio para redução de ruído",
|
||||
"随机种子": "Semente Aleatória",
|
||||
"需要合成的切分前文本": "Texto de Inferência Antes da Segmentação",
|
||||
"需要合成的文本": "Texto a ser sintetizado",
|
||||
"需要合成的文本的语种": "Idioma do Texto de Inferência",
|
||||
"需要合成的语种": "Idioma a ser sintetizado",
|
||||
"韩文": "Coreano",
|
||||
"韩英混合": "Mistura Coreano-Inglês",
|
||||
"音频加载失败": "Falha ao Carregar o Áudio",
|
||||
"音频文件不存在,跳过:": "Arquivo de Áudio Não Encontrado, Pulando: ",
|
||||
"音频自动切分输入路径,可文件可文件夹": "Caminho de entrada automático de corte de áudio, pode ser um arquivo ou uma pasta",
|
||||
"预训练的GPT模型路径": "Caminho do modelo GPT pre-train",
|
||||
"预训练的SSL模型路径": "Caminho do modelo SSL pre-train",
|
||||
|
@ -52,6 +52,7 @@
|
||||
"UVR5已开启": "UVR5 включен",
|
||||
"UVR5进程输出信息": "Вывод информации процесса UVR5",
|
||||
"alpha_mix:混多少比例归一化后音频进来": "alpha_mix:Какая доля нормализованного аудио смешивается",
|
||||
"batch_size": "размер пакета",
|
||||
"hop_size:怎么算音量曲线,越小精度越大计算量越高(不是精度越大效果越好)": "hop_size:Как рассчитывается кривая громкости, чем меньше, тем выше точность и больше вычислительная нагрузка (большая точность не всегда означает лучший результат)",
|
||||
"max:归一化后最大值多少": "max:Максимальное значение после нормализации",
|
||||
"max_sil_kept:切完后静音最多留多长": "max_sil_kept:Максимальная длительность тишины после разреза",
|
||||
@ -66,6 +67,9 @@
|
||||
"中文": "Китайский",
|
||||
"中文教程文档:https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e": "Документация на китайском языке:https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e",
|
||||
"中英混合": "Китайский и английский",
|
||||
"主参考音频(请上传3~10秒内参考音频,超过会报错!)": "Основной опорный аудиофайл (пожалуйста, загрузите опорный аудиофайл длительностью от 3 до 10 секунд, превышение этого лимита вызовет ошибку!)",
|
||||
"主参考音频的文本": "Текст основного опорного аудиофайла",
|
||||
"主参考音频的语种": "Язык основного опорного аудиофайла",
|
||||
"也可批量输入音频文件, 二选一, 优先读文件夹": "Можно также импортировать несколько аудиофайлов. Если путь к папке существует, то этот ввод игнорируется.",
|
||||
"人声伴奏分离批量处理, 使用UVR5模型。": "Обработка разделения вокала и аккомпанемента пакетно с использованием модели UVR5.",
|
||||
"人声提取激进程度": "Степень агрессивности извлечения вокала",
|
||||
@ -73,13 +77,24 @@
|
||||
"以下模型不存在:": "Этот модель не существует",
|
||||
"伴奏人声分离&去混响&去回声": "Разделение вокала/аккомпанемента и удаление эхо",
|
||||
"使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开。<br>开启后无视填写的参考文本。": "При использовании режима без референсного текста рекомендуется использовать настроенную модель GPT. Если не удается разобрать, что говорит референсное аудио (не знаете, что писать), можете включить этот режим, и он проигнорирует введенный референсный текст.",
|
||||
"使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开,开启后无视填写的参考文本。": "Рекомендуется использовать тонко настроенный GPT при использовании режима без опорного текста. Если опорный аудиофайл нечеткий или не уверены, что писать, включите эту опцию, чтобы игнорировать опорный текст.",
|
||||
"保存频率save_every_epoch": "Частота сохранения save_every_epoch",
|
||||
"保持随机": "Сохранить случайное значение",
|
||||
"关闭TTS推理WebUI": "Закрыть TTS Inference WebUI",
|
||||
"关闭UVR5-WebUI": "Закрыть UVR5-WebUI",
|
||||
"关闭打标WebUI": "Закрыть Labeling WebUI",
|
||||
"凑50字一切": "Соберите все в 50 символов",
|
||||
"凑四句一切": "Собрать четыре предложения и разрезать",
|
||||
"分桶处理模式已关闭": "Режим обработки пакетов отключен",
|
||||
"分桶处理模式已开启": "Режим обработки пакетов включен",
|
||||
"分段返回模式不支持分桶处理,已自动关闭分桶处理": "Режим сегментированного возврата не поддерживает обработку пакетов, обработка пакетов отключена автоматически",
|
||||
"分段返回模式已开启": "Режим сегментированного возврата включен",
|
||||
"分段间隔(秒)": "Интервал сегментации (секунды)",
|
||||
"分段间隔过小,已自动设置为0.01": "Интервал сегментации слишком короткий, автоматически установлен на 0.01",
|
||||
"切分": "Сегментация",
|
||||
"切分后文本": "Текст для синтеза после сегментации",
|
||||
"切分后的子音频的输出根目录": "Корневой каталог вывода для подаудио после разделения",
|
||||
"切分文本": "Сегментировать текст",
|
||||
"切割使用的进程数": "Количество процессов, используемых для разрезания",
|
||||
"刷新模型路径": "Обновить путь к модели",
|
||||
"前端处理后的文本(每句):": "Текст после предварительной обработки (каждое предложение):",
|
||||
@ -90,6 +105,8 @@
|
||||
"可选项:通过拖拽多个文件上传多个参考音频(建议同性),平均融合他们的音色。如不填写此项,音色由左侧单个参考音频控制。如是微调模型,建议参考音频全部在微调训练集音色内,底模不用管。": "Необязательно: загрузите несколько файлов с эталонными аудиозаписями, перетащив их (рекомендуется одного пола), и усредните их тон. Если этот параметр не заполнен, тон будет контролироваться одной эталонной аудиозаписью слева. При тонкой настройке модели рекомендуется, чтобы все эталонные аудиозаписи имели тон в пределах обучающего набора для тонкой настройки; предварительно обученную модель можно игнорировать.",
|
||||
"合成语音": "Синтезированный голос",
|
||||
"合格的文件夹路径格式举例: E:\\codes\\py39\\vits_vc_gpu\\白鹭霜华测试样例(去文件管理器地址栏拷就行了)。": "Пример допустимого формата пути к папке: E:\\codes\\py39\\vits_vc_gpu\\白鹭霜华测试样例 (просто скопируйте из адресной строки файлового менеджера).",
|
||||
"后续将支持转音素、手工修改音素、语音合成分步执行。": "В будущем будет добавлена поддержка преобразования в фонемы, ручного редактирования фонемов и пошагового выполнения синтеза речи.",
|
||||
"启用并行推理版本": "Включить параллельную версию вывода",
|
||||
"填切割后音频所在目录!读取的音频文件完整路径=该目录-拼接-list文件里波形对应的文件名(不是全路径)。如果留空则使用.list文件里的绝对全路径。": "Заполните каталог, где находятся аудиофайлы после разрезания! Полный путь к читаемым аудиофайлам = каталог - файл .list, имя файла соответствует волне (не полный путь). Если оставить пустым, будет использоваться абсолютный путь из файла .list.",
|
||||
"多语种混合": "Смешанные языки",
|
||||
"多语种混合(粤语)": "Многоязычная смесь (кантонский)",
|
||||
@ -98,6 +115,9 @@
|
||||
"实际输入的目标文本(每句):": "Фактически введенный целевой текст (каждое предложение):",
|
||||
"实际输入的目标文本:": "Фактически введенный целевой текст:",
|
||||
"导出文件格式": "Формат выходных файлов",
|
||||
"并行推理": "Параллельный вывод",
|
||||
"并行推理模式已关闭": "Режим параллельного вывода отключен",
|
||||
"并行推理模式已开启": "Режим параллельного вывода включен",
|
||||
"开启GPT训练": "Включить обучение GPT",
|
||||
"开启SSL提取": "Включить извлечение SSL",
|
||||
"开启SoVITS训练": "Включить обучение SoVITS",
|
||||
@ -107,6 +127,7 @@
|
||||
"开启打标WebUI": "Открыть Labeling WebUI",
|
||||
"开启文本获取": "Включить получение текста",
|
||||
"开启无参考文本模式。不填参考文本亦相当于开启。": "Включить режим без референтного текста. Не заполняя референтный текст, вы также включаете этот режим.",
|
||||
"开启无参考文本模式。不填参考文本亦相当于开启。v3暂不支持该模式,使用了会报错。": "Включить режим без опорного текста. Не заполнять опорный текст также эквивалентно включению этого режима. v3 пока не поддерживает этот режим, его использование вызовет ошибку.",
|
||||
"开启离线批量ASR": "Включить пакетную офлайн ASR",
|
||||
"开启语义token提取": "Включить извлечение семантических токенов",
|
||||
"开启语音切割": "Включить разрезание речи",
|
||||
@ -122,7 +143,11 @@
|
||||
"按中文句号。切": "Разделение по китайским точкам.",
|
||||
"按标点符号切": "Разрезать по пунктуационным знакам",
|
||||
"按英文句号.切": "Разрезать по английской точке.",
|
||||
"推理设置": "Настройки вывода",
|
||||
"提取文本Bert特征": "Извлечь текстовые признаки BERT",
|
||||
"数据分桶(并行推理时会降低一点计算量)": "Разбиение данных на пакеты (уменьшает вычислительные затраты при параллельном выводе)",
|
||||
"数据类型精度": "точность типа данных",
|
||||
"文本切分工具。太长的文本合成出来效果不一定好,所以太长建议先切。合成会根据文本的换行分开合成再拼起来。": "Инструмент для сегментации текста. Очень длинный текст может не дать хороших результатов синтеза, поэтому рекомендуется сначала разбить его на сегменты. Синтез будет выполняться на основе разрывов строк, а затем объединяться.",
|
||||
"文本模块学习率权重": "Веса скорости обучения текстового модуля",
|
||||
"文本进程输出信息": "Информация о процессе обработки текста",
|
||||
"施工中,请静候佳音": "В разработке, ожидайте хороших новостей",
|
||||
@ -146,6 +171,7 @@
|
||||
"终止SSL提取进程": "Прекратить процесс извлечения SSL",
|
||||
"终止SoVITS训练": "Прекратить обучение SoVITS",
|
||||
"终止一键三连": "Прекратить одно нажатие",
|
||||
"终止合成": "Завершить синтез",
|
||||
"终止文本获取进程": "Прекратить процесс получения текста",
|
||||
"终止语义token提取进程": "Прекратить процесс извлечения семантических токенов",
|
||||
"终止语音切割": "Прекратить разрезание речи",
|
||||
@ -158,6 +184,7 @@
|
||||
"语义token提取进程输出信息": "Информация о процессе извлечения семантических токенов",
|
||||
"语速": "Скорость речи",
|
||||
"语速调整,高为更快": "Регулировка скорости речи, чем выше, тем быстрее",
|
||||
"语速调节不支持分桶处理,已自动关闭分桶处理": "Регулировка скорости речи не поддерживает обработку пакетов, обработка пакетов отключена автоматически",
|
||||
"语音切割进程输出信息": "Информация о процессе разрезания речи",
|
||||
"语音降噪进程输出信息": "Информация о процессе шумоподавления",
|
||||
"请上传3~10秒内参考音频,超过会报错!": "Пожалуйста, загрузите референтное аудио длительностью от 3 до 10 секунд, иначе будет ошибка!",
|
||||
@ -166,9 +193,11 @@
|
||||
"请填入正确的List路径": "Пожалуйста, укажите правильный путь к списку",
|
||||
"请填入正确的音频文件夹路径": "Пожалуйста, укажите правильный путь к папке с аудио",
|
||||
"请输入有效文本": "Введите действительный текст",
|
||||
"路径不存在,使用默认配置": "Путь не найден, используется конфигурация по умолчанию",
|
||||
"路径不能为空": "Ожидается, что путь не будет пустым",
|
||||
"路径错误": "Ошибка пути",
|
||||
"转换": "Преобразовать",
|
||||
"辅参考音频(可选多个,或不选)": "Дополнительный опорный аудиофайл (несколько файлов по желанию или ни одного)",
|
||||
"输入待处理音频文件夹路径": "Путь к папке с аудиофайлами для обработки:",
|
||||
"输入文件夹路径": "Введите путь к папке",
|
||||
"输出logs/实验名目录下应有23456开头的文件和文件夹": "В директории logs/имя_эксперимента должны быть файлы и папки, начинающиеся с 23456",
|
||||
@ -176,13 +205,19 @@
|
||||
"输出文件夹路径": "Путь к папке для вывода",
|
||||
"输出的语音": "Выводимый звук",
|
||||
"选择训练完存放在SoVITS_weights和GPT_weights下的模型。默认的一个是底模,体验5秒Zero Shot TTS用。": "Выберите модель, сохраненную в SoVITS_weights и GPT_weights после обучения. По умолчанию используется базовая модель для 5-секундного Zero Shot TTS.",
|
||||
"采样步数,如果觉得电,提高试试,如果觉得慢,降低试试": "Количество шагов выборки: если кажется, что шумно, попробуйте увеличить, если кажется, что медленно, попробуйте уменьшить",
|
||||
"重复惩罚": "Штраф за повторение",
|
||||
"降噪结果输出文件夹": "Папка для вывода результатов шумоподавления",
|
||||
"降噪音频文件输入文件夹": "Папка для ввода аудиофайлов для шумоподавления",
|
||||
"随机种子": "Случайное начальное значение",
|
||||
"需要合成的切分前文本": "Текст для синтеза до сегментации",
|
||||
"需要合成的文本": "Текст для синтеза",
|
||||
"需要合成的文本的语种": "Язык текста для синтеза",
|
||||
"需要合成的语种": "Язык для синтеза",
|
||||
"韩文": "Корейский",
|
||||
"韩英混合": "Корейско-английская смесь",
|
||||
"音频加载失败": "Не удалось загрузить аудио",
|
||||
"音频文件不存在,跳过:": "Аудиофайл не найден, пропускается: ",
|
||||
"音频自动切分输入路径,可文件可文件夹": "Путь ввода для автоматического разделения аудио, может быть файлом или папкой",
|
||||
"预训练的GPT模型路径": "Путь к предварительно обученной модели GPT",
|
||||
"预训练的SSL模型路径": "Путь к предварительно обученной модели SSL",
|
||||
|
@ -52,6 +52,7 @@
|
||||
"UVR5已开启": "UVR5 açıldı",
|
||||
"UVR5进程输出信息": "UVR5 işlem çıktı bilgisi",
|
||||
"alpha_mix:混多少比例归一化后音频进来": "alpha_mix:Normalizasyondan sonraki sesin ne kadarlık bir oranı karıştırılsın",
|
||||
"batch_size": "Toplu Boyut",
|
||||
"hop_size:怎么算音量曲线,越小精度越大计算量越高(不是精度越大效果越好)": "hop_size:Ses seviyesi eğrisi nasıl hesaplanır, ne kadar küçükse hassasiyet o kadar yüksek ve hesaplama yükü o kadar artar (hassasiyet arttıkça etki mutlaka daha iyi olmaz)",
|
||||
"max:归一化后最大值多少": "max:Normalizasyondan sonra maksimum değer ne kadar",
|
||||
"max_sil_kept:切完后静音最多留多长": "max_sil_kept:Kesimden sonra en fazla ne kadar sessizlik bırakılır",
|
||||
@ -66,6 +67,9 @@
|
||||
"中文": "Çince",
|
||||
"中文教程文档:https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e": "Çince öğretici belge:https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e",
|
||||
"中英混合": "Çince ve İngilizce karışık",
|
||||
"主参考音频(请上传3~10秒内参考音频,超过会报错!)": "Ana Referans Sesi (Lütfen 3-10 saniye arasında referans sesi yükleyin, bu sınırı aşarsanız hata alırsınız!)",
|
||||
"主参考音频的文本": "Ana Referans Sesinin Metni",
|
||||
"主参考音频的语种": "Ana Referans Sesinin Dili",
|
||||
"也可批量输入音频文件, 二选一, 优先读文件夹": "Ses dosyaları ayrıca toplu olarak, iki seçimle, öncelikli okuma klasörüyle içe aktarılabilir",
|
||||
"人声伴奏分离批量处理, 使用UVR5模型。": "Vokal ve akor ayırma toplu işleme, UVR5 modelini kullanarak.",
|
||||
"人声提取激进程度": "Vokal çıkarma agresiflik derecesi",
|
||||
@ -73,13 +77,24 @@
|
||||
"以下模型不存在:": "Böyle bir model yok:",
|
||||
"伴奏人声分离&去混响&去回声": "Vokal/Müzik Ayrıştırma ve Yankı Giderme",
|
||||
"使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开。<br>开启后无视填写的参考文本。": "Referans metin modu olmadan kullanıldığında, referans sesi net duyulmadığında (ne yazılacağı bilinmiyorsa) açık bırakılması önerilir, bu durumda girilen referans metni göz ardı edilir.",
|
||||
"使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开,开启后无视填写的参考文本。": "Referanssız Metin Modu kullanırken ince ayarlanmış bir GPT kullanılması önerilir. Referans sesi net anlaşılamıyorsa veya ne yazacağınız belli değilse, bu seçeneği etkinleştirerek referans metni yazılmasını yoksayabilirsiniz.",
|
||||
"保存频率save_every_epoch": "Kayıt sıklığı save_every_epoch",
|
||||
"保持随机": "Rastgeleliği Koru",
|
||||
"关闭TTS推理WebUI": "TTS Inference WebUI'yi Kapat",
|
||||
"关闭UVR5-WebUI": "UVR5-WebUI'yi Kapat",
|
||||
"关闭打标WebUI": "Labeling WebUI'yi Kapat",
|
||||
"凑50字一切": "50 kelime birleştir ve kes",
|
||||
"凑四句一切": "Dört cümleyi bir araya getirip kes",
|
||||
"分桶处理模式已关闭": "Kovaya İşleme Modu Kapalı",
|
||||
"分桶处理模式已开启": "Kovaya İşleme Modu Etkin",
|
||||
"分段返回模式不支持分桶处理,已自动关闭分桶处理": "Bölümlü Dönüş Modu Kovaya İşlemeyi Desteklemediği İçin Kovaya İşleme Otomatik Olarak Kapatılmıştır",
|
||||
"分段返回模式已开启": "Bölümlü Dönüş Modu Etkin",
|
||||
"分段间隔(秒)": "Bölüm Aralığı (Saniye)",
|
||||
"分段间隔过小,已自动设置为0.01": "Bölüm Aralığı Çok Kısa, Otomatik Olarak 0.01 Olarak Ayarlanmıştır",
|
||||
"切分": "Bölümleme",
|
||||
"切分后文本": "Bölümlenmiş Metin",
|
||||
"切分后的子音频的输出根目录": "Bölündükten sonra alt ses dosyalarının çıktı kök dizini",
|
||||
"切分文本": "Metni Bölümle",
|
||||
"切割使用的进程数": "Kesim için kullanılan işlem sayısı",
|
||||
"刷新模型路径": "Model yolu yenile",
|
||||
"前端处理后的文本(每句):": "Ön işleme tabi tutulan metin (her cümle):",
|
||||
@ -90,6 +105,8 @@
|
||||
"可选项:通过拖拽多个文件上传多个参考音频(建议同性),平均融合他们的音色。如不填写此项,音色由左侧单个参考音频控制。如是微调模型,建议参考音频全部在微调训练集音色内,底模不用管。": "İsteğe bağlı: Birden fazla referans ses dosyasını sürükleyip bırakarak yükleyin (aynı cinsiyetten olmaları önerilir) ve tonlarını ortalayın. Bu seçenek boş bırakılırsa, ton soldaki tek referans ses dosyası tarafından kontrol edilir. Modeli ince ayar yapıyorsanız, tüm referans ses dosyalarının ince ayar eğitim seti içindeki tonlara sahip olması önerilir; önceden eğitilmiş model dikkate alınmayabilir.",
|
||||
"合成语音": "Ses sentezi",
|
||||
"合格的文件夹路径格式举例: E:\\codes\\py39\\vits_vc_gpu\\白鹭霜华测试样例(去文件管理器地址栏拷就行了)。": "Geçerli klasör yolu formatı örneği: E:\\codes\\py39\\vits_vc_gpu\\白鹭霜华测试样例 (dosya yöneticisi adres çubuğundan kopyalayabilirsiniz).",
|
||||
"后续将支持转音素、手工修改音素、语音合成分步执行。": "Sonraki sürümlerde fonem dönüşümü, el ile fonem düzenleme ve adım adım konuşma sentezi desteği eklenecek.",
|
||||
"启用并行推理版本": "Paralel Çıkarım Versiyonunu Etkinleştir",
|
||||
"填切割后音频所在目录!读取的音频文件完整路径=该目录-拼接-list文件里波形对应的文件名(不是全路径)。如果留空则使用.list文件里的绝对全路径。": "Kesmeye uygun ses dosyalarının bulunduğu dizini doldurun! Okunan ses dosyasının tam yolu = bu dizin + list dosyasındaki dalga biçimiyle eşleşen dosya adı (tam yol değil). Boş bırakılırsa, .list dosyasındaki tam yol kullanılır.",
|
||||
"多语种混合": "Çok dilli karışım",
|
||||
"多语种混合(粤语)": "Çok dilli karışık (Yue)",
|
||||
@ -98,6 +115,9 @@
|
||||
"实际输入的目标文本(每句):": "Gerçekten girilen hedef metin (her cümle):",
|
||||
"实际输入的目标文本:": "Gerçekten girilen hedef metin:",
|
||||
"导出文件格式": "Dışa aktarma dosya formatı",
|
||||
"并行推理": "Paralel Çıkarım",
|
||||
"并行推理模式已关闭": "Paralel Çıkarım Modu Kapalı",
|
||||
"并行推理模式已开启": "Paralel Çıkarım Modu Etkin",
|
||||
"开启GPT训练": "GPT eğitimini başlat",
|
||||
"开启SSL提取": "SSL çıkarmayı başlat",
|
||||
"开启SoVITS训练": "SoVITS eğitimini başlat",
|
||||
@ -107,6 +127,7 @@
|
||||
"开启打标WebUI": "Labeling WebUI'yi Aç",
|
||||
"开启文本获取": "Metin alma başlat",
|
||||
"开启无参考文本模式。不填参考文本亦相当于开启。": "Referans metni olmayan mod açık. Referans metni doldurulmazsa bu mod otomatik olarak açılır.",
|
||||
"开启无参考文本模式。不填参考文本亦相当于开启。v3暂不支持该模式,使用了会报错。": "Referanssız Metin Modunu Etkinleştir. Referans metni boş bırakmak da bu modu etkinleştirmekle eşdeğerdir. v3 bu modu henüz desteklemiyor, kullanılırsa hata verecektir.",
|
||||
"开启离线批量ASR": "Offline toplu ASR başlat",
|
||||
"开启语义token提取": "Anlamsal token çıkarmayı başlat",
|
||||
"开启语音切割": "Ses kesimi başlat",
|
||||
@ -122,7 +143,11 @@
|
||||
"按中文句号。切": "Çince dönem işaretine göre kes",
|
||||
"按标点符号切": "Noktalama işaretlerine göre kes",
|
||||
"按英文句号.切": "İngilizce nokta işaretine göre kes",
|
||||
"推理设置": "Çıkarım Ayarları",
|
||||
"提取文本Bert特征": "Metin BERT Özelliklerini Çıkar",
|
||||
"数据分桶(并行推理时会降低一点计算量)": "Veri Kovaya Ayrılması (Paralel Çıkarımda Hesaplama Maliyetini Azaltır)",
|
||||
"数据类型精度": "veri türü doğruluğu",
|
||||
"文本切分工具。太长的文本合成出来效果不一定好,所以太长建议先切。合成会根据文本的换行分开合成再拼起来。": "Metin Bölümleme Aracı. Çok uzun metinlerin sentez sonuçları iyi olmayabilir, bu nedenle uzun metinleri önce bölümlere ayırmanız önerilir. Sentez, metnin satır sonlarına göre ayrı ayrı yapılıp sonra birleştirilecektir.",
|
||||
"文本模块学习率权重": "Metin modülü öğrenme oranı ağırlığı",
|
||||
"文本进程输出信息": "Metin işlemi çıktı bilgisi",
|
||||
"施工中,请静候佳音": "Yapım aşamasında, lütfen iyi haberler için bekleyin",
|
||||
@ -146,6 +171,7 @@
|
||||
"终止SSL提取进程": "SSL çıkarma işlemini durdur",
|
||||
"终止SoVITS训练": "SoVITS eğitimini durdur",
|
||||
"终止一键三连": "Tek tuşla üçlemeyi durdur",
|
||||
"终止合成": "Sentezi Sonlandır",
|
||||
"终止文本获取进程": "Metin alma işlemini durdur",
|
||||
"终止语义token提取进程": "Anlamsal token çıkarma işlemini durdur",
|
||||
"终止语音切割": "Ses kesimini durdur",
|
||||
@ -158,6 +184,7 @@
|
||||
"语义token提取进程输出信息": "Anlamsal token çıkarma işlemi çıktı bilgisi",
|
||||
"语速": "Konuşma hızı",
|
||||
"语速调整,高为更快": "Konuşma hızını ayarla, yüksek daha hızlı",
|
||||
"语速调节不支持分桶处理,已自动关闭分桶处理": "Konuşma Hızı Ayarlaması Kovaya İşlemeyi Desteklemediği İçin Kovaya İşleme Otomatik Olarak Kapatılmıştır",
|
||||
"语音切割进程输出信息": "Ses kesim işlemi çıktı bilgisi",
|
||||
"语音降噪进程输出信息": "Gürültü azaltma işlemi çıktı bilgisi",
|
||||
"请上传3~10秒内参考音频,超过会报错!": "Lütfen 3~10 saniye arasında bir referans ses dosyası yükleyin, aşım durumunda hata verilecektir!",
|
||||
@ -166,9 +193,11 @@
|
||||
"请填入正确的List路径": "Lütfen Doğru Liste Yolunu Girin",
|
||||
"请填入正确的音频文件夹路径": "Lütfen Doğru Ses Klasörü Yolunu Girin",
|
||||
"请输入有效文本": "Geçerli metin girin",
|
||||
"路径不存在,使用默认配置": "Yol Bulunamadı, Varsayılan Yapılandırma Kullanılıyor",
|
||||
"路径不能为空": "Boş Yol Beklenmiyor",
|
||||
"路径错误": "Yol Hatası",
|
||||
"转换": "Dönüştür",
|
||||
"辅参考音频(可选多个,或不选)": "Yardımcı Referans Sesi (İsteğe bağlı birden çok seçilebilir veya hiç seçilmeyebilir)",
|
||||
"输入待处理音频文件夹路径": "İşlenecek ses klasörünün yolunu girin:",
|
||||
"输入文件夹路径": "Dosya klasörü yolu girin",
|
||||
"输出logs/实验名目录下应有23456开头的文件和文件夹": "Çıktı logs/deney adı dizininde 23456 ile başlayan dosya ve klasörler olmalı",
|
||||
@ -176,13 +205,19 @@
|
||||
"输出文件夹路径": "Çıktı klasörü yolu",
|
||||
"输出的语音": "Çıktı sesi",
|
||||
"选择训练完存放在SoVITS_weights和GPT_weights下的模型。默认的一个是底模,体验5秒Zero Shot TTS用。": "Eğitimi tamamlanmış ve SoVITS_weights ile GPT_weights altına kaydedilmiş modeli seçin. Varsayılan bir temel modeldir, 5 saniyelik Zero Shot TTS deneyimi için kullanılır.",
|
||||
"采样步数,如果觉得电,提高试试,如果觉得慢,降低试试": "Örnekleme Adımları: Eğer gürültülü görünüyorsa, adımları artırın; eğer yavaş görünüyorsa, adımları azaltın",
|
||||
"重复惩罚": "Tekrarlama Cezası",
|
||||
"降噪结果输出文件夹": "Gürültü azaltma sonuçları çıktı klasörü",
|
||||
"降噪音频文件输入文件夹": "Gürültü azaltma ses dosyaları giriş klasörü",
|
||||
"随机种子": "Rastgele Tohum",
|
||||
"需要合成的切分前文本": "Sentez İçin Bölümlenmemiş Metin",
|
||||
"需要合成的文本": "Sentezlenmesi gereken metin",
|
||||
"需要合成的文本的语种": "Sentez Metninin Dili",
|
||||
"需要合成的语种": "Sentezlenmesi gereken dil",
|
||||
"韩文": "Korece",
|
||||
"韩英混合": "Korece-İngilizce Karışık",
|
||||
"音频加载失败": "Ses Yüklenemedi",
|
||||
"音频文件不存在,跳过:": "Ses Dosyası Bulunamadı, Atlanıyor: ",
|
||||
"音频自动切分输入路径,可文件可文件夹": "Ses otomatik bölme giriş yolu, dosya veya klasör olabilir",
|
||||
"预训练的GPT模型路径": "Ön eğitilmiş GPT model yolu",
|
||||
"预训练的SSL模型路径": "Ön eğitilmiş SSL model yolu",
|
||||
|
@ -52,6 +52,7 @@
|
||||
"UVR5已开启": "UVR5已开启",
|
||||
"UVR5进程输出信息": "UVR5进程输出信息",
|
||||
"alpha_mix:混多少比例归一化后音频进来": "alpha_mix:混多少比例归一化后音频进来",
|
||||
"batch_size": "batch_size",
|
||||
"hop_size:怎么算音量曲线,越小精度越大计算量越高(不是精度越大效果越好)": "hop_size:怎么算音量曲线,越小精度越大计算量越高(不是精度越大效果越好)",
|
||||
"max:归一化后最大值多少": "max:归一化后最大值多少",
|
||||
"max_sil_kept:切完后静音最多留多长": "max_sil_kept:切完后静音最多留多长",
|
||||
@ -66,6 +67,9 @@
|
||||
"中文": "中文",
|
||||
"中文教程文档:https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e": "中文教程文档:https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e",
|
||||
"中英混合": "中英混合",
|
||||
"主参考音频(请上传3~10秒内参考音频,超过会报错!)": "主参考音频(请上传3~10秒内参考音频,超过会报错!)",
|
||||
"主参考音频的文本": "主参考音频的文本",
|
||||
"主参考音频的语种": "主参考音频的语种",
|
||||
"也可批量输入音频文件, 二选一, 优先读文件夹": "也可批量输入音频文件, 二选一, 优先读文件夹",
|
||||
"人声伴奏分离批量处理, 使用UVR5模型。": "人声伴奏分离批量处理, 使用UVR5模型。",
|
||||
"人声提取激进程度": "人声提取激进程度",
|
||||
@ -73,13 +77,24 @@
|
||||
"以下模型不存在:": "以下模型不存在:",
|
||||
"伴奏人声分离&去混响&去回声": "伴奏人声分离&去混响&去回声",
|
||||
"使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开。<br>开启后无视填写的参考文本。": "使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开。<br>开启后无视填写的参考文本。",
|
||||
"使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开,开启后无视填写的参考文本。": "使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开,开启后无视填写的参考文本。",
|
||||
"保存频率save_every_epoch": "保存频率save_every_epoch",
|
||||
"保持随机": "保持随机",
|
||||
"关闭TTS推理WebUI": "关闭TTS推理WebUI",
|
||||
"关闭UVR5-WebUI": "关闭UVR5-WebUI",
|
||||
"关闭打标WebUI": "关闭打标WebUI",
|
||||
"凑50字一切": "凑50字一切",
|
||||
"凑四句一切": "凑四句一切",
|
||||
"分桶处理模式已关闭": "分桶处理模式已关闭",
|
||||
"分桶处理模式已开启": "分桶处理模式已开启",
|
||||
"分段返回模式不支持分桶处理,已自动关闭分桶处理": "分段返回模式不支持分桶处理,已自动关闭分桶处理",
|
||||
"分段返回模式已开启": "分段返回模式已开启",
|
||||
"分段间隔(秒)": "分段间隔(秒)",
|
||||
"分段间隔过小,已自动设置为0.01": "分段间隔过小,已自动设置为0.01",
|
||||
"切分": "切分",
|
||||
"切分后文本": "切分后文本",
|
||||
"切分后的子音频的输出根目录": "切分后的子音频的输出根目录",
|
||||
"切分文本": "切分文本",
|
||||
"切割使用的进程数": "切割使用的进程数",
|
||||
"刷新模型路径": "刷新模型路径",
|
||||
"前端处理后的文本(每句):": "前端处理后的文本(每句):",
|
||||
@ -90,6 +105,8 @@
|
||||
"可选项:通过拖拽多个文件上传多个参考音频(建议同性),平均融合他们的音色。如不填写此项,音色由左侧单个参考音频控制。如是微调模型,建议参考音频全部在微调训练集音色内,底模不用管。": "可选项:通过拖拽多个文件上传多个参考音频(建议同性),平均融合他们的音色。如不填写此项,音色由左侧单个参考音频控制。如是微调模型,建议参考音频全部在微调训练集音色内,底模不用管。",
|
||||
"合成语音": "合成语音",
|
||||
"合格的文件夹路径格式举例: E:\\codes\\py39\\vits_vc_gpu\\白鹭霜华测试样例(去文件管理器地址栏拷就行了)。": "合格的文件夹路径格式举例: E:\\codes\\py39\\vits_vc_gpu\\白鹭霜华测试样例(去文件管理器地址栏拷就行了)。",
|
||||
"后续将支持转音素、手工修改音素、语音合成分步执行。": "后续将支持转音素、手工修改音素、语音合成分步执行。",
|
||||
"启用并行推理版本": "启用并行推理版本",
|
||||
"填切割后音频所在目录!读取的音频文件完整路径=该目录-拼接-list文件里波形对应的文件名(不是全路径)。如果留空则使用.list文件里的绝对全路径。": "填切割后音频所在目录!读取的音频文件完整路径=该目录-拼接-list文件里波形对应的文件名(不是全路径)。如果留空则使用.list文件里的绝对全路径。",
|
||||
"多语种混合": "多语种混合",
|
||||
"多语种混合(粤语)": "多语种混合(粤语)",
|
||||
@ -98,6 +115,9 @@
|
||||
"实际输入的目标文本(每句):": "实际输入的目标文本(每句):",
|
||||
"实际输入的目标文本:": "实际输入的目标文本:",
|
||||
"导出文件格式": "导出文件格式",
|
||||
"并行推理": "并行推理",
|
||||
"并行推理模式已关闭": "并行推理模式已关闭",
|
||||
"并行推理模式已开启": "并行推理模式已开启",
|
||||
"开启GPT训练": "开启GPT训练",
|
||||
"开启SSL提取": "开启SSL提取",
|
||||
"开启SoVITS训练": "开启SoVITS训练",
|
||||
@ -107,6 +127,7 @@
|
||||
"开启打标WebUI": "开启打标WebUI",
|
||||
"开启文本获取": "开启文本获取",
|
||||
"开启无参考文本模式。不填参考文本亦相当于开启。": "开启无参考文本模式。不填参考文本亦相当于开启。",
|
||||
"开启无参考文本模式。不填参考文本亦相当于开启。v3暂不支持该模式,使用了会报错。": "开启无参考文本模式。不填参考文本亦相当于开启。v3暂不支持该模式,使用了会报错。",
|
||||
"开启离线批量ASR": "开启离线批量ASR",
|
||||
"开启语义token提取": "开启语义token提取",
|
||||
"开启语音切割": "开启语音切割",
|
||||
@ -122,7 +143,11 @@
|
||||
"按中文句号。切": "按中文句号。切",
|
||||
"按标点符号切": "按标点符号切",
|
||||
"按英文句号.切": "按英文句号.切",
|
||||
"推理设置": "推理设置",
|
||||
"提取文本Bert特征": "提取文本Bert特征",
|
||||
"数据分桶(并行推理时会降低一点计算量)": "数据分桶(并行推理时会降低一点计算量)",
|
||||
"数据类型精度": "数据类型精度",
|
||||
"文本切分工具。太长的文本合成出来效果不一定好,所以太长建议先切。合成会根据文本的换行分开合成再拼起来。": "文本切分工具。太长的文本合成出来效果不一定好,所以太长建议先切。合成会根据文本的换行分开合成再拼起来。",
|
||||
"文本模块学习率权重": "文本模块学习率权重",
|
||||
"文本进程输出信息": "文本进程输出信息",
|
||||
"施工中,请静候佳音": "施工中,请静候佳音",
|
||||
@ -146,6 +171,7 @@
|
||||
"终止SSL提取进程": "终止SSL提取进程",
|
||||
"终止SoVITS训练": "终止SoVITS训练",
|
||||
"终止一键三连": "终止一键三连",
|
||||
"终止合成": "终止合成",
|
||||
"终止文本获取进程": "终止文本获取进程",
|
||||
"终止语义token提取进程": "终止语义token提取进程",
|
||||
"终止语音切割": "终止语音切割",
|
||||
@ -158,6 +184,7 @@
|
||||
"语义token提取进程输出信息": "语义token提取进程输出信息",
|
||||
"语速": "语速",
|
||||
"语速调整,高为更快": "语速调整,高为更快",
|
||||
"语速调节不支持分桶处理,已自动关闭分桶处理": "语速调节不支持分桶处理,已自动关闭分桶处理",
|
||||
"语音切割进程输出信息": "语音切割进程输出信息",
|
||||
"语音降噪进程输出信息": "语音降噪进程输出信息",
|
||||
"请上传3~10秒内参考音频,超过会报错!": "请上传3~10秒内参考音频,超过会报错!",
|
||||
@ -166,9 +193,11 @@
|
||||
"请填入正确的List路径": "请填入正确的List路径",
|
||||
"请填入正确的音频文件夹路径": "请填入正确的音频文件夹路径",
|
||||
"请输入有效文本": "请输入有效文本",
|
||||
"路径不存在,使用默认配置": "路径不存在,使用默认配置",
|
||||
"路径不能为空": "路径不能为空",
|
||||
"路径错误": "路径错误",
|
||||
"转换": "转换",
|
||||
"辅参考音频(可选多个,或不选)": "辅参考音频(可选多个,或不选)",
|
||||
"输入待处理音频文件夹路径": "输入待处理音频文件夹路径",
|
||||
"输入文件夹路径": "输入文件夹路径",
|
||||
"输出logs/实验名目录下应有23456开头的文件和文件夹": "输出logs/实验名目录下应有23456开头的文件和文件夹",
|
||||
@ -176,13 +205,19 @@
|
||||
"输出文件夹路径": "输出文件夹路径",
|
||||
"输出的语音": "输出的语音",
|
||||
"选择训练完存放在SoVITS_weights和GPT_weights下的模型。默认的一个是底模,体验5秒Zero Shot TTS用。": "选择训练完存放在SoVITS_weights和GPT_weights下的模型。默认的一个是底模,体验5秒Zero Shot TTS用。",
|
||||
"采样步数,如果觉得电,提高试试,如果觉得慢,降低试试": "采样步数,如果觉得电,提高试试,如果觉得慢,降低试试",
|
||||
"重复惩罚": "重复惩罚",
|
||||
"降噪结果输出文件夹": "降噪结果输出文件夹",
|
||||
"降噪音频文件输入文件夹": "降噪音频文件输入文件夹",
|
||||
"随机种子": "随机种子",
|
||||
"需要合成的切分前文本": "需要合成的切分前文本",
|
||||
"需要合成的文本": "需要合成的文本",
|
||||
"需要合成的文本的语种": "需要合成的文本的语种",
|
||||
"需要合成的语种": "需要合成的语种",
|
||||
"韩文": "韩文",
|
||||
"韩英混合": "韩英混合",
|
||||
"音频加载失败": "音频加载失败",
|
||||
"音频文件不存在,跳过:": "音频文件不存在,跳过:",
|
||||
"音频自动切分输入路径,可文件可文件夹": "音频自动切分输入路径,可文件可文件夹",
|
||||
"预训练的GPT模型路径": "预训练的GPT模型路径",
|
||||
"预训练的SSL模型路径": "预训练的SSL模型路径",
|
||||
|
@ -52,6 +52,7 @@
|
||||
"UVR5已开启": "UVR5已開啟",
|
||||
"UVR5进程输出信息": "UVR5進程輸出信息",
|
||||
"alpha_mix:混多少比例归一化后音频进来": "alpha_mix:混多少比例歸一化後音頻進來",
|
||||
"batch_size": "批次大小",
|
||||
"hop_size:怎么算音量曲线,越小精度越大计算量越高(不是精度越大效果越好)": "hop_size:怎麼算音量曲線,越小精度越大計算量越高(不是精度越大效果越好)",
|
||||
"max:归一化后最大值多少": "max:歸一化後最大值多少",
|
||||
"max_sil_kept:切完后静音最多留多长": "max_sil_kept:切完後靜音最多留多長",
|
||||
@ -66,6 +67,9 @@
|
||||
"中文": "中文",
|
||||
"中文教程文档:https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e": "中文教程文檔:https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e",
|
||||
"中英混合": "中英混合",
|
||||
"主参考音频(请上传3~10秒内参考音频,超过会报错!)": "主參考音頻(請上傳3~10秒內參考音頻,超過會報錯!)",
|
||||
"主参考音频的文本": "主參考音頻的文本",
|
||||
"主参考音频的语种": "主參考音頻的語種",
|
||||
"也可批量输入音频文件, 二选一, 优先读文件夹": "也可批量输入音频文件, 二选一, 优先读文件夹",
|
||||
"人声伴奏分离批量处理, 使用UVR5模型。": "人聲伴奏分離批量處理, 使用UVR5模型。",
|
||||
"人声提取激进程度": "人聲提取激進程度",
|
||||
@ -73,13 +77,24 @@
|
||||
"以下模型不存在:": "以下模型不存在:",
|
||||
"伴奏人声分离&去混响&去回声": "伴奏人聲分離&去混響&去回聲",
|
||||
"使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开。<br>开启后无视填写的参考文本。": "使用無參考文本模式時建議使用微調的GPT,聽不清參考音頻說的是啥(不知道寫啥)可以開啟,開啟後無視填寫的參考文本。",
|
||||
"使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开,开启后无视填写的参考文本。": "使用無參考文本模式時建議使用微調的GPT,聽不清參考音頻說的啥(不曉得寫啥)可以開,開啟後無視填寫的參考文本。",
|
||||
"保存频率save_every_epoch": "保存頻率save_every_epoch",
|
||||
"保持随机": "保持隨機",
|
||||
"关闭TTS推理WebUI": "關閉 TTS Inference WebUI",
|
||||
"关闭UVR5-WebUI": "關閉 UVR5-WebUI",
|
||||
"关闭打标WebUI": "關閉 Labeling WebUI",
|
||||
"凑50字一切": "湊50字一切",
|
||||
"凑四句一切": "湊四句一切",
|
||||
"分桶处理模式已关闭": "分桶處理模式已關閉",
|
||||
"分桶处理模式已开启": "分桶處理模式已開啟",
|
||||
"分段返回模式不支持分桶处理,已自动关闭分桶处理": "分段返回模式不支持分桶處理,已自動關閉分桶處理",
|
||||
"分段返回模式已开启": "分段返回模式已開啟",
|
||||
"分段间隔(秒)": "分段間隔(秒)",
|
||||
"分段间隔过小,已自动设置为0.01": "分段間隔過小,已自動設置為0.01",
|
||||
"切分": "切分",
|
||||
"切分后文本": "切分後文本",
|
||||
"切分后的子音频的输出根目录": "切分後的子音頻的輸出根目錄",
|
||||
"切分文本": "切分文本",
|
||||
"切割使用的进程数": "切割使用的進程數",
|
||||
"刷新模型路径": "刷新模型路徑",
|
||||
"前端处理后的文本(每句):": "前端處理後的文本(每句):",
|
||||
@ -90,6 +105,8 @@
|
||||
"可选项:通过拖拽多个文件上传多个参考音频(建议同性),平均融合他们的音色。如不填写此项,音色由左侧单个参考音频控制。如是微调模型,建议参考音频全部在微调训练集音色内,底模不用管。": "可選項:通過拖曳多個文件上傳多個參考音頻(建議同性),平均融合他們的音色。如不填寫此項,音色由左側單個參考音頻控制。如是微調模型,建議參考音頻全部在微調訓練集音色內,底模不用管。",
|
||||
"合成语音": "合成語音",
|
||||
"合格的文件夹路径格式举例: E:\\codes\\py39\\vits_vc_gpu\\白鹭霜华测试样例(去文件管理器地址栏拷就行了)。": "合格的文件夾路徑格式舉例: E:\\codes\\py39\\vits_vc_gpu\\白鷺霜華測試樣例(去文件管理器地址欄拷就行了)。",
|
||||
"后续将支持转音素、手工修改音素、语音合成分步执行。": "後續將支持轉音素、手工修改音素、語音合成分步執行。",
|
||||
"启用并行推理版本": "啟用並行推理版本",
|
||||
"填切割后音频所在目录!读取的音频文件完整路径=该目录-拼接-list文件里波形对应的文件名(不是全路径)。如果留空则使用.list文件里的绝对全路径。": "填切割後音頻所在目錄!讀取的音頻文件完整路徑=該目錄-拼接-list文件裡波形對應的文件名(不是全路徑)。如果留空則使用.list文件裡的絕對全路徑。",
|
||||
"多语种混合": "多語種混合",
|
||||
"多语种混合(粤语)": "多語種混合 (粵語)",
|
||||
@ -98,6 +115,9 @@
|
||||
"实际输入的目标文本(每句):": "實際輸入的目標文本(每句):",
|
||||
"实际输入的目标文本:": "實際輸入的目標文本:",
|
||||
"导出文件格式": "導出檔格式",
|
||||
"并行推理": "並行推理",
|
||||
"并行推理模式已关闭": "並行推理模式已關閉",
|
||||
"并行推理模式已开启": "並行推理模式已開啟",
|
||||
"开启GPT训练": "開啟GPT訓練",
|
||||
"开启SSL提取": "開啟SSL提取",
|
||||
"开启SoVITS训练": "開啟SoVITS訓練",
|
||||
@ -107,6 +127,7 @@
|
||||
"开启打标WebUI": "開啟 Labeling WebUI",
|
||||
"开启文本获取": "開啟文本獲取",
|
||||
"开启无参考文本模式。不填参考文本亦相当于开启。": "開啟無參考文本模式。不填參考文本亦相當於開啟。",
|
||||
"开启无参考文本模式。不填参考文本亦相当于开启。v3暂不支持该模式,使用了会报错。": "開啟無參考文本模式。不填參考文本亦相當於開啟。v3暫不支持該模式,使用了會報錯。",
|
||||
"开启离线批量ASR": "開啟離線批量ASR",
|
||||
"开启语义token提取": "開啟語義token提取",
|
||||
"开启语音切割": "開啟語音切割",
|
||||
@ -122,7 +143,11 @@
|
||||
"按中文句号。切": "按中文句號。切",
|
||||
"按标点符号切": "按標點符號切",
|
||||
"按英文句号.切": "按英文句號.切",
|
||||
"推理设置": "推理設置",
|
||||
"提取文本Bert特征": "提取文本BERT特徵",
|
||||
"数据分桶(并行推理时会降低一点计算量)": "數據分桶(並行推理時會降低一點計算量)",
|
||||
"数据类型精度": "數據類型精度",
|
||||
"文本切分工具。太长的文本合成出来效果不一定好,所以太长建议先切。合成会根据文本的换行分开合成再拼起来。": "文本切分工具。太長的文本合成出來效果不一定好,所以太長建議先切。合成會根據文本的換行分開合成再拼起來。",
|
||||
"文本模块学习率权重": "文本模塊學習率權重",
|
||||
"文本进程输出信息": "文本進程輸出信息",
|
||||
"施工中,请静候佳音": "施工中,請靜候佳音",
|
||||
@ -146,6 +171,7 @@
|
||||
"终止SSL提取进程": "終止SSL提取進程",
|
||||
"终止SoVITS训练": "終止SoVITS訓練",
|
||||
"终止一键三连": "終止一鍵三連",
|
||||
"终止合成": "終止合成",
|
||||
"终止文本获取进程": "終止文本獲取進程",
|
||||
"终止语义token提取进程": "終止語義token提取進程",
|
||||
"终止语音切割": "終止語音切割",
|
||||
@ -158,6 +184,7 @@
|
||||
"语义token提取进程输出信息": "語義token提取進程輸出信息",
|
||||
"语速": "語速",
|
||||
"语速调整,高为更快": "調整語速,高為更快",
|
||||
"语速调节不支持分桶处理,已自动关闭分桶处理": "語速調節不支持分桶處理,已自動關閉分桶處理",
|
||||
"语音切割进程输出信息": "語音切割進程輸出信息",
|
||||
"语音降噪进程输出信息": "語音降噪進程輸出信息",
|
||||
"请上传3~10秒内参考音频,超过会报错!": "請上傳3~10秒內參考音頻,超過會報錯!",
|
||||
@ -166,9 +193,11 @@
|
||||
"请填入正确的List路径": "請填寫正確的列表路徑",
|
||||
"请填入正确的音频文件夹路径": "請填寫正確的音頻文件夾路徑",
|
||||
"请输入有效文本": "請輸入有效文本",
|
||||
"路径不存在,使用默认配置": "路徑不存在,使用默認配置",
|
||||
"路径不能为空": "路徑不應該為空",
|
||||
"路径错误": "路徑錯誤",
|
||||
"转换": "轉換",
|
||||
"辅参考音频(可选多个,或不选)": "輔參考音頻(可選多個,或不選)",
|
||||
"输入待处理音频文件夹路径": "輸入待處理音頻資料夾路徑",
|
||||
"输入文件夹路径": "輸入文件夾路徑",
|
||||
"输出logs/实验名目录下应有23456开头的文件和文件夹": "輸出logs/實驗名目錄下應有23456開頭的文件和文件夾",
|
||||
@ -176,13 +205,19 @@
|
||||
"输出文件夹路径": "輸出文件夾路徑",
|
||||
"输出的语音": "輸出的語音",
|
||||
"选择训练完存放在SoVITS_weights和GPT_weights下的模型。默认的一个是底模,体验5秒Zero Shot TTS用。": "選擇訓練完存放在SoVITS_weights和GPT_weights下的模型。默認的一個是底模,體驗5秒Zero Shot TTS用。",
|
||||
"采样步数,如果觉得电,提高试试,如果觉得慢,降低试试": "採樣步數,如果覺得電,提高試試,如果覺得慢,降低試試",
|
||||
"重复惩罚": "重複懲罰",
|
||||
"降噪结果输出文件夹": "降噪結果輸出文件夾",
|
||||
"降噪音频文件输入文件夹": "降噪音頻文件輸入文件夾",
|
||||
"随机种子": "隨機種子",
|
||||
"需要合成的切分前文本": "需要合成的切分前文本",
|
||||
"需要合成的文本": "需要合成的文本",
|
||||
"需要合成的文本的语种": "需要合成的文本的語種",
|
||||
"需要合成的语种": "需要合成的語種",
|
||||
"韩文": "韓文",
|
||||
"韩英混合": "韓英混合",
|
||||
"音频加载失败": "無法加載音頻",
|
||||
"音频文件不存在,跳过:": "音頻檔案不存在,跳過:",
|
||||
"音频自动切分输入路径,可文件可文件夹": "音頻自動切分輸入路徑,可文件可文件夾",
|
||||
"预训练的GPT模型路径": "預訓練的GPT模型路徑",
|
||||
"预训练的SSL模型路径": "預訓練的SSL模型路徑",
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"(1)MDX-Net(onnx_dereverb):对于双通道混响是最好的选择,不能去除单通道混响;": "(1)MDX-Net(onnx_dereverb):對於雙通道混響是最好的選擇,不能去除單通道混響;",
|
||||
"(234)DeEcho:去除延迟效果。Aggressive比Normal去除得更彻底,DeReverb额外去除混响,可去除单声道混响,但是对高频重的板式混响去不干净。": "(234)DeEcho: Aggressive 比 Normal 去除得更徹底,DeReverb 額外去除混響,可去除單聲道混響,但是對高頻重的板式混響去不乾淨。",
|
||||
"(1)MDX-Net(onnx_dereverb):对于双通道混响是最好的选择,不能去除单通道混响;": "(1)MDX-Net(onnx_dereverb):對於雙通道混響是最好的選擇,不能去除單通道混響;",
|
||||
"(234)DeEcho:去除延迟效果。Aggressive比Normal去除得更彻底,DeReverb额外去除混响,可去除单声道混响,但是对高频重的板式混响去不干净。": "(234)DeEcho:去除延遲效果。Aggressive 比 Normal 去除得更徹底,DeReverb 額外去除混響,可去除單聲道混響,但是對高頻重的板式混響去不乾淨。",
|
||||
"*GPT模型列表": "*GPT模型列表",
|
||||
"*SoVITS模型列表": "*SoVITS模型列表",
|
||||
"*实验/模型名": "*實驗/模型名",
|
||||
@ -52,6 +52,7 @@
|
||||
"UVR5已开启": "UVR5已開啟",
|
||||
"UVR5进程输出信息": "UVR5進程輸出資訊",
|
||||
"alpha_mix:混多少比例归一化后音频进来": "alpha_mix:混多少比例歸一化後音頻進來",
|
||||
"batch_size": "批次大小",
|
||||
"hop_size:怎么算音量曲线,越小精度越大计算量越高(不是精度越大效果越好)": "hop_size:怎麼算音量曲線,越小精度越大計算量越高(不是精度越大效果越好)",
|
||||
"max:归一化后最大值多少": "max:歸一化後最大值多少",
|
||||
"max_sil_kept:切完后静音最多留多长": "max_sil_kept:切完後靜音最多留多長",
|
||||
@ -66,6 +67,9 @@
|
||||
"中文": "中文",
|
||||
"中文教程文档:https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e": "中文教程文檔:https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e",
|
||||
"中英混合": "中英混合",
|
||||
"主参考音频(请上传3~10秒内参考音频,超过会报错!)": "主參考音檔(請上傳3~10秒內參考音檔,超過會報錯!)",
|
||||
"主参考音频的文本": "主參考音檔的文本",
|
||||
"主参考音频的语种": "主參考音檔的語種",
|
||||
"也可批量输入音频文件, 二选一, 优先读文件夹": "也可批量输入音频文件, 二选一, 优先读文件夹",
|
||||
"人声伴奏分离批量处理, 使用UVR5模型。": "人聲伴奏分離批量處理, 使用UVR5模型。",
|
||||
"人声提取激进程度": "人聲提取激進程度",
|
||||
@ -73,13 +77,24 @@
|
||||
"以下模型不存在:": "以下模型不存在",
|
||||
"伴奏人声分离&去混响&去回声": "伴奏人聲分離&去混響&去回聲",
|
||||
"使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开。<br>开启后无视填写的参考文本。": "使用無參考文本模式時建議使用微調的GPT,聽不清參考音頻說的啥(不曉得寫啥)可以開,開啟後無視填寫的參考文本。",
|
||||
"使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开,开启后无视填写的参考文本。": "使用無參考文本模式時建議使用微調的GPT,聽不清參考音檔說的啥(不曉得寫啥)可以開,開啟後無視填寫的參考文本。",
|
||||
"保存频率save_every_epoch": "保存頻率save_every_epoch",
|
||||
"保持随机": "保持隨機",
|
||||
"关闭TTS推理WebUI": "關閉 TTS Inference WebUI",
|
||||
"关闭UVR5-WebUI": "關閉 UVR5-WebUI",
|
||||
"关闭打标WebUI": "關閉 Labeling WebUI",
|
||||
"凑50字一切": "湊50字一切",
|
||||
"凑四句一切": "湊四句一切",
|
||||
"分桶处理模式已关闭": "分桶處理模式已關閉",
|
||||
"分桶处理模式已开启": "分桶處理模式已開啟",
|
||||
"分段返回模式不支持分桶处理,已自动关闭分桶处理": "分段返回模式不支援分桶處理,已自動關閉分桶處理",
|
||||
"分段返回模式已开启": "分段返回模式已開啟",
|
||||
"分段间隔(秒)": "分段間隔(秒)",
|
||||
"分段间隔过小,已自动设置为0.01": "分段間隔過小,已自動設置為0.01",
|
||||
"切分": "切分",
|
||||
"切分后文本": "切分後文本",
|
||||
"切分后的子音频的输出根目录": "切分後的子音頻的輸出根目錄",
|
||||
"切分文本": "切分文本",
|
||||
"切割使用的进程数": "切割使用的進程數",
|
||||
"刷新模型路径": "刷新模型路徑",
|
||||
"前端处理后的文本(每句):": "前端處理後的文本(每句):",
|
||||
@ -90,6 +105,8 @@
|
||||
"可选项:通过拖拽多个文件上传多个参考音频(建议同性),平均融合他们的音色。如不填写此项,音色由左侧单个参考音频控制。如是微调模型,建议参考音频全部在微调训练集音色内,底模不用管。": "可選項:通過拖曳多個文件上傳多個參考音頻(建議同性),平均融合他們的音色。如不填寫此項,音色由左側單個參考音頻控制。如是微調模型,建議參考音頻全部在微調訓練集音色內,底模不用管。",
|
||||
"合成语音": "合成語音",
|
||||
"合格的文件夹路径格式举例: E:\\codes\\py39\\vits_vc_gpu\\白鹭霜华测试样例(去文件管理器地址栏拷就行了)。": "合格的資料夾路徑格式舉例: E:\\codes\\py39\\vits_vc_gpu\\白鷺霜華測試範例(去文件管理器地址欄拷就行了)。",
|
||||
"后续将支持转音素、手工修改音素、语音合成分步执行。": "後續將支援轉音素、手工修改音素、語音合成分步執行。",
|
||||
"启用并行推理版本": "啟用並行推理版本",
|
||||
"填切割后音频所在目录!读取的音频文件完整路径=该目录-拼接-list文件里波形对应的文件名(不是全路径)。如果留空则使用.list文件里的绝对全路径。": "填切割後音頻所在目錄!讀取的音頻檔案完整路徑=該目錄-拼接-list檔案裡波形對應的檔案名(不是全路徑)。如果留空則使用.list檔案裡的絕對全路徑。",
|
||||
"多语种混合": "多語種混合",
|
||||
"多语种混合(粤语)": "多語種混合 (粵語)",
|
||||
@ -98,6 +115,9 @@
|
||||
"实际输入的目标文本(每句):": "實際輸入的目標文本(每句):",
|
||||
"实际输入的目标文本:": "實際輸入的目標文本:",
|
||||
"导出文件格式": "導出檔格式",
|
||||
"并行推理": "並行推理",
|
||||
"并行推理模式已关闭": "並行推理模式已關閉",
|
||||
"并行推理模式已开启": "並行推理模式已開啟",
|
||||
"开启GPT训练": "開啟GPT訓練",
|
||||
"开启SSL提取": "開啟SSL提取",
|
||||
"开启SoVITS训练": "開啟SoVITS訓練",
|
||||
@ -107,6 +127,7 @@
|
||||
"开启打标WebUI": "開啟 Labeling WebUI",
|
||||
"开启文本获取": "開啟文本獲取",
|
||||
"开启无参考文本模式。不填参考文本亦相当于开启。": "開啟無參考文本模式。不填參考文本亦相當於開啟。",
|
||||
"开启无参考文本模式。不填参考文本亦相当于开启。v3暂不支持该模式,使用了会报错。": "開啟無參考文本模式。不填參考文本亦相當於開啟。v3暫不支援該模式,使用了會報錯。",
|
||||
"开启离线批量ASR": "開啟離線批量ASR",
|
||||
"开启语义token提取": "開啟語義token提取",
|
||||
"开启语音切割": "開啟語音切割",
|
||||
@ -122,7 +143,11 @@
|
||||
"按中文句号。切": "按中文句號。切",
|
||||
"按标点符号切": "按標點符號切",
|
||||
"按英文句号.切": "按英文句號.切",
|
||||
"推理设置": "推理設定",
|
||||
"提取文本Bert特征": "提取文本BERT特徵",
|
||||
"数据分桶(并行推理时会降低一点计算量)": "資料分桶(並行推理時會降低一點計算量)",
|
||||
"数据类型精度": "數據類型精度",
|
||||
"文本切分工具。太长的文本合成出来效果不一定好,所以太长建议先切。合成会根据文本的换行分开合成再拼起来。": "文本切分工具。太長的文本合成出來效果不一定好,所以太長建議先切。合成會根據文本的換行分開合成再拼起來。",
|
||||
"文本模块学习率权重": "文本模塊學習率權重",
|
||||
"文本进程输出信息": "文本進程輸出資訊",
|
||||
"施工中,请静候佳音": "施工中,請靜候佳音",
|
||||
@ -146,6 +171,7 @@
|
||||
"终止SSL提取进程": "終止SSL提取進程",
|
||||
"终止SoVITS训练": "終止SoVITS訓練",
|
||||
"终止一键三连": "終止一鍵三連",
|
||||
"终止合成": "終止合成",
|
||||
"终止文本获取进程": "終止文本獲取進程",
|
||||
"终止语义token提取进程": "終止語義token提取進程",
|
||||
"终止语音切割": "終止語音切割",
|
||||
@ -158,6 +184,7 @@
|
||||
"语义token提取进程输出信息": "語義token提取進程輸出資訊",
|
||||
"语速": "語速",
|
||||
"语速调整,高为更快": "調整語速,高為更快",
|
||||
"语速调节不支持分桶处理,已自动关闭分桶处理": "語速調節不支援分桶處理,已自動關閉分桶處理",
|
||||
"语音切割进程输出信息": "語音切割進程輸出資訊",
|
||||
"语音降噪进程输出信息": "語音降噪進程輸出資訊",
|
||||
"请上传3~10秒内参考音频,超过会报错!": "請上傳3~10秒內參考音頻,超過會報錯!",
|
||||
@ -166,9 +193,11 @@
|
||||
"请填入正确的List路径": "請填寫正確的列表路徑",
|
||||
"请填入正确的音频文件夹路径": "請填寫正確的音頻文件夾路徑",
|
||||
"请输入有效文本": "請輸入有效文本",
|
||||
"路径不存在,使用默认配置": "路徑不存在,使用預設配置",
|
||||
"路径不能为空": "路徑不應該為空",
|
||||
"路径错误": "路徑錯誤",
|
||||
"转换": "轉換",
|
||||
"辅参考音频(可选多个,或不选)": "輔參考音檔(可選多個,或不選)",
|
||||
"输入待处理音频文件夹路径": "輸入待處理音頻資料夾路徑",
|
||||
"输入文件夹路径": "輸入文件夾路徑",
|
||||
"输出logs/实验名目录下应有23456开头的文件和文件夹": "輸出logs/實驗名目錄下應有23456開頭的文件和文件夾",
|
||||
@ -176,13 +205,19 @@
|
||||
"输出文件夹路径": "輸出文件夾路徑",
|
||||
"输出的语音": "輸出的語音",
|
||||
"选择训练完存放在SoVITS_weights和GPT_weights下的模型。默认的一个是底模,体验5秒Zero Shot TTS用。": "選擇訓練完存放在SoVITS_weights和GPT_weights下的模型。默認的一個是底模,體驗5秒Zero Shot TTS用。",
|
||||
"采样步数,如果觉得电,提高试试,如果觉得慢,降低试试": "採樣步數,如果覺得電,提高試試,如果覺得慢,降低試試",
|
||||
"重复惩罚": "重複懲罰",
|
||||
"降噪结果输出文件夹": "降噪結果輸出文件夾",
|
||||
"降噪音频文件输入文件夹": "降噪音頻文件輸入文件夾",
|
||||
"随机种子": "隨機種子",
|
||||
"需要合成的切分前文本": "需要合成的切分前文本",
|
||||
"需要合成的文本": "需要合成的文本",
|
||||
"需要合成的文本的语种": "需要合成的文本的語種",
|
||||
"需要合成的语种": "需要合成的語種",
|
||||
"韩文": "韓文",
|
||||
"韩英混合": "韓英混合",
|
||||
"音频加载失败": "無法加載音頻",
|
||||
"音频文件不存在,跳过:": "音檔不存在,跳過:",
|
||||
"音频自动切分输入路径,可文件可文件夹": "音頻自動切分輸入路徑,可文件可文件夾",
|
||||
"预训练的GPT模型路径": "預訓練的GPT模型路徑",
|
||||
"预训练的SSL模型路径": "預訓練的SSL模型路徑",
|
||||
|
@ -52,6 +52,7 @@
|
||||
"UVR5已开启": "UVR5已開啟",
|
||||
"UVR5进程输出信息": "UVR5進程輸出資訊",
|
||||
"alpha_mix:混多少比例归一化后音频进来": "alpha_mix:混多少比例歸一化後音頻進來",
|
||||
"batch_size": "批次大小",
|
||||
"hop_size:怎么算音量曲线,越小精度越大计算量越高(不是精度越大效果越好)": "hop_size:怎麼算音量曲線,越小精度越大計算量越高(不是精度越大效果越好)",
|
||||
"max:归一化后最大值多少": "max:歸一化後最大值多少",
|
||||
"max_sil_kept:切完后静音最多留多长": "max_sil_kept:切完後靜音最多留多長",
|
||||
@ -66,6 +67,9 @@
|
||||
"中文": "中文",
|
||||
"中文教程文档:https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e": "中文教程文檔:https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e",
|
||||
"中英混合": "中英混合",
|
||||
"主参考音频(请上传3~10秒内参考音频,超过会报错!)": "主參考音檔(請上傳3~10秒內參考音檔,超過會報錯!)",
|
||||
"主参考音频的文本": "主參考音檔的文字",
|
||||
"主参考音频的语种": "主參考音檔的語種",
|
||||
"也可批量输入音频文件, 二选一, 优先读文件夹": "也可批量输入音频文件, 二选一, 优先读文件夹",
|
||||
"人声伴奏分离批量处理, 使用UVR5模型。": "人聲伴奏分離批量處理, 使用UVR5模型。",
|
||||
"人声提取激进程度": "人聲提取激進程度",
|
||||
@ -73,13 +77,24 @@
|
||||
"以下模型不存在:": "#以下模型不存在",
|
||||
"伴奏人声分离&去混响&去回声": "伴奏人聲分離&去混響&去回聲",
|
||||
"使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开。<br>开启后无视填写的参考文本。": "使用無參考文本模式時建議使用微調的GPT,聽不清參考音頻說的啥(不曉得寫啥)可以開,開啟後無視填寫的參考文本。",
|
||||
"使用无参考文本模式时建议使用微调的GPT,听不清参考音频说的啥(不晓得写啥)可以开,开启后无视填写的参考文本。": "使用無參考文字模式時建議使用微調的GPT,聽不清參考音檔說的啥(不曉得寫啥)可以開,開啟後無視填寫的參考文字。",
|
||||
"保存频率save_every_epoch": "保存頻率save_every_epoch",
|
||||
"保持随机": "保持隨機",
|
||||
"关闭TTS推理WebUI": "關閉 TTS Inference WebUI",
|
||||
"关闭UVR5-WebUI": "關閉 UVR5-WebUI",
|
||||
"关闭打标WebUI": "關閉 Labeling WebUI",
|
||||
"凑50字一切": "湊50字一切",
|
||||
"凑四句一切": "湊四句一切",
|
||||
"分桶处理模式已关闭": "分桶處理模式已關閉",
|
||||
"分桶处理模式已开启": "分桶處理模式已開啟",
|
||||
"分段返回模式不支持分桶处理,已自动关闭分桶处理": "分段返回模式不支援分桶處理,已自動關閉分桶處理",
|
||||
"分段返回模式已开启": "分段返回模式已開啟",
|
||||
"分段间隔(秒)": "分段間隔(秒)",
|
||||
"分段间隔过小,已自动设置为0.01": "分段間隔過小,已自動設定為0.01",
|
||||
"切分": "切分",
|
||||
"切分后文本": "切分後文字",
|
||||
"切分后的子音频的输出根目录": "切分後的子音頻的輸出根目錄",
|
||||
"切分文本": "切分文字",
|
||||
"切割使用的进程数": "切割使用的進程數",
|
||||
"刷新模型路径": "刷新模型路徑",
|
||||
"前端处理后的文本(每句):": "前端處理後的文本(每句):",
|
||||
@ -90,6 +105,8 @@
|
||||
"可选项:通过拖拽多个文件上传多个参考音频(建议同性),平均融合他们的音色。如不填写此项,音色由左侧单个参考音频控制。如是微调模型,建议参考音频全部在微调训练集音色内,底模不用管。": "可選項:通過拖曳多個文件上傳多個參考音頻(建議同性),平均融合他們的音色。如不填寫此項,音色由左側單個參考音頻控制。如是微調模型,建議參考音頻全部在微調訓練集音色內,底模不用管。",
|
||||
"合成语音": "合成語音",
|
||||
"合格的文件夹路径格式举例: E:\\codes\\py39\\vits_vc_gpu\\白鹭霜华测试样例(去文件管理器地址栏拷就行了)。": "合格的資料夾路徑格式舉例: E:\\codes\\py39\\vits_vc_gpu\\白鷺霜華測試範例(去文件管理器地址欄拷就行了)。",
|
||||
"后续将支持转音素、手工修改音素、语音合成分步执行。": "後續將支援轉音素、手工修改音素、語音合成分步執行。",
|
||||
"启用并行推理版本": "啟用並行推理版本",
|
||||
"填切割后音频所在目录!读取的音频文件完整路径=该目录-拼接-list文件里波形对应的文件名(不是全路径)。如果留空则使用.list文件里的绝对全路径。": "填切割後音頻所在目錄!讀取的音頻檔案完整路徑=該目錄-拼接-list檔案裡波形對應的檔案名(不是全路徑)。如果留空則使用.list檔案裡的絕對全路徑。",
|
||||
"多语种混合": "多語種混合",
|
||||
"多语种混合(粤语)": "多語種混合 (粵語)",
|
||||
@ -98,6 +115,9 @@
|
||||
"实际输入的目标文本(每句):": "實際輸入的目標文本(每句):",
|
||||
"实际输入的目标文本:": "實際輸入的目標文本:",
|
||||
"导出文件格式": "導出檔格式",
|
||||
"并行推理": "並行推理",
|
||||
"并行推理模式已关闭": "並行推理模式已關閉",
|
||||
"并行推理模式已开启": "並行推理模式已開啟",
|
||||
"开启GPT训练": "開啟GPT訓練",
|
||||
"开启SSL提取": "開啟SSL提取",
|
||||
"开启SoVITS训练": "開啟SoVITS訓練",
|
||||
@ -107,6 +127,7 @@
|
||||
"开启打标WebUI": "開啟 Labeling WebUI",
|
||||
"开启文本获取": "開啟文本獲取",
|
||||
"开启无参考文本模式。不填参考文本亦相当于开启。": "開啟無參考文本模式。不填參考文本亦相當於開啟。",
|
||||
"开启无参考文本模式。不填参考文本亦相当于开启。v3暂不支持该模式,使用了会报错。": "開啟無參考文字模式。不填參考文字亦相當於開啟。v3暫不支援該模式,使用了會報錯。",
|
||||
"开启离线批量ASR": "開啟離線批量ASR",
|
||||
"开启语义token提取": "開啟語義token提取",
|
||||
"开启语音切割": "開啟語音切割",
|
||||
@ -122,7 +143,11 @@
|
||||
"按中文句号。切": "按中文句號。切",
|
||||
"按标点符号切": "按標點符號切",
|
||||
"按英文句号.切": "按英文句號.切",
|
||||
"推理设置": "推理設定",
|
||||
"提取文本Bert特征": "提取文字BERT特徵",
|
||||
"数据分桶(并行推理时会降低一点计算量)": "資料分桶(並行推理時會降低一點計算量)",
|
||||
"数据类型精度": "數據類型精度",
|
||||
"文本切分工具。太长的文本合成出来效果不一定好,所以太长建议先切。合成会根据文本的换行分开合成再拼起来。": "文字切分工具。太長的文字合成出來效果不一定好,所以太長建議先切。合成會根據文字的換行分開合成再拼起來。",
|
||||
"文本模块学习率权重": "文本模塊學習率權重",
|
||||
"文本进程输出信息": "文本進程輸出資訊",
|
||||
"施工中,请静候佳音": "施工中,請靜候佳音",
|
||||
@ -146,6 +171,7 @@
|
||||
"终止SSL提取进程": "終止SSL提取進程",
|
||||
"终止SoVITS训练": "終止SoVITS訓練",
|
||||
"终止一键三连": "終止一鍵三連",
|
||||
"终止合成": "終止合成",
|
||||
"终止文本获取进程": "終止文本獲取進程",
|
||||
"终止语义token提取进程": "終止語義token提取進程",
|
||||
"终止语音切割": "終止語音切割",
|
||||
@ -158,6 +184,7 @@
|
||||
"语义token提取进程输出信息": "語義token提取進程輸出資訊",
|
||||
"语速": "語速",
|
||||
"语速调整,高为更快": "調整語速,高為更快",
|
||||
"语速调节不支持分桶处理,已自动关闭分桶处理": "語速調節不支援分桶處理,已自動關閉分桶處理",
|
||||
"语音切割进程输出信息": "語音切割進程輸出資訊",
|
||||
"语音降噪进程输出信息": "語音降噪進程輸出資訊",
|
||||
"请上传3~10秒内参考音频,超过会报错!": "請上傳3~10秒內參考音頻,超過會報錯!",
|
||||
@ -166,9 +193,11 @@
|
||||
"请填入正确的List路径": "請填寫正確的列表路徑",
|
||||
"请填入正确的音频文件夹路径": "請填寫正確的音頻文件夾路徑",
|
||||
"请输入有效文本": "請輸入有效文本",
|
||||
"路径不存在,使用默认配置": "路徑不存在,使用預設配置",
|
||||
"路径不能为空": "路徑不應該為空",
|
||||
"路径错误": "路徑錯誤",
|
||||
"转换": "轉換",
|
||||
"辅参考音频(可选多个,或不选)": "輔參考音檔(可選多個,或不選)",
|
||||
"输入待处理音频文件夹路径": "輸入待處理音頻資料夾路徑",
|
||||
"输入文件夹路径": "輸入文件夾路徑",
|
||||
"输出logs/实验名目录下应有23456开头的文件和文件夹": "輸出logs/實驗名目錄下應有23456開頭的文件和文件夾",
|
||||
@ -176,13 +205,19 @@
|
||||
"输出文件夹路径": "輸出文件夾路徑",
|
||||
"输出的语音": "輸出的語音",
|
||||
"选择训练完存放在SoVITS_weights和GPT_weights下的模型。默认的一个是底模,体验5秒Zero Shot TTS用。": "選擇訓練完存放在SoVITS_weights和GPT_weights下的模型。默認的一個是底模,體驗5秒Zero Shot TTS用。",
|
||||
"采样步数,如果觉得电,提高试试,如果觉得慢,降低试试": "採樣步數,如果覺得電,提高試試,如果覺得慢,降低試試",
|
||||
"重复惩罚": "重複懲罰",
|
||||
"降噪结果输出文件夹": "降噪結果輸出文件夾",
|
||||
"降噪音频文件输入文件夹": "降噪音頻文件輸入文件夾",
|
||||
"随机种子": "隨機種子",
|
||||
"需要合成的切分前文本": "需要合成的切分前文字",
|
||||
"需要合成的文本": "需要合成的文本",
|
||||
"需要合成的文本的语种": "需要合成的文字語種",
|
||||
"需要合成的语种": "需要合成的語種",
|
||||
"韩文": "韓文",
|
||||
"韩英混合": "韓英混合",
|
||||
"音频加载失败": "無法加載音頻",
|
||||
"音频文件不存在,跳过:": "音檔不存在,跳過:",
|
||||
"音频自动切分输入路径,可文件可文件夹": "音頻自動切分輸入路徑,可文件可文件夾",
|
||||
"预训练的GPT模型路径": "預訓練的GPT模型路徑",
|
||||
"预训练的SSL模型路径": "預訓練的SSL模型路徑",
|
||||
|
@ -37,16 +37,21 @@ def scan_i18n_strings():
|
||||
strings = []
|
||||
print(" Scanning Files and Extracting i18n Strings ".center(TITLE_LEN, "="))
|
||||
for filename in glob.iglob("**/*.py", recursive=True):
|
||||
with open(filename, "r", encoding="utf-8") as f:
|
||||
code = f.read()
|
||||
if "I18nAuto" in code:
|
||||
tree = ast.parse(code)
|
||||
i18n_strings = extract_i18n_strings(tree)
|
||||
print(f"{filename.ljust(30)}: {len(i18n_strings)}")
|
||||
strings.extend(i18n_strings)
|
||||
try:
|
||||
with open(filename, "r", encoding="utf-8") as f:
|
||||
code = f.read()
|
||||
if "I18nAuto" in code:
|
||||
tree = ast.parse(code)
|
||||
i18n_strings = extract_i18n_strings(tree)
|
||||
print(f"{filename.ljust(KEY_LEN*3//2)}: {len(i18n_strings)}")
|
||||
if SHOW_KEYS:
|
||||
print("\n".join([s for s in i18n_strings]))
|
||||
strings.extend(i18n_strings)
|
||||
except Exception as e:
|
||||
print(f"\033[31m[Failed] Error occur at {filename}: {e}\033[0m")
|
||||
|
||||
code_keys = set(strings)
|
||||
print(f"{'Total Unique'.ljust(30)}: {len(code_keys)}")
|
||||
print(f"{'Total Unique'.ljust(KEY_LEN*3//2)}: {len(code_keys)}")
|
||||
return code_keys
|
||||
|
||||
def update_i18n_json(json_file, standard_keys):
|
||||
@ -74,7 +79,7 @@ def update_i18n_json(json_file, standard_keys):
|
||||
# 识别多余的键并删除
|
||||
diff_keys = set(json_data.keys()) - set(standard_keys)
|
||||
if len(diff_keys) > 0:
|
||||
print(f"{'Unused Keys (-)'.ljust(KEY_LEN)}: {len(diff_keys)}")
|
||||
print(f"{'Unused Keys (-)'.ljust(KEY_LEN)}: {len(diff_keys)}")
|
||||
for key in diff_keys:
|
||||
del json_data[key]
|
||||
if SHOW_KEYS:
|
||||
@ -107,7 +112,7 @@ def update_i18n_json(json_file, standard_keys):
|
||||
for value, keys in duplicate_items.items():
|
||||
if len(keys) > 1:
|
||||
print("\n".join([f"\033[31m{'[Failed] Duplicate Value'.ljust(KEY_LEN)}: {key} -> {value}\033[0m" for key in keys]))
|
||||
|
||||
|
||||
if num_miss_translation > 0:
|
||||
print(f"\033[31m{'[Failed] Missing Translation'.ljust(KEY_LEN)}: {num_miss_translation}\033[0m")
|
||||
else:
|
||||
|
Loading…
x
Reference in New Issue
Block a user