更新多说话人训练webui,提供cli命令 / Update the multi-speaker training WebUI and provide CLI commands

This commit is contained in:
RVC-Boss
2026-08-04 15:47:05 +08:00
parent ff8e396c3b
commit 81eed5e8f6
27 changed files with 6144 additions and 3784 deletions

362
docs/cn/cli.md Normal file
View File

@@ -0,0 +1,362 @@
# RVC 命令行训练与离线推理
[English documentation](../en/cli.md)
本文档只介绍 RVC 的训练和离线音色转换。PyMSS/UVR5 音源分离使用另一套 CLI。
## 运行目录
所有命令均在实际安装的项目根目录执行。将下面的占位内容替换为自己的路径:
```powershell
Set-Location "<RVC项目根目录>"
```
选择项目内置 Python 或已经安装好项目依赖的系统 Python。只保留其中一行
```powershell
$PYTHON = "runtime\python.exe" # 项目内置 Python
# $PYTHON = "python" # 系统 Python
& $PYTHON --version
```
## 单说话人与多说话人的关系
模型训练核心始终包含说话人 ID 嵌入,因此从模型结构角度看,多说话人训练覆盖单说话人场景。只含一个 ID 的多说话人清单也可以训练。
当前项目仍然保留两套明确的数据约定:
| 项目 | 单说话人 | 多说话人 |
| --- | --- | --- |
| 数据入口 | 目录第一层的音频文件 | 根目录下的 `名称_ID_重复次数` 子目录 |
| 说话人 ID | 训练时统一指定一个 ID | 每条音频由 manifest 指定 ID |
| 小模型元数据 | 不写 `speaker_info` | 写入名称和 ID 的 `speaker_info` |
| 推理控件 | 默认 ID 0可显式指定其他有效 ID | 显示名称和 ID默认最小 ID |
| 总特征文件 | `total_fea.npy` | 每人一份 `total_fea_spkid<ID>.npy` |
| added 索引 | 普通索引文件名 | 每人一份 `_spkid<ID>.index` |
只有一个音色时建议使用单说话人模式。需要在同一模型中按名称切换音色时使用多说话人模式。
## 训练流程
训练阶段依次为数据切分、F0 提取、HuBERT 特征提取、模型训练、索引训练。
### 单说话人数据切分
```powershell
& $PYTHON train\preprocess.py "训练集目录" 40000 8 "logs\实验名" False 3.7
```
参数依次为输入目录、采样率、进程数、实验目录、是否关闭多进程、切分参数。
### 多说话人 manifest 与数据切分
子目录格式为 `名称_ID_重复次数`ID 范围为 `0~109`
```powershell
& $PYTHON -c "from tools.multispeaker import build_manifest_from_root,write_manifest; write_manifest(r'logs\实验名',build_manifest_from_root(r'训练集总目录'))"
& $PYTHON train\preprocess.py "" 40000 8 "logs\实验名" False 3.7 "logs\实验名\multispeaker_manifest.json"
```
重复次数只在最终 `filelist.txt` 中重复训练记录不会重复执行切分、F0 或 HuBERT 特征提取。
### F0 提取
CPU + PM
```powershell
& $PYTHON train\dataset\extract_f0.py cpu "logs\实验名" 8 pm
```
CPU + RMVPE
```powershell
& $PYTHON train\dataset\extract_f0.py cpu "logs\实验名" 8 rmvpe
```
CUDA + RMVPE
```powershell
& $PYTHON train\dataset\extract_f0.py cuda 1 0 0 "logs\实验名" true
```
CUDA 参数依次为总进程数、当前进程序号、GPU ID、实验目录和半精度开关。多个进程需要分别启动不同的当前进程序号。
DirectML + RMVPE
```powershell
& $PYTHON train\dataset\extract_f0.py dml "logs\实验名"
```
### HuBERT 特征提取
CUDA
```powershell
& $PYTHON train\dataset\extract_hubert_feature.py cuda:0 1 0 0 "logs\实验名" v2 true
```
CPU
```powershell
& $PYTHON train\dataset\extract_hubert_feature.py cpu 1 0 "logs\实验名" v2 false
```
DirectML
```powershell
& $PYTHON train\dataset\extract_hubert_feature.py privateuseone:0 1 0 "logs\实验名" v2 false
```
### 准备 `config.json` 和 `filelist.txt`
`train.py` 启动前必须存在:
```text
logs\实验名\config.json
logs\实验名\filelist.txt
```
单说话人带 F0 的每行格式:
```text
wav路径|HuBERT特征路径|粗F0路径|连续F0路径|说话人ID
```
多说话人带 F0 的每行格式:
```text
wav路径|HuBERT特征路径|粗F0路径|连续F0路径|说话人ID|说话人名称
```
无 F0 时分别去掉两个 F0 路径字段。多说话人的 `config.json` 还需要:
```json
{
"model": {
"spk_embed_dim": 110
},
"speaker_info": [
{"id": 0, "name": "说话人A"},
{"id": 1, "name": "说话人B"}
]
}
```
WebUI 的“训练模型”和“一键训练”会自动生成这两个文件;纯 CLI 流程需要在执行 `train.py` 前准备好它们。
### 模型训练
```powershell
& $PYTHON train\train.py -e "实验名" -sr 40k -f0 1 -bs 8 -g 0 -te 200 -se 5 -pg assets\pretrained_v2\f0G40k.pth -pd assets\pretrained_v2\f0D40k.pth -l 0 -c 0 -sw 1 -v v2
```
常用参数:
| 参数 | 含义 |
| --- | --- |
| `-e` | 实验名,对应 `logs\实验名` |
| `-sr` | `32k``40k``48k` |
| `-f0` | `1` 使用 F0`0` 不使用 |
| `-bs` | 每张卡的 batch size |
| `-g` | GPU ID例如 `0``0-1`CPU 训练时可省略 |
| `-te` | 总 epoch最大 1200 |
| `-se` | 保存间隔 epoch |
| `-l` | `1` 只保留最新大 checkpoint |
| `-c` | `1` 缓存训练集到显存 |
| `-sw` | `1` 同时保存推理小模型 |
| `-v` | `v1``v2` |
### 索引训练
单说话人:
```powershell
& $PYTHON train\train_index.py "实验名" v2 "assets\indices" 8 single
```
多说话人:
```powershell
& $PYTHON train\train_index.py "实验名" v2 "assets\indices" 8 multi
```
多说话人模式不是把所有人的特征混成一个索引。脚本会按说话人 ID 分组,为每个说话人分别生成 `total_fea_spkid<ID>.npy``trained_..._spkid<ID>.index``added_..._spkid<ID>.index`。因此模型中每个说话人都有自己的一份索引;推理选择说话人后,应使用该 ID 对应的 added 索引。
自动按 manifest 判断:
```powershell
& $PYTHON train\train_index.py "实验名" v2 "assets\indices" 8 auto
```
## 离线推理 CLI
入口为 `infer/cli.py`
查看帮助:
```powershell
& $PYTHON infer\cli.py --help
```
### 查看模型的说话人
```powershell
& $PYTHON infer\cli.py --model "assets\weights\模型.pth" --list-speakers
```
`speaker_info` 的多说话人模型会输出 ID 和名称。旧模型或单说话人模型会输出可用 ID 范围。
### 单说话人模型推理
```powershell
& $PYTHON infer\cli.py `
--model "assets\weights\单说话人.pth" `
--input "D:\input.wav" `
--output "D:\output.wav" `
--pitch 0 `
--f0-method rmvpe `
--index-rate 0.75
```
单说话人默认使用 ID 0。旧模型含多个未命名 ID 时可通过 `--speaker-id` 指定。
### 多说话人模型推理
省略 `--speaker-id` 时使用 checkpoint 中最小的说话人 ID并自动匹配该 ID 的 `_spkid<ID>.index`
```powershell
& $PYTHON infer\cli.py `
--model "assets\weights\多说话人.pth" `
--input "D:\input.wav" `
--output "D:\output.wav" `
--index-rate 1
```
指定说话人:
```powershell
& $PYTHON infer\cli.py `
--model "assets\weights\多说话人.pth" `
--speaker-id 1 `
--input "D:\input.wav" `
--output "D:\output.wav" `
--index-rate 1
```
### 批量推理
目录输入只扫描当前层;加入 `--recursive` 后递归扫描并保留相对目录:
```powershell
& $PYTHON infer\cli.py `
--model "assets\weights\模型.pth" `
--speaker-id 0 `
--input "D:\input_audio" `
--output "D:\output_audio" `
--format flac `
--recursive `
--overwrite
```
支持的输出格式为 `wav``flac``mp3``m4a`。输入扩展名判断不区分大小写。
### 索引规则
- 省略 `--index`:按模型名和说话人 ID 自动匹配 added 索引。
- 指定 `--index`使用该路径trained 文件名会转换为对应 added 文件名。
- `--index-rate` 大于 0 且索引不存在:命令以错误退出,不执行静默降级。
- 不使用索引:传入 `--index-rate 0`
常用推理参数:
| 参数 | 默认值 | 含义 |
| --- | --- | --- |
| `--speaker-id` | 单说话人 0多说话人最小 ID | 推理说话人 |
| `--pitch` | `0` | 半音变调 |
| `--f0-method` | `rmvpe` | `pm``rmvpe` |
| `--index-rate` | `0.75` | 索引检索占比 |
| `--resample-sr` | `0` | 输出重采样率0 表示模型采样率 |
| `--rms-mix-rate` | `1.0` | 输出音量包络混合比例 |
| `--protect` | `0.33` | 清辅音和呼吸声保护,范围 0~0.5 |
| `--overwrite` | 关闭 | 覆盖已有输出 |
正常完成返回退出码 0发生推理失败返回 1用户中断返回 130。
## WebUI 当前 PyMSS 模型推理 CLI
这里只列出 WebUI“人声伴奏分离&去混响”页面实际提供的 5 个模型。PyMSS 必须以模块方式调用:
```powershell
& $PYTHON -m tools.pymss.cli infer --help
```
WebUI 名称与 CLI 模型名对应如下:
| WebUI 处理方式 | CLI 模型名 |
| --- | --- |
| 去混响 | `dereverb_mel_band_roformer_less_aggressive_anvuew_sdr_18.8050.ckpt` |
| 去混响(激进) | `dereverb_mel_band_roformer_anvuew_sdr_19.1729.ckpt` |
| 去伴奏 | `model_bs_roformer_ep_368_sdr_12.9628.ckpt` |
| 去伴奏(激进) | `model_bs_roformer_ep_317_sdr_12.9755.ckpt` |
| 提主旋律 | `model_mel_band_roformer_karaoke_aufr33_viperx_sdr_10.1956.ckpt` |
`--input` 可以是单个音频文件或文件夹,`--output` 必须是输出文件夹。模型文件在 CLI 缓存中不存在时会自动下载。
### 去混响
```powershell
& $PYTHON -m tools.pymss.cli infer `
"dereverb_mel_band_roformer_less_aggressive_anvuew_sdr_18.8050.ckpt" `
--input "<输入音频或目录>" `
--output "<输出目录>" `
--device auto `
--format flac
```
### 去混响(激进)
```powershell
& $PYTHON -m tools.pymss.cli infer `
"dereverb_mel_band_roformer_anvuew_sdr_19.1729.ckpt" `
--input "<输入音频或目录>" `
--output "<输出目录>" `
--device auto `
--format flac
```
### 去伴奏
```powershell
& $PYTHON -m tools.pymss.cli infer `
"model_bs_roformer_ep_368_sdr_12.9628.ckpt" `
--input "<输入音频或目录>" `
--output "<输出目录>" `
--device auto `
--format flac
```
### 去伴奏(激进)
```powershell
& $PYTHON -m tools.pymss.cli infer `
"model_bs_roformer_ep_317_sdr_12.9755.ckpt" `
--input "<输入音频或目录>" `
--output "<输出目录>" `
--device auto `
--format flac
```
### 提主旋律
```powershell
& $PYTHON -m tools.pymss.cli infer `
"model_mel_band_roformer_karaoke_aufr33_viperx_sdr_10.1956.ckpt" `
--input "<输入音频或目录>" `
--output "<输出目录>" `
--device auto `
--format flac
```
目录批处理时加入 `--save-as-folder`可为每个输入音频建立单独的结果子目录。CUDA 可以将 `--device auto` 换成 `--device cuda --device-id 0`CPU 可以换成 `--device cpu`。输出格式支持 `wav``flac``mp3``m4a`

362
docs/en/cli.md Normal file
View File

@@ -0,0 +1,362 @@
# RVC Command-Line Training and Offline Inference
[中文文档](../cn/cli.md)
This document covers RVC training and offline voice conversion. PyMSS/UVR5 source separation uses a separate CLI.
## Working directory
Run every command from the project's actual installation root. Replace the placeholder with your own path:
```powershell
Set-Location "<RVC_PROJECT_ROOT>"
```
Select either the bundled Python runtime or a system Python that has the project dependencies installed. Keep one assignment:
```powershell
$PYTHON = "runtime\python.exe" # Bundled Python
# $PYTHON = "python" # System Python
& $PYTHON --version
```
## Single-speaker and multi-speaker relationship
The training architecture always includes a speaker-ID embedding. At the model level, multi-speaker training therefore includes the single-speaker case, and a multi-speaker manifest containing only one ID is valid.
The project still maintains two explicit data conventions:
| Area | Single-speaker | Multi-speaker |
| --- | --- | --- |
| Dataset input | Audio files directly inside one directory | `Name_ID_Repeat` subdirectories below a root directory |
| Speaker ID | One ID assigned to every training record | One ID per manifest entry |
| Small-model metadata | No `speaker_info` key | Named IDs stored in `speaker_info` |
| Inference selection | ID 0 by default; another valid ID may be explicit | Names and IDs are exposed; the smallest ID is the default |
| Total feature file | `total_fea.npy` | One `total_fea_spkid<ID>.npy` per speaker |
| Added index | Standard index filename | One `_spkid<ID>.index` per speaker |
Use single-speaker mode for one voice. Use multi-speaker mode when several named voices must be selectable from one model.
## Training workflow
The stages are dataset preprocessing, F0 extraction, HuBERT feature extraction, model training, and index training.
### Single-speaker preprocessing
```powershell
& $PYTHON train\preprocess.py "DATASET_DIRECTORY" 40000 8 "logs\EXPERIMENT" False 3.7
```
The arguments are input directory, sample rate, worker count, experiment directory, disable-multiprocessing flag, and slicing parameter.
### Multi-speaker manifest and preprocessing
Subdirectory names use `Name_ID_Repeat`, and IDs range from `0` through `109`.
```powershell
& $PYTHON -c "from tools.multispeaker import build_manifest_from_root,write_manifest; write_manifest(r'logs\EXPERIMENT',build_manifest_from_root(r'DATASET_ROOT'))"
& $PYTHON train\preprocess.py "" 40000 8 "logs\EXPERIMENT" False 3.7 "logs\EXPERIMENT\multispeaker_manifest.json"
```
The repeat count duplicates final `filelist.txt` records only. Preprocessing, F0 extraction, and HuBERT extraction are not repeated.
### F0 extraction
CPU with PM:
```powershell
& $PYTHON train\dataset\extract_f0.py cpu "logs\EXPERIMENT" 8 pm
```
CPU with RMVPE:
```powershell
& $PYTHON train\dataset\extract_f0.py cpu "logs\EXPERIMENT" 8 rmvpe
```
CUDA with RMVPE:
```powershell
& $PYTHON train\dataset\extract_f0.py cuda 1 0 0 "logs\EXPERIMENT" true
```
The CUDA arguments are total process count, current process index, GPU ID, experiment directory, and half-precision flag. Start one command for each process index when using several processes.
DirectML with RMVPE:
```powershell
& $PYTHON train\dataset\extract_f0.py dml "logs\EXPERIMENT"
```
### HuBERT feature extraction
CUDA:
```powershell
& $PYTHON train\dataset\extract_hubert_feature.py cuda:0 1 0 0 "logs\EXPERIMENT" v2 true
```
CPU:
```powershell
& $PYTHON train\dataset\extract_hubert_feature.py cpu 1 0 "logs\EXPERIMENT" v2 false
```
DirectML:
```powershell
& $PYTHON train\dataset\extract_hubert_feature.py privateuseone:0 1 0 "logs\EXPERIMENT" v2 false
```
### Prepare `config.json` and `filelist.txt`
Before starting `train.py`, these files must exist:
```text
logs\EXPERIMENT\config.json
logs\EXPERIMENT\filelist.txt
```
A single-speaker F0 record has this format:
```text
wav_path|HuBERT_feature_path|coarse_F0_path|continuous_F0_path|speaker_ID
```
A multi-speaker F0 record adds the speaker name:
```text
wav_path|HuBERT_feature_path|coarse_F0_path|continuous_F0_path|speaker_ID|speaker_name
```
Remove both F0 path fields for a non-F0 model. A multi-speaker `config.json` also needs:
```json
{
"model": {
"spk_embed_dim": 110
},
"speaker_info": [
{"id": 0, "name": "Speaker A"},
{"id": 1, "name": "Speaker B"}
]
}
```
The WebUI Model Training and One-click Training actions generate both files automatically. A pure CLI workflow prepares them before invoking `train.py`.
### Model training
```powershell
& $PYTHON train\train.py -e "EXPERIMENT" -sr 40k -f0 1 -bs 8 -g 0 -te 200 -se 5 -pg assets\pretrained_v2\f0G40k.pth -pd assets\pretrained_v2\f0D40k.pth -l 0 -c 0 -sw 1 -v v2
```
Common options:
| Option | Meaning |
| --- | --- |
| `-e` | Experiment name under `logs` |
| `-sr` | `32k`, `40k`, or `48k` |
| `-f0` | `1` enables F0; `0` disables it |
| `-bs` | Batch size per GPU |
| `-g` | GPU IDs such as `0` or `0-1`; omit for CPU training |
| `-te` | Total epochs, up to 1200 |
| `-se` | Checkpoint interval in epochs |
| `-l` | `1` keeps only the latest large checkpoint |
| `-c` | `1` caches the dataset in GPU memory |
| `-sw` | `1` also saves inference-ready small models |
| `-v` | `v1` or `v2` |
### Index training
Single-speaker:
```powershell
& $PYTHON train\train_index.py "EXPERIMENT" v2 "assets\indices" 8 single
```
Multi-speaker:
```powershell
& $PYTHON train\train_index.py "EXPERIMENT" v2 "assets\indices" 8 multi
```
Multi-speaker mode does not merge every speaker's features into one index. The script groups features by speaker ID and separately creates `total_fea_spkid<ID>.npy`, `trained_..._spkid<ID>.index`, and `added_..._spkid<ID>.index` for each speaker. Every speaker in the model therefore has its own index; after selecting a speaker for inference, use the added index for that ID.
Automatic manifest detection:
```powershell
& $PYTHON train\train_index.py "EXPERIMENT" v2 "assets\indices" 8 auto
```
## Offline inference CLI
The entry point is `infer/cli.py`.
Show help:
```powershell
& $PYTHON infer\cli.py --help
```
### List model speakers
```powershell
& $PYTHON infer\cli.py --model "assets\weights\MODEL.pth" --list-speakers
```
Multi-speaker models with `speaker_info` print IDs and names. Older or single-speaker models print the valid ID range.
### Single-speaker inference
```powershell
& $PYTHON infer\cli.py `
--model "assets\weights\SINGLE.pth" `
--input "D:\input.wav" `
--output "D:\output.wav" `
--pitch 0 `
--f0-method rmvpe `
--index-rate 0.75
```
Single-speaker models default to ID 0. Use `--speaker-id` for an older model that contains several unnamed IDs.
### Multi-speaker inference
When `--speaker-id` is omitted, the CLI selects the smallest declared ID and automatically matches its `_spkid<ID>.index`:
```powershell
& $PYTHON infer\cli.py `
--model "assets\weights\MULTI.pth" `
--input "D:\input.wav" `
--output "D:\output.wav" `
--index-rate 1
```
Select a specific speaker:
```powershell
& $PYTHON infer\cli.py `
--model "assets\weights\MULTI.pth" `
--speaker-id 1 `
--input "D:\input.wav" `
--output "D:\output.wav" `
--index-rate 1
```
### Batch inference
Directory input scans direct child files. Add `--recursive` to scan subdirectories and preserve their relative layout:
```powershell
& $PYTHON infer\cli.py `
--model "assets\weights\MODEL.pth" `
--speaker-id 0 `
--input "D:\input_audio" `
--output "D:\output_audio" `
--format flac `
--recursive `
--overwrite
```
Output formats are `wav`, `flac`, `mp3`, and `m4a`. Input extension matching is case-insensitive.
### Index behavior
- Omit `--index` to match an added index by model name and speaker ID.
- Supply `--index` to select a path explicitly. A trained filename is converted to its added counterpart.
- If `--index-rate` is greater than zero and the index is missing, the command exits with an error instead of silently disabling retrieval.
- Use `--index-rate 0` to disable retrieval.
Common inference options:
| Option | Default | Meaning |
| --- | --- | --- |
| `--speaker-id` | Single: 0; multi: smallest declared ID | Inference speaker |
| `--pitch` | `0` | Pitch shift in semitones |
| `--f0-method` | `rmvpe` | `pm` or `rmvpe` |
| `--index-rate` | `0.75` | Retrieval blend ratio |
| `--resample-sr` | `0` | Output sample rate; 0 keeps the model rate |
| `--rms-mix-rate` | `1.0` | Output RMS-envelope blend ratio |
| `--protect` | `0.33` | Consonant and breath protection, from 0 to 0.5 |
| `--overwrite` | Off | Replace existing output files |
Successful completion returns exit code 0, an inference failure returns 1, and user interruption returns 130.
## CLI Inference For The Current WebUI PyMSS Models
This section only covers the five models exposed by the WebUI's Vocal/Instrumental Separation and Dereverb page. Invoke PyMSS as a module:
```powershell
& $PYTHON -m tools.pymss.cli infer --help
```
The WebUI labels map to CLI catalog model names as follows:
| WebUI action | CLI model name |
| --- | --- |
| Dereverb | `dereverb_mel_band_roformer_less_aggressive_anvuew_sdr_18.8050.ckpt` |
| Dereverb (aggressive) | `dereverb_mel_band_roformer_anvuew_sdr_19.1729.ckpt` |
| Remove instrumental | `model_bs_roformer_ep_368_sdr_12.9628.ckpt` |
| Remove instrumental (aggressive) | `model_bs_roformer_ep_317_sdr_12.9755.ckpt` |
| Extract lead vocal | `model_mel_band_roformer_karaoke_aufr33_viperx_sdr_10.1956.ckpt` |
`--input` accepts one audio file or a directory, while `--output` is an output directory. Missing files in the CLI model cache are downloaded automatically.
### Dereverb
```powershell
& $PYTHON -m tools.pymss.cli infer `
"dereverb_mel_band_roformer_less_aggressive_anvuew_sdr_18.8050.ckpt" `
--input "<input audio or directory>" `
--output "<output directory>" `
--device auto `
--format flac
```
### Dereverb (Aggressive)
```powershell
& $PYTHON -m tools.pymss.cli infer `
"dereverb_mel_band_roformer_anvuew_sdr_19.1729.ckpt" `
--input "<input audio or directory>" `
--output "<output directory>" `
--device auto `
--format flac
```
### Remove Instrumental
```powershell
& $PYTHON -m tools.pymss.cli infer `
"model_bs_roformer_ep_368_sdr_12.9628.ckpt" `
--input "<input audio or directory>" `
--output "<output directory>" `
--device auto `
--format flac
```
### Remove Instrumental (Aggressive)
```powershell
& $PYTHON -m tools.pymss.cli infer `
"model_bs_roformer_ep_317_sdr_12.9755.ckpt" `
--input "<input audio or directory>" `
--output "<output directory>" `
--device auto `
--format flac
```
### Extract Lead Vocal
```powershell
& $PYTHON -m tools.pymss.cli infer `
"model_mel_band_roformer_karaoke_aufr33_viperx_sdr_10.1956.ckpt" `
--input "<input audio or directory>" `
--output "<output directory>" `
--device auto `
--format flac
```
For directory batches, add `--save-as-folder` to create a separate result folder for each input. On CUDA, replace `--device auto` with `--device cuda --device-id 0`; for CPU, use `--device cpu`. Output formats are `wav`, `flac`, `mp3`, and `m4a`.

View File

@@ -1,270 +1,286 @@
{ {
"人声提取激进程度": "Vocal extraction aggressiveness", "%s运行中请先停止该任务": "%s is running; stop it before starting another task",
"%s → 成功": "%s → Success", "====> 轮次:{} {}": "====> Epoch: {} {}",
"%s运行中请先停止该任务": "%s is running; stop it before starting another task", "A模型权重": "Weight (w) for Model A:",
"%s进程已终止": "The %s process has been terminated", "A模型路径": "Path to Model A:",
"====> 轮次:{} {}": "====> Epoch: {} {}", "B模型路径": "Path to Model B:",
"A模型权重": "Weight (w) for Model A:", "CUDA Graph预热完成": "CUDA Graph warm-up complete",
"A模型路径": "Path to Model A:", "CUDA可用%s": "CUDA available: %s",
"B模型路径": "Path to Model B:", "输入训练文件夹路径例如E:\\我的训练集": "Training folder path, for example: E:\\My training set",
"CUDA可用%s": "CUDA available: %s", "F0与HuBERT特征提取": "F0 and HuBERT feature extraction",
"E:\\语音音频+标注\\米津玄师\\src": "C:\\Users\\Desktop\\src", "F0提取": "F0 extraction",
"F0与HuBERT特征提取": "F0 and HuBERT feature extraction", "F0提取没有生成有效结果,已停止训练": "F0 extraction produced no valid results. Training has been stopped.",
"F0提取": "F0 extraction", "HuBERT特征": "HuBERT features",
"F0曲线文件, 可选, 一行一个音高, 代替默认F0及升降调": "F0 curve file (optional). One pitch per line. Replaces the default F0 and pitch modulation:", "HuBERT特征提取没有生成有效结果已停止训练": "HuBERT feature extraction produced no valid results. Training has been stopped.",
"HuBERT特征": "HuBERT features", "Index Rate": "Index Rate",
"Index Rate": "Index Rate", "SOLA偏移%d": "SOLA offset: %d",
"RVC模型路径": "RVC Model Path:", "[F0提取] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[F0 extraction] Completed | Success: %s | Skipped: %s | Failed: %s",
"SOLA偏移%d": "SOLA offset: %d", "[F0提取] 待处理%s": "[F0 extraction] Pending: %s",
"[F0提取] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[F0 extraction] Completed | Success: %s | Skipped: %s | Failed: %s", "[F0提取] 无待处理音频,已全部跳过": "[F0 extraction] No pending audio; all files were skipped",
"[F0提取] 待处理:%s": "[F0 extraction] Pending: %s", "[F0提取] 进度:%s/%s | 成功:%s | 跳过:%s | %s": "[F0 extraction] Progress: %s/%s | Success: %s | Skipped: %s | %s",
"[F0提取] 无待处理音频,已全部跳过": "[F0 extraction] No pending audio; all files were skipped", "[F0提取][失败] %s": "[F0 extraction][Failed] %s",
"[F0提取] 进度:%s/%s | 成功:%s | 跳过:%s | %s": "[F0 extraction] Progress: %s/%s | Success: %s | Skipped: %s | %s", "[F0提取][失败] %s\n%s": "[F0 extraction][Failed] %s\n%s",
"[F0提取][失败] %s": "[F0 extraction][Failed] %s", "[HuBERT特征] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[HuBERT features] Completed | Success: %s | Skipped: %s | Failed: %s",
"[F0提取][失败] %s\n%s": "[F0 extraction][Failed] %s\n%s", "[HuBERT特征] 无待处理音频,已全部跳过:%s": "[HuBERT features] No pending audio; skipped: %s",
"[HuBERT特征] 完成 | 成功:%s | 跳过:%s | 失败%s": "[HuBERT features] Completed | Success: %s | Skipped: %s | Failed: %s", "[HuBERT特征] 正在加载模型%s": "[HuBERT features] Loading model: %s",
"[HuBERT特征] 无待处理音频,已全部跳过:%s": "[HuBERT features] No pending audio; skipped: %s", "[HuBERT特征] 设备:%s | 待处理:%s | 已跳过:%s": "[HuBERT features] Device: %s | Pending: %s | Skipped: %s",
"[HuBERT特征] 正在加载模型:%s": "[HuBERT features] Loading model: %s", "[HuBERT特征] 进度:%s/%s | 成功:%s | 失败:%s | %s | %s": "[HuBERT features] Progress: %s/%s | Success: %s | Failed: %s | %s | %s",
"[HuBERT特征] 设备:%s | 待处理:%s | 已跳过:%s": "[HuBERT features] Device: %s | Pending: %s | Skipped: %s", "[HuBERT特征][失败] %s\n%s": "[HuBERT features][Failed] %s\n%s",
"[HuBERT特征] 进度:%s/%s | 成功:%s | 失败:%s | %s | %s": "[HuBERT features] Progress: %s/%s | Success: %s | Failed: %s | %s | %s", "[HuBERT特征][失败] %s 包含NaN": "[HuBERT features][Failed] %s contains NaN values",
"[HuBERT特征][失败] %s\n%s": "[HuBERT features][Failed] %s\n%s", "[HuBERT特征][失败] 模型不存在:%s": "[HuBERT features][Failed] Model not found: %s",
"[HuBERT特征][失败] %s 包含NaN": "[HuBERT features][Failed] %s contains NaN values", "[数据切分] 多说话人待处理:%s | 进程数:%s": "[Dataset preprocessing] Multi-speaker files: %s | Workers: %s",
"[HuBERT特征][失败] 模型不存在:%s": "[HuBERT features][Failed] Model not found: %s", "[数据切分] 子任务完成 | 成功:%s | 失败:%s": "[Data slicing] Worker completed | Success: %s | Failed: %s",
"[数据切分] 子任务完成 | 成功:%s | 失败:%s": "[Data slicing] Worker completed | Success: %s | Failed: %s", "[数据切分] 完成": "[Data slicing] Completed",
"[数据切分] 完成": "[Data slicing] Completed", "[数据切分] 开始": "[Data slicing] Started",
"[数据切分] 开始": "[Data slicing] Started", "[数据切分] 待处理:%s | 进程数:%s": "[Data slicing] Pending: %s | Processes: %s",
"[数据切分] 待处理:%s | 进程数:%s": "[Data slicing] Pending: %s | Processes: %s", "[数据切分] 进度:%s/%s | %s": "[Data slicing] Progress: %s/%s | %s",
"[数据切分] 进度:%s/%s | %s": "[Data slicing] Progress: %s/%s | %s", "[数据切分][失败] %s": "[Data slicing][Failed] %s",
"[数据切分][失败] %s": "[Data slicing][Failed] %s", "[数据切分][失败] %s\n%s": "[Data slicing][Failed] %s\n%s",
"[数据切分][失败] %s\n%s": "[Data slicing][Failed] %s\n%s", "[数据切分][跳过] 无效或异常音频片段:%s_%s | 峰值:%s": "[Data slicing][Skipped] Invalid or abnormal audio segment: %s_%s | Peak: %s",
"[数据切分][跳过] 无效或异常音频片段:%s_%s | 峰值:%s": "[Data slicing][Skipped] Invalid or abnormal audio segment: %s_%s | Peak: %s", "[索引训练] 写入进度:%s/%s": "[Index training] Write progress: %s/%s",
"[索引训练] 写入进度:%s/%s": "[Index training] Write progress: %s/%s", "[索引训练] 外部索引链接已存在:%s": "[Index training] External index link already exists: %s",
"[索引训练] 已链接索引到外部目录:%s": "[Index training] Linked index to external directory: %s", "[索引训练] 已链接索引到外部目录:%s": "[Index training] Linked index to external directory: %s",
"[索引训练] 成功构建索引:%s": "[Index training] Index built successfully: %s", "[索引训练] 成功构建索引:%s": "[Index training] Index built successfully: %s",
"[索引训练] 正在写入特征向量": "[Index training] Adding feature vectors", "[索引训练] 正在写入特征向量": "[Index training] Adding feature vectors",
"[索引训练] 正在将%s条特征聚类为10000个中心": "[Index training] Clustering %s feature vectors into 10,000 centers", "[索引训练] 正在将%s条特征聚类为10000个中心": "[Index training] Clustering %s feature vectors into 10,000 centers",
"[索引训练] 正在训练索引": "[Index training] Training index", "[索引训练] 正在训练索引": "[Index training] Training index",
"[索引训练] 特征形状:%s | IVF数量%s": "[Index training] Feature shape: %s | IVF count: %s", "[索引训练] 特征形状:%s | IVF数量%s": "[Index training] Feature shape: %s | IVF count: %s",
"[索引训练][失败] 无法链接索引到外部目录:%s\n%s": "[Index training][Failed] Could not link index to external directory: %s\n%s", "[索引训练][失败] 无法链接索引到外部目录:%s\n%s": "[Index training][Failed] Could not link index to external directory: %s\n%s",
"[索引训练][失败] 聚类失败,将使用原始特征继续\n%s": "[Index training][Failed] Clustering failed; continuing with the original features\n%s", "[索引训练][失败] 聚类失败,将使用原始特征继续\n%s": "[Index training][Failed] Clustering failed; continuing with the original features\n%s",
"[索引训练][失败] 请先进行特征提取": "[Index training][Failed] Extract features first", "[索引训练][失败] 请先进行特征提取": "[Index training][Failed] Extract features first",
"ckpt处理": "ckpt Processing", "[索引训练][跳过] added索引已存在%s": "[Index training][Skipped] added index already exists: %s",
"index文件路径不可包含中文": "The index file path cannot contain Chinese characters", "[索引训练][跳过] trained索引已存在%s": "[Index training][Skipped] trained index already exists: %s",
"pth文件路径不可包含中文": "The .pth file path cannot contain Chinese characters", "ckpt处理": "ckpt Processing",
"rmvpe卡号配置以-分隔输入使用的不同进程卡号,例如0-0-1使用卡0上跑2个进程并在卡1上跑1个进程": "Enter the GPU index(es) separated by '-', e.g., 0-0-1 to use 2 processes in GPU0 and 1 process in GPU1", "hubert:以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2": "HuBERT: Enter GPU IDs separated by hyphens; for example, 0-1-2 uses GPUs 0, 1, and 2",
"step1: 填写实验配置. 实验数据放在logs下, 每个实验一个文件夹, 需手工输入实验名路径, 内含实验配置, 日志, 训练得到的模型文件. ": "Step 1: Fill in the experimental configuration. Experimental data is stored in the 'logs' folder, with each experiment having a separate folder. Manually enter the experiment name path, which contains the experimental configuration, logs, and trained model files.", "index文件路径不可包含中文": "The index file path cannot contain Chinese characters",
"step1:正在处理数据": "Step 1: Processing data", "pth文件路径不可包含中文": "The .pth file path cannot contain Chinese characters",
"step2:正在提取音高&正在提取特征": "step2:Pitch extraction & feature extraction", "rmvpe卡号配置以-分隔输入使用的不同进程卡号,例如0-0-1使用在卡0上跑2个进程并在卡1上跑1个进程": "Enter the GPU index(es) separated by '-', e.g., 0-0-1 to use 2 processes in GPU0 and 1 process in GPU1",
"step2a: 自动遍历训练文件夹下所有可解码成音频的文件并进行切片归一化, 在实验目录下生成2个wav文件夹; 暂时只支持单人训练. ": "Step 2a: Automatically traverse all files in the training folder that can be decoded into audio and perform slice normalization. Generates 2 wav folders in the experiment directory. Currently, only single-singer/speaker training is supported.", "step1: 填写实验配置. 实验数据放在logs下, 每个实验一个文件夹, 需手工输入实验名路径, 内含实验配置, 日志, 训练得到的模型文件. ": "Step 1: Fill in the experimental configuration. Experimental data is stored in the 'logs' folder, with each experiment having a separate folder. Manually enter the experiment name path, which contains the experimental configuration, logs, and trained model files.",
"step2b: 使用CPU提取音高(如果模型带音高), 使用GPU提取特征(选择卡号)": "Step 2b: Use CPU to extract pitch (if the model has pitch), use GPU to extract features (select GPU index):", "step2a: 扫描训练音频并进行切片归一化在实验目录下生成训练wav文件。": "Step 2a: Scan, slice, and normalize training audio, then create training WAV files in the experiment directory.",
"step3: 填写训练设置, 开始训练模型和索引": "Step 3: Fill in the training settings and start training the model and index", "step2b: 音高与hubert语义特征提取": "Step 2b: Pitch and HuBERT semantic feature extraction",
"step3a:正在训练模型": "Step 3a: Model training started", "step3: 填写训练设置, 开始训练模型和索引": "Step 3: Fill in the training settings and start training the model and index",
"step3b:正在训练索引": "step 3b: training the index", "……仅显示最近10条失败记录": "…Showing only the 10 most recent failures",
"……仅显示最近10条失败记录": "…Showing only the 10 most recent failures", "……已省略前%s行仅显示最新状态": "…Omitted the first %s lines; showing the latest status only",
"……已省略前%s行仅显示最新状态": "…Omitted the first %s lines; showing the latest status only", "一键训练": "One-click training",
"一键训练": "One-click training", "上一页": "Previous",
"也可批量输入音频文件, 二选一, 优先读文件夹": "Multiple audio files can also be imported. If a folder path exists, this input is ignored.", "下一页": "Next",
"仅支持pm和rmvpe音高提取算法": "Only the pm and rmvpe pitch extraction methods are supported", "为多说话人训练集建立清单。空行会被忽略路径、说话人名称、说话人ID或重复次数填写不全的行会在提交时提示。": "Create a multi-speaker dataset manifest. Empty rows are ignored; incomplete path, speaker name, speaker ID, or repeat count fields are reported on submission.",
"从训练检查点提取的模型": "Model extracted from a training checkpoint", "主结果文件夹": "Primary output folder",
"以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2": "Enter the GPU index(es) separated by '-', e.g., 0-1-2 to use GPU 0, 1, and 2:", "也可批量输入音频文件, 二选一, 优先读文件夹": "Multiple audio files can also be imported. If a folder path exists, this input is ignored.",
"任务": "Task", "人声、伴奏与混响批量处理使用pymss/MSST模型。": "Batch processing of vocals, accompaniment, and reverb using pymss/MSST models.",
"使用显卡:%s": "GPUs in use: %s", "人声伴奏分离&去混响": "Vocals/Accompaniment Separation & Dereverberation",
"使用模型采样率": "Use model sample rate", "仅支持pm和rmvpe音高提取算法": "Only the pm and rmvpe pitch extraction methods are supported",
"使用设备采样率": "Use device sample rate", "从训练检查点提取的模型": "Model extracted from a training checkpoint",
"保存名": "Save name:", "以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2": "Enter the GPU index(es) separated by '-', e.g., 0-1-2 to use GPU 0, 1, and 2:",
"保存的文件名, 默认空为和源文件同名": "Save file name (default: same as the source file):", "以下行填写不完整或无效,已忽略:%s": "The following incomplete or invalid rows were ignored: %s",
"保存的模型名不带后缀": "Saved model name (without extension):", "任务": "Task",
"保存频率save_every_epoch": "Save frequency (save_every_epoch):", "使用显卡:%s": "GPUs in use: %s",
"保护清辅音和呼吸声防止电音撕裂等artifact拉满0.5不开启,调低加大保护力度但可能降低索引效果": "Protect voiceless consonants and breath sounds to prevent artifacts such as tearing in electronic music. Set to 0.5 to disable. Decrease the value to increase protection, but it may reduce indexing accuracy:", "使用模型采样率": "Use model sample rate",
"修改": "Modify", "使用设备采样率": "Use device sample rate",
"修改模型信息(仅支持weights文件夹下提取的小模型文件)": "Modify model information (only supported for small model files extracted from the 'weights' folder)", "保存名": "Save name:",
"停止一键训练": "Stop one-click training", "保存的文件名, 默认空为和源文件同名": "Save file name (default: same as the source file):",
"停止处理数据": "Stop data preprocessing", "保存的模型名不带后缀": "Saved model name (without extension):",
"停止特征提取": "Stop feature extraction", "保存频率save_every_epoch": "Save frequency (save_every_epoch):",
"停止训练模型": "Stop model training", "保护清辅音和呼吸声防止电音撕裂等artifact拉满0.5不开启,调低加大保护力度但可能降低索引效果": "Protect voiceless consonants and breath sounds to prevent artifacts such as tearing in electronic music. Set to 0.5 to disable. Decrease the value to increase protection, but it may reduce indexing accuracy:",
"停止训练索引": "Stop index training", "修改": "Modify",
"停止音频转换": "Stop audio conversion", "修改模型信息(仅支持weights文件夹下提取的小模型文件)": "Modify model information (only supported for small model files extracted from the 'weights' folder)",
"全流程结束!": "All processes have been completed!", "停止一键训练": "Stop one-click training",
"判别器预训练模型不存在将不使用assets/pretrained%s/%sD%s.pth": "Discriminator pretrained model not found; it will not be used: assets/pretrained%s/%sD%s.pth", "停止分离": "Stop separation",
"加载模型": "Load model", "停止处理数据": "Stop data preprocessing",
"加载预训练底模D路径": "Load pre-trained base model D path:", "停止特征提取": "Stop feature extraction",
"加载预训练底模G路径": "Load pre-trained base model G path:", "停止训练模型": "Stop model training",
"单次推理": "Single Inference", "停止训练索引": "Stop index training",
"卸载音色省显存": "Unload voice to save GPU memory:", "停止音频转换": "Stop audio conversion",
"变调(整数, 半音数量, 升八度12降八度-12)": "Transpose (integer, number of semitones, raise by an octave: 12, lower by an octave: -12):",
"合成": "Synthesis",
"后处理重采样至最终采样率0为不进行重采样": "Resample the output audio in post-processing to the final sample rate. Set to 0 for no resampling:",
"否": "No",
"响应阈值": "Response threshold",
"响度因子": "loudness factor",
"处理中": "Processing",
"处理数据": "Process data",
"失败": "Failed",
"失败记录": "Failure records",
"子进程执行失败,返回码:%s": "Child process failed with exit code: %s",
"导出文件格式": "Export file format",
"已停止": "Stopped",
"已加载判别器预训练模型:%s": "Loaded discriminator pretrained model: %s",
"已加载生成器预训练模型:%s": "Loaded generator pretrained model: %s",
"已启用索引检索": "Index search enabled",
"已完成": "Completed",
"已恢复判别器检查点": "Restored discriminator checkpoint",
"常见问题解答": "FAQ (Frequently Asked Questions)",
"常规设置": "General settings",
"开始音频转换": "Start audio conversion",
"当前": "Current",
"当前阶段": "Current stage",
"很遗憾您这没有能用的显卡来支持您训练": "Unfortunately, there is no compatible GPU available to support your training.",
"性别因子/声线粗细": "Gender factor / voice thickness",
"性能设置": "Performance settings",
"总训练轮数total_epoch": "Total training epochs (total_epoch):",
"成功": "Success",
"执行命令": "Command",
"批量推理": "Batch Inference",
"批量转换, 输入待转换音频文件夹, 或上传多个音频文件, 在指定文件夹(默认opt)下输出转换的音频. ": "Batch conversion. Enter the folder containing the audio files to be converted or upload multiple audio files. The converted audio will be output in the specified folder (default: 'opt').",
"拖拽或点击上传待处理音频": "Drag and drop or click to upload audio for processing",
"指定输出主人声文件夹": "Specify the output folder for vocals:",
"指定输出文件夹": "Specify output folder:",
"指定输出非主人声文件夹": "Specify the output folder for accompaniment:",
"推理时间(ms):": "Inference time (ms):",
"推理耗时:%.2f秒": "Inference time: %.2f seconds",
"推理音色": "Inferencing voice:",
"提取": "Extract",
"提取音高和处理数据使用的CPU进程数": "Number of CPU processes used for pitch extraction and data processing:",
"数据切分": "Data slicing",
"无法停止": "Cannot stop",
"无法读取音频:%s": "Could not read audio: %s",
"是": "Yes",
"是否仅保存最新的ckpt文件以节省硬盘空间": "Save only the latest '.ckpt' file to save disk space:",
"是否在每次保存时间点将最终小模型保存至weights文件夹": "Save a small final model to the 'weights' folder at each save point:",
"是否缓存所有训练集至显存. 10min以下小数据可缓存以加速训练, 大数据缓存会炸显存也加不了多少速": "Cache all training sets to GPU memory. Caching small datasets (less than 10 minutes) can speed up training, but caching large datasets will consume a lot of GPU memory and may not provide much speed improvement:",
"显卡信息": "GPU Information",
"未使用": "Not used",
"未使用判别器预训练模型": "Discriminator pretrained model not used",
"未使用生成器预训练模型": "Generator pretrained model not used",
"未找到Roformer模型配置文件正在使用内置默认配置": "Roformer model configuration not found; using the built-in defaults",
"未检测到可用显卡将使用CPU训练耗时可能较长": "No supported GPU detected; training on the CPU may take much longer",
"未运行": "Not running",
"本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责. <br>如不认可该条款, 则不能使用或引用软件包内任何代码和文件. 详见根目录<b>LICENSE</b>.": "This software is open source under the MIT license. The author does not have any control over the software. Users who use the software and distribute the sounds exported by the software are solely responsible. <br>If you do not agree with this clause, you cannot use or reference any codes and files within the software package. See the root directory <b>Agreement-LICENSE.txt</b> for details.",
"查看": "View",
"查看模型信息(仅支持weights文件夹下提取的小模型文件)": "View model information (only supported for small model files extracted from the 'weights' folder)",
"检测到模型类型:%s": "Detected model type: %s",
"检索特征占比": "Search feature ratio (controls accent strength, too high has artifacting):",
"模型": "Model",
"模型信息:%s\n采样率%s\n是否使用音高引导%s\n版本%s": "Model information: %s\nSample rate: %s\nPitch guidance: %s\nVersion: %s",
"模型推理": "Model Inference",
"模型提取(输入logs文件夹下大文件模型路径),适用于训一半不想训了模型没有自动提取保存小文件模型,或者想测试中间模型的情况": "Model extraction (enter the path of the large file model under the 'logs' folder). This is useful if you want to stop training halfway and manually extract and save a small model file, or if you want to test an intermediate model:",
"模型是否带音高指导": "Whether the model has pitch guidance:",
"模型是否带音高指导(唱歌一定要, 语音可以不要)": "Whether the model has pitch guidance (required for singing, optional for speech):",
"模型是否带音高指导,1是0否": "Whether the model has pitch guidance (1: yes, 0: no):",
"模型版本型号": "Model architecture version:",
"模型融合, 可用于测试音色融合": "Model fusion, can be used to test timbre fusion",
"模型融合失败:两个模型的结构不一致": "Model merge failed: the two model architectures do not match",
"模型训练": "Model training",
"模型路径": "Path to Model:",
"正在保存最终检查点:%s": "Saving final checkpoint: %s",
"正在保存检查点 %s_e%s%s": "Saving checkpoint %s_e%s: %s",
"正在加载RMVPE模型": "Loading RMVPE model",
"正在加载模型": "Loading model",
"正在启动": "Starting",
"正在收尾": "Finalizing",
"每张显卡的batch_size": "Batch size per GPU:",
"淡入淡出长度": "Fade length",
"清理模型缓存": "Clearing model cache",
"版本": "Version",
"特征": "Features",
"特征提取": "Feature extraction",
"状态": "Status",
"独占 WASAPI 设备": "Exclusive WASAPI device",
"生成器预训练模型不存在将不使用assets/pretrained%s/%sG%s.pth": "Generator pretrained model not found; it will not be used: assets/pretrained%s/%sG%s.pth",
"男转女推荐+12key, 女转男推荐-12key, 如果音域爆炸导致音色失真也可以自己调整到合适音域. ": "Recommended +12 key for male to female conversion, and -12 key for female to male conversion. If the sound range goes too far and the voice is distorted, you can also adjust it to the appropriate range by yourself.",
"目标采样率": "Target sample rate:",
"等待中": "Waiting",
"等待输入": "Waiting for input",
"算法延迟(ms):": "Algorithmic delays(ms):",
"索引": "Index",
"索引无效必须使用added_xxxx.index不能使用trained_xxxx.index": "Invalid index: use added_xxxx.index, not trained_xxxx.index",
"索引检索失败": "Index search failed",
"索引检索失败或未启用": "Index search failed or is disabled",
"索引训练": "Index training",
"耗时": "Elapsed time",
"耗时:特征=%.3f秒,索引=%.3f秒,音高=%.3f秒,模型=%.3f秒": "Elapsed time: features=%.3fs, index=%.3fs, pitch=%.3fs, model=%.3fs",
"融合": "Fusion",
"要改的模型信息": "Model information to be modified:",
"要置入的模型信息": "Model information to be placed:",
"训练": "Train",
"训练已完成,正在保存最终模型": "Training completed; saving the final model",
"训练文件列表写入完成": "Training file list written successfully",
"训练模型": "Train model",
"训练特征索引": "Train feature index",
"训练结束, 您可查看控制台训练日志或实验文件夹下的train.log": "Training complete. You can check the training logs in the console or the 'train.log' file under the experiment folder.",
"训练设备规则选择的精度:%s": "Training precision selected by device rules: %s",
"训练轮次:{} [{:.0f}%]": "Training epoch: {} [{:.0f}%]",
"设备类型": "Device type",
"请上传音频文件": "Upload an audio file",
"请填写输出文件夹路径": "Enter the output folder path",
"请指定说话人id": "Please specify the speaker/singer ID:",
"请选择index文件": "Please choose the .index file",
"请选择pth文件": "Please choose the .pth file",
"请选择说话人id": "Select Speaker/Singer ID:",
"转换": "Convert",
"输入实验名": "Enter the experiment name:",
"输入待处理音频文件夹路径": "Enter the path of the audio folder to be processed:",
"输入待处理音频文件夹路径(去文件管理器地址栏拷就行了)": "Enter the path of the audio folder to be processed (copy it from the address bar of the file manager):",
"输入待处理音频文件路径(默认是正确格式示例)": "Enter the path of the audio file to be processed (default is the correct format example):",
"输入源音量包络替换输出音量包络融合比例越靠近1越使用输出包络": "Adjust the volume envelope scaling. Closer to 0, the more it mimicks the volume of the original vocals. Can help mask noise and make volume sound more natural when set relatively low. Closer to 1 will be more of a consistently loud volume:",
"输入监听": "Input voice monitor",
"输入训练文件夹路径": "Enter the path of the training folder:",
"输入设备": "Input device",
"输入设备:%s:%s": "Input device: %s:%s",
"输入降噪": "Input noise reduction",
"输出信息": "Output information",
"输出变声": "Output converted voice",
"输出设备": "Output device",
"输出设备:%s:%s": "Output device: %s:%s",
"输出降噪": "Output noise reduction",
"输出音频(右下角三个点,点了可以下载)": "Export audio (click on the three dots in the lower right corner to download)",
"运行中": "Running",
"进度": "Progress",
"选择.index文件": "Select the .index file",
"选择.pth文件": "Select the .pth file",
"选择模型": "Select model",
"选择索引": "Select index",
"选择音高提取算法": "Select the pitch extraction algorithm",
"采样率:": "Sample rate:",
"采样长度": "Sample length",
"重载设备列表": "Reload device list",
"错误信息:%s": "Error details: %s",
"错误:未知模型:%s": "Error: Unknown model: %s",
"音调设置": "Pitch settings",
"音频包含多个声道,但模型仅支持单声道,将对所有声道取平均值": "The audio has multiple channels, but the model is mono; all channels will be averaged",
"音频设备": "Audio device",
"音高全部为0该音频无意义跳过%s": "All pitch values are zero; this audio is unusable and will be skipped: %s",
"音高算法": "pitch detection algorithm",
"额外推理时长": "Extra inference time",
"数据切分没有生成有效训练音频,请检查训练集和数据切分日志": "Dataset preprocessing produced no valid training audio. Check the dataset and preprocessing log.",
"数据切分没有生成16k音频已停止后续特征提取和训练": "Dataset preprocessing produced no 16 kHz audio. Feature extraction and training have been stopped.",
"数据切分输出文件不匹配,已停止后续特征提取和训练": "Dataset preprocessing outputs do not match. Feature extraction and training have been stopped.",
"HuBERT特征提取没有生成有效结果已停止训练": "HuBERT feature extraction produced no valid results. Training has been stopped.",
"F0提取没有生成有效结果已停止训练": "F0 extraction produced no valid results. Training has been stopped.",
"没有可用于训练的有效音频,请先完成数据切分和特征提取": "No valid audio is available for training. Complete dataset preprocessing and feature extraction first.",
"已完成阶段": "Completed stages",
"已成功": "Succeeded",
"刷新音色列表": "Refresh voice list",
"特征检索库文件路径(选择模型后自动匹配,可手动修改)": "Feature index path (automatically matched after selecting a model; editable)",
"[索引训练] 外部索引链接已存在:%s": "[Index training] External index link already exists: %s",
"[索引训练][跳过] added索引已存在%s": "[Index training][Skipped] added index already exists: %s",
"[索引训练][跳过] trained索引已存在%s": "[Index training][Skipped] trained index already exists: %s",
"当前设备:%s | 推理精度:%s": "Current device: %s | Inference precision: %s",
"正在预热CUDA Graph": "Warming up CUDA Graph",
"CUDA Graph预热完成": "CUDA Graph warm-up complete",
"数据提取开始start_time=%.6f,请求并行数=%s实际并行数上限=%s": "Data extraction started: start_time=%.6f, requested concurrency=%s, actual concurrency limit=%s",
"数据提取结束end_time=%.6f,总耗时=%.3f秒": "Data extraction finished: end_time=%.6f, total elapsed=%.3f seconds",
"人声伴奏分离&去混响": "Vocals/Accompaniment Separation & Dereverberation",
"人声、伴奏与混响批量处理使用pymss/MSST模型。": "Batch processing of vocals, accompaniment, and reverb using pymss/MSST models.",
"处理方式": "Processing mode",
"底层模型": "Underlying model",
"主结果文件夹": "Primary output folder",
"分离残余文件夹": "Residual output folder", "分离残余文件夹": "Residual output folder",
"停止分离": "Stop separation" "删除末行": "Remove last row",
} "判别器预训练模型不存在将不使用assets/pretrained%s/%sD%s.pth": "Discriminator pretrained model not found; it will not be used: assets/pretrained%s/%sD%s.pth",
"刷新音色列表": "Refresh voice list",
"加载模型": "Load model",
"加载预训练底模D路径": "Load pre-trained base model D path:",
"加载预训练底模G路径": "Load pre-trained base model G path:",
"单次推理": "Single Inference",
"单说话人": "Single speaker",
"卸载音色省显存": "Unload voice to save GPU memory:",
"变调(整数, 半音数量, 升八度12降八度-12)": "Transpose (integer, number of semitones, raise by an octave: 12, lower by an octave: -12):",
"合成": "Synthesis",
"后处理重采样至最终采样率0为不进行重采样": "Resample the output audio in post-processing to the final sample rate. Set to 0 for no resampling:",
"否": "No",
"响应阈值": "Response threshold",
"响度因子": "loudness factor",
"处理中": "Processing",
"处理数据": "Process data",
"处理方式": "Processing mode",
"多说话人": "Multiple speakers",
"注意:多说话人训练音色还原度不一定有单说话人分开训练好!": "Note: Multi-speaker training may not reproduce each voice as accurately as training each speaker separately!",
"多说话人子文件夹无效格式应为名称_ID_重复次数、ID为0~109、重复次数为正整数、同一ID的名称需一致且目录需有音频%s": "Invalid multi-speaker subfolders (expected Name_ID_Repeat, ID 0-109, a positive repeat count, one consistent name per ID, and at least one audio file): %s",
"多说话人总文件夹只扫描根目录下的直接子文件夹,根目录文件会被忽略。\n子文件夹必须命名为x_y_zx是说话人名称y是说话人ID0~109共110个z是训练集重复次数。\n也可以到右侧“多说话人训练集辅助”编辑并提交训练集清单。": "Only direct subfolders of the multi-speaker root are scanned; root files are ignored.\nName each subfolder x_y_z: x is the speaker name, y is the speaker ID (0-109, 110 choices), and z is the repeat count.\nYou can also submit a manifest from the Multi-speaker Dataset Helper tab.",
"多说话人训练集总文件夹不存在:%s": "Multi-speaker dataset root does not exist: %s",
"多说话人训练集总文件夹中没有有效音频": "The multi-speaker dataset root contains no valid audio",
"多说话人训练集总文件夹中没有直接子文件夹": "The multi-speaker dataset root has no direct subfolders",
"多说话人训练集总文件夹路径": "Multi-speaker dataset root",
"多说话人训练集清单不存在,请先提交辅助清单或填写总文件夹": "The multi-speaker manifest does not exist. Submit it from the helper tab or enter a dataset root first",
"多说话人训练集清单包含无效条目:%s": "The multi-speaker manifest contains an invalid entry: %s",
"多说话人训练集清单存在重复输出标识:%s": "The multi-speaker manifest contains a duplicate output key: %s",
"多说话人训练集清单已保存:%s有效音频%s个": "Multi-speaker dataset manifest saved: %s; valid audio files: %s",
"多说话人训练集清单格式错误": "The multi-speaker manifest format is invalid",
"多说话人训练集清单没有有效音频": "The multi-speaker manifest contains no valid audio",
"多说话人训练集辅助": "Multi-speaker Dataset Helper",
"失败": "Failed",
"失败记录": "Failure records",
"子进程执行失败,返回码:%s": "Child process failed with exit code: %s",
"实验名不能为空": "Experiment name is required",
"导出文件格式": "Export file format",
"已停止": "Stopped",
"已加载判别器预训练模型:%s": "Loaded discriminator pretrained model: %s",
"已加载生成器预训练模型:%s": "Loaded generator pretrained model: %s",
"已启用索引检索": "Index search enabled",
"已完成": "Completed",
"已完成阶段": "Completed stages",
"已恢复判别器检查点": "Restored discriminator checkpoint",
"已成功": "Succeeded",
"常见问题解答": "FAQ (Frequently Asked Questions)",
"常规设置": "General settings",
"底层模型": "Underlying model",
"开始音频转换": "Start audio conversion",
"当前": "Current",
"当前设备:%s | 推理精度:%s": "Current device: %s | Inference precision: %s",
"当前阶段": "Current stage",
"很遗憾您这没有能用的显卡来支持您训练": "Unfortunately, there is no compatible GPU available to support your training.",
"性别因子/声线粗细": "Gender factor / voice thickness",
"性能设置": "Performance settings",
"总训练轮数total_epoch": "Total training epochs (total_epoch):",
"成功": "Success",
"执行命令": "Command",
"批量推理": "Batch Inference",
"批量转换, 输入待转换音频文件夹, 或上传多个音频文件, 在指定文件夹(默认opt)下输出转换的音频. ": "Batch conversion. Enter the folder containing the audio files to be converted or upload multiple audio files. The converted audio will be output in the specified folder (default: 'opt').",
"拖拽或点击上传待处理音频": "Drag and drop or click to upload audio for processing",
"指定输出文件夹": "Specify output folder:",
"推理时间(ms):": "Inference time (ms):",
"推理耗时:%.2f秒": "Inference time: %.2f seconds",
"推理音色": "Inferencing voice:",
"提交训练集清单": "Submit dataset manifest",
"提取": "Extract",
"提取音高和处理数据使用的CPU进程数": "Number of CPU processes used for pitch extraction and data processing:",
"数据切分": "Data slicing",
"数据切分没有生成16k音频已停止后续特征提取和训练": "Dataset preprocessing produced no 16 kHz audio. Feature extraction and training have been stopped.",
"数据切分没有生成有效训练音频,请检查训练集和数据切分日志": "Dataset preprocessing produced no valid training audio. Check the dataset and preprocessing log.",
"数据切分输出文件不匹配,已停止后续特征提取和训练": "Dataset preprocessing outputs do not match. Feature extraction and training have been stopped.",
"数据提取开始start_time=%.6f,请求并行数=%s实际并行数上限=%s": "Data extraction started: start_time=%.6f, requested concurrency=%s, actual concurrency limit=%s",
"数据提取结束end_time=%.6f,总耗时=%.3f秒": "Data extraction finished: end_time=%.6f, total elapsed=%.3f seconds",
"新增一行": "Add row",
"无法停止": "Cannot stop",
"是": "Yes",
"是否仅保存最新的ckpt文件以节省硬盘空间": "Save only the latest '.ckpt' file to save disk space:",
"是否在每次保存时间点将最终小模型保存至weights文件夹": "Save a small final model to the 'weights' folder at each save point:",
"是否缓存所有训练集至显存. 10min以下小数据可缓存以加速训练, 大数据缓存会炸显存也加不了多少速": "Cache all training sets to GPU memory. Caching small datasets (less than 10 minutes) can speed up training, but caching large datasets will consume a lot of GPU memory and may not provide much speed improvement:",
"显卡信息": "GPU Information",
"未使用": "Not used",
"未使用判别器预训练模型": "Discriminator pretrained model not used",
"未使用生成器预训练模型": "Generator pretrained model not used",
"未检测到可用显卡将使用CPU训练耗时可能较长": "No supported GPU detected; training on the CPU may take much longer",
"未运行": "Not running",
"本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责. <br>如不认可该条款, 则不能使用或引用软件包内任何代码和文件. 详见根目录<b>LICENSE</b>.": "This software is open source under the MIT license. The author does not have any control over the software. Users who use the software and distribute the sounds exported by the software are solely responsible. <br>If you do not agree with this clause, you cannot use or reference any codes and files within the software package. See the root directory <b>Agreement-LICENSE.txt</b> for details.",
"查看": "View",
"查看模型信息(仅支持weights文件夹下提取的小模型文件)": "View model information (only supported for small model files extracted from the 'weights' folder)",
"检索特征占比": "Search feature ratio (controls accent strength, too high has artifacting):",
"模型信息:%s\n采样率%s\n是否使用音高引导%s\n版本%s": "Model information: %s\nSample rate: %s\nPitch guidance: %s\nVersion: %s",
"模型推理": "Model Inference",
"模型提取(输入logs文件夹下大文件模型路径),适用于训一半不想训了模型没有自动提取保存小文件模型,或者想测试中间模型的情况": "Model extraction (enter the path of the large file model under the 'logs' folder). This is useful if you want to stop training halfway and manually extract and save a small model file, or if you want to test an intermediate model:",
"模型是否带音高指导": "Whether the model has pitch guidance:",
"模型是否带音高指导(唱歌一定要, 语音可以不要)": "Whether the model has pitch guidance (required for singing, optional for speech):",
"模型是否带音高指导,1是0否": "Whether the model has pitch guidance (1: yes, 0: no):",
"模型版本型号": "Model architecture version:",
"模型融合, 可用于测试音色融合": "Model fusion, can be used to test timbre fusion",
"模型融合失败:两个模型的结构不一致": "Model merge failed: the two model architectures do not match",
"模型训练": "Model training",
"模型路径": "Path to Model:",
"正在保存最终检查点:%s": "Saving final checkpoint: %s",
"正在保存检查点 %s_e%s%s": "Saving checkpoint %s_e%s: %s",
"正在加载RMVPE模型": "Loading RMVPE model",
"正在加载模型": "Loading model",
"正在启动": "Starting",
"正在收尾": "Finalizing",
"正在预热CUDA Graph": "Warming up CUDA Graph",
"每张显卡的batch_size": "Batch size per GPU:",
"没有可用于训练的有效音频,请先完成数据切分和特征提取": "No valid audio is available for training. Complete dataset preprocessing and feature extraction first.",
"没有有效的多说话人训练集行": "There are no valid multi-speaker dataset rows",
"淡入淡出长度": "Fade length",
"清理模型缓存": "Clearing model cache",
"版本": "Version",
"特征": "Features",
"特征提取": "Feature extraction",
"特征检索库文件路径(选择模型后自动匹配,可手动修改)": "Feature index path (automatically matched after selecting a model; editable)",
"状态": "Status",
"独占 WASAPI 设备": "Exclusive WASAPI device",
"生成器预训练模型不存在将不使用assets/pretrained%s/%sG%s.pth": "Generator pretrained model not found; it will not be used: assets/pretrained%s/%sG%s.pth",
"留空则使用辅助页已提交的清单": "Leave empty to use the manifest submitted from the helper tab",
"目标采样率": "Target sample rate:",
"第%s/%s页共%s行": "Page %s/%s, %s rows",
"等待中": "Waiting",
"等待输入": "Waiting for input",
"算法延迟(ms):": "Algorithmic delays(ms):",
"索引": "Index",
"索引文件不存在,将不使用索引继续推理:%s": "Index file does not exist; inference will continue without an index: %s",
"索引无效必须使用added_xxxx.index不能使用trained_xxxx.index": "Invalid index: use added_xxxx.index, not trained_xxxx.index",
"索引检索失败": "Index search failed",
"索引检索失败或未启用": "Index search failed or is disabled",
"索引训练": "Index training",
"耗时": "Elapsed time",
"耗时:特征=%.3f秒,索引=%.3f秒,音高=%.3f秒,模型=%.3f秒": "Elapsed time: features=%.3fs, index=%.3fs, pitch=%.3fs, model=%.3fs",
"融合": "Fusion",
"要改的模型信息": "Model information to be modified:",
"要置入的模型信息": "Model information to be placed:",
"训练": "Train",
"训练已完成,正在保存最终模型": "Training completed; saving the final model",
"训练文件列表写入完成": "Training file list written successfully",
"训练模型": "Train model",
"训练特征索引": "Train feature index",
"训练设备规则选择的精度:%s": "Training precision selected by device rules: %s",
"训练轮次:{} [{:.0f}%]": "Training epoch: {} [{:.0f}%]",
"训练集子音频文件夹目录路径": "Dataset audio subfolder path",
"训练集类型": "Dataset type",
"设备类型": "Device type",
"说话人ID0~109": "Speaker ID (0-109)",
"说话人名称": "Speaker name",
"说话人:%sID%s": "Speaker: %s (ID: %s)",
"请上传音频文件": "Upload an audio file",
"请填写输出文件夹路径": "Enter the output folder path",
"请指定说话人id": "Please specify the speaker/singer ID:",
"请选择index文件": "Please choose the .index file",
"请选择pth文件": "Please choose the .pth file",
"请选择说话人id": "Select Speaker/Singer ID:",
"转换": "Convert",
"输入实验名": "Enter the experiment name:",
"输入实验名例如test": "Experiment name, for example: test",
"输入待处理音频文件夹路径": "Enter the path of the audio folder to be processed:",
"输入待处理音频文件夹路径(去文件管理器地址栏拷就行了)": "Enter the path of the audio folder to be processed (copy it from the address bar of the file manager):",
"输入源音量包络替换输出音量包络融合比例越靠近1越使用输出包络": "Adjust the volume envelope scaling. Closer to 0, the more it mimicks the volume of the original vocals. Can help mask noise and make volume sound more natural when set relatively low. Closer to 1 will be more of a consistently loud volume:",
"输入监听": "Input voice monitor",
"输入训练文件夹路径": "Enter the path of the training folder:",
"输入设备": "Input device",
"输入设备:%s:%s": "Input device: %s:%s",
"输入降噪": "Input noise reduction",
"输出信息": "Output information",
"输出变声": "Output converted voice",
"输出设备": "Output device",
"输出设备:%s:%s": "Output device: %s:%s",
"输出降噪": "Output noise reduction",
"输出音频(右下角三个点,点了可以下载)": "Export audio (click on the three dots in the lower right corner to download)",
"运行中": "Running",
"进度": "Progress",
"选择.index文件": "Select the .index file",
"选择.pth文件": "Select the .pth file",
"选择多说话人音色": "Select multi-speaker voice",
"选择模型": "Select model",
"选择索引": "Select index",
"选择音高提取算法": "Select the pitch extraction algorithm",
"采样率:": "Sample rate:",
"采样长度": "Sample length",
"重复次数": "Repeat count",
"重载设备列表": "Reload device list",
"音调设置": "Pitch settings",
"音频设备": "Audio device",
"音高全部为0该音频无意义跳过%s": "All pitch values are zero; this audio is unusable and will be skipped: %s",
"音高算法": "pitch detection algorithm",
"额外推理时长": "Extra inference time"
}

View File

@@ -1,270 +1,286 @@
{ {
"人声提取激进程度": "Intensidad de extracción vocal", "%s运行中请先停止该任务": "%s está en ejecución; deténgalo antes de iniciar otra tarea",
"%s → 成功": "%s → Éxito", "====> 轮次:{} {}": "====> Época: {} {}",
"%s运行中请先停止该任务": "%s está en ejecución; deténgalo antes de iniciar otra tarea", "A模型权重": "Un peso modelo para el modelo A.",
"%s进程已终止": "El proceso %s ha finalizado", "A模型路径": "Modelo A ruta.",
"====> 轮次:{} {}": "====> Época: {} {}", "B模型路径": "Modelo B ruta.",
"A模型权重": "Un peso modelo para el modelo A.", "CUDA Graph预热完成": "Preparación de CUDA Graph completada",
"A模型路径": "Modelo A ruta.", "CUDA可用%s": "CUDA disponible: %s",
"B模型路径": "Modelo B ruta.", "输入训练文件夹路径例如E:\\我的训练集": "Ruta de la carpeta de entrenamiento, por ejemplo: E:\\Mi conjunto de entrenamiento",
"CUDA可用%s": "CUDA disponible: %s", "F0与HuBERT特征提取": "Extracción de F0 y características HuBERT",
"E:\\语音音频+标注\\米津玄师\\src": "C:\\Users\\Desktop\\src", "F0提取": "Extracción F0",
"F0与HuBERT特征提取": "Extracción de F0 y características HuBERT", "F0提取没有生成有效结果,已停止训练": "La extracción de F0 no generó resultados válidos. Se detuvo el entrenamiento.",
"F0提取": "Extracción F0", "HuBERT特征": "Características HuBERT",
"F0曲线文件, 可选, 一行一个音高, 代替默认F0及升降调": "Archivo de curva F0, opcional, un tono por línea, en lugar de F0 predeterminado y cambio de tono", "HuBERT特征提取没有生成有效结果已停止训练": "La extracción de características HuBERT no generó resultados válidos. Se detuvo el entrenamiento.",
"HuBERT特征": "Características HuBERT", "Index Rate": "Tasa de índice",
"Index Rate": "Tasa de índice", "SOLA偏移%d": "Desplazamiento SOLA: %d",
"RVC模型路径": "Ruta del modelo RVC", "[F0提取] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[Extracción F0] Completado | Éxito: %s | Omitidos: %s | Error: %s",
"SOLA偏移%d": "Desplazamiento SOLA: %d", "[F0提取] 待处理%s": "[Extracción F0] Pending: %s",
"[F0提取] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[Extracción F0] Completado | Éxito: %s | Omitidos: %s | Error: %s", "[F0提取] 无待处理音频,已全部跳过": "[Extracción F0] No hay audio pendiente; se omitieron todos los archivos",
"[F0提取] 待处理:%s": "[Extracción F0] Pending: %s", "[F0提取] 进度:%s/%s | 成功:%s | 跳过:%s | %s": "[Extracción F0] Progreso: %s/%s | Éxito: %s | Omitidos: %s | %s",
"[F0提取] 无待处理音频,已全部跳过": "[Extracción F0] No hay audio pendiente; se omitieron todos los archivos", "[F0提取][失败] %s": "[Extracción F0][Error] %s",
"[F0提取] 进度:%s/%s | 成功:%s | 跳过:%s | %s": "[Extracción F0] Progreso: %s/%s | Éxito: %s | Omitidos: %s | %s", "[F0提取][失败] %s\n%s": "[Extracción F0][Error] %s\n%s",
"[F0提取][失败] %s": "[Extracción F0][Error] %s", "[HuBERT特征] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[Características HuBERT] Completado | Éxito: %s | Omitidos: %s | Error: %s",
"[F0提取][失败] %s\n%s": "[Extracción F0][Error] %s\n%s", "[HuBERT特征] 无待处理音频,已全部跳过:%s": "[Características HuBERT] No hay audio pendiente; omitidos: %s",
"[HuBERT特征] 完成 | 成功:%s | 跳过:%s | 失败%s": "[Características HuBERT] Completado | Éxito: %s | Omitidos: %s | Error: %s", "[HuBERT特征] 正在加载模型%s": "[Características HuBERT] Cargando el modelo: %s",
"[HuBERT特征] 无待处理音频,已全部跳过:%s": "[Características HuBERT] No hay audio pendiente; omitidos: %s", "[HuBERT特征] 设备:%s | 待处理:%s | 已跳过:%s": "[Características HuBERT] Dispositivo: %s | Pending: %s | Omitidos: %s",
"[HuBERT特征] 正在加载模型:%s": "[Características HuBERT] Cargando el modelo: %s", "[HuBERT特征] 进度:%s/%s | 成功:%s | 失败:%s | %s | %s": "[Características HuBERT] Progreso: %s/%s | Éxito: %s | Error: %s | %s | %s",
"[HuBERT特征] 设备:%s | 待处理:%s | 已跳过:%s": "[Características HuBERT] Dispositivo: %s | Pending: %s | Omitidos: %s", "[HuBERT特征][失败] %s\n%s": "[Características HuBERT][Error] %s\n%s",
"[HuBERT特征] 进度:%s/%s | 成功:%s | 失败:%s | %s | %s": "[Características HuBERT] Progreso: %s/%s | Éxito: %s | Error: %s | %s | %s", "[HuBERT特征][失败] %s 包含NaN": "[Características HuBERT][Error] %s contains NaN values",
"[HuBERT特征][失败] %s\n%s": "[Características HuBERT][Error] %s\n%s", "[HuBERT特征][失败] 模型不存在:%s": "[Características HuBERT][Error] Modelo not found: %s",
"[HuBERT特征][失败] %s 包含NaN": "[Características HuBERT][Error] %s contains NaN values", "[数据切分] 多说话人待处理:%s | 进程数:%s": "[Dataset preprocessing] Multi-speaker files: %s | Workers: %s",
"[HuBERT特征][失败] 模型不存在:%s": "[Características HuBERT][Error] Modelo not found: %s", "[数据切分] 子任务完成 | 成功:%s | 失败:%s": "[División de datos] Subtarea completada | Éxito: %s | Error: %s",
"[数据切分] 子任务完成 | 成功:%s | 失败:%s": "[División de datos] Subtarea completada | Éxito: %s | Error: %s", "[数据切分] 完成": "[División de datos] Completado",
"[数据切分] 完成": "[División de datos] Completado", "[数据切分] 开始": "[División de datos] Iniciado",
"[数据切分] 开始": "[División de datos] Iniciado", "[数据切分] 待处理:%s | 进程数:%s": "[División de datos] Pending: %s | Procesos: %s",
"[数据切分] 待处理:%s | 进程数:%s": "[División de datos] Pending: %s | Procesos: %s", "[数据切分] 进度:%s/%s | %s": "[División de datos] Progreso: %s/%s | %s",
"[数据切分] 进度:%s/%s | %s": "[División de datos] Progreso: %s/%s | %s", "[数据切分][失败] %s": "[División de datos][Error] %s",
"[数据切分][失败] %s": "[División de datos][Error] %s", "[数据切分][失败] %s\n%s": "[División de datos][Error] %s\n%s",
"[数据切分][失败] %s\n%s": "[División de datos][Error] %s\n%s", "[数据切分][跳过] 无效或异常音频片段:%s_%s | 峰值:%s": "[División de datos][Omitidos] Segmento de audio no válido o anómalo: %s_%s | Pico: %s",
"[数据切分][跳过] 无效或异常音频片段:%s_%s | 峰值:%s": "[División de datos][Omitidos] Segmento de audio no válido o anómalo: %s_%s | Pico: %s", "[索引训练] 写入进度:%s/%s": "[Entrenamiento del índice] Progreso de escritura: %s/%s",
"[索引训练] 写入进度:%s/%s": "[Entrenamiento del índice] Progreso de escritura: %s/%s", "[索引训练] 外部索引链接已存在:%s": "[Entrenamiento de índice] El enlace externo ya existe: %s",
"[索引训练] 已链接索引到外部目录:%s": "[Entrenamiento del índice] Índice enlazado al directorio externo: %s", "[索引训练] 已链接索引到外部目录:%s": "[Entrenamiento del índice] Índice enlazado al directorio externo: %s",
"[索引训练] 成功构建索引:%s": "[Entrenamiento del índice] Índice creado correctamente: %s", "[索引训练] 成功构建索引:%s": "[Entrenamiento del índice] Índice creado correctamente: %s",
"[索引训练] 正在写入特征向量": "[Entrenamiento del índice] Añadiendo vectores de características", "[索引训练] 正在写入特征向量": "[Entrenamiento del índice] Añadiendo vectores de características",
"[索引训练] 正在将%s条特征聚类为10000个中心": "[Entrenamiento del índice] Clustering %s feature vectors into 10,000 centers", "[索引训练] 正在将%s条特征聚类为10000个中心": "[Entrenamiento del índice] Clustering %s feature vectors into 10,000 centers",
"[索引训练] 正在训练索引": "[Entrenamiento del índice] Entrenando el índice", "[索引训练] 正在训练索引": "[Entrenamiento del índice] Entrenando el índice",
"[索引训练] 特征形状:%s | IVF数量%s": "[Entrenamiento del índice] Forma de características: %s | Cantidad de IVF: %s", "[索引训练] 特征形状:%s | IVF数量%s": "[Entrenamiento del índice] Forma de características: %s | Cantidad de IVF: %s",
"[索引训练][失败] 无法链接索引到外部目录:%s\n%s": "[Entrenamiento del índice][Error] No se pudo enlazar el índice al directorio externo: %s\n%s", "[索引训练][失败] 无法链接索引到外部目录:%s\n%s": "[Entrenamiento del índice][Error] No se pudo enlazar el índice al directorio externo: %s\n%s",
"[索引训练][失败] 聚类失败,将使用原始特征继续\n%s": "[Entrenamiento del índice][Error] Falló el agrupamiento; se continuará con las características originales\n%s", "[索引训练][失败] 聚类失败,将使用原始特征继续\n%s": "[Entrenamiento del índice][Error] Falló el agrupamiento; se continuará con las características originales\n%s",
"[索引训练][失败] 请先进行特征提取": "[Entrenamiento del índice][Error] Extraiga primero las características", "[索引训练][失败] 请先进行特征提取": "[Entrenamiento del índice][Error] Extraiga primero las características",
"ckpt处理": "Procesamiento de recibos", "[索引训练][跳过] added索引已存在%s": "[Entrenamiento de índice][Omitido] El índice added ya existe: %s",
"index文件路径不可包含中文": "La ruta del archivo .index no debe contener caracteres chinos.", "[索引训练][跳过] trained索引已存在%s": "[Entrenamiento de índice][Omitido] El índice trained ya existe: %s",
"pth文件路径不可包含中文": "La ruta del archivo .pth no debe contener caracteres chinos.", "ckpt处理": "Procesamiento de recibos",
"rmvpe卡号配置以-分隔输入使用的不同进程卡号,例如0-0-1使用卡0上跑2个进程并在卡1上跑1个进程": "Separe los números de identificación de la GPU con '-' al ingresarlos. Por ejemplo, '0-1-2' significa usar GPU 0, GPU 1 y GPU 2.", "hubert:以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2": "HuBERT: Enter GPU IDs separated by hyphens; for example, 0-1-2 uses GPUs 0, 1, and 2",
"step1: 填写实验配置. 实验数据放在logs下, 每个实验一个文件夹, 需手工输入实验名路径, 内含实验配置, 日志, 训练得到的模型文件. ": "Paso 1: Complete la configuración del experimento. Los datos del experimento se almacenan en el directorio 'logs', con cada experimento en una carpeta separada. La ruta del nombre del experimento debe ingresarse manualmente y debe contener la configuración del experimento, los registros y los archivos del modelo entrenado.", "index文件路径不可包含中文": "La ruta del archivo .index no debe contener caracteres chinos.",
"step1:正在处理数据": "Paso 1: Procesando datos", "pth文件路径不可包含中文": "La ruta del archivo .pth no debe contener caracteres chinos.",
"step2:正在提取音高&正在提取特征": "Paso 2: Extracción del tono y extracción de características", "rmvpe卡号配置以-分隔输入使用的不同进程卡号,例如0-0-1使用在卡0上跑2个进程并在卡1上跑1个进程": "Separe los números de identificación de la GPU con '-' al ingresarlos. Por ejemplo, '0-1-2' significa usar GPU 0, GPU 1 y GPU 2.",
"step2a: 自动遍历训练文件夹下所有可解码成音频的文件并进行切片归一化, 在实验目录下生成2个wav文件夹; 暂时只支持单人训练. ": "Paso 2a: Recorra automáticamente la carpeta de capacitación y corte y normalice todos los archivos de audio que se pueden decodificar en audio. Se generarán dos carpetas 'wav' en el directorio del experimento. Actualmente, solo se admite la capacitación de una sola persona.", "step1: 填写实验配置. 实验数据放在logs下, 每个实验一个文件夹, 需手工输入实验名路径, 内含实验配置, 日志, 训练得到的模型文件. ": "Paso 1: Complete la configuración del experimento. Los datos del experimento se almacenan en el directorio 'logs', con cada experimento en una carpeta separada. La ruta del nombre del experimento debe ingresarse manualmente y debe contener la configuración del experimento, los registros y los archivos del modelo entrenado.",
"step2b: 使用CPU提取音高(如果模型带音高), 使用GPU提取特征(选择卡号)": "Paso 2b: Use la CPU para extraer el tono (si el modelo tiene guía de tono) y la GPU para extraer características (seleccione el número de tarjeta).", "step2a: 扫描训练音频并进行切片归一化在实验目录下生成训练wav文件。": "Step 2a: Scan, slice, and normalize training audio, then create training WAV files in the experiment directory.",
"step3: 填写训练设置, 开始训练模型和索引": "Paso 3: Complete la configuración de entrenamiento y comience a entrenar el modelo y el índice.", "step2b: 音高与hubert语义特征提取": "Paso 2b: extracción de tono y características semánticas de HuBERT",
"step3a:正在训练模型": "Paso 3a: Entrenando el modelo", "step3: 填写训练设置, 开始训练模型和索引": "Paso 3: Complete la configuración de entrenamiento y comience a entrenar el modelo y el índice.",
"step3b:正在训练索引": "paso 3b: entrenando el índice", "……仅显示最近10条失败记录": "…Se muestran solo los 10 errores más recientes",
"……仅显示最近10条失败记录": "…Se muestran solo los 10 errores más recientes", "……已省略前%s行仅显示最新状态": "…Se omitieron las primeras %s líneas; se muestra solo el estado más reciente",
"……已省略前%s行仅显示最新状态": "…Se omitieron las primeras %s líneas; se muestra solo el estado más reciente", "一键训练": "Entrenamiento con un clic",
"一键训练": "Entrenamiento con un clic", "上一页": "Previous",
"也可批量输入音频文件, 二选一, 优先读文件夹": "También se pueden importar varios archivos de audio. Si existe una ruta de carpeta, esta entrada se ignora.", "下一页": "Next",
"仅支持pm和rmvpe音高提取算法": "Solo se admiten los métodos de extracción de tono pm y rmvpe", "为多说话人训练集建立清单。空行会被忽略路径、说话人名称、说话人ID或重复次数填写不全的行会在提交时提示。": "Create a multi-speaker dataset manifest. Empty rows are ignored; incomplete path, speaker name, speaker ID, or repeat count fields are reported on submission.",
"从训练检查点提取的模型": "Modeloo extraído de un punto de control de entrenamiento", "主结果文件夹": "Carpeta de salida principal",
"以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2": "Separe los números de identificación de la GPU con '-' al ingresarlos. Por ejemplo, '0-1-2' significa usar GPU 0, GPU 1 y GPU 2.", "也可批量输入音频文件, 二选一, 优先读文件夹": "También se pueden importar varios archivos de audio. Si existe una ruta de carpeta, esta entrada se ignora.",
"任务": "Tarea", "人声、伴奏与混响批量处理使用pymss/MSST模型。": "Procesamiento por lotes de voz, acompañamiento y reverberación con modelos pymss/MSST.",
"使用显卡:%s": "GPU en uso: %s", "人声伴奏分离&去混响": "Separación de voz/acompañamiento y eliminación de reverberación",
"使用模型采样率": "Usar la frecuencia del modelo", "仅支持pm和rmvpe音高提取算法": "Solo se admiten los métodos de extracción de tono pm y rmvpe",
"使用设备采样率": "Usar la frecuencia del dispositivo", "从训练检查点提取的模型": "Modeloo extraído de un punto de control de entrenamiento",
"保存名": "Guardar nombre", "以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2": "Separe los números de identificación de la GPU con '-' al ingresarlos. Por ejemplo, '0-1-2' significa usar GPU 0, GPU 1 y GPU 2.",
"保存的文件名, 默认空为和源文件同名": "Nombre del archivo que se guardará, el valor predeterminado es el mismo que el nombre del archivo de origen", "以下行填写不完整或无效,已忽略:%s": "The following incomplete or invalid rows were ignored: %s",
"保存的模型名不带后缀": "Nombre del modelo guardado sin extensión.", "任务": "Tarea",
"保存频率save_every_epoch": "Frecuencia de guardado (save_every_epoch)", "使用显卡:%s": "GPU en uso: %s",
"保护清辅音和呼吸声防止电音撕裂等artifact拉满0.5不开启,调低加大保护力度但可能降低索引效果": "Proteger las consonantes claras y la respiración, prevenir artefactos como la distorsión de sonido electrónico, 0.5 no está activado, reducir aumentará la protección pero puede reducir el efecto del índice", "使用模型采样率": "Usar la frecuencia del modelo",
"修改": "Modificar", "使用设备采样率": "Usar la frecuencia del dispositivo",
"修改模型信息(仅支持weights文件夹下提取的小模型文件)": "Modificar la información del modelo (solo admite archivos de modelos pequeños extraídos en la carpeta weights)", "保存名": "Guardar nombre",
"停止一键训练": "Detener entrenamiento con un clic", "保存的文件名, 默认空为和源文件同名": "Nombre del archivo que se guardará, el valor predeterminado es el mismo que el nombre del archivo de origen",
"停止处理数据": "Detener preprocesamiento de datos", "保存的模型名不带后缀": "Nombre del modelo guardado sin extensión.",
"停止特征提取": "Detener extracción de características", "保存频率save_every_epoch": "Frecuencia de guardado (save_every_epoch)",
"停止训练模型": "Detener entrenamiento del modelo", "保护清辅音和呼吸声防止电音撕裂等artifact拉满0.5不开启,调低加大保护力度但可能降低索引效果": "Proteger las consonantes claras y la respiración, prevenir artefactos como la distorsión de sonido electrónico, 0.5 no está activado, reducir aumentará la protección pero puede reducir el efecto del índice",
"停止训练索引": "Detener entrenamiento del índice", "修改": "Modificar",
"停止音频转换": "Detener la conversión de audio", "修改模型信息(仅支持weights文件夹下提取的小模型文件)": "Modificar la información del modelo (solo admite archivos de modelos pequeños extraídos en la carpeta weights)",
"全流程结束!": "¡Todo el proceso ha terminado!", "停止一键训练": "Detener entrenamiento con un clic",
"判别器预训练模型不存在将不使用assets/pretrained%s/%sD%s.pth": "Discriminator pretrained model not found; it will not be used: assets/pretrained%s/%sD%s.pth", "停止分离": "Detener separación",
"加载模型": "Cargar modelo", "停止处理数据": "Detener preprocesamiento de datos",
"加载预训练底模D路径": "Cargue la ruta del modelo D base pre-entrenada.", "停止特征提取": "Detener extracción de características",
"加载预训练底模G路径": "Cargue la ruta del modelo G base pre-entrenada.", "停止训练模型": "Detener entrenamiento del modelo",
"单次推理": "Inferencia individual", "停止训练索引": "Detener entrenamiento del índice",
"卸载音色省显存": "Descargue la voz para ahorrar memoria GPU", "停止音频转换": "Detener la conversión de audio",
"变调(整数, 半音数量, 升八度12降八度-12)": "Cambio de tono (entero, número de semitonos, subir una octava +12 o bajar una octava -12)",
"合成": "Síntesis",
"后处理重采样至最终采样率0为不进行重采样": "Remuestreo posterior al proceso a la tasa de muestreo final, 0 significa no remuestrear",
"否": "No",
"响应阈值": "Umbral de respuesta",
"响度因子": "factor de sonoridad",
"处理中": "Procesando",
"处理数据": "Procesar datos",
"失败": "Error",
"失败记录": "Registro de errores",
"子进程执行失败,返回码:%s": "El subproceso falló con el código de salida: %s",
"导出文件格式": "Formato de archivo de exportación",
"已停止": "Detenido",
"已加载判别器预训练模型:%s": "Modeloo preentrenado del discriminador cargado: %s",
"已加载生成器预训练模型:%s": "Modeloo preentrenado del generador cargado: %s",
"已启用索引检索": "Búsqueda por índice activada",
"已完成": "Completado",
"已恢复判别器检查点": "Se restauró el punto de control del discriminador",
"常见问题解答": "Preguntas frecuentes",
"常规设置": "Configuración general",
"开始音频转换": "Iniciar conversión de audio",
"当前": "Actual",
"当前阶段": "Etapa actual",
"很遗憾您这没有能用的显卡来支持您训练": "Lamentablemente, no tiene una tarjeta gráfica adecuada para soportar su entrenamiento",
"性别因子/声线粗细": "Factor de género / grosor de la voz",
"性能设置": "Configuración de rendimiento",
"总训练轮数total_epoch": "Total de épocas de entrenamiento (total_epoch)",
"成功": "Éxito",
"执行命令": "Comando",
"批量推理": "Inferencia por lotes",
"批量转换, 输入待转换音频文件夹, 或上传多个音频文件, 在指定文件夹(默认opt)下输出转换的音频. ": "Conversión por lotes, ingrese la carpeta que contiene los archivos de audio para convertir o cargue varios archivos de audio. El audio convertido se emitirá en la carpeta especificada (opción predeterminada).",
"拖拽或点击上传待处理音频": "Arrastre y suelte o haga clic para subir el audio que desea procesar",
"指定输出主人声文件夹": "Especifique la carpeta de salida para la voz principal",
"指定输出文件夹": "Especificar carpeta de salida",
"指定输出非主人声文件夹": "Especifique la carpeta de salida para las voces no principales",
"推理时间(ms):": "Inferir tiempo (ms):",
"推理耗时:%.2f秒": "Tiempo de inferencia: %.2f seconds",
"推理音色": "inferencia de voz",
"提取": "Extraer",
"提取音高和处理数据使用的CPU进程数": "Número de procesos de CPU utilizados para extraer el tono y procesar los datos",
"数据切分": "División de datos",
"无法停止": "No se puede detener",
"无法读取音频:%s": "No se pudo leer el audio: %s",
"是": "Sí",
"是否仅保存最新的ckpt文件以节省硬盘空间": "Guardar solo el archivo ckpt más reciente para ahorrar espacio en disco",
"是否在每次保存时间点将最终小模型保存至weights文件夹": "Guardar pequeño modelo final en la carpeta 'weights' en cada punto de guardado",
"是否缓存所有训练集至显存. 10min以下小数据可缓存以加速训练, 大数据缓存会炸显存也加不了多少速": "Si almacenar en caché todos los conjuntos de entrenamiento en la memoria de la GPU. Los conjuntos de datos pequeños (menos de 10 minutos) se pueden almacenar en caché para acelerar el entrenamiento, pero el almacenamiento en caché de conjuntos de datos grandes puede causar errores de memoria en la GPU y no aumenta la velocidad de manera significativa.",
"显卡信息": "información de la GPU",
"未使用": "No utilizado",
"未使用判别器预训练模型": "No se usó el modelo preentrenado del discriminador",
"未使用生成器预训练模型": "No se usó el modelo preentrenado del generador",
"未找到Roformer模型配置文件正在使用内置默认配置": "No se encontró la configuración del modelo Roformer; se usarán los valores integrados",
"未检测到可用显卡将使用CPU训练耗时可能较长": "No se detectó una GPU compatible; entrenar con la CPU puede tardar mucho más",
"未运行": "No iniciado",
"本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责. <br>如不认可该条款, 则不能使用或引用软件包内任何代码和文件. 详见根目录<b>LICENSE</b>.": "Este software es de código abierto bajo la licencia MIT, el autor no tiene ningún control sobre el software, y aquellos que usan el software y difunden los sonidos exportados por el software son los únicos responsables.<br>Si no está de acuerdo con esta cláusula , no puede utilizar ni citar ningún código ni archivo del paquete de software Consulte el directorio raíz <b>Agreement-LICENSE.txt</b> para obtener más información.",
"查看": "Ver",
"查看模型信息(仅支持weights文件夹下提取的小模型文件)": "Ver información del modelo (solo aplicable a archivos de modelos pequeños extraídos de la carpeta 'pesos')",
"检测到模型类型:%s": "Tipo de modelo detectado: %s",
"检索特征占比": "Proporción de función de búsqueda",
"模型": "Modelo",
"模型信息:%s\n采样率%s\n是否使用音高引导%s\n版本%s": "Información del modelo: %s\nFrecuencia de muestreo: %s\nGuía de tono: %s\nVersión: %s",
"模型推理": "inferencia del modelo",
"模型提取(输入logs文件夹下大文件模型路径),适用于训一半不想训了模型没有自动提取保存小文件模型,或者想测试中间模型的情况": "Extracción de modelo (ingrese la ruta de un archivo de modelo grande en la carpeta 'logs'), aplicable cuando desea extraer un archivo de modelo pequeño después de entrenar a mitad de camino y no se guardó automáticamente, o cuando desea probar un modelo intermedio",
"模型是否带音高指导": "Si el modelo tiene guía de tono.",
"模型是否带音高指导(唱歌一定要, 语音可以不要)": "Si el modelo tiene guía de tono (necesaria para cantar, pero no para hablar)",
"模型是否带音高指导,1是0否": "Si el modelo tiene guía de tono, 1 para sí, 0 para no",
"模型版本型号": "Versión y modelo del modelo",
"模型融合, 可用于测试音色融合": "Fusión de modelos, se puede utilizar para fusionar diferentes voces",
"模型融合失败:两个模型的结构不一致": "Error al fusionar modelos: las arquitecturas no coinciden",
"模型训练": "Entrenamiento del modelo",
"模型路径": "Ruta del modelo",
"正在保存最终检查点:%s": "Guardando el punto de control final: %s",
"正在保存检查点 %s_e%s%s": "Guardando el punto de control %s_e%s: %s",
"正在加载RMVPE模型": "Cargando el modelo RMVPE",
"正在加载模型": "Cargando el modelo",
"正在启动": "Iniciando",
"正在收尾": "Finalizando",
"每张显卡的batch_size": "Tamaño del lote (batch_size) por tarjeta gráfica",
"淡入淡出长度": "Duración del fundido de entrada/salida",
"清理模型缓存": "Limpiando la caché del modelo",
"版本": "Versión",
"特征": "Características",
"特征提取": "Extracción de características",
"状态": "Estado",
"独占 WASAPI 设备": "Dispositivo WASAPI exclusivo",
"生成器预训练模型不存在将不使用assets/pretrained%s/%sG%s.pth": "Generator pretrained model not found; it will not be used: assets/pretrained%s/%sG%s.pth",
"男转女推荐+12key, 女转男推荐-12key, 如果音域爆炸导致音色失真也可以自己调整到合适音域. ": "Tecla +12 recomendada para conversión de voz de hombre a mujer, tecla -12 para conversión de voz de mujer a hombre. Si el rango de tono es demasiado amplio y causa distorsión, ajústelo usted mismo a un rango adecuado.",
"目标采样率": "Tasa de muestreo objetivo",
"等待中": "En espera",
"等待输入": "Esperando entrada",
"算法延迟(ms):": "Latencia del algoritmo (ms):",
"索引": "Índice",
"索引无效必须使用added_xxxx.index不能使用trained_xxxx.index": "Índice no válido: use added_xxxx.index, not trained_xxxx.index",
"索引检索失败": "Falló la búsqueda por índice",
"索引检索失败或未启用": "La búsqueda por índice falló o está desactivada",
"索引训练": "Entrenamiento del índice",
"耗时": "Tiempo transcurrido",
"耗时:特征=%.3f秒,索引=%.3f秒,音高=%.3f秒,模型=%.3f秒": "Tiempo transcurrido: features=%.3fs, index=%.3fs, pitch=%.3fs, model=%.3fs",
"融合": "Fusión",
"要改的模型信息": "Información del modelo a modificar",
"要置入的模型信息": "Información del modelo a colocar.",
"训练": "Entrenamiento",
"训练已完成,正在保存最终模型": "Entrenamiento completado; guardando el modelo final",
"训练文件列表写入完成": "Lista de archivos de entrenamiento guardada",
"训练模型": "Entrenar Modelo",
"训练特征索引": "Índice de características",
"训练结束, 您可查看控制台训练日志或实验文件夹下的train.log": "Entrenamiento finalizado, puede ver el registro de entrenamiento en la consola o en el archivo train.log en la carpeta del experimento",
"训练设备规则选择的精度:%s": "Precisión de entrenamiento elegida según las reglas del dispositivo: %s",
"训练轮次:{} [{:.0f}%]": "Época de entrenamiento: {} [{:.0f}%]",
"设备类型": "Tipo de dispositivo",
"请上传音频文件": "Suba un archivo de audio",
"请填写输出文件夹路径": "Introduzca la ruta de la carpeta de salida",
"请指定说话人id": "ID del modelo",
"请选择index文件": "Seleccione el archivo .index",
"请选择pth文件": "Seleccione el archivo .pth",
"请选择说话人id": "Seleccione una identificación de altavoz",
"转换": "Conversión",
"输入实验名": "Ingrese el nombre del modelo",
"输入待处理音频文件夹路径": "Ingrese la ruta a la carpeta de audio que se procesará",
"输入待处理音频文件夹路径(去文件管理器地址栏拷就行了)": "Ingrese la ruta a la carpeta de audio que se procesará (simplemente cópiela desde la barra de direcciones del administrador de archivos)",
"输入待处理音频文件路径(默认是正确格式示例)": "Ingrese la ruta del archivo del audio que se procesará (el formato predeterminado es el ejemplo correcto)",
"输入源音量包络替换输出音量包络融合比例越靠近1越使用输出包络": "Proporción de fusión para reemplazar el sobre de volumen de entrada con el sobre de volumen de salida, cuanto más cerca de 1, más se utiliza el sobre de salida",
"输入监听": "Monitorizar entrada",
"输入训练文件夹路径": "Introduzca la ruta de la carpeta de entrenamiento",
"输入设备": "Dispositivo de entrada",
"输入设备:%s:%s": "Dispositivo de entrada: %s:%s",
"输入降噪": "Reducción de ruido de entrada",
"输出信息": "Información de salida",
"输出变声": "Conversión de salida",
"输出设备": "Dispositivo de salida",
"输出设备:%s:%s": "Dispositivo de salida: %s:%s",
"输出降噪": "Reducción de ruido de salida",
"输出音频(右下角三个点,点了可以下载)": "Salida de audio (haga clic en los tres puntos en la esquina inferior derecha para descargar)",
"运行中": "En ejecución",
"进度": "Progreso",
"选择.index文件": "Seleccione el archivo .index",
"选择.pth文件": "Seleccione el archivo .pth",
"选择模型": "Seleccionar modelo",
"选择索引": "Seleccionar índice",
"选择音高提取算法": "Seleccione el algoritmo de extracción de tono",
"采样率:": "Frecuencia de muestreo:",
"采样长度": "Longitud de muestreo",
"重载设备列表": "Actualizar lista de dispositivos",
"错误信息:%s": "Detalles del error: %s",
"错误:未知模型:%s": "Error: modelo desconocido: %s",
"音调设置": "Ajuste de tono",
"音频包含多个声道,但模型仅支持单声道,将对所有声道取平均值": "El audio tiene varios canales, pero el modelo es mono; se promediarán todos los canales",
"音频设备": "Dispositivo de audio",
"音高全部为0该音频无意义跳过%s": "Todos los valores de tono son cero; este audio no es útil y se omitirá: %s",
"音高算法": "Algoritmo de tono",
"额外推理时长": "Tiempo de inferencia adicional",
"数据切分没有生成有效训练音频,请检查训练集和数据切分日志": "El preprocesamiento no generó audio de entrenamiento válido. Revise el conjunto de datos y el registro.",
"数据切分没有生成16k音频已停止后续特征提取和训练": "El preprocesamiento no generó audio de 16 kHz. Se detuvieron la extracción de características y el entrenamiento.",
"数据切分输出文件不匹配,已停止后续特征提取和训练": "Los archivos de salida del preprocesamiento no coinciden. Se detuvieron la extracción y el entrenamiento.",
"HuBERT特征提取没有生成有效结果已停止训练": "La extracción de características HuBERT no generó resultados válidos. Se detuvo el entrenamiento.",
"F0提取没有生成有效结果已停止训练": "La extracción de F0 no generó resultados válidos. Se detuvo el entrenamiento.",
"没有可用于训练的有效音频,请先完成数据切分和特征提取": "No hay audio válido para entrenar. Complete primero el preprocesamiento y la extracción de características.",
"已完成阶段": "Etapas completadas",
"已成功": "Correcto",
"刷新音色列表": "Actualizar lista de voces",
"特征检索库文件路径(选择模型后自动匹配,可手动修改)": "Ruta del índice de características (se detecta al elegir el modelo; editable)",
"[索引训练] 外部索引链接已存在:%s": "[Entrenamiento de índice] El enlace externo ya existe: %s",
"[索引训练][跳过] added索引已存在%s": "[Entrenamiento de índice][Omitido] El índice added ya existe: %s",
"[索引训练][跳过] trained索引已存在%s": "[Entrenamiento de índice][Omitido] El índice trained ya existe: %s",
"当前设备:%s | 推理精度:%s": "Dispositivo actual: %s | Precisión de inferencia: %s",
"正在预热CUDA Graph": "Preparando CUDA Graph",
"CUDA Graph预热完成": "Preparación de CUDA Graph completada",
"数据提取开始start_time=%.6f,请求并行数=%s实际并行数上限=%s": "Extracción de datos iniciada: start_time=%.6f, concurrencia solicitada=%s, límite real=%s",
"数据提取结束end_time=%.6f,总耗时=%.3f秒": "Extracción de datos finalizada: end_time=%.6f, tiempo total=%.3f segundos",
"人声伴奏分离&去混响": "Separación de voz/acompañamiento y eliminación de reverberación",
"人声、伴奏与混响批量处理使用pymss/MSST模型。": "Procesamiento por lotes de voz, acompañamiento y reverberación con modelos pymss/MSST.",
"处理方式": "Modo de procesamiento",
"底层模型": "Modelo subyacente",
"主结果文件夹": "Carpeta de salida principal",
"分离残余文件夹": "Carpeta de salida residual", "分离残余文件夹": "Carpeta de salida residual",
"停止分离": "Detener separación" "删除末行": "Remove last row",
} "判别器预训练模型不存在将不使用assets/pretrained%s/%sD%s.pth": "Discriminator pretrained model not found; it will not be used: assets/pretrained%s/%sD%s.pth",
"刷新音色列表": "Actualizar lista de voces",
"加载模型": "Cargar modelo",
"加载预训练底模D路径": "Cargue la ruta del modelo D base pre-entrenada.",
"加载预训练底模G路径": "Cargue la ruta del modelo G base pre-entrenada.",
"单次推理": "Inferencia individual",
"单说话人": "Single speaker",
"卸载音色省显存": "Descargue la voz para ahorrar memoria GPU",
"变调(整数, 半音数量, 升八度12降八度-12)": "Cambio de tono (entero, número de semitonos, subir una octava +12 o bajar una octava -12)",
"合成": "Síntesis",
"后处理重采样至最终采样率0为不进行重采样": "Remuestreo posterior al proceso a la tasa de muestreo final, 0 significa no remuestrear",
"否": "No",
"响应阈值": "Umbral de respuesta",
"响度因子": "factor de sonoridad",
"处理中": "Procesando",
"处理数据": "Procesar datos",
"处理方式": "Modo de procesamiento",
"多说话人": "Multiple speakers",
"注意:多说话人训练音色还原度不一定有单说话人分开训练好!": "Nota: El entrenamiento multihablante puede no reproducir cada voz tan fielmente como entrenar a cada hablante por separado!",
"多说话人子文件夹无效格式应为名称_ID_重复次数、ID为0~109、重复次数为正整数、同一ID的名称需一致且目录需有音频%s": "Invalid multi-speaker subfolders (expected Name_ID_Repeat, ID 0-109, a positive repeat count, one consistent name per ID, and at least one audio file): %s",
"多说话人总文件夹只扫描根目录下的直接子文件夹,根目录文件会被忽略。\n子文件夹必须命名为x_y_zx是说话人名称y是说话人ID0~109共110个z是训练集重复次数。\n也可以到右侧“多说话人训练集辅助”编辑并提交训练集清单。": "Only direct subfolders of the multi-speaker root are scanned; root files are ignored.\nName each subfolder x_y_z: x is the speaker name, y is the speaker ID (0-109, 110 choices), and z is the repeat count.\nYou can also submit a manifest from the Multi-speaker Dataset Helper tab.",
"多说话人训练集总文件夹不存在:%s": "Multi-speaker dataset root does not exist: %s",
"多说话人训练集总文件夹中没有有效音频": "The multi-speaker dataset root contains no valid audio",
"多说话人训练集总文件夹中没有直接子文件夹": "The multi-speaker dataset root has no direct subfolders",
"多说话人训练集总文件夹路径": "Multi-speaker dataset root",
"多说话人训练集清单不存在,请先提交辅助清单或填写总文件夹": "The multi-speaker manifest does not exist. Submit it from the helper tab or enter a dataset root first",
"多说话人训练集清单包含无效条目:%s": "The multi-speaker manifest contains an invalid entry: %s",
"多说话人训练集清单存在重复输出标识:%s": "The multi-speaker manifest contains a duplicate output key: %s",
"多说话人训练集清单已保存:%s有效音频%s个": "Multi-speaker dataset manifest saved: %s; valid audio files: %s",
"多说话人训练集清单格式错误": "The multi-speaker manifest format is invalid",
"多说话人训练集清单没有有效音频": "The multi-speaker manifest contains no valid audio",
"多说话人训练集辅助": "Multi-speaker Dataset Helper",
"失败": "Error",
"失败记录": "Registro de errores",
"子进程执行失败,返回码:%s": "El subproceso falló con el código de salida: %s",
"实验名不能为空": "Experiment name is required",
"导出文件格式": "Formato de archivo de exportación",
"已停止": "Detenido",
"已加载判别器预训练模型:%s": "Modeloo preentrenado del discriminador cargado: %s",
"已加载生成器预训练模型:%s": "Modeloo preentrenado del generador cargado: %s",
"已启用索引检索": "Búsqueda por índice activada",
"已完成": "Completado",
"已完成阶段": "Etapas completadas",
"已恢复判别器检查点": "Se restauró el punto de control del discriminador",
"已成功": "Correcto",
"常见问题解答": "Preguntas frecuentes",
"常规设置": "Configuración general",
"底层模型": "Modelo subyacente",
"开始音频转换": "Iniciar conversión de audio",
"当前": "Actual",
"当前设备:%s | 推理精度:%s": "Dispositivo actual: %s | Precisión de inferencia: %s",
"当前阶段": "Etapa actual",
"很遗憾您这没有能用的显卡来支持您训练": "Lamentablemente, no tiene una tarjeta gráfica adecuada para soportar su entrenamiento",
"性别因子/声线粗细": "Factor de género / grosor de la voz",
"性能设置": "Configuración de rendimiento",
"总训练轮数total_epoch": "Total de épocas de entrenamiento (total_epoch)",
"成功": "Éxito",
"执行命令": "Comando",
"批量推理": "Inferencia por lotes",
"批量转换, 输入待转换音频文件夹, 或上传多个音频文件, 在指定文件夹(默认opt)下输出转换的音频. ": "Conversión por lotes, ingrese la carpeta que contiene los archivos de audio para convertir o cargue varios archivos de audio. El audio convertido se emitirá en la carpeta especificada (opción predeterminada).",
"拖拽或点击上传待处理音频": "Arrastre y suelte o haga clic para subir el audio que desea procesar",
"指定输出文件夹": "Especificar carpeta de salida",
"推理时间(ms):": "Inferir tiempo (ms):",
"推理耗时:%.2f秒": "Tiempo de inferencia: %.2f seconds",
"推理音色": "inferencia de voz",
"提交训练集清单": "Submit dataset manifest",
"提取": "Extraer",
"提取音高和处理数据使用的CPU进程数": "Número de procesos de CPU utilizados para extraer el tono y procesar los datos",
"数据切分": "División de datos",
"数据切分没有生成16k音频已停止后续特征提取和训练": "El preprocesamiento no generó audio de 16 kHz. Se detuvieron la extracción de características y el entrenamiento.",
"数据切分没有生成有效训练音频,请检查训练集和数据切分日志": "El preprocesamiento no generó audio de entrenamiento válido. Revise el conjunto de datos y el registro.",
"数据切分输出文件不匹配,已停止后续特征提取和训练": "Los archivos de salida del preprocesamiento no coinciden. Se detuvieron la extracción y el entrenamiento.",
"数据提取开始start_time=%.6f,请求并行数=%s实际并行数上限=%s": "Extracción de datos iniciada: start_time=%.6f, concurrencia solicitada=%s, límite real=%s",
"数据提取结束end_time=%.6f,总耗时=%.3f秒": "Extracción de datos finalizada: end_time=%.6f, tiempo total=%.3f segundos",
"新增一行": "Add row",
"无法停止": "No se puede detener",
"是": "Sí",
"是否仅保存最新的ckpt文件以节省硬盘空间": "Guardar solo el archivo ckpt más reciente para ahorrar espacio en disco",
"是否在每次保存时间点将最终小模型保存至weights文件夹": "Guardar pequeño modelo final en la carpeta 'weights' en cada punto de guardado",
"是否缓存所有训练集至显存. 10min以下小数据可缓存以加速训练, 大数据缓存会炸显存也加不了多少速": "Si almacenar en caché todos los conjuntos de entrenamiento en la memoria de la GPU. Los conjuntos de datos pequeños (menos de 10 minutos) se pueden almacenar en caché para acelerar el entrenamiento, pero el almacenamiento en caché de conjuntos de datos grandes puede causar errores de memoria en la GPU y no aumenta la velocidad de manera significativa.",
"显卡信息": "información de la GPU",
"未使用": "No utilizado",
"未使用判别器预训练模型": "No se usó el modelo preentrenado del discriminador",
"未使用生成器预训练模型": "No se usó el modelo preentrenado del generador",
"未检测到可用显卡将使用CPU训练耗时可能较长": "No se detectó una GPU compatible; entrenar con la CPU puede tardar mucho más",
"未运行": "No iniciado",
"本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责. <br>如不认可该条款, 则不能使用或引用软件包内任何代码和文件. 详见根目录<b>LICENSE</b>.": "Este software es de código abierto bajo la licencia MIT, el autor no tiene ningún control sobre el software, y aquellos que usan el software y difunden los sonidos exportados por el software son los únicos responsables.<br>Si no está de acuerdo con esta cláusula , no puede utilizar ni citar ningún código ni archivo del paquete de software Consulte el directorio raíz <b>Agreement-LICENSE.txt</b> para obtener más información.",
"查看": "Ver",
"查看模型信息(仅支持weights文件夹下提取的小模型文件)": "Ver información del modelo (solo aplicable a archivos de modelos pequeños extraídos de la carpeta 'pesos')",
"检索特征占比": "Proporción de función de búsqueda",
"模型信息:%s\n采样率%s\n是否使用音高引导%s\n版本%s": "Información del modelo: %s\nFrecuencia de muestreo: %s\nGuía de tono: %s\nVersión: %s",
"模型推理": "inferencia del modelo",
"模型提取(输入logs文件夹下大文件模型路径),适用于训一半不想训了模型没有自动提取保存小文件模型,或者想测试中间模型的情况": "Extracción de modelo (ingrese la ruta de un archivo de modelo grande en la carpeta 'logs'), aplicable cuando desea extraer un archivo de modelo pequeño después de entrenar a mitad de camino y no se guardó automáticamente, o cuando desea probar un modelo intermedio",
"模型是否带音高指导": "Si el modelo tiene guía de tono.",
"模型是否带音高指导(唱歌一定要, 语音可以不要)": "Si el modelo tiene guía de tono (necesaria para cantar, pero no para hablar)",
"模型是否带音高指导,1是0否": "Si el modelo tiene guía de tono, 1 para sí, 0 para no",
"模型版本型号": "Versión y modelo del modelo",
"模型融合, 可用于测试音色融合": "Fusión de modelos, se puede utilizar para fusionar diferentes voces",
"模型融合失败:两个模型的结构不一致": "Error al fusionar modelos: las arquitecturas no coinciden",
"模型训练": "Entrenamiento del modelo",
"模型路径": "Ruta del modelo",
"正在保存最终检查点:%s": "Guardando el punto de control final: %s",
"正在保存检查点 %s_e%s%s": "Guardando el punto de control %s_e%s: %s",
"正在加载RMVPE模型": "Cargando el modelo RMVPE",
"正在加载模型": "Cargando el modelo",
"正在启动": "Iniciando",
"正在收尾": "Finalizando",
"正在预热CUDA Graph": "Preparando CUDA Graph",
"每张显卡的batch_size": "Tamaño del lote (batch_size) por tarjeta gráfica",
"没有可用于训练的有效音频,请先完成数据切分和特征提取": "No hay audio válido para entrenar. Complete primero el preprocesamiento y la extracción de características.",
"没有有效的多说话人训练集行": "There are no valid multi-speaker dataset rows",
"淡入淡出长度": "Duración del fundido de entrada/salida",
"清理模型缓存": "Limpiando la caché del modelo",
"版本": "Versión",
"特征": "Características",
"特征提取": "Extracción de características",
"特征检索库文件路径(选择模型后自动匹配,可手动修改)": "Ruta del índice de características (se detecta al elegir el modelo; editable)",
"状态": "Estado",
"独占 WASAPI 设备": "Dispositivo WASAPI exclusivo",
"生成器预训练模型不存在将不使用assets/pretrained%s/%sG%s.pth": "Generator pretrained model not found; it will not be used: assets/pretrained%s/%sG%s.pth",
"留空则使用辅助页已提交的清单": "Leave empty to use the manifest submitted from the helper tab",
"目标采样率": "Tasa de muestreo objetivo",
"第%s/%s页共%s行": "Page %s/%s, %s rows",
"等待中": "En espera",
"等待输入": "Esperando entrada",
"算法延迟(ms):": "Latencia del algoritmo (ms):",
"索引": "Índice",
"索引文件不存在,将不使用索引继续推理:%s": "El archivo de índice no existe; la inferencia continuará sin índice: %s",
"索引无效必须使用added_xxxx.index不能使用trained_xxxx.index": "Índice no válido: use added_xxxx.index, not trained_xxxx.index",
"索引检索失败": "Falló la búsqueda por índice",
"索引检索失败或未启用": "La búsqueda por índice falló o está desactivada",
"索引训练": "Entrenamiento del índice",
"耗时": "Tiempo transcurrido",
"耗时:特征=%.3f秒,索引=%.3f秒,音高=%.3f秒,模型=%.3f秒": "Tiempo transcurrido: features=%.3fs, index=%.3fs, pitch=%.3fs, model=%.3fs",
"融合": "Fusión",
"要改的模型信息": "Información del modelo a modificar",
"要置入的模型信息": "Información del modelo a colocar.",
"训练": "Entrenamiento",
"训练已完成,正在保存最终模型": "Entrenamiento completado; guardando el modelo final",
"训练文件列表写入完成": "Lista de archivos de entrenamiento guardada",
"训练模型": "Entrenar Modelo",
"训练特征索引": "Índice de características",
"训练设备规则选择的精度:%s": "Precisión de entrenamiento elegida según las reglas del dispositivo: %s",
"训练轮次:{} [{:.0f}%]": "Época de entrenamiento: {} [{:.0f}%]",
"训练集子音频文件夹目录路径": "Dataset audio subfolder path",
"训练集类型": "Dataset type",
"设备类型": "Tipo de dispositivo",
"说话人ID0~109": "Speaker ID (0-109)",
"说话人名称": "Speaker name",
"说话人:%sID%s": "Speaker: %s (ID: %s)",
"请上传音频文件": "Suba un archivo de audio",
"请填写输出文件夹路径": "Introduzca la ruta de la carpeta de salida",
"请指定说话人id": "ID del modelo",
"请选择index文件": "Seleccione el archivo .index",
"请选择pth文件": "Seleccione el archivo .pth",
"请选择说话人id": "Seleccione una identificación de altavoz",
"转换": "Conversión",
"输入实验名": "Ingrese el nombre del modelo",
"输入实验名例如test": "Nombre del experimento, por ejemplo: test",
"输入待处理音频文件夹路径": "Ingrese la ruta a la carpeta de audio que se procesará",
"输入待处理音频文件夹路径(去文件管理器地址栏拷就行了)": "Ingrese la ruta a la carpeta de audio que se procesará (simplemente cópiela desde la barra de direcciones del administrador de archivos)",
"输入源音量包络替换输出音量包络融合比例越靠近1越使用输出包络": "Proporción de fusión para reemplazar el sobre de volumen de entrada con el sobre de volumen de salida, cuanto más cerca de 1, más se utiliza el sobre de salida",
"输入监听": "Monitorizar entrada",
"输入训练文件夹路径": "Introduzca la ruta de la carpeta de entrenamiento",
"输入设备": "Dispositivo de entrada",
"输入设备:%s:%s": "Dispositivo de entrada: %s:%s",
"输入降噪": "Reducción de ruido de entrada",
"输出信息": "Información de salida",
"输出变声": "Conversión de salida",
"输出设备": "Dispositivo de salida",
"输出设备:%s:%s": "Dispositivo de salida: %s:%s",
"输出降噪": "Reducción de ruido de salida",
"输出音频(右下角三个点,点了可以下载)": "Salida de audio (haga clic en los tres puntos en la esquina inferior derecha para descargar)",
"运行中": "En ejecución",
"进度": "Progreso",
"选择.index文件": "Seleccione el archivo .index",
"选择.pth文件": "Seleccione el archivo .pth",
"选择多说话人音色": "Select multi-speaker voice",
"选择模型": "Seleccionar modelo",
"选择索引": "Seleccionar índice",
"选择音高提取算法": "Seleccione el algoritmo de extracción de tono",
"采样率:": "Frecuencia de muestreo:",
"采样长度": "Longitud de muestreo",
"重复次数": "Repeat count",
"重载设备列表": "Actualizar lista de dispositivos",
"音调设置": "Ajuste de tono",
"音频设备": "Dispositivo de audio",
"音高全部为0该音频无意义跳过%s": "Todos los valores de tono son cero; este audio no es útil y se omitirá: %s",
"音高算法": "Algoritmo de tono",
"额外推理时长": "Tiempo de inferencia adicional"
}

View File

@@ -1,270 +1,286 @@
{ {
"人声提取激进程度": "Intensité de lextraction vocale", "%s运行中请先停止该任务": "%s est en cours ; arrêtez cette tâche avant d'en démarrer une autre",
"%s → 成功": "%s → Réussite", "====> 轮次:{} {}": "====> Époque : {} {}",
"%s运行中请先停止该任务": "%s est en cours ; arrêtez cette tâche avant d'en démarrer une autre", "A模型权重": "Poids (w) pour le modèle A :",
"%s进程已终止": "Le processus %s a été arrêté", "A模型路径": "Chemin d'accès au modèle A :",
"====> 轮次:{} {}": "====> Époque : {} {}", "B模型路径": "Chemin d'accès au modèle B :",
"A模型权重": "Poids (w) pour le modèle A :", "CUDA Graph预热完成": "Préchauffage de CUDA Graph terminé",
"A模型路径": "Chemin d'accès au modèle A :", "CUDA可用%s": "CUDA disponible : %s",
"B模型路径": "Chemin d'accès au modèle B :", "输入训练文件夹路径例如E:\\我的训练集": "Chemin du dossier d'entraînement, par exemple : E:\\Mon jeu d'entraînement",
"CUDA可用%s": "CUDA disponible : %s", "F0与HuBERT特征提取": "Extraction F0 et caractéristiques HuBERT",
"E:\\语音音频+标注\\米津玄师\\src": "C:\\Users\\Desktop\\src", "F0提取": "Extraction F0",
"F0与HuBERT特征提取": "Extraction F0 et caractéristiques HuBERT", "F0提取没有生成有效结果,已停止训练": "L'extraction F0 n'a produit aucun résultat valide. L'entraînement a été arrêté.",
"F0提取": "Extraction F0", "HuBERT特征": "Caractéristiques HuBERT",
"F0曲线文件, 可选, 一行一个音高, 代替默认F0及升降调": "Fichier de courbe F0 (facultatif). Une hauteur par ligne. Remplace la fréquence fondamentale par défaut et la modulation de la hauteur :", "HuBERT特征提取没有生成有效结果已停止训练": "L'extraction des caractéristiques HuBERT n'a produit aucun résultat valide. L'entraînement a été arrêté.",
"HuBERT特征": "Caractéristiques HuBERT", "Index Rate": "Taux d'indexation",
"Index Rate": "Taux d'indexation", "SOLA偏移%d": "Décalage SOLA : %d",
"RVC模型路径": "Chemin du modèle RVC :", "[F0提取] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[Extraction F0] Terminé | Réussite: %s | Ignorés: %s | Échec: %s",
"SOLA偏移%d": "Décalage SOLA : %d", "[F0提取] 待处理%s": "[Extraction F0] Pending: %s",
"[F0提取] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[Extraction F0] Terminé | Réussite: %s | Ignorés: %s | Échec: %s", "[F0提取] 无待处理音频,已全部跳过": "[Extraction F0] Aucun audio en attente ; tous les fichiers ont été ignorés",
"[F0提取] 待处理:%s": "[Extraction F0] Pending: %s", "[F0提取] 进度:%s/%s | 成功:%s | 跳过:%s | %s": "[Extraction F0] Progression: %s/%s | Réussite: %s | Ignorés: %s | %s",
"[F0提取] 无待处理音频,已全部跳过": "[Extraction F0] Aucun audio en attente ; tous les fichiers ont été ignorés", "[F0提取][失败] %s": "[Extraction F0][Échec] %s",
"[F0提取] 进度:%s/%s | 成功:%s | 跳过:%s | %s": "[Extraction F0] Progression: %s/%s | Réussite: %s | Ignorés: %s | %s", "[F0提取][失败] %s\n%s": "[Extraction F0][Échec] %s\n%s",
"[F0提取][失败] %s": "[Extraction F0][Échec] %s", "[HuBERT特征] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[Caractéristiques HuBERT] Terminé | Réussite: %s | Ignorés: %s | Échec: %s",
"[F0提取][失败] %s\n%s": "[Extraction F0][Échec] %s\n%s", "[HuBERT特征] 无待处理音频,已全部跳过:%s": "[Caractéristiques HuBERT] Aucun audio en attente ; ignorés: %s",
"[HuBERT特征] 完成 | 成功:%s | 跳过:%s | 失败%s": "[Caractéristiques HuBERT] Terminé | Réussite: %s | Ignorés: %s | Échec: %s", "[HuBERT特征] 正在加载模型%s": "[Caractéristiques HuBERT] Chargement du modèle: %s",
"[HuBERT特征] 无待处理音频,已全部跳过:%s": "[Caractéristiques HuBERT] Aucun audio en attente ; ignorés: %s", "[HuBERT特征] 设备:%s | 待处理:%s | 已跳过:%s": "[Caractéristiques HuBERT] Périphérique: %s | Pending: %s | Ignorés: %s",
"[HuBERT特征] 正在加载模型:%s": "[Caractéristiques HuBERT] Chargement du modèle: %s", "[HuBERT特征] 进度:%s/%s | 成功:%s | 失败:%s | %s | %s": "[Caractéristiques HuBERT] Progression: %s/%s | Réussite: %s | Échec: %s | %s | %s",
"[HuBERT特征] 设备:%s | 待处理:%s | 已跳过:%s": "[Caractéristiques HuBERT] Périphérique: %s | Pending: %s | Ignorés: %s", "[HuBERT特征][失败] %s\n%s": "[Caractéristiques HuBERT][Échec] %s\n%s",
"[HuBERT特征] 进度:%s/%s | 成功:%s | 失败:%s | %s | %s": "[Caractéristiques HuBERT] Progression: %s/%s | Réussite: %s | Échec: %s | %s | %s", "[HuBERT特征][失败] %s 包含NaN": "[Caractéristiques HuBERT][Échec] %s contains NaN values",
"[HuBERT特征][失败] %s\n%s": "[Caractéristiques HuBERT][Échec] %s\n%s", "[HuBERT特征][失败] 模型不存在:%s": "[Caractéristiques HuBERT][Échec] Modèle not found: %s",
"[HuBERT特征][失败] %s 包含NaN": "[Caractéristiques HuBERT][Échec] %s contains NaN values", "[数据切分] 多说话人待处理:%s | 进程数:%s": "[Dataset preprocessing] Multi-speaker files: %s | Workers: %s",
"[HuBERT特征][失败] 模型不存在:%s": "[Caractéristiques HuBERT][Échec] Modèle not found: %s", "[数据切分] 子任务完成 | 成功:%s | 失败:%s": "[Découpage des données] Sous-tâche terminée | Réussite: %s | Échec: %s",
"[数据切分] 子任务完成 | 成功:%s | 失败:%s": "[Découpage des données] Sous-tâche terminée | Réussite: %s | Échec: %s", "[数据切分] 完成": "[Découpage des données] Terminé",
"[数据切分] 完成": "[Découpage des données] Terminé", "[数据切分] 开始": "[Découpage des données] Démarré",
"[数据切分] 开始": "[Découpage des données] Démarré", "[数据切分] 待处理:%s | 进程数:%s": "[Découpage des données] Pending: %s | Processus: %s",
"[数据切分] 待处理:%s | 进程数:%s": "[Découpage des données] Pending: %s | Processus: %s", "[数据切分] 进度:%s/%s | %s": "[Découpage des données] Progression: %s/%s | %s",
"[数据切分] 进度:%s/%s | %s": "[Découpage des données] Progression: %s/%s | %s", "[数据切分][失败] %s": "[Découpage des données][Échec] %s",
"[数据切分][失败] %s": "[Découpage des données][Échec] %s", "[数据切分][失败] %s\n%s": "[Découpage des données][Échec] %s\n%s",
"[数据切分][失败] %s\n%s": "[Découpage des données][Échec] %s\n%s", "[数据切分][跳过] 无效或异常音频片段:%s_%s | 峰值:%s": "[Découpage des données][Ignorés] Segment audio invalide ou anormal: %s_%s | Crête: %s",
"[数据切分][跳过] 无效或异常音频片段:%s_%s | 峰值:%s": "[Découpage des données][Ignorés] Segment audio invalide ou anormal: %s_%s | Crête: %s", "[索引训练] 写入进度:%s/%s": "[Entraînement de l'index] Progressionion de l'écriture: %s/%s",
"[索引训练] 写入进度:%s/%s": "[Entraînement de l'index] Progressionion de l'écriture: %s/%s", "[索引训练] 外部索引链接已存在:%s": "[Entraînement de lindex] Le lien externe existe déjà : %s",
"[索引训练] 已链接索引到外部目录:%s": "[Entraînement de l'index] Index lié au dossier externe: %s", "[索引训练] 已链接索引到外部目录:%s": "[Entraînement de l'index] Index lié au dossier externe: %s",
"[索引训练] 成功构建索引:%s": "[Entraînement de l'index] Index créé avec succès: %s", "[索引训练] 成功构建索引:%s": "[Entraînement de l'index] Index créé avec succès: %s",
"[索引训练] 正在写入特征向量": "[Entraînement de l'index] Ajout des vecteurs de caractéristiques", "[索引训练] 正在写入特征向量": "[Entraînement de l'index] Ajout des vecteurs de caractéristiques",
"[索引训练] 正在将%s条特征聚类为10000个中心": "[Entraînement de l'index] Clustering %s feature vectors into 10,000 centers", "[索引训练] 正在将%s条特征聚类为10000个中心": "[Entraînement de l'index] Clustering %s feature vectors into 10,000 centers",
"[索引训练] 正在训练索引": "[Entraînement de l'index] Entraînement de l'index", "[索引训练] 正在训练索引": "[Entraînement de l'index] Entraînement de l'index",
"[索引训练] 特征形状:%s | IVF数量%s": "[Entraînement de l'index] Forme des caractéristiques: %s | Nombre d'IVF: %s", "[索引训练] 特征形状:%s | IVF数量%s": "[Entraînement de l'index] Forme des caractéristiques: %s | Nombre d'IVF: %s",
"[索引训练][失败] 无法链接索引到外部目录:%s\n%s": "[Entraînement de l'index][Échec] Impossible de lier l'index au dossier externe: %s\n%s", "[索引训练][失败] 无法链接索引到外部目录:%s\n%s": "[Entraînement de l'index][Échec] Impossible de lier l'index au dossier externe: %s\n%s",
"[索引训练][失败] 聚类失败,将使用原始特征继续\n%s": "[Entraînement de l'index][Échec] Échec du regroupement ; poursuite avec les caractéristiques d'origine\n%s", "[索引训练][失败] 聚类失败,将使用原始特征继续\n%s": "[Entraînement de l'index][Échec] Échec du regroupement ; poursuite avec les caractéristiques d'origine\n%s",
"[索引训练][失败] 请先进行特征提取": "[Entraînement de l'index][Échec] Extrayez d'abord les caractéristiques", "[索引训练][失败] 请先进行特征提取": "[Entraînement de l'index][Échec] Extrayez d'abord les caractéristiques",
"ckpt处理": "Traitement des fichiers .ckpt", "[索引训练][跳过] added索引已存在%s": "[Entraînement de lindex][Ignoré] Lindex added existe déjà : %s",
"index文件路径不可包含中文": "Le chemin du fichier d'index ne doit pas contenir de caractères chinois.", "[索引训练][跳过] trained索引已存在%s": "[Entraînement de lindex][Ignoré] Lindex trained existe déjà : %s",
"pth文件路径不可包含中文": "Le chemin du fichier .pth ne doit pas contenir de caractères chinois.", "ckpt处理": "Traitement des fichiers .ckpt",
"rmvpe卡号配置以-分隔输入使用的不同进程卡号,例如0-0-1使用卡0上跑2个进程并在卡1上跑1个进程": "Configuration des numéros de carte RMVPE : séparez les index GPU par des tirets \"-\", par exemple, 0-0-1 pour utiliser 2 processus sur GPU0 et 1 processus sur GPU1.", "hubert:以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2": "HuBERT: Enter GPU IDs separated by hyphens; for example, 0-1-2 uses GPUs 0, 1, and 2",
"step1: 填写实验配置. 实验数据放在logs下, 每个实验一个文件夹, 需手工输入实验名路径, 内含实验配置, 日志, 训练得到的模型文件. ": "Étape 1 : Remplissez la configuration expérimentale. Les données expérimentales sont stockées dans le dossier 'logs', avec chaque expérience ayant un dossier distinct. Entrez manuellement le chemin du nom de l'expérience, qui contient la configuration expérimentale, les journaux et les fichiers de modèle entraînés.", "index文件路径不可包含中文": "Le chemin du fichier d'index ne doit pas contenir de caractères chinois.",
"step1:正在处理数据": "Étape 1 : Traitement des données en cours.", "pth文件路径不可包含中文": "Le chemin du fichier .pth ne doit pas contenir de caractères chinois.",
"step2:正在提取音高&正在提取特征": "Étape 2 : Extraction de la hauteur et extraction des caractéristiques en cours.", "rmvpe卡号配置以-分隔输入使用的不同进程卡号,例如0-0-1使用在卡0上跑2个进程并在卡1上跑1个进程": "Configuration des numéros de carte RMVPE : séparez les index GPU par des tirets \"-\", par exemple, 0-0-1 pour utiliser 2 processus sur GPU0 et 1 processus sur GPU1.",
"step2a: 自动遍历训练文件夹下所有可解码成音频的文件并进行切片归一化, 在实验目录下生成2个wav文件夹; 暂时只支持单人训练. ": "Étape 2a : Parcours automatique de tous les fichiers du dossier d'entraînement qui peuvent être décodés en fichiers audio et réalisation d'une normalisation par tranches. Génère 2 dossiers wav dans le répertoire de l'expérience. Actuellement, seule la formation avec un seul chanteur/locuteur est prise en charge.", "step1: 填写实验配置. 实验数据放在logs下, 每个实验一个文件夹, 需手工输入实验名路径, 内含实验配置, 日志, 训练得到的模型文件. ": "Étape 1 : Remplissez la configuration expérimentale. Les données expérimentales sont stockées dans le dossier 'logs', avec chaque expérience ayant un dossier distinct. Entrez manuellement le chemin du nom de l'expérience, qui contient la configuration expérimentale, les journaux et les fichiers de modèle entraînés.",
"step2b: 使用CPU提取音高(如果模型带音高), 使用GPU提取特征(选择卡号)": "Étape 2b : Utilisez le CPU pour extraire la hauteur (si le modèle le permet), utilisez le GPU pour extraire les caractéristiques (sélectionnez l'index du GPU) :", "step2a: 扫描训练音频并进行切片归一化在实验目录下生成训练wav文件。": "Step 2a: Scan, slice, and normalize training audio, then create training WAV files in the experiment directory.",
"step3: 填写训练设置, 开始训练模型和索引": "Étape 3 : Remplissez les paramètres d'entraînement et démarrez l'entraînement du modèle ainsi que l'indexation.", "step2b: 音高与hubert语义特征提取": "Étape 2b : extraction de la hauteur et des caractéristiques sémantiques HuBERT",
"step3a:正在训练模型": "Étape 3a : L'entraînement du modèle a commencé.", "step3: 填写训练设置, 开始训练模型和索引": "Étape 3 : Remplissez les paramètres d'entraînement et démarrez l'entraînement du modèle ainsi que l'indexation.",
"step3b:正在训练索引": "étape 3b : entraînement de lindex", "……仅显示最近10条失败记录": "…Seuls les 10 échecs les plus récents sont affichés",
"……仅显示最近10条失败记录": "…Seuls les 10 échecs les plus récents sont affichés", "……已省略前%s行仅显示最新状态": "…Les %s premières lignes ont été omises ; seul l'état récent est affiché",
"……已省略前%s行仅显示最新状态": "…Les %s premières lignes ont été omises ; seul l'état récent est affiché", "一键训练": "Entraînement en un clic",
"一键训练": "Entraînement en un clic", "上一页": "Previous",
"也可批量输入音频文件, 二选一, 优先读文件夹": "Il est également possible d'importer plusieurs fichiers audio. Si un chemin de dossier existe, cette entrée est ignorée.", "下一页": "Next",
"仅支持pm和rmvpe音高提取算法": "Seules les méthodes d'extraction de hauteur pm et rmvpe sont prises en charge", "为多说话人训练集建立清单。空行会被忽略路径、说话人名称、说话人ID或重复次数填写不全的行会在提交时提示。": "Create a multi-speaker dataset manifest. Empty rows are ignored; incomplete path, speaker name, speaker ID, or repeat count fields are reported on submission.",
"从训练检查点提取的模型": "Modèle extrait d'un point de contrôle d'entraînement", "主结果文件夹": "Dossier de sortie principal",
"以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2": "Entrez le(s) index GPU séparé(s) par '-', par exemple, 0-1-2 pour utiliser les GPU 0, 1 et 2 :", "也可批量输入音频文件, 二选一, 优先读文件夹": "Il est également possible d'importer plusieurs fichiers audio. Si un chemin de dossier existe, cette entrée est ignorée.",
"任务": "Tâche", "人声、伴奏与混响批量处理使用pymss/MSST模型。": "Traitement par lots des voix, de laccompagnement et de la réverbération avec les modèles pymss/MSST.",
"使用显卡:%s": "GPU utilisés : %s", "人声伴奏分离&去混响": "Séparation voix/accompagnement et suppression de la réverbération",
"使用模型采样率": "Utiliser la fréquence du modèle", "仅支持pm和rmvpe音高提取算法": "Seules les méthodes d'extraction de hauteur pm et rmvpe sont prises en charge",
"使用设备采样率": "Utiliser la fréquence du périphérique", "从训练检查点提取的模型": "Modèle extrait d'un point de contrôle d'entraînement",
"保存名": "Nom de sauvegarde :", "以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2": "Entrez le(s) index GPU séparé(s) par '-', par exemple, 0-1-2 pour utiliser les GPU 0, 1 et 2 :",
"保存的文件名, 默认空为和源文件同名": "Nom du fichier de sauvegarde (par défaut : identique au nom du fichier source) :", "以下行填写不完整或无效,已忽略:%s": "The following incomplete or invalid rows were ignored: %s",
"保存的模型名不带后缀": "Nom du modèle enregistré (sans extension) :", "任务": "Tâche",
"保存频率save_every_epoch": "Fréquence de sauvegarde (save_every_epoch) :", "使用显卡:%s": "GPU utilisés : %s",
"保护清辅音和呼吸声防止电音撕裂等artifact拉满0.5不开启,调低加大保护力度但可能降低索引效果": "Protéger les consonnes sourdes et les bruits de respiration pour éviter les artefacts tels que le déchirement dans la musique électronique. Réglez à 0,5 pour désactiver. Diminuez la valeur pour renforcer la protection, mais cela peut réduire la précision de l'indexation :", "使用模型采样率": "Utiliser la fréquence du modèle",
"修改": "Modifier", "使用设备采样率": "Utiliser la fréquence du périphérique",
"修改模型信息(仅支持weights文件夹下提取的小模型文件)": "Modifier les informations du modèle (uniquement pris en charge pour les petits fichiers de modèle extraits du dossier 'weights')", "保存名": "Nom de sauvegarde :",
"停止一键训练": "Arrêter lentraînement en un clic", "保存的文件名, 默认空为和源文件同名": "Nom du fichier de sauvegarde (par défaut : identique au nom du fichier source) :",
"停止处理数据": "Arrêter le prétraitement des données", "保存的模型名不带后缀": "Nom du modèle enregistré (sans extension) :",
"停止特征提取": "Arrêter lextraction des caractéristiques", "保存频率save_every_epoch": "Fréquence de sauvegarde (save_every_epoch) :",
"停止训练模型": "Arrêter lentraînement du modèle", "保护清辅音和呼吸声防止电音撕裂等artifact拉满0.5不开启,调低加大保护力度但可能降低索引效果": "Protéger les consonnes sourdes et les bruits de respiration pour éviter les artefacts tels que le déchirement dans la musique électronique. Réglez à 0,5 pour désactiver. Diminuez la valeur pour renforcer la protection, mais cela peut réduire la précision de l'indexation :",
"停止训练索引": "Arrêter lentraînement de lindex", "修改": "Modifier",
"停止音频转换": "Arrêter la conversion audio", "修改模型信息(仅支持weights文件夹下提取的小模型文件)": "Modifier les informations du modèle (uniquement pris en charge pour les petits fichiers de modèle extraits du dossier 'weights')",
"全流程结束!": "Toutes les étapes ont été terminées !", "停止一键训练": "Arrêter lentraînement en un clic",
"判别器预训练模型不存在将不使用assets/pretrained%s/%sD%s.pth": "Discriminator pretrained model not found; it will not be used: assets/pretrained%s/%sD%s.pth", "停止分离": "Arrêter la séparation",
"加载模型": "Charger le modèle.", "停止处理数据": "Arrêter le prétraitement des données",
"加载预训练底模D路径": "Charger le chemin du modèle de base pré-entraîné D :", "停止特征提取": "Arrêter lextraction des caractéristiques",
"加载预训练底模G路径": "Charger le chemin du modèle de base pré-entraîné G :", "停止训练模型": "Arrêter lentraînement du modèle",
"单次推理": "Inférence unique", "停止训练索引": "Arrêter lentraînement de lindex",
"卸载音色省显存": "Décharger la voix pour économiser la mémoire GPU.", "停止音频转换": "Arrêter la conversion audio",
"变调(整数, 半音数量, 升八度12降八度-12)": "Transposer (entier, nombre de demi-tons, monter d'une octave : 12, descendre d'une octave : -12) :",
"合成": "Synthèse",
"后处理重采样至最终采样率0为不进行重采样": "Rééchantillonner l'audio de sortie en post-traitement à la fréquence d'échantillonnage finale. Réglez sur 0 pour ne pas effectuer de rééchantillonnage :",
"否": "Non",
"响应阈值": "Seuil de réponse",
"响度因子": "Facteur de volume sonore",
"处理中": "Traitement en cours",
"处理数据": "Traitement des données",
"失败": "Échec",
"失败记录": "Détails des échecs",
"子进程执行失败,返回码:%s": "Le sous-processus a échoué avec le code de sortie: %s",
"导出文件格式": "Format de fichier d'exportation",
"已停止": "Arrêté",
"已加载判别器预训练模型:%s": "Modèle préentraîné du discriminateur chargé: %s",
"已加载生成器预训练模型:%s": "Modèle préentraîné du générateur chargé: %s",
"已启用索引检索": "Recherche par index activée",
"已完成": "Terminé",
"已恢复判别器检查点": "Point de contrôle du discriminateur restauré",
"常见问题解答": "FAQ (Foire Aux Questions)",
"常规设置": "Paramètres généraux",
"开始音频转换": "Démarrer la conversion audio.",
"当前": "Actuel",
"当前阶段": "Étape actuelle",
"很遗憾您这没有能用的显卡来支持您训练": "Malheureusement, il n'y a pas de GPU compatible disponible pour prendre en charge votre entrainement.",
"性别因子/声线粗细": "Facteur de genre / épaisseur de la voix",
"性能设置": "Paramètres de performance",
"总训练轮数total_epoch": "Nombre total d'époques d'entraînement (total_epoch) :",
"成功": "Réussite",
"执行命令": "Commande",
"批量推理": "Inférence par lot",
"批量转换, 输入待转换音频文件夹, 或上传多个音频文件, 在指定文件夹(默认opt)下输出转换的音频. ": "Conversion en lot. Entrez le dossier contenant les fichiers audio à convertir ou téléchargez plusieurs fichiers audio. Les fichiers audio convertis seront enregistrés dans le dossier spécifié (par défaut : 'opt').",
"拖拽或点击上传待处理音频": "Glissez-déposez ou cliquez pour téléverser laudio à traiter",
"指定输出主人声文件夹": "Spécifiez le dossier de sortie pour les fichiers de voix :",
"指定输出文件夹": "Spécifiez le dossier de sortie :",
"指定输出非主人声文件夹": "Spécifiez le dossier de sortie pour l'accompagnement :",
"推理时间(ms):": "Temps d'inférence (ms) :",
"推理耗时:%.2f秒": "Temps d'inférence: %.2f seconds",
"推理音色": "Voix pour l'inférence",
"提取": "Extraire",
"提取音高和处理数据使用的CPU进程数": "Nombre de processus CPU utilisés pour l'extraction de la hauteur et le traitement des données :",
"数据切分": "Découpage des données",
"无法停止": "Impossible à arrêter",
"无法读取音频:%s": "Impossible de lire l'audio: %s",
"是": "Oui",
"是否仅保存最新的ckpt文件以节省硬盘空间": "Enregistrer uniquement le dernier fichier '.ckpt' pour économiser de l'espace disque :",
"是否在每次保存时间点将最终小模型保存至weights文件夹": "Enregistrer un petit modèle final dans le dossier 'weights' à chaque point de sauvegarde :",
"是否缓存所有训练集至显存. 10min以下小数据可缓存以加速训练, 大数据缓存会炸显存也加不了多少速": "Mettre en cache tous les ensembles d'entrainement dans la mémoire GPU. Mettre en cache de petits ensembles de données (moins de 10 minutes) peut accélérer l'entrainement, mais mettre en cache de grands ensembles de données consommera beaucoup de mémoire GPU et peut ne pas apporter beaucoup d'amélioration de vitesse :",
"显卡信息": "Informations sur la carte graphique (GPU)",
"未使用": "Non utilisé",
"未使用判别器预训练模型": "Modèle préentraîné du discriminateur non utilisé",
"未使用生成器预训练模型": "Modèle préentraîné du générateur non utilisé",
"未找到Roformer模型配置文件正在使用内置默认配置": "Configuration du modèle Roformer introuvable ; utilisation des valeurs intégrées",
"未检测到可用显卡将使用CPU训练耗时可能较长": "Aucun GPU compatible détecté ; l'entraînement sur CPU peut être beaucoup plus long",
"未运行": "Non démarré",
"本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责. <br>如不认可该条款, 则不能使用或引用软件包内任何代码和文件. 详见根目录<b>LICENSE</b>.": "Ce logiciel est open source sous la licence MIT. L'auteur n'a aucun contrôle sur le logiciel. Les utilisateurs qui utilisent le logiciel et distribuent les sons exportés par le logiciel en sont entièrement responsables. <br>Si vous n'acceptez pas cette clause, vous ne pouvez pas utiliser ou faire référence à aucun code ni fichier contenu dans le package logiciel. Consultez le fichier <b>Agreement-LICENSE.txt</b> dans le répertoire racine pour plus de détails.",
"查看": "Voir",
"查看模型信息(仅支持weights文件夹下提取的小模型文件)": "Afficher les informations sur le modèle (uniquement pour les petits fichiers de modèle extraits du dossier \"weights\")",
"检测到模型类型:%s": "Type de modèle détecté : %s",
"检索特征占比": "Rapport de recherche de caractéristiques (contrôle l'intensité de l'accent, un rapport trop élevé provoque des artefacts) :",
"模型": "Modèle",
"模型信息:%s\n采样率%s\n是否使用音高引导%s\n版本%s": "Informations du modèle: %s\nFréquence d'échantillonnage: %s\nGuidage de hauteur: %s\nVersion: %s",
"模型推理": "Inférence du modèle",
"模型提取(输入logs文件夹下大文件模型路径),适用于训一半不想训了模型没有自动提取保存小文件模型,或者想测试中间模型的情况": "Extraction du modèle (saisissez le chemin d'accès au modèle du grand fichier dans le dossier \"logs\"). Cette fonction est utile si vous souhaitez arrêter l'entrainement à mi-chemin et extraire et enregistrer manuellement un petit fichier de modèle, ou si vous souhaitez tester un modèle intermédiaire :",
"模型是否带音高指导": "Indique si le modèle dispose d'un guidage en hauteur :",
"模型是否带音高指导(唱歌一定要, 语音可以不要)": "Indique si le modèle dispose d'un système de guidage de la hauteur (obligatoire pour le chant, facultatif pour la parole) :",
"模型是否带音高指导,1是0否": "Le modèle dispose-t-il d'un guide de hauteur (1 : oui, 0 : non) ?",
"模型版本型号": "Version de l'architecture du modèle :",
"模型融合, 可用于测试音色融合": "Fusion de modèles, peut être utilisée pour tester la fusion de timbres",
"模型融合失败:两个模型的结构不一致": "Échec de la fusion : les architectures des deux modèles diffèrent",
"模型训练": "Entraînement du modèle",
"模型路径": "Le chemin vers le modèle :",
"正在保存最终检查点:%s": "Enregistrement du point de contrôle final: %s",
"正在保存检查点 %s_e%s%s": "Enregistrement du point de contrôle %s_e%s: %s",
"正在加载RMVPE模型": "Chargement du modèle RMVPE",
"正在加载模型": "Chargement du modèle",
"正在启动": "Démarrage",
"正在收尾": "Finalisation",
"每张显卡的batch_size": "Taille du batch par GPU :",
"淡入淡出长度": "Longueur de la transition",
"清理模型缓存": "Nettoyage du cache du modèle",
"版本": "Version",
"特征": "Caractéristiques",
"特征提取": "Extraction des caractéristiques",
"状态": "État",
"独占 WASAPI 设备": "Périphérique WASAPI exclusif",
"生成器预训练模型不存在将不使用assets/pretrained%s/%sG%s.pth": "Generator pretrained model not found; it will not be used: assets/pretrained%s/%sG%s.pth",
"男转女推荐+12key, 女转男推荐-12key, 如果音域爆炸导致音色失真也可以自己调整到合适音域. ": "Il est recommandé d'utiliser la clé +12 pour la conversion homme-femme et la clé -12 pour la conversion femme-homme. Si la plage sonore est trop large et que la voix est déformée, vous pouvez également l'ajuster vous-même à la plage appropriée.",
"目标采样率": "Taux d'échantillonnage cible :",
"等待中": "En attente",
"等待输入": "En attente d'une entrée",
"算法延迟(ms):": "Latence de l'algorithme (ms) :",
"索引": "Index",
"索引无效必须使用added_xxxx.index不能使用trained_xxxx.index": "Index invalide : utilisez added_xxxx.index, not trained_xxxx.index",
"索引检索失败": "Échec de la recherche par index",
"索引检索失败或未启用": "La recherche par index a échoué ou est désactivée",
"索引训练": "Entraînement de l'index",
"耗时": "Temps écoulé",
"耗时:特征=%.3f秒,索引=%.3f秒,音高=%.3f秒,模型=%.3f秒": "Temps écoulé: features=%.3fs, index=%.3fs, pitch=%.3fs, model=%.3fs",
"融合": "Fusion",
"要改的模型信息": "Informations sur le modèle à modifier :",
"要置入的模型信息": "Informations sur le modèle à placer :",
"训练": "Entraîner",
"训练已完成,正在保存最终模型": "Entraînement terminé ; enregistrement du modèle final",
"训练文件列表写入完成": "Liste des fichiers d'entraînement enregistrée",
"训练模型": "Entraîner le modèle",
"训练特征索引": "Entraîner l'index des caractéristiques",
"训练结束, 您可查看控制台训练日志或实验文件夹下的train.log": "Entraînement terminé. Vous pouvez consulter les rapports d'entraînement dans la console ou dans le fichier 'train.log' situé dans le dossier de l'expérience.",
"训练设备规则选择的精度:%s": "Précision d'entraînement choisie selon les règles du périphérique: %s",
"训练轮次:{} [{:.0f}%]": "Époque d'entraînement : {} [{:.0f}%]",
"设备类型": "Type de périphérique",
"请上传音频文件": "Téléversez un fichier audio",
"请填写输出文件夹路径": "Saisissez le chemin du dossier de sortie",
"请指定说话人id": "Veuillez spécifier l'ID de l'orateur ou du chanteur :",
"请选择index文件": "Veuillez sélectionner le fichier d'index",
"请选择pth文件": "Veuillez sélectionner le fichier pth",
"请选择说话人id": "Sélectionner l'ID de l'orateur ou du chanteur :",
"转换": "Convertir",
"输入实验名": "Saisissez le nom de l'expérience :",
"输入待处理音频文件夹路径": "Entrez le chemin du dossier audio à traiter :",
"输入待处理音频文件夹路径(去文件管理器地址栏拷就行了)": "Entrez le chemin du dossier audio à traiter (copiez-le depuis la barre d'adresse du gestionnaire de fichiers) :",
"输入待处理音频文件路径(默认是正确格式示例)": "Entrez le chemin d'accès du fichier audio à traiter (par défaut, l'exemple de format correct) :",
"输入源音量包络替换输出音量包络融合比例越靠近1越使用输出包络": "Ajustez l'échelle de l'enveloppe de volume. Plus il est proche de 0, plus il imite le volume des voix originales. Cela peut aider à masquer les bruits et à rendre le volume plus naturel lorsqu'il est réglé relativement bas. Plus le volume est proche de 1, plus le volume sera fort et constant :",
"输入监听": "Écouter l'entrée",
"输入训练文件夹路径": "Indiquez le chemin d'accès au dossier d'entraînement :",
"输入设备": "Dispositif d'entrée",
"输入设备:%s:%s": "Périphérique d'entrée: %s:%s",
"输入降噪": "Réduction du bruit d'entrée",
"输出信息": "Informations sur la sortie",
"输出变声": "Conversion de sortie",
"输出设备": "Dispositif de sortie",
"输出设备:%s:%s": "Périphérique de sortie: %s:%s",
"输出降噪": "Réduction du bruit de sortie",
"输出音频(右下角三个点,点了可以下载)": "Exporter l'audio (cliquer sur les trois points dans le coin inférieur droit pour télécharger)",
"运行中": "En cours",
"进度": "Progression",
"选择.index文件": "Sélectionner le fichier .index",
"选择.pth文件": "Sélectionner le fichier .pth",
"选择模型": "Sélectionner le modèle",
"选择索引": "Sélectionner l'index",
"选择音高提取算法": "Sélectionnez lalgorithme dextraction de la hauteur",
"采样率:": "Fréquence d'échantillonnage :",
"采样长度": "Longueur de l'échantillon",
"重载设备列表": "Recharger la liste des dispositifs",
"错误信息:%s": "Détails de l'erreur: %s",
"错误:未知模型:%s": "Erreur : modèle inconnu : %s",
"音调设置": "Réglages de la hauteur",
"音频包含多个声道,但模型仅支持单声道,将对所有声道取平均值": "L'audio comporte plusieurs canaux, mais le modèle est mono ; tous les canaux seront moyennés",
"音频设备": "Périphérique audio",
"音高全部为0该音频无意义跳过%s": "Toutes les valeurs de hauteur sont nulles ; cet audio est inutilisable et sera ignoré: %s",
"音高算法": "Algorithme de hauteur",
"额外推理时长": "Temps d'inférence supplémentaire",
"数据切分没有生成有效训练音频,请检查训练集和数据切分日志": "Le prétraitement n'a produit aucun audio d'entraînement valide. Vérifiez le jeu de données et le journal.",
"数据切分没有生成16k音频已停止后续特征提取和训练": "Le prétraitement n'a produit aucun audio 16 kHz. L'extraction et l'entraînement ont été arrêtés.",
"数据切分输出文件不匹配,已停止后续特征提取和训练": "Les fichiers de sortie du prétraitement ne correspondent pas. L'extraction et l'entraînement ont été arrêtés.",
"HuBERT特征提取没有生成有效结果已停止训练": "L'extraction des caractéristiques HuBERT n'a produit aucun résultat valide. L'entraînement a été arrêté.",
"F0提取没有生成有效结果已停止训练": "L'extraction F0 n'a produit aucun résultat valide. L'entraînement a été arrêté.",
"没有可用于训练的有效音频,请先完成数据切分和特征提取": "Aucun audio valide n'est disponible pour l'entraînement. Terminez d'abord le prétraitement et l'extraction.",
"已完成阶段": "Étapes terminées",
"已成功": "Réussi",
"刷新音色列表": "Actualiser la liste des voix",
"特征检索库文件路径(选择模型后自动匹配,可手动修改)": "Chemin de lindex de caractéristiques (détecté après sélection du modèle ; modifiable)",
"[索引训练] 外部索引链接已存在:%s": "[Entraînement de lindex] Le lien externe existe déjà : %s",
"[索引训练][跳过] added索引已存在%s": "[Entraînement de lindex][Ignoré] Lindex added existe déjà : %s",
"[索引训练][跳过] trained索引已存在%s": "[Entraînement de lindex][Ignoré] Lindex trained existe déjà : %s",
"当前设备:%s | 推理精度:%s": "Périphérique actuel : %s | Précision dinférence : %s",
"正在预热CUDA Graph": "Préchauffage de CUDA Graph",
"CUDA Graph预热完成": "Préchauffage de CUDA Graph terminé",
"数据提取开始start_time=%.6f,请求并行数=%s实际并行数上限=%s": "Extraction des données démarrée : start_time=%.6f, parallélisme demandé=%s, limite réelle=%s",
"数据提取结束end_time=%.6f,总耗时=%.3f秒": "Extraction des données terminée : end_time=%.6f, durée totale=%.3f secondes",
"人声伴奏分离&去混响": "Séparation voix/accompagnement et suppression de la réverbération",
"人声、伴奏与混响批量处理使用pymss/MSST模型。": "Traitement par lots des voix, de laccompagnement et de la réverbération avec les modèles pymss/MSST.",
"处理方式": "Mode de traitement",
"底层模型": "Modèle sous-jacent",
"主结果文件夹": "Dossier de sortie principal",
"分离残余文件夹": "Dossier de sortie résiduel", "分离残余文件夹": "Dossier de sortie résiduel",
"停止分离": "Arrêter la séparation" "删除末行": "Remove last row",
} "判别器预训练模型不存在将不使用assets/pretrained%s/%sD%s.pth": "Discriminator pretrained model not found; it will not be used: assets/pretrained%s/%sD%s.pth",
"刷新音色列表": "Actualiser la liste des voix",
"加载模型": "Charger le modèle.",
"加载预训练底模D路径": "Charger le chemin du modèle de base pré-entraîné D :",
"加载预训练底模G路径": "Charger le chemin du modèle de base pré-entraîné G :",
"单次推理": "Inférence unique",
"单说话人": "Single speaker",
"卸载音色省显存": "Décharger la voix pour économiser la mémoire GPU.",
"变调(整数, 半音数量, 升八度12降八度-12)": "Transposer (entier, nombre de demi-tons, monter d'une octave : 12, descendre d'une octave : -12) :",
"合成": "Synthèse",
"后处理重采样至最终采样率0为不进行重采样": "Rééchantillonner l'audio de sortie en post-traitement à la fréquence d'échantillonnage finale. Réglez sur 0 pour ne pas effectuer de rééchantillonnage :",
"否": "Non",
"响应阈值": "Seuil de réponse",
"响度因子": "Facteur de volume sonore",
"处理中": "Traitement en cours",
"处理数据": "Traitement des données",
"处理方式": "Mode de traitement",
"多说话人": "Multiple speakers",
"注意:多说话人训练音色还原度不一定有单说话人分开训练好!": "Remarque : l'entraînement multi-locuteurs peut restituer chaque voix moins fidèlement qu'un entraînement séparé par locuteur !",
"多说话人子文件夹无效格式应为名称_ID_重复次数、ID为0~109、重复次数为正整数、同一ID的名称需一致且目录需有音频%s": "Invalid multi-speaker subfolders (expected Name_ID_Repeat, ID 0-109, a positive repeat count, one consistent name per ID, and at least one audio file): %s",
"多说话人总文件夹只扫描根目录下的直接子文件夹,根目录文件会被忽略。\n子文件夹必须命名为x_y_zx是说话人名称y是说话人ID0~109共110个z是训练集重复次数。\n也可以到右侧“多说话人训练集辅助”编辑并提交训练集清单。": "Only direct subfolders of the multi-speaker root are scanned; root files are ignored.\nName each subfolder x_y_z: x is the speaker name, y is the speaker ID (0-109, 110 choices), and z is the repeat count.\nYou can also submit a manifest from the Multi-speaker Dataset Helper tab.",
"多说话人训练集总文件夹不存在:%s": "Multi-speaker dataset root does not exist: %s",
"多说话人训练集总文件夹中没有有效音频": "The multi-speaker dataset root contains no valid audio",
"多说话人训练集总文件夹中没有直接子文件夹": "The multi-speaker dataset root has no direct subfolders",
"多说话人训练集总文件夹路径": "Multi-speaker dataset root",
"多说话人训练集清单不存在,请先提交辅助清单或填写总文件夹": "The multi-speaker manifest does not exist. Submit it from the helper tab or enter a dataset root first",
"多说话人训练集清单包含无效条目:%s": "The multi-speaker manifest contains an invalid entry: %s",
"多说话人训练集清单存在重复输出标识:%s": "The multi-speaker manifest contains a duplicate output key: %s",
"多说话人训练集清单已保存:%s有效音频%s个": "Multi-speaker dataset manifest saved: %s; valid audio files: %s",
"多说话人训练集清单格式错误": "The multi-speaker manifest format is invalid",
"多说话人训练集清单没有有效音频": "The multi-speaker manifest contains no valid audio",
"多说话人训练集辅助": "Multi-speaker Dataset Helper",
"失败": "Échec",
"失败记录": "Détails des échecs",
"子进程执行失败,返回码:%s": "Le sous-processus a échoué avec le code de sortie: %s",
"实验名不能为空": "Experiment name is required",
"导出文件格式": "Format de fichier d'exportation",
"已停止": "Arrêté",
"已加载判别器预训练模型:%s": "Modèle préentraîné du discriminateur chargé: %s",
"已加载生成器预训练模型:%s": "Modèle préentraîné du générateur chargé: %s",
"已启用索引检索": "Recherche par index activée",
"已完成": "Terminé",
"已完成阶段": "Étapes terminées",
"已恢复判别器检查点": "Point de contrôle du discriminateur restauré",
"已成功": "Réussi",
"常见问题解答": "FAQ (Foire Aux Questions)",
"常规设置": "Paramètres généraux",
"底层模型": "Modèle sous-jacent",
"开始音频转换": "Démarrer la conversion audio.",
"当前": "Actuel",
"当前设备:%s | 推理精度:%s": "Périphérique actuel : %s | Précision dinférence : %s",
"当前阶段": "Étape actuelle",
"很遗憾您这没有能用的显卡来支持您训练": "Malheureusement, il n'y a pas de GPU compatible disponible pour prendre en charge votre entrainement.",
"性别因子/声线粗细": "Facteur de genre / épaisseur de la voix",
"性能设置": "Paramètres de performance",
"总训练轮数total_epoch": "Nombre total d'époques d'entraînement (total_epoch) :",
"成功": "Réussite",
"执行命令": "Commande",
"批量推理": "Inférence par lot",
"批量转换, 输入待转换音频文件夹, 或上传多个音频文件, 在指定文件夹(默认opt)下输出转换的音频. ": "Conversion en lot. Entrez le dossier contenant les fichiers audio à convertir ou téléchargez plusieurs fichiers audio. Les fichiers audio convertis seront enregistrés dans le dossier spécifié (par défaut : 'opt').",
"拖拽或点击上传待处理音频": "Glissez-déposez ou cliquez pour téléverser laudio à traiter",
"指定输出文件夹": "Spécifiez le dossier de sortie :",
"推理时间(ms):": "Temps d'inférence (ms) :",
"推理耗时:%.2f秒": "Temps d'inférence: %.2f seconds",
"推理音色": "Voix pour l'inférence",
"提交训练集清单": "Submit dataset manifest",
"提取": "Extraire",
"提取音高和处理数据使用的CPU进程数": "Nombre de processus CPU utilisés pour l'extraction de la hauteur et le traitement des données :",
"数据切分": "Découpage des données",
"数据切分没有生成16k音频已停止后续特征提取和训练": "Le prétraitement n'a produit aucun audio 16 kHz. L'extraction et l'entraînement ont été arrêtés.",
"数据切分没有生成有效训练音频,请检查训练集和数据切分日志": "Le prétraitement n'a produit aucun audio d'entraînement valide. Vérifiez le jeu de données et le journal.",
"数据切分输出文件不匹配,已停止后续特征提取和训练": "Les fichiers de sortie du prétraitement ne correspondent pas. L'extraction et l'entraînement ont été arrêtés.",
"数据提取开始start_time=%.6f,请求并行数=%s实际并行数上限=%s": "Extraction des données démarrée : start_time=%.6f, parallélisme demandé=%s, limite réelle=%s",
"数据提取结束end_time=%.6f,总耗时=%.3f秒": "Extraction des données terminée : end_time=%.6f, durée totale=%.3f secondes",
"新增一行": "Add row",
"无法停止": "Impossible à arrêter",
"是": "Oui",
"是否仅保存最新的ckpt文件以节省硬盘空间": "Enregistrer uniquement le dernier fichier '.ckpt' pour économiser de l'espace disque :",
"是否在每次保存时间点将最终小模型保存至weights文件夹": "Enregistrer un petit modèle final dans le dossier 'weights' à chaque point de sauvegarde :",
"是否缓存所有训练集至显存. 10min以下小数据可缓存以加速训练, 大数据缓存会炸显存也加不了多少速": "Mettre en cache tous les ensembles d'entrainement dans la mémoire GPU. Mettre en cache de petits ensembles de données (moins de 10 minutes) peut accélérer l'entrainement, mais mettre en cache de grands ensembles de données consommera beaucoup de mémoire GPU et peut ne pas apporter beaucoup d'amélioration de vitesse :",
"显卡信息": "Informations sur la carte graphique (GPU)",
"未使用": "Non utilisé",
"未使用判别器预训练模型": "Modèle préentraîné du discriminateur non utilisé",
"未使用生成器预训练模型": "Modèle préentraîné du générateur non utilisé",
"未检测到可用显卡将使用CPU训练耗时可能较长": "Aucun GPU compatible détecté ; l'entraînement sur CPU peut être beaucoup plus long",
"未运行": "Non démarré",
"本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责. <br>如不认可该条款, 则不能使用或引用软件包内任何代码和文件. 详见根目录<b>LICENSE</b>.": "Ce logiciel est open source sous la licence MIT. L'auteur n'a aucun contrôle sur le logiciel. Les utilisateurs qui utilisent le logiciel et distribuent les sons exportés par le logiciel en sont entièrement responsables. <br>Si vous n'acceptez pas cette clause, vous ne pouvez pas utiliser ou faire référence à aucun code ni fichier contenu dans le package logiciel. Consultez le fichier <b>Agreement-LICENSE.txt</b> dans le répertoire racine pour plus de détails.",
"查看": "Voir",
"查看模型信息(仅支持weights文件夹下提取的小模型文件)": "Afficher les informations sur le modèle (uniquement pour les petits fichiers de modèle extraits du dossier \"weights\")",
"检索特征占比": "Rapport de recherche de caractéristiques (contrôle l'intensité de l'accent, un rapport trop élevé provoque des artefacts) :",
"模型信息:%s\n采样率%s\n是否使用音高引导%s\n版本%s": "Informations du modèle: %s\nFréquence d'échantillonnage: %s\nGuidage de hauteur: %s\nVersion: %s",
"模型推理": "Inférence du modèle",
"模型提取(输入logs文件夹下大文件模型路径),适用于训一半不想训了模型没有自动提取保存小文件模型,或者想测试中间模型的情况": "Extraction du modèle (saisissez le chemin d'accès au modèle du grand fichier dans le dossier \"logs\"). Cette fonction est utile si vous souhaitez arrêter l'entrainement à mi-chemin et extraire et enregistrer manuellement un petit fichier de modèle, ou si vous souhaitez tester un modèle intermédiaire :",
"模型是否带音高指导": "Indique si le modèle dispose d'un guidage en hauteur :",
"模型是否带音高指导(唱歌一定要, 语音可以不要)": "Indique si le modèle dispose d'un système de guidage de la hauteur (obligatoire pour le chant, facultatif pour la parole) :",
"模型是否带音高指导,1是0否": "Le modèle dispose-t-il d'un guide de hauteur (1 : oui, 0 : non) ?",
"模型版本型号": "Version de l'architecture du modèle :",
"模型融合, 可用于测试音色融合": "Fusion de modèles, peut être utilisée pour tester la fusion de timbres",
"模型融合失败:两个模型的结构不一致": "Échec de la fusion : les architectures des deux modèles diffèrent",
"模型训练": "Entraînement du modèle",
"模型路径": "Le chemin vers le modèle :",
"正在保存最终检查点:%s": "Enregistrement du point de contrôle final: %s",
"正在保存检查点 %s_e%s%s": "Enregistrement du point de contrôle %s_e%s: %s",
"正在加载RMVPE模型": "Chargement du modèle RMVPE",
"正在加载模型": "Chargement du modèle",
"正在启动": "Démarrage",
"正在收尾": "Finalisation",
"正在预热CUDA Graph": "Préchauffage de CUDA Graph",
"每张显卡的batch_size": "Taille du batch par GPU :",
"没有可用于训练的有效音频,请先完成数据切分和特征提取": "Aucun audio valide n'est disponible pour l'entraînement. Terminez d'abord le prétraitement et l'extraction.",
"没有有效的多说话人训练集行": "There are no valid multi-speaker dataset rows",
"淡入淡出长度": "Longueur de la transition",
"清理模型缓存": "Nettoyage du cache du modèle",
"版本": "Version",
"特征": "Caractéristiques",
"特征提取": "Extraction des caractéristiques",
"特征检索库文件路径(选择模型后自动匹配,可手动修改)": "Chemin de lindex de caractéristiques (détecté après sélection du modèle ; modifiable)",
"状态": "État",
"独占 WASAPI 设备": "Périphérique WASAPI exclusif",
"生成器预训练模型不存在将不使用assets/pretrained%s/%sG%s.pth": "Generator pretrained model not found; it will not be used: assets/pretrained%s/%sG%s.pth",
"留空则使用辅助页已提交的清单": "Leave empty to use the manifest submitted from the helper tab",
"目标采样率": "Taux d'échantillonnage cible :",
"第%s/%s页共%s行": "Page %s/%s, %s rows",
"等待中": "En attente",
"等待输入": "En attente d'une entrée",
"算法延迟(ms):": "Latence de l'algorithme (ms) :",
"索引": "Index",
"索引文件不存在,将不使用索引继续推理:%s": "Le fichier d'index n'existe pas ; l'inférence continuera sans index : %s",
"索引无效必须使用added_xxxx.index不能使用trained_xxxx.index": "Index invalide : utilisez added_xxxx.index, not trained_xxxx.index",
"索引检索失败": "Échec de la recherche par index",
"索引检索失败或未启用": "La recherche par index a échoué ou est désactivée",
"索引训练": "Entraînement de l'index",
"耗时": "Temps écoulé",
"耗时:特征=%.3f秒,索引=%.3f秒,音高=%.3f秒,模型=%.3f秒": "Temps écoulé: features=%.3fs, index=%.3fs, pitch=%.3fs, model=%.3fs",
"融合": "Fusion",
"要改的模型信息": "Informations sur le modèle à modifier :",
"要置入的模型信息": "Informations sur le modèle à placer :",
"训练": "Entraîner",
"训练已完成,正在保存最终模型": "Entraînement terminé ; enregistrement du modèle final",
"训练文件列表写入完成": "Liste des fichiers d'entraînement enregistrée",
"训练模型": "Entraîner le modèle",
"训练特征索引": "Entraîner l'index des caractéristiques",
"训练设备规则选择的精度:%s": "Précision d'entraînement choisie selon les règles du périphérique: %s",
"训练轮次:{} [{:.0f}%]": "Époque d'entraînement : {} [{:.0f}%]",
"训练集子音频文件夹目录路径": "Dataset audio subfolder path",
"训练集类型": "Dataset type",
"设备类型": "Type de périphérique",
"说话人ID0~109": "Speaker ID (0-109)",
"说话人名称": "Speaker name",
"说话人:%sID%s": "Speaker: %s (ID: %s)",
"请上传音频文件": "Téléversez un fichier audio",
"请填写输出文件夹路径": "Saisissez le chemin du dossier de sortie",
"请指定说话人id": "Veuillez spécifier l'ID de l'orateur ou du chanteur :",
"请选择index文件": "Veuillez sélectionner le fichier d'index",
"请选择pth文件": "Veuillez sélectionner le fichier pth",
"请选择说话人id": "Sélectionner l'ID de l'orateur ou du chanteur :",
"转换": "Convertir",
"输入实验名": "Saisissez le nom de l'expérience :",
"输入实验名例如test": "Nom de l'expérience, par exemple : test",
"输入待处理音频文件夹路径": "Entrez le chemin du dossier audio à traiter :",
"输入待处理音频文件夹路径(去文件管理器地址栏拷就行了)": "Entrez le chemin du dossier audio à traiter (copiez-le depuis la barre d'adresse du gestionnaire de fichiers) :",
"输入源音量包络替换输出音量包络融合比例越靠近1越使用输出包络": "Ajustez l'échelle de l'enveloppe de volume. Plus il est proche de 0, plus il imite le volume des voix originales. Cela peut aider à masquer les bruits et à rendre le volume plus naturel lorsqu'il est réglé relativement bas. Plus le volume est proche de 1, plus le volume sera fort et constant :",
"输入监听": "Écouter l'entrée",
"输入训练文件夹路径": "Indiquez le chemin d'accès au dossier d'entraînement :",
"输入设备": "Dispositif d'entrée",
"输入设备:%s:%s": "Périphérique d'entrée: %s:%s",
"输入降噪": "Réduction du bruit d'entrée",
"输出信息": "Informations sur la sortie",
"输出变声": "Conversion de sortie",
"输出设备": "Dispositif de sortie",
"输出设备:%s:%s": "Périphérique de sortie: %s:%s",
"输出降噪": "Réduction du bruit de sortie",
"输出音频(右下角三个点,点了可以下载)": "Exporter l'audio (cliquer sur les trois points dans le coin inférieur droit pour télécharger)",
"运行中": "En cours",
"进度": "Progression",
"选择.index文件": "Sélectionner le fichier .index",
"选择.pth文件": "Sélectionner le fichier .pth",
"选择多说话人音色": "Select multi-speaker voice",
"选择模型": "Sélectionner le modèle",
"选择索引": "Sélectionner l'index",
"选择音高提取算法": "Sélectionnez lalgorithme dextraction de la hauteur",
"采样率:": "Fréquence d'échantillonnage :",
"采样长度": "Longueur de l'échantillon",
"重复次数": "Repeat count",
"重载设备列表": "Recharger la liste des dispositifs",
"音调设置": "Réglages de la hauteur",
"音频设备": "Périphérique audio",
"音高全部为0该音频无意义跳过%s": "Toutes les valeurs de hauteur sont nulles ; cet audio est inutilisable et sera ignoré: %s",
"音高算法": "Algorithme de hauteur",
"额外推理时长": "Temps d'inférence supplémentaire"
}

View File

@@ -1,270 +1,286 @@
{ {
"人声提取激进程度": "Intensità dell'estrazione vocale", "%s运行中请先停止该任务": "%s è in esecuzione; interromperlo prima di avviare un'altra attività",
"%s → 成功": "%s → Successo", "====> 轮次:{} {}": "====> Epoca: {} {}",
"%s运行中请先停止该任务": "%s è in esecuzione; interromperlo prima di avviare un'altra attività", "A模型权重": "Peso (w) per il modello A:",
"%s进程已终止": "Il processo %s è stato terminato", "A模型路径": "Percorso per il modello A:",
"====> 轮次:{} {}": "====> Epoca: {} {}", "B模型路径": "Percorso per il modello B:",
"A模型权重": "Peso (w) per il modello A:", "CUDA Graph预热完成": "Riscaldamento di CUDA Graph completato",
"A模型路径": "Percorso per il modello A:", "CUDA可用%s": "CUDA disponibile: %s",
"B模型路径": "Percorso per il modello B:", "输入训练文件夹路径例如E:\\我的训练集": "Percorso della cartella di addestramento, ad esempio: E:\\Il mio set di addestramento",
"CUDA可用%s": "CUDA disponibile: %s", "F0与HuBERT特征提取": "Estrazione F0 e caratteristiche HuBERT",
"E:\\语音音频+标注\\米津玄师\\src": "C:\\Users\\Desktop\\src", "F0提取": "Estrazione F0",
"F0与HuBERT特征提取": "Estrazione F0 e caratteristiche HuBERT", "F0提取没有生成有效结果,已停止训练": "Estrazione F0 senza risultati validi. Addestramento interrotto.",
"F0提取": "Estrazione F0", "HuBERT特征": "Caratteristiche HuBERT",
"F0曲线文件, 可选, 一行一个音高, 代替默认F0及升降调": "File curva F0 (opzionale). ", "HuBERT特征提取没有生成有效结果已停止训练": "Estrazione HuBERT senza risultati validi. Addestramento interrotto.",
"HuBERT特征": "Caratteristiche HuBERT", "Index Rate": "Tasso di indice",
"Index Rate": "Tasso di indice", "SOLA偏移%d": "Offset SOLA: %d",
"RVC模型路径": "Percorso modello RVC:", "[F0提取] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[Estrazione F0] Completato | Successo: %s | Ignorati: %s | Errore: %s",
"SOLA偏移%d": "Offset SOLA: %d", "[F0提取] 待处理%s": "[Estrazione F0] Pending: %s",
"[F0提取] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[Estrazione F0] Completato | Successo: %s | Ignorati: %s | Errore: %s", "[F0提取] 无待处理音频,已全部跳过": "[Estrazione F0] Nessun audio in attesa; tutti i file sono stati ignorati",
"[F0提取] 待处理:%s": "[Estrazione F0] Pending: %s", "[F0提取] 进度:%s/%s | 成功:%s | 跳过:%s | %s": "[Estrazione F0] Avanzamento: %s/%s | Successo: %s | Ignorati: %s | %s",
"[F0提取] 无待处理音频,已全部跳过": "[Estrazione F0] Nessun audio in attesa; tutti i file sono stati ignorati", "[F0提取][失败] %s": "[Estrazione F0][Errore] %s",
"[F0提取] 进度:%s/%s | 成功:%s | 跳过:%s | %s": "[Estrazione F0] Avanzamento: %s/%s | Successo: %s | Ignorati: %s | %s", "[F0提取][失败] %s\n%s": "[Estrazione F0][Errore] %s\n%s",
"[F0提取][失败] %s": "[Estrazione F0][Errore] %s", "[HuBERT特征] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[Caratteristiche HuBERT] Completato | Successo: %s | Ignorati: %s | Errore: %s",
"[F0提取][失败] %s\n%s": "[Estrazione F0][Errore] %s\n%s", "[HuBERT特征] 无待处理音频,已全部跳过:%s": "[Caratteristiche HuBERT] Nessun audio in attesa; ignorati: %s",
"[HuBERT特征] 完成 | 成功:%s | 跳过:%s | 失败%s": "[Caratteristiche HuBERT] Completato | Successo: %s | Ignorati: %s | Errore: %s", "[HuBERT特征] 正在加载模型%s": "[Caratteristiche HuBERT] Caricamento del modello: %s",
"[HuBERT特征] 无待处理音频,已全部跳过:%s": "[Caratteristiche HuBERT] Nessun audio in attesa; ignorati: %s", "[HuBERT特征] 设备:%s | 待处理:%s | 已跳过:%s": "[Caratteristiche HuBERT] Dispositivo: %s | Pending: %s | Ignorati: %s",
"[HuBERT特征] 正在加载模型:%s": "[Caratteristiche HuBERT] Caricamento del modello: %s", "[HuBERT特征] 进度:%s/%s | 成功:%s | 失败:%s | %s | %s": "[Caratteristiche HuBERT] Avanzamento: %s/%s | Successo: %s | Errore: %s | %s | %s",
"[HuBERT特征] 设备:%s | 待处理:%s | 已跳过:%s": "[Caratteristiche HuBERT] Dispositivo: %s | Pending: %s | Ignorati: %s", "[HuBERT特征][失败] %s\n%s": "[Caratteristiche HuBERT][Errore] %s\n%s",
"[HuBERT特征] 进度:%s/%s | 成功:%s | 失败:%s | %s | %s": "[Caratteristiche HuBERT] Avanzamento: %s/%s | Successo: %s | Errore: %s | %s | %s", "[HuBERT特征][失败] %s 包含NaN": "[Caratteristiche HuBERT][Errore] %s contains NaN values",
"[HuBERT特征][失败] %s\n%s": "[Caratteristiche HuBERT][Errore] %s\n%s", "[HuBERT特征][失败] 模型不存在:%s": "[Caratteristiche HuBERT][Errore] Modello not found: %s",
"[HuBERT特征][失败] %s 包含NaN": "[Caratteristiche HuBERT][Errore] %s contains NaN values", "[数据切分] 多说话人待处理:%s | 进程数:%s": "[Dataset preprocessing] Multi-speaker files: %s | Workers: %s",
"[HuBERT特征][失败] 模型不存在:%s": "[Caratteristiche HuBERT][Errore] Modello not found: %s", "[数据切分] 子任务完成 | 成功:%s | 失败:%s": "[Suddivisione dati] Sottoattività completata | Successo: %s | Errore: %s",
"[数据切分] 子任务完成 | 成功:%s | 失败:%s": "[Suddivisione dati] Sottoattività completata | Successo: %s | Errore: %s", "[数据切分] 完成": "[Suddivisione dati] Completato",
"[数据切分] 完成": "[Suddivisione dati] Completato", "[数据切分] 开始": "[Suddivisione dati] Avviato",
"[数据切分] 开始": "[Suddivisione dati] Avviato", "[数据切分] 待处理:%s | 进程数:%s": "[Suddivisione dati] Pending: %s | Processi: %s",
"[数据切分] 待处理:%s | 进程数:%s": "[Suddivisione dati] Pending: %s | Processi: %s", "[数据切分] 进度:%s/%s | %s": "[Suddivisione dati] Avanzamento: %s/%s | %s",
"[数据切分] 进度:%s/%s | %s": "[Suddivisione dati] Avanzamento: %s/%s | %s", "[数据切分][失败] %s": "[Suddivisione dati][Errore] %s",
"[数据切分][失败] %s": "[Suddivisione dati][Errore] %s", "[数据切分][失败] %s\n%s": "[Suddivisione dati][Errore] %s\n%s",
"[数据切分][失败] %s\n%s": "[Suddivisione dati][Errore] %s\n%s", "[数据切分][跳过] 无效或异常音频片段:%s_%s | 峰值:%s": "[Suddivisione dati][Ignorati] Segmento audio non valido o anomalo: %s_%s | Picco: %s",
"[数据切分][跳过] 无效或异常音频片段:%s_%s | 峰值:%s": "[Suddivisione dati][Ignorati] Segmento audio non valido o anomalo: %s_%s | Picco: %s", "[索引训练] 写入进度:%s/%s": "[Addestramento indice] Avanzamento scrittura: %s/%s",
"[索引训练] 写入进度:%s/%s": "[Addestramento indice] Avanzamento scrittura: %s/%s", "[索引训练] 外部索引链接已存在:%s": "[Addestramento indice] Il collegamento esterno esiste già: %s",
"[索引训练] 已链接索引到外部目录:%s": "[Addestramento indice] Indice collegato alla cartella esterna: %s", "[索引训练] 已链接索引到外部目录:%s": "[Addestramento indice] Indice collegato alla cartella esterna: %s",
"[索引训练] 成功构建索引:%s": "[Addestramento indice] Indice creato correttamente: %s", "[索引训练] 成功构建索引:%s": "[Addestramento indice] Indice creato correttamente: %s",
"[索引训练] 正在写入特征向量": "[Addestramento indice] Aggiunta dei vettori delle caratteristiche", "[索引训练] 正在写入特征向量": "[Addestramento indice] Aggiunta dei vettori delle caratteristiche",
"[索引训练] 正在将%s条特征聚类为10000个中心": "[Addestramento indice] Clustering %s feature vectors into 10,000 centers", "[索引训练] 正在将%s条特征聚类为10000个中心": "[Addestramento indice] Clustering %s feature vectors into 10,000 centers",
"[索引训练] 正在训练索引": "[Addestramento indice] Addestramento dell'indice", "[索引训练] 正在训练索引": "[Addestramento indice] Addestramento dell'indice",
"[索引训练] 特征形状:%s | IVF数量%s": "[Addestramento indice] Forma caratteristiche: %s | Numero IVF: %s", "[索引训练] 特征形状:%s | IVF数量%s": "[Addestramento indice] Forma caratteristiche: %s | Numero IVF: %s",
"[索引训练][失败] 无法链接索引到外部目录:%s\n%s": "[Addestramento indice][Errore] Impossibile collegare l'indice alla cartella esterna: %s\n%s", "[索引训练][失败] 无法链接索引到外部目录:%s\n%s": "[Addestramento indice][Errore] Impossibile collegare l'indice alla cartella esterna: %s\n%s",
"[索引训练][失败] 聚类失败,将使用原始特征继续\n%s": "[Addestramento indice][Errore] Clustering non riuscito; continuazione con le caratteristiche originali\n%s", "[索引训练][失败] 聚类失败,将使用原始特征继续\n%s": "[Addestramento indice][Errore] Clustering non riuscito; continuazione con le caratteristiche originali\n%s",
"[索引训练][失败] 请先进行特征提取": "[Addestramento indice][Errore] Estrarre prima le caratteristiche", "[索引训练][失败] 请先进行特征提取": "[Addestramento indice][Errore] Estrarre prima le caratteristiche",
"ckpt处理": "Elaborazione ckpt", "[索引训练][跳过] added索引已存在%s": "[Addestramento indice][Saltato] Lindice added esiste già: %s",
"index文件路径不可包含中文": "Il percorso del file index non può contenere caratteri cinesi", "[索引训练][跳过] trained索引已存在%s": "[Addestramento indice][Saltato] Lindice trained esiste già: %s",
"pth文件路径不可包含中文": "pth è un'app per il futuro", "ckpt处理": "Elaborazione ckpt",
"rmvpe卡号配置以-分隔输入使用的不同进程卡号,例如0-0-1使用卡0上跑2个进程并在卡1上跑1个进程": "Configurazione GPU RMVPE separata da trattini; ad esempio 0-0-1 avvia due processi sulla GPU 0 e uno sulla GPU 1", "hubert:以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2": "HuBERT: Enter GPU IDs separated by hyphens; for example, 0-1-2 uses GPUs 0, 1, and 2",
"step1: 填写实验配置. 实验数据放在logs下, 每个实验一个文件夹, 需手工输入实验名路径, 内含实验配置, 日志, 训练得到的模型文件. ": "Passaggio 1: compilare la configurazione sperimentale. ", "index文件路径不可包含中文": "Il percorso del file index non può contenere caratteri cinesi",
"step1:正在处理数据": "Passaggio 1: elaborazione dei dati", "pth文件路径不可包含中文": "pth è un'app per il futuro",
"step2:正在提取音高&正在提取特征": "step2:Estrazione dell'intonazione e delle caratteristiche", "rmvpe卡号配置以-分隔输入使用的不同进程卡号,例如0-0-1使用在卡0上跑2个进程并在卡1上跑1个进程": "Configurazione GPU RMVPE separata da trattini; ad esempio 0-0-1 avvia due processi sulla GPU 0 e uno sulla GPU 1",
"step2a: 自动遍历训练文件夹下所有可解码成音频的文件并进行切片归一化, 在实验目录下生成2个wav文件夹; 暂时只支持单人训练. ": "Passaggio 2a: attraversa automaticamente tutti i file nella cartella di addestramento che possono essere decodificati in audio ed esegui la normalizzazione delle sezioni. ", "step1: 填写实验配置. 实验数据放在logs下, 每个实验一个文件夹, 需手工输入实验名路径, 内含实验配置, 日志, 训练得到的模型文件. ": "Passaggio 1: compilare la configurazione sperimentale. ",
"step2b: 使用CPU提取音高(如果模型带音高), 使用GPU提取特征(选择卡号)": "Passaggio 2b: utilizzare la CPU per estrarre il tono (se il modello ha il tono), utilizzare la GPU per estrarre le caratteristiche (selezionare l'indice GPU):", "step2a: 扫描训练音频并进行切片归一化在实验目录下生成训练wav文件。": "Step 2a: Scan, slice, and normalize training audio, then create training WAV files in the experiment directory.",
"step3: 填写训练设置, 开始训练模型和索引": "Passaggio 3: compilare le impostazioni di addestramento e avviare l'addestramento del modello e dell'indice", "step2b: 音高与hubert语义特征提取": "Passaggio 2b: estrazione del tono e delle caratteristiche semantiche HuBERT",
"step3a:正在训练模型": "Passaggio 3a: è iniziato l'addestramento del modello", "step3: 填写训练设置, 开始训练模型和索引": "Passaggio 3: compilare le impostazioni di addestramento e avviare l'addestramento del modello e dell'indice",
"step3b:正在训练索引": "passaggio 3b: addestramento dellindice", "……仅显示最近10条失败记录": "…Vengono mostrati solo gli ultimi 10 errori",
"……仅显示最近10条失败记录": "…Vengono mostrati solo gli ultimi 10 errori", "……已省略前%s行仅显示最新状态": "…Omesse le prime %s righe; viene mostrato solo lo stato più recente",
"……已省略前%s行仅显示最新状态": "…Omesse le prime %s righe; viene mostrato solo lo stato più recente", "一键训练": "Addestramento con un clic",
"一键训练": "Addestramento con un clic", "上一页": "Previous",
"也可批量输入音频文件, 二选一, 优先读文件夹": "È anche possibile scegliere più file audio; la cartella ha la priorità", "下一页": "Next",
"仅支持pm和rmvpe音高提取算法": "Sono supportati solo i metodi di estrazione dell'intonazione pm e rmvpe", "为多说话人训练集建立清单。空行会被忽略路径、说话人名称、说话人ID或重复次数填写不全的行会在提交时提示。": "Create a multi-speaker dataset manifest. Empty rows are ignored; incomplete path, speaker name, speaker ID, or repeat count fields are reported on submission.",
"从训练检查点提取的模型": "Modellolo estratto da un checkpoint di addestramento", "主结果文件夹": "Cartella di output principale",
"以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2": "Inserisci gli indici GPU separati da '-', ad esempio 0-1-2 per utilizzare GPU 0, 1 e 2:", "也可批量输入音频文件, 二选一, 优先读文件夹": "È anche possibile scegliere più file audio; la cartella ha la priorità",
"任务": "Attività", "人声、伴奏与混响批量处理使用pymss/MSST模型。": "Elaborazione batch di voce, accompagnamento e riverbero con i modelli pymss/MSST.",
"使用显卡:%s": "GPU in uso: %s", "人声伴奏分离&去混响": "Separazione voce/accompagnamento e rimozione del riverbero",
"使用模型采样率": "Usa frequenza del modello", "仅支持pm和rmvpe音高提取算法": "Sono supportati solo i metodi di estrazione dell'intonazione pm e rmvpe",
"使用设备采样率": "Usa frequenza del dispositivo", "从训练检查点提取的模型": "Modellolo estratto da un checkpoint di addestramento",
"保存名": "Salva nome:", "以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2": "Inserisci gli indici GPU separati da '-', ad esempio 0-1-2 per utilizzare GPU 0, 1 e 2:",
"保存的文件名, 默认空为和源文件同名": "Salva il nome del file (predefinito: uguale al file di origine):", "以下行填写不完整或无效,已忽略:%s": "The following incomplete or invalid rows were ignored: %s",
"保存的模型名不带后缀": "Nome del modello salvato (senza estensione):", "任务": "Attività",
"保存频率save_every_epoch": "Frequenza di salvataggio (save_every_epoch):", "使用显卡:%s": "GPU in uso: %s",
"保护清辅音和呼吸声防止电音撕裂等artifact拉满0.5不开启,调低加大保护力度但可能降低索引效果": "Proteggi le consonanti senza voce e i suoni del respiro per evitare artefatti come il tearing nella musica elettronica. ", "使用模型采样率": "Usa frequenza del modello",
"修改": "Modificare", "使用设备采样率": "Usa frequenza del dispositivo",
"修改模型信息(仅支持weights文件夹下提取的小模型文件)": "Modifica le informazioni sul modello (supportato solo per i file di modello di piccole dimensioni estratti dalla cartella 'weights')", "保存名": "Salva nome:",
"停止一键训练": "Interrompi addestramento con un clic", "保存的文件名, 默认空为和源文件同名": "Salva il nome del file (predefinito: uguale al file di origine):",
"停止处理数据": "Interrompi pre-elaborazione dei dati", "保存的模型名不带后缀": "Nome del modello salvato (senza estensione):",
"停止特征提取": "Interrompi estrazione delle caratteristiche", "保存频率save_every_epoch": "Frequenza di salvataggio (save_every_epoch):",
"停止训练模型": "Interrompi addestramento del modello", "保护清辅音和呼吸声防止电音撕裂等artifact拉满0.5不开启,调低加大保护力度但可能降低索引效果": "Proteggi le consonanti senza voce e i suoni del respiro per evitare artefatti come il tearing nella musica elettronica. ",
"停止训练索引": "Interrompi addestramento dellindice", "修改": "Modificare",
"停止音频转换": "Arresta la conversione audio", "修改模型信息(仅支持weights文件夹下提取的小模型文件)": "Modifica le informazioni sul modello (supportato solo per i file di modello di piccole dimensioni estratti dalla cartella 'weights')",
"全流程结束!": "Tutti i processi sono stati completati!", "停止一键训练": "Interrompi addestramento con un clic",
"判别器预训练模型不存在将不使用assets/pretrained%s/%sD%s.pth": "Discriminator pretrained model not found; it will not be used: assets/pretrained%s/%sD%s.pth", "停止分离": "Interrompi separazione",
"加载模型": "Carica modello", "停止处理数据": "Interrompi pre-elaborazione dei dati",
"加载预训练底模D路径": "Carica il percorso D del modello base pre-addestrato:", "停止特征提取": "Interrompi estrazione delle caratteristiche",
"加载预训练底模G路径": "Carica il percorso G del modello base pre-addestrato:", "停止训练模型": "Interrompi addestramento del modello",
"单次推理": "Inferenza singola", "停止训练索引": "Interrompi addestramento dellindice",
"卸载音色省显存": "Scarica la voce per risparmiare memoria della GPU:", "停止音频转换": "Arresta la conversione audio",
"变调(整数, 半音数量, 升八度12降八度-12)": "Trasposizione (numero intero, numero di semitoni, alza di un'ottava: 12, abbassa di un'ottava: -12):",
"合成": "Sintesi",
"后处理重采样至最终采样率0为不进行重采样": "Ricampiona l'audio di output in post-elaborazione alla frequenza di campionamento finale. ",
"否": "NO",
"响应阈值": "Soglia di risposta",
"响度因子": "fattore di sonorità",
"处理中": "Elaborazione",
"处理数据": "Processa dati",
"失败": "Errore",
"失败记录": "Registro errori",
"子进程执行失败,返回码:%s": "Il sottoprocesso non è riuscito, codice di uscita: %s",
"导出文件格式": "Formato file di esportazione",
"已停止": "Interrotto",
"已加载判别器预训练模型:%s": "Modellolo preaddestrato del discriminatore caricato: %s",
"已加载生成器预训练模型:%s": "Modellolo preaddestrato del generatore caricato: %s",
"已启用索引检索": "Ricerca nell'indice attivata",
"已完成": "Completato",
"已恢复判别器检查点": "Checkpoint del discriminatore ripristinato",
"常见问题解答": "FAQ (Domande frequenti)",
"常规设置": "Impostazioni generali",
"开始音频转换": "Avvia la conversione audio",
"当前": "Attuale",
"当前阶段": "Fase attuale",
"很遗憾您这没有能用的显卡来支持您训练": "Sfortunatamente, non è disponibile alcuna GPU compatibile per supportare l'addestramento.",
"性别因子/声线粗细": "Fattore di genere / spessore della voce",
"性能设置": "Impostazioni delle prestazioni",
"总训练轮数total_epoch": "Epoch totali di addestramento (total_epoch):",
"成功": "Successo",
"执行命令": "Comando",
"批量推理": "Inferenza batch",
"批量转换, 输入待转换音频文件夹, 或上传多个音频文件, 在指定文件夹(默认opt)下输出转换的音频. ": "Conversione massiva. Inserisci il percorso della cartella che contiene i file da convertire o carica più file audio. I file convertiti finiranno nella cartella specificata. (default: opt) ",
"拖拽或点击上传待处理音频": "Trascina qui o fai clic per caricare laudio da elaborare",
"指定输出主人声文件夹": "Specifica la cartella di output per le voci:",
"指定输出文件夹": "Specifica la cartella di output:",
"指定输出非主人声文件夹": "Specificare la cartella di output per l'accompagnamento:",
"推理时间(ms):": "Tempo di inferenza (ms):",
"推理耗时:%.2f秒": "Tempo di inferenza: %.2f seconds",
"推理音色": "Voce di inferenza:",
"提取": "Estrai",
"提取音高和处理数据使用的CPU进程数": "Numero di processi CPU utilizzati per l'estrazione del tono e l'elaborazione dei dati:",
"数据切分": "Suddivisione dati",
"无法停止": "Impossibile interrompere",
"无法读取音频:%s": "Impossibile leggere l'audio: %s",
"是": "SÌ",
"是否仅保存最新的ckpt文件以节省硬盘空间": "Salva solo l'ultimo file '.ckpt' per risparmiare spazio su disco:",
"是否在每次保存时间点将最终小模型保存至weights文件夹": "Salva un piccolo modello finale nella cartella \"weights\" in ogni punto di salvataggio:",
"是否缓存所有训练集至显存. 10min以下小数据可缓存以加速训练, 大数据缓存会炸显存也加不了多少速": "Memorizza nella cache tutti i set di addestramento nella memoria della GPU. ",
"显卡信息": "Informazioni GPU",
"未使用": "Non usato",
"未使用判别器预训练模型": "Modello preaddestrato del discriminatore non usato",
"未使用生成器预训练模型": "Modello preaddestrato del generatore non usato",
"未找到Roformer模型配置文件正在使用内置默认配置": "Configurazione del modello Roformer non trovata; verranno usati i valori predefiniti integrati",
"未检测到可用显卡将使用CPU训练耗时可能较长": "Nessuna GPU supportata rilevata; l'addestramento sulla CPU può richiedere molto più tempo",
"未运行": "Non avviato",
"本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责. <br>如不认可该条款, 则不能使用或引用软件包内任何代码和文件. 详见根目录<b>LICENSE</b>.": "Questo software è open source con licenza MIT. <br>Se non si accetta questa clausola, non è possibile utilizzare o fare riferimento a codici e file all'interno del pacchetto software. <b>Contratto-LICENZA.txt</b> per dettagli.",
"查看": "Visualizzazione",
"查看模型信息(仅支持weights文件夹下提取的小模型文件)": "Visualizza le informazioni sul modello (supportato solo per file di modello piccoli estratti dalla cartella 'weights')",
"检测到模型类型:%s": "Tipo di modello rilevato: %s",
"检索特征占比": "Rapporto funzionalità di ricerca (controlla la forza dell'accento, troppo alto ha artefatti):",
"模型": "Modello",
"模型信息:%s\n采样率%s\n是否使用音高引导%s\n版本%s": "Informazioni modello: %s\nFrequenza di campionamento: %s\nGuida intonazione: %s\nVersione: %s",
"模型推理": "Inferenza del modello",
"模型提取(输入logs文件夹下大文件模型路径),适用于训一半不想训了模型没有自动提取保存小文件模型,或者想测试中间模型的情况": "Estrazione del modello (inserire il percorso del modello di file di grandi dimensioni nella cartella \"logs\"). ",
"模型是否带音高指导": "Se il modello ha una guida del tono:",
"模型是否带音高指导(唱歌一定要, 语音可以不要)": "Se il modello ha una guida del tono (necessario per il canto, facoltativo per il parlato):",
"模型是否带音高指导,1是0否": "Se il modello ha una guida del tono (1: sì, 0: no):",
"模型版本型号": "Versione dell'architettura del modello:",
"模型融合, 可用于测试音色融合": "Model fusion, può essere utilizzato per testare la fusione timbrica",
"模型融合失败:两个模型的结构不一致": "Unione dei modelli non riuscita: le architetture non corrispondono",
"模型训练": "Addestramento modello",
"模型路径": "Percorso al modello:",
"正在保存最终检查点:%s": "Salvataggio del checkpoint finale: %s",
"正在保存检查点 %s_e%s%s": "Salvataggio del checkpoint %s_e%s: %s",
"正在加载RMVPE模型": "Caricamento del modello RMVPE",
"正在加载模型": "Caricamento del modello",
"正在启动": "Avvio in corso",
"正在收尾": "Finalizzazione",
"每张显卡的batch_size": "Dimensione batch per GPU:",
"淡入淡出长度": "Lunghezza dissolvenza",
"清理模型缓存": "Pulizia della cache del modello",
"版本": "Versione",
"特征": "Caratteristiche",
"特征提取": "Estrazione delle caratteristiche",
"状态": "Stato",
"独占 WASAPI 设备": "Dispositivo WASAPI esclusivo",
"生成器预训练模型不存在将不使用assets/pretrained%s/%sG%s.pth": "Generator pretrained model not found; it will not be used: assets/pretrained%s/%sG%s.pth",
"男转女推荐+12key, 女转男推荐-12key, 如果音域爆炸导致音色失真也可以自己调整到合适音域. ": "Tonalità +12 consigliata per la conversione da maschio a femmina e tonalità -12 per la conversione da femmina a maschio. ",
"目标采样率": "Frequenza di campionamento target:",
"等待中": "In attesa",
"等待输入": "In attesa dell'input",
"算法延迟(ms):": "Latenza algoritmo (ms):",
"索引": "Indice",
"索引无效必须使用added_xxxx.index不能使用trained_xxxx.index": "Indice non valido: usare added_xxxx.index, not trained_xxxx.index",
"索引检索失败": "Ricerca nell'indice non riuscita",
"索引检索失败或未启用": "Ricerca nell'indice non riuscita o disattivata",
"索引训练": "Addestramento indice",
"耗时": "Tempo trascorso",
"耗时:特征=%.3f秒,索引=%.3f秒,音高=%.3f秒,模型=%.3f秒": "Tempo trascorso: features=%.3fs, index=%.3fs, pitch=%.3fs, model=%.3fs",
"融合": "Fusione",
"要改的模型信息": "Informazioni sul modello da modificare:",
"要置入的模型信息": "Informazioni sul modello da posizionare:",
"训练": "Addestramento",
"训练已完成,正在保存最终模型": "Addestramento completato; salvataggio del modello finale",
"训练文件列表写入完成": "Elenco dei file di addestramento salvato",
"训练模型": "Addestra modello",
"训练特征索引": "Addestra indice delle caratteristiche",
"训练结束, 您可查看控制台训练日志或实验文件夹下的train.log": "Addestramento completato. ",
"训练设备规则选择的精度:%s": "Precisione di addestramento scelta dalle regole del dispositivo: %s",
"训练轮次:{} [{:.0f}%]": "Epoca di addestramento: {} [{:.0f}%]",
"设备类型": "Tipo di dispositivo",
"请上传音频文件": "Caricare un file audio",
"请填写输出文件夹路径": "Inserire il percorso della cartella di output",
"请指定说话人id": "Si prega di specificare l'ID del locutore/cantante:",
"请选择index文件": "Selezionare un file .index",
"请选择pth文件": "Selezionare un file .pth",
"请选择说话人id": "Seleziona ID locutore/cantante:",
"转换": "Convertire",
"输入实验名": "Inserisci il nome dell'esperimento:",
"输入待处理音频文件夹路径": "Immettere il percorso della cartella audio da elaborare:",
"输入待处理音频文件夹路径(去文件管理器地址栏拷就行了)": "Immettere il percorso della cartella audio da elaborare (copiarlo dalla barra degli indirizzi del file manager):",
"输入待处理音频文件路径(默认是正确格式示例)": "Immettere il percorso del file audio da elaborare (l'impostazione predefinita è l'esempio di formato corretto):",
"输入源音量包络替换输出音量包络融合比例越靠近1越使用输出包络": "Regola il ridimensionamento dell'inviluppo del volume. ",
"输入监听": "Monitor ingresso",
"输入训练文件夹路径": "Inserisci il percorso della cartella di addestramento:",
"输入设备": "Dispositivo di input",
"输入设备:%s:%s": "Dispositivo di ingresso: %s:%s",
"输入降噪": "Riduzione del rumore in ingresso",
"输出信息": "Informazioni sull'uscita",
"输出变声": "Conversione uscita",
"输出设备": "Dispositivo di uscita",
"输出设备:%s:%s": "Dispositivo di uscita: %s:%s",
"输出降噪": "Riduzione del rumore in uscita",
"输出音频(右下角三个点,点了可以下载)": "Esporta audio (clicca sui tre puntini in basso a destra per scaricarlo)",
"运行中": "In esecuzione",
"进度": "Avanzamento",
"选择.index文件": "Seleziona il file .index",
"选择.pth文件": "Seleziona il file .pth",
"选择模型": "Seleziona modello",
"选择索引": "Seleziona indice",
"选择音高提取算法": "Seleziona lalgoritmo di estrazione dellintonazione",
"采样率:": "Frequenza di campionamento:",
"采样长度": "Lunghezza del campione",
"重载设备列表": "Ricaricare l'elenco dei dispositivi",
"错误信息:%s": "Dettagli errore: %s",
"错误:未知模型:%s": "Errore: modello sconosciuto: %s",
"音调设置": "Impostazioni del tono",
"音频包含多个声道,但模型仅支持单声道,将对所有声道取平均值": "L'audio ha più canali, ma il modello è mono; verrà calcolata la media di tutti i canali",
"音频设备": "Dispositivo audio",
"音高全部为0该音频无意义跳过%s": "Tutti i valori di intonazione sono zero; questo audio è inutilizzabile e verrà ignorato: %s",
"音高算法": "Algoritmo di intonazione",
"额外推理时长": "Tempo di inferenza extra",
"数据切分没有生成有效训练音频,请检查训练集和数据切分日志": "Il pre-processing non ha generato audio di addestramento valido. Controlla il dataset e il registro.",
"数据切分没有生成16k音频已停止后续特征提取和训练": "Il pre-processing non ha generato audio a 16 kHz. Estrazione e addestramento sono stati interrotti.",
"数据切分输出文件不匹配,已停止后续特征提取和训练": "I file prodotti dal pre-processing non corrispondono. Estrazione e addestramento sono stati interrotti.",
"HuBERT特征提取没有生成有效结果已停止训练": "Estrazione HuBERT senza risultati validi. Addestramento interrotto.",
"F0提取没有生成有效结果已停止训练": "Estrazione F0 senza risultati validi. Addestramento interrotto.",
"没有可用于训练的有效音频,请先完成数据切分和特征提取": "Nessun audio valido per laddestramento. Completa prima pre-processing ed estrazione delle caratteristiche.",
"已完成阶段": "Fasi completate",
"已成功": "Completato",
"刷新音色列表": "Aggiorna elenco voci",
"特征检索库文件路径(选择模型后自动匹配,可手动修改)": "Percorso indice caratteristiche (rilevato dopo la scelta del modello; modificabile)",
"[索引训练] 外部索引链接已存在:%s": "[Addestramento indice] Il collegamento esterno esiste già: %s",
"[索引训练][跳过] added索引已存在%s": "[Addestramento indice][Saltato] Lindice added esiste già: %s",
"[索引训练][跳过] trained索引已存在%s": "[Addestramento indice][Saltato] Lindice trained esiste già: %s",
"当前设备:%s | 推理精度:%s": "Dispositivo corrente: %s | Precisione di inferenza: %s",
"正在预热CUDA Graph": "Riscaldamento di CUDA Graph",
"CUDA Graph预热完成": "Riscaldamento di CUDA Graph completato",
"数据提取开始start_time=%.6f,请求并行数=%s实际并行数上限=%s": "Estrazione dati avviata: start_time=%.6f, concorrenza richiesta=%s, limite effettivo=%s",
"数据提取结束end_time=%.6f,总耗时=%.3f秒": "Estrazione dati completata: end_time=%.6f, tempo totale=%.3f secondi",
"人声伴奏分离&去混响": "Separazione voce/accompagnamento e rimozione del riverbero",
"人声、伴奏与混响批量处理使用pymss/MSST模型。": "Elaborazione batch di voce, accompagnamento e riverbero con i modelli pymss/MSST.",
"处理方式": "Modalità di elaborazione",
"底层模型": "Modello sottostante",
"主结果文件夹": "Cartella di output principale",
"分离残余文件夹": "Cartella di output residuo", "分离残余文件夹": "Cartella di output residuo",
"停止分离": "Interrompi separazione" "删除末行": "Remove last row",
} "判别器预训练模型不存在将不使用assets/pretrained%s/%sD%s.pth": "Discriminator pretrained model not found; it will not be used: assets/pretrained%s/%sD%s.pth",
"刷新音色列表": "Aggiorna elenco voci",
"加载模型": "Carica modello",
"加载预训练底模D路径": "Carica il percorso D del modello base pre-addestrato:",
"加载预训练底模G路径": "Carica il percorso G del modello base pre-addestrato:",
"单次推理": "Inferenza singola",
"单说话人": "Single speaker",
"卸载音色省显存": "Scarica la voce per risparmiare memoria della GPU:",
"变调(整数, 半音数量, 升八度12降八度-12)": "Trasposizione (numero intero, numero di semitoni, alza di un'ottava: 12, abbassa di un'ottava: -12):",
"合成": "Sintesi",
"后处理重采样至最终采样率0为不进行重采样": "Ricampiona l'audio di output in post-elaborazione alla frequenza di campionamento finale. ",
"否": "NO",
"响应阈值": "Soglia di risposta",
"响度因子": "fattore di sonorità",
"处理中": "Elaborazione",
"处理数据": "Processa dati",
"处理方式": "Modalità di elaborazione",
"多说话人": "Multiple speakers",
"注意:多说话人训练音色还原度不一定有单说话人分开训练好!": "Nota: l'addestramento multivoce potrebbe riprodurre ogni voce meno fedelmente rispetto all'addestramento separato di ciascun parlante!",
"多说话人子文件夹无效格式应为名称_ID_重复次数、ID为0~109、重复次数为正整数、同一ID的名称需一致且目录需有音频%s": "Invalid multi-speaker subfolders (expected Name_ID_Repeat, ID 0-109, a positive repeat count, one consistent name per ID, and at least one audio file): %s",
"多说话人总文件夹只扫描根目录下的直接子文件夹,根目录文件会被忽略。\n子文件夹必须命名为x_y_zx是说话人名称y是说话人ID0~109共110个z是训练集重复次数。\n也可以到右侧“多说话人训练集辅助”编辑并提交训练集清单。": "Only direct subfolders of the multi-speaker root are scanned; root files are ignored.\nName each subfolder x_y_z: x is the speaker name, y is the speaker ID (0-109, 110 choices), and z is the repeat count.\nYou can also submit a manifest from the Multi-speaker Dataset Helper tab.",
"多说话人训练集总文件夹不存在:%s": "Multi-speaker dataset root does not exist: %s",
"多说话人训练集总文件夹中没有有效音频": "The multi-speaker dataset root contains no valid audio",
"多说话人训练集总文件夹中没有直接子文件夹": "The multi-speaker dataset root has no direct subfolders",
"多说话人训练集总文件夹路径": "Multi-speaker dataset root",
"多说话人训练集清单不存在,请先提交辅助清单或填写总文件夹": "The multi-speaker manifest does not exist. Submit it from the helper tab or enter a dataset root first",
"多说话人训练集清单包含无效条目:%s": "The multi-speaker manifest contains an invalid entry: %s",
"多说话人训练集清单存在重复输出标识:%s": "The multi-speaker manifest contains a duplicate output key: %s",
"多说话人训练集清单已保存:%s有效音频%s个": "Multi-speaker dataset manifest saved: %s; valid audio files: %s",
"多说话人训练集清单格式错误": "The multi-speaker manifest format is invalid",
"多说话人训练集清单没有有效音频": "The multi-speaker manifest contains no valid audio",
"多说话人训练集辅助": "Multi-speaker Dataset Helper",
"失败": "Errore",
"失败记录": "Registro errori",
"子进程执行失败,返回码:%s": "Il sottoprocesso non è riuscito, codice di uscita: %s",
"实验名不能为空": "Experiment name is required",
"导出文件格式": "Formato file di esportazione",
"已停止": "Interrotto",
"已加载判别器预训练模型:%s": "Modellolo preaddestrato del discriminatore caricato: %s",
"已加载生成器预训练模型:%s": "Modellolo preaddestrato del generatore caricato: %s",
"已启用索引检索": "Ricerca nell'indice attivata",
"已完成": "Completato",
"已完成阶段": "Fasi completate",
"已恢复判别器检查点": "Checkpoint del discriminatore ripristinato",
"已成功": "Completato",
"常见问题解答": "FAQ (Domande frequenti)",
"常规设置": "Impostazioni generali",
"底层模型": "Modello sottostante",
"开始音频转换": "Avvia la conversione audio",
"当前": "Attuale",
"当前设备:%s | 推理精度:%s": "Dispositivo corrente: %s | Precisione di inferenza: %s",
"当前阶段": "Fase attuale",
"很遗憾您这没有能用的显卡来支持您训练": "Sfortunatamente, non è disponibile alcuna GPU compatibile per supportare l'addestramento.",
"性别因子/声线粗细": "Fattore di genere / spessore della voce",
"性能设置": "Impostazioni delle prestazioni",
"总训练轮数total_epoch": "Epoch totali di addestramento (total_epoch):",
"成功": "Successo",
"执行命令": "Comando",
"批量推理": "Inferenza batch",
"批量转换, 输入待转换音频文件夹, 或上传多个音频文件, 在指定文件夹(默认opt)下输出转换的音频. ": "Conversione massiva. Inserisci il percorso della cartella che contiene i file da convertire o carica più file audio. I file convertiti finiranno nella cartella specificata. (default: opt) ",
"拖拽或点击上传待处理音频": "Trascina qui o fai clic per caricare laudio da elaborare",
"指定输出文件夹": "Specifica la cartella di output:",
"推理时间(ms):": "Tempo di inferenza (ms):",
"推理耗时:%.2f秒": "Tempo di inferenza: %.2f seconds",
"推理音色": "Voce di inferenza:",
"提交训练集清单": "Submit dataset manifest",
"提取": "Estrai",
"提取音高和处理数据使用的CPU进程数": "Numero di processi CPU utilizzati per l'estrazione del tono e l'elaborazione dei dati:",
"数据切分": "Suddivisione dati",
"数据切分没有生成16k音频已停止后续特征提取和训练": "Il pre-processing non ha generato audio a 16 kHz. Estrazione e addestramento sono stati interrotti.",
"数据切分没有生成有效训练音频,请检查训练集和数据切分日志": "Il pre-processing non ha generato audio di addestramento valido. Controlla il dataset e il registro.",
"数据切分输出文件不匹配,已停止后续特征提取和训练": "I file prodotti dal pre-processing non corrispondono. Estrazione e addestramento sono stati interrotti.",
"数据提取开始start_time=%.6f,请求并行数=%s实际并行数上限=%s": "Estrazione dati avviata: start_time=%.6f, concorrenza richiesta=%s, limite effettivo=%s",
"数据提取结束end_time=%.6f,总耗时=%.3f秒": "Estrazione dati completata: end_time=%.6f, tempo totale=%.3f secondi",
"新增一行": "Add row",
"无法停止": "Impossibile interrompere",
"是": "SÌ",
"是否仅保存最新的ckpt文件以节省硬盘空间": "Salva solo l'ultimo file '.ckpt' per risparmiare spazio su disco:",
"是否在每次保存时间点将最终小模型保存至weights文件夹": "Salva un piccolo modello finale nella cartella \"weights\" in ogni punto di salvataggio:",
"是否缓存所有训练集至显存. 10min以下小数据可缓存以加速训练, 大数据缓存会炸显存也加不了多少速": "Memorizza nella cache tutti i set di addestramento nella memoria della GPU. ",
"显卡信息": "Informazioni GPU",
"未使用": "Non usato",
"未使用判别器预训练模型": "Modello preaddestrato del discriminatore non usato",
"未使用生成器预训练模型": "Modello preaddestrato del generatore non usato",
"未检测到可用显卡将使用CPU训练耗时可能较长": "Nessuna GPU supportata rilevata; l'addestramento sulla CPU può richiedere molto più tempo",
"未运行": "Non avviato",
"本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责. <br>如不认可该条款, 则不能使用或引用软件包内任何代码和文件. 详见根目录<b>LICENSE</b>.": "Questo software è open source con licenza MIT. <br>Se non si accetta questa clausola, non è possibile utilizzare o fare riferimento a codici e file all'interno del pacchetto software. <b>Contratto-LICENZA.txt</b> per dettagli.",
"查看": "Visualizzazione",
"查看模型信息(仅支持weights文件夹下提取的小模型文件)": "Visualizza le informazioni sul modello (supportato solo per file di modello piccoli estratti dalla cartella 'weights')",
"检索特征占比": "Rapporto funzionalità di ricerca (controlla la forza dell'accento, troppo alto ha artefatti):",
"模型信息:%s\n采样率%s\n是否使用音高引导%s\n版本%s": "Informazioni modello: %s\nFrequenza di campionamento: %s\nGuida intonazione: %s\nVersione: %s",
"模型推理": "Inferenza del modello",
"模型提取(输入logs文件夹下大文件模型路径),适用于训一半不想训了模型没有自动提取保存小文件模型,或者想测试中间模型的情况": "Estrazione del modello (inserire il percorso del modello di file di grandi dimensioni nella cartella \"logs\"). ",
"模型是否带音高指导": "Se il modello ha una guida del tono:",
"模型是否带音高指导(唱歌一定要, 语音可以不要)": "Se il modello ha una guida del tono (necessario per il canto, facoltativo per il parlato):",
"模型是否带音高指导,1是0否": "Se il modello ha una guida del tono (1: sì, 0: no):",
"模型版本型号": "Versione dell'architettura del modello:",
"模型融合, 可用于测试音色融合": "Model fusion, può essere utilizzato per testare la fusione timbrica",
"模型融合失败:两个模型的结构不一致": "Unione dei modelli non riuscita: le architetture non corrispondono",
"模型训练": "Addestramento modello",
"模型路径": "Percorso al modello:",
"正在保存最终检查点:%s": "Salvataggio del checkpoint finale: %s",
"正在保存检查点 %s_e%s%s": "Salvataggio del checkpoint %s_e%s: %s",
"正在加载RMVPE模型": "Caricamento del modello RMVPE",
"正在加载模型": "Caricamento del modello",
"正在启动": "Avvio in corso",
"正在收尾": "Finalizzazione",
"正在预热CUDA Graph": "Riscaldamento di CUDA Graph",
"每张显卡的batch_size": "Dimensione batch per GPU:",
"没有可用于训练的有效音频,请先完成数据切分和特征提取": "Nessun audio valido per laddestramento. Completa prima pre-processing ed estrazione delle caratteristiche.",
"没有有效的多说话人训练集行": "There are no valid multi-speaker dataset rows",
"淡入淡出长度": "Lunghezza dissolvenza",
"清理模型缓存": "Pulizia della cache del modello",
"版本": "Versione",
"特征": "Caratteristiche",
"特征提取": "Estrazione delle caratteristiche",
"特征检索库文件路径(选择模型后自动匹配,可手动修改)": "Percorso indice caratteristiche (rilevato dopo la scelta del modello; modificabile)",
"状态": "Stato",
"独占 WASAPI 设备": "Dispositivo WASAPI esclusivo",
"生成器预训练模型不存在将不使用assets/pretrained%s/%sG%s.pth": "Generator pretrained model not found; it will not be used: assets/pretrained%s/%sG%s.pth",
"留空则使用辅助页已提交的清单": "Leave empty to use the manifest submitted from the helper tab",
"目标采样率": "Frequenza di campionamento target:",
"第%s/%s页共%s行": "Page %s/%s, %s rows",
"等待中": "In attesa",
"等待输入": "In attesa dell'input",
"算法延迟(ms):": "Latenza algoritmo (ms):",
"索引": "Indice",
"索引文件不存在,将不使用索引继续推理:%s": "Il file indice non esiste; l'inferenza continuerà senza indice: %s",
"索引无效必须使用added_xxxx.index不能使用trained_xxxx.index": "Indice non valido: usare added_xxxx.index, not trained_xxxx.index",
"索引检索失败": "Ricerca nell'indice non riuscita",
"索引检索失败或未启用": "Ricerca nell'indice non riuscita o disattivata",
"索引训练": "Addestramento indice",
"耗时": "Tempo trascorso",
"耗时:特征=%.3f秒,索引=%.3f秒,音高=%.3f秒,模型=%.3f秒": "Tempo trascorso: features=%.3fs, index=%.3fs, pitch=%.3fs, model=%.3fs",
"融合": "Fusione",
"要改的模型信息": "Informazioni sul modello da modificare:",
"要置入的模型信息": "Informazioni sul modello da posizionare:",
"训练": "Addestramento",
"训练已完成,正在保存最终模型": "Addestramento completato; salvataggio del modello finale",
"训练文件列表写入完成": "Elenco dei file di addestramento salvato",
"训练模型": "Addestra modello",
"训练特征索引": "Addestra indice delle caratteristiche",
"训练设备规则选择的精度:%s": "Precisione di addestramento scelta dalle regole del dispositivo: %s",
"训练轮次:{} [{:.0f}%]": "Epoca di addestramento: {} [{:.0f}%]",
"训练集子音频文件夹目录路径": "Dataset audio subfolder path",
"训练集类型": "Dataset type",
"设备类型": "Tipo di dispositivo",
"说话人ID0~109": "Speaker ID (0-109)",
"说话人名称": "Speaker name",
"说话人:%sID%s": "Speaker: %s (ID: %s)",
"请上传音频文件": "Caricare un file audio",
"请填写输出文件夹路径": "Inserire il percorso della cartella di output",
"请指定说话人id": "Si prega di specificare l'ID del locutore/cantante:",
"请选择index文件": "Selezionare un file .index",
"请选择pth文件": "Selezionare un file .pth",
"请选择说话人id": "Seleziona ID locutore/cantante:",
"转换": "Convertire",
"输入实验名": "Inserisci il nome dell'esperimento:",
"输入实验名例如test": "Nome dell'esperimento, ad esempio: test",
"输入待处理音频文件夹路径": "Immettere il percorso della cartella audio da elaborare:",
"输入待处理音频文件夹路径(去文件管理器地址栏拷就行了)": "Immettere il percorso della cartella audio da elaborare (copiarlo dalla barra degli indirizzi del file manager):",
"输入源音量包络替换输出音量包络融合比例越靠近1越使用输出包络": "Regola il ridimensionamento dell'inviluppo del volume. ",
"输入监听": "Monitor ingresso",
"输入训练文件夹路径": "Inserisci il percorso della cartella di addestramento:",
"输入设备": "Dispositivo di input",
"输入设备:%s:%s": "Dispositivo di ingresso: %s:%s",
"输入降噪": "Riduzione del rumore in ingresso",
"输出信息": "Informazioni sull'uscita",
"输出变声": "Conversione uscita",
"输出设备": "Dispositivo di uscita",
"输出设备:%s:%s": "Dispositivo di uscita: %s:%s",
"输出降噪": "Riduzione del rumore in uscita",
"输出音频(右下角三个点,点了可以下载)": "Esporta audio (clicca sui tre puntini in basso a destra per scaricarlo)",
"运行中": "In esecuzione",
"进度": "Avanzamento",
"选择.index文件": "Seleziona il file .index",
"选择.pth文件": "Seleziona il file .pth",
"选择多说话人音色": "Select multi-speaker voice",
"选择模型": "Seleziona modello",
"选择索引": "Seleziona indice",
"选择音高提取算法": "Seleziona lalgoritmo di estrazione dellintonazione",
"采样率:": "Frequenza di campionamento:",
"采样长度": "Lunghezza del campione",
"重复次数": "Repeat count",
"重载设备列表": "Ricaricare l'elenco dei dispositivi",
"音调设置": "Impostazioni del tono",
"音频设备": "Dispositivo audio",
"音高全部为0该音频无意义跳过%s": "Tutti i valori di intonazione sono zero; questo audio è inutilizzabile e verrà ignorato: %s",
"音高算法": "Algoritmo di intonazione",
"额外推理时长": "Tempo di inferenza extra"
}

View File

@@ -1,270 +1,286 @@
{ {
"人声提取激进程度": "ボーカル抽出の強度", "%s运行中请先停止该任务": "%sを実行中です。先に停止してください",
"%s → 成功": "%s → 成功", "====> 轮次:{} {}": "====> エポック: {} {}",
"%s运行中请先停止该任务": "%sを実行中です。先に停止してください", "A模型权重": "Aモデルの重み",
"%s进程已终止": "%sプロセスを終了しました", "A模型路径": "Aモデルのパス",
"====> 轮次:{} {}": "====> エポック: {} {}", "B模型路径": "Bモデルのパス",
"A模型权重": "Aモデルの重み", "CUDA Graph预热完成": "CUDA Graphのウォームアップが完了しました",
"A模型路径": "Aモデルのパス", "CUDA可用%s": "CUDA利用可能: %s",
"B模型路径": "Bモデルのパス", "输入训练文件夹路径例如E:\\我的训练集": "トレーニングフォルダーのパスE:\\私のトレーニングデータ)",
"CUDA可用%s": "CUDA利用可能: %s", "F0与HuBERT特征提取": "F0とHuBERT特徴量の抽出",
"E:\\语音音频+标注\\米津玄师\\src": "C:\\Users\\Desktop\\src", "F0提取": "F0抽出",
"F0与HuBERT特征提取": "F0とHuBERT特徴量の抽出", "F0提取没有生成有效结果,已停止训练": "F0抽出で有効な結果が生成されなかったため、学習を停止しました。",
"F0提取": "F0抽出", "HuBERT特征": "HuBERT特徴量",
"F0曲线文件, 可选, 一行一个音高, 代替默认F0及升降调": "F0(最低共振周波数)カーブファイル(オプション、1行に1ピッチ、デフォルトのF0(最低共振周波数)とエレベーションを置き換えます。)", "HuBERT特征提取没有生成有效结果已停止训练": "HuBERT特徴抽出で有効な結果が生成されなかったため、学習を停止しました。",
"HuBERT特征": "HuBERT特徴量", "Index Rate": "Index Rate",
"Index Rate": "Index Rate", "SOLA偏移%d": "SOLAオフセット: %d",
"RVC模型路径": "RVCモデルパス", "[F0提取] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[F0抽出] 完了 | 成功: %s | スキップ: %s | 失敗: %s",
"SOLA偏移%d": "SOLAオフセット: %d", "[F0提取] 待处理%s": "[F0抽出] Pending: %s",
"[F0提取] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[F0抽出] 完了 | 成功: %s | スキップ: %s | 失敗: %s", "[F0提取] 无待处理音频,已全部跳过": "[F0抽出] 処理対象の音声はなく、すべてスキップ済みです",
"[F0提取] 待处理:%s": "[F0抽出] Pending: %s", "[F0提取] 进度:%s/%s | 成功:%s | 跳过:%s | %s": "[F0抽出] 進捗: %s/%s | 成功: %s | スキップ: %s | %s",
"[F0提取] 无待处理音频,已全部跳过": "[F0抽出] 処理対象の音声はなく、すべてスキップ済みです", "[F0提取][失败] %s": "[F0抽出][失敗] %s",
"[F0提取] 进度:%s/%s | 成功:%s | 跳过:%s | %s": "[F0抽出] 進捗: %s/%s | 成功: %s | スキップ: %s | %s", "[F0提取][失败] %s\n%s": "[F0抽出][失敗] %s\n%s",
"[F0提取][失败] %s": "[F0抽出][失敗] %s", "[HuBERT特征] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[HuBERT特徴量] 完了 | 成功: %s | スキップ: %s | 失敗: %s",
"[F0提取][失败] %s\n%s": "[F0抽出][失敗] %s\n%s", "[HuBERT特征] 无待处理音频,已全部跳过:%s": "[HuBERT特徴量] 処理対象の音声なし、スキップ済み: %s",
"[HuBERT特征] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[HuBERT特徴量] 完了 | 成功: %s | スキップ: %s | 失敗: %s", "[HuBERT特征] 正在加载模型:%s": "[HuBERT特徴量] モデルを読み込み中: %s",
"[HuBERT特征] 无待处理音频,已全部跳过:%s": "[HuBERT特徴量] 処理対象の音声なし、スキップ済み: %s", "[HuBERT特征] 设备:%s | 待处理:%s | 已跳过:%s": "[HuBERT特徴量] デバイス: %s | Pending: %s | スキップ: %s",
"[HuBERT特征] 正在加载模型:%s": "[HuBERT特徴量] モデルを読み込み中: %s", "[HuBERT特征] 进度:%s/%s | 成功:%s | 失败:%s | %s | %s": "[HuBERT特徴量] 進捗: %s/%s | 成功: %s | 失敗: %s | %s | %s",
"[HuBERT特征] 设备:%s | 待处理:%s | 已跳过:%s": "[HuBERT特徴量] デバイス: %s | Pending: %s | スキップ: %s", "[HuBERT特征][失败] %s\n%s": "[HuBERT特徴量][失敗] %s\n%s",
"[HuBERT特征] 进度:%s/%s | 成功:%s | 失败:%s | %s | %s": "[HuBERT特徴量] 進捗: %s/%s | 成功: %s | 失敗: %s | %s | %s", "[HuBERT特征][失败] %s 包含NaN": "[HuBERT特徴量][失敗] %s contains NaN values",
"[HuBERT特征][失败] %s\n%s": "[HuBERT特徴量][失敗] %s\n%s", "[HuBERT特征][失败] 模型不存在:%s": "[HuBERT特徴量][失敗] モデル not found: %s",
"[HuBERT特征][失败] %s 包含NaN": "[HuBERT特徴量][失敗] %s contains NaN values", "[数据切分] 多说话人待处理:%s | 进程数:%s": "[Dataset preprocessing] Multi-speaker files: %s | Workers: %s",
"[HuBERT特征][失败] 模型不存在:%s": "[HuBERT特徴量][失敗] モデル not found: %s", "[数据切分] 子任务完成 | 成功:%s | 失败:%s": "[データ分割] サブタスク完了 | 成功: %s | 失敗: %s",
"[数据切分] 子任务完成 | 成功:%s | 失败:%s": "[データ分割] サブタスク完了 | 成功: %s | 失敗: %s", "[数据切分] 完成": "[データ分割] 完了",
"[数据切分] 完成": "[データ分割] 完了", "[数据切分] 开始": "[データ分割] 開始",
"[数据切分] 开始": "[データ分割] 開始", "[数据切分] 待处理:%s | 进程数:%s": "[データ分割] Pending: %s | プロセス数: %s",
"[数据切分] 待处理:%s | 进程数:%s": "[データ分割] Pending: %s | プロセス数: %s", "[数据切分] 进度:%s/%s | %s": "[データ分割] 進捗: %s/%s | %s",
"[数据切分] 进度:%s/%s | %s": "[データ分割] 進捗: %s/%s | %s", "[数据切分][失败] %s": "[データ分割][失敗] %s",
"[数据切分][失败] %s": "[データ分割][失敗] %s", "[数据切分][失败] %s\n%s": "[データ分割][失敗] %s\n%s",
"[数据切分][失败] %s\n%s": "[データ分割][失敗] %s\n%s", "[数据切分][跳过] 无效或异常音频片段:%s_%s | 峰值:%s": "[データ分割][スキップ] 無効または異常な音声区間: %s_%s | ピーク: %s",
"[数据切分][跳过] 无效或异常音频片段:%s_%s | 峰值:%s": "[データ分割][スキップ] 無効または異常な音声区間: %s_%s | ピーク: %s", "[索引训练] 写入进度:%s/%s": "[インデックス学習] 書き込み進捗: %s/%s",
"[索引训练] 写入进度:%s/%s": "[インデックス学習] 書き込み進捗: %s/%s", "[索引训练] 外部索引链接已存在:%s": "[インデックス学習] 外部インデックスリンクは既に存在します:%s",
"[索引训练] 已链接索引到外部目录:%s": "[インデックス学習] インデックスを外部フォルダーへリンクしました: %s", "[索引训练] 已链接索引到外部目录:%s": "[インデックス学習] インデックスを外部フォルダーへリンクしました: %s",
"[索引训练] 成功构建索引:%s": "[インデックス学習] インデックスを作成しました: %s", "[索引训练] 成功构建索引:%s": "[インデックス学習] インデックスを作成しました: %s",
"[索引训练] 正在写入特征向量": "[インデックス学習] 特徴ベクトルを追加中", "[索引训练] 正在写入特征向量": "[インデックス学習] 特徴ベクトルを追加中",
"[索引训练] 正在将%s条特征聚类为10000个中心": "[インデックス学習] Clustering %s feature vectors into 10,000 centers", "[索引训练] 正在将%s条特征聚类为10000个中心": "[インデックス学習] Clustering %s feature vectors into 10,000 centers",
"[索引训练] 正在训练索引": "[インデックス学習] インデックスを学習中", "[索引训练] 正在训练索引": "[インデックス学習] インデックスを学習中",
"[索引训练] 特征形状:%s | IVF数量%s": "[インデックス学習] 特徴量形状: %s | IVF数: %s", "[索引训练] 特征形状:%s | IVF数量%s": "[インデックス学習] 特徴量形状: %s | IVF数: %s",
"[索引训练][失败] 无法链接索引到外部目录:%s\n%s": "[インデックス学習][失敗] インデックスを外部フォルダーへリンクできませんでした: %s\n%s", "[索引训练][失败] 无法链接索引到外部目录:%s\n%s": "[インデックス学習][失敗] インデックスを外部フォルダーへリンクできませんでした: %s\n%s",
"[索引训练][失败] 聚类失败,将使用原始特征继续\n%s": "[インデックス学習][失敗] クラスタリングに失敗したため、元の特徴量で続行します\n%s", "[索引训练][失败] 聚类失败,将使用原始特征继续\n%s": "[インデックス学習][失敗] クラスタリングに失敗したため、元の特徴量で続行します\n%s",
"[索引训练][失败] 请先进行特征提取": "[インデックス学習][失敗] 先に特徴抽出を実行してください", "[索引训练][失败] 请先进行特征提取": "[インデックス学習][失敗] 先に特徴抽出を実行してください",
"ckpt处理": "ckptファイルの処理", "[索引训练][跳过] added索引已存在%s": "[インデックス学習][スキップ] addedインデックスは既に存在します%s",
"index文件路径不可包含中文": "indexファイルのパスに漢字を含んではいけません", "[索引训练][跳过] trained索引已存在%s": "[インデックス学習][スキップ] trainedインデックスは既に存在します%s",
"pth文件路径不可包含中文": "pthファイルのパスに漢字を含んではいけません", "ckpt处理": "ckptファイルの処理",
"rmvpe卡号配置以-分隔输入使用的不同进程卡号,例如0-0-1使用卡0上跑2个进程并在卡1上跑1个进程": "rmvpeカード番号設定異なるプロセスに使用するカード番号を入力する。例えば、0-0-1でカード0に2つのプロセス、カード1に1つのプロセスを実行する。", "hubert:以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2": "HuBERT: Enter GPU IDs separated by hyphens; for example, 0-1-2 uses GPUs 0, 1, and 2",
"step1: 填写实验配置. 实验数据放在logs下, 每个实验一个文件夹, 需手工输入实验名路径, 内含实验配置, 日志, 训练得到的模型文件. ": "ステップ1:実験設定を入力します。実験データはlogsに保存され、各実験にはフォルダーがあります。実験名のパスを手動で入力する必要があり、実験設定、ログ、トレーニングされたモデルファイルが含まれます。", "index文件路径不可包含中文": "indexファイルのパスに漢字を含んではいけません",
"step1:正在处理数据": "step1:処理中のデータ", "pth文件路径不可包含中文": "pthファイルのパスに漢字を含んではいけません",
"step2:正在提取音高&正在提取特征": "step2:ピッチ抽出と特徴抽出", "rmvpe卡号配置以-分隔输入使用的不同进程卡号,例如0-0-1使用在卡0上跑2个进程并在卡1上跑1个进程": "rmvpeカード番号設定異なるプロセスに使用するカード番号を入力する。例えば、0-0-1でカード0に2つのプロセス、カード1に1つのプロセスを実行する。",
"step2a: 自动遍历训练文件夹下所有可解码成音频的文件并进行切片归一化, 在实验目录下生成2个wav文件夹; 暂时只支持单人训练. ": "ステップ2a: 訓練フォルダー内のすべての音声ファイルを自動的に探索し、スライスと正規化を行い、2つのwavフォルダーを実験ディレクトリに生成します。現在は一人でのトレーニングのみをサポートしています。", "step1: 填写实验配置. 实验数据放在logs下, 每个实验一个文件夹, 需手工输入实验名路径, 内含实验配置, 日志, 训练得到的模型文件. ": "ステップ1:実験設定を入力します。実験データはlogsに保存され、各実験にはフォルダーがあります。実験名のパスを手動で入力する必要があり、実験設定、ログ、トレーニングされたモデルファイルが含まれます。",
"step2b: 使用CPU提取音高(如果模型带音高), 使用GPU提取特征(选择卡号)": "ステップ2b: CPUを使用して音高を抽出する(モデルに音高がある場合)、GPUを使用して特徴を抽出する(GPUの番号を選択する)", "step2a: 扫描训练音频并进行切片归一化在实验目录下生成训练wav文件。": "Step 2a: Scan, slice, and normalize training audio, then create training WAV files in the experiment directory.",
"step3: 填写训练设置, 开始训练模型和索引": "ステップ3: トレーニング設定を入力して、モデルとインデックスのトレーニングを開始します", "step2b: 音高与hubert语义特征提取": "ステップ2b: ピッチとHuBERTセマンティック特徴量の抽出",
"step3a:正在训练模型": "step3a:トレーニング中のモデル", "step3: 填写训练设置, 开始训练模型和索引": "ステップ3: トレーニング設定を入力して、モデルとインデックスのトレーニングを開始します",
"step3b:正在训练索引": "ステップ3bインデックスをトレーニング中", "……仅显示最近10条失败记录": "…直近10件の失敗のみ表示しています",
"……仅显示最近10条失败记录": "…直近10件の失敗のみ表示しています", "……已省略前%s行仅显示最新状态": "…先頭%s行を省略し、最新状態のみ表示しています",
"……已省略前%s行仅显示最新状态": "…先頭%s行を省略し、最新状態のみ表示しています", "一键训练": "ワンクリックトレーニング",
"一键训练": "ワンクリックトレーニング", "上一页": "Previous",
"也可批量输入音频文件, 二选一, 优先读文件夹": "複数のオーディオファイルをインポートすることもできます。フォルダパスが存在する場合、この入力は無視されます。", "下一页": "Next",
"仅支持pm和rmvpe音高提取算法": "ピッチ抽出方式はpmとrmvpeのみ対応しています", "为多说话人训练集建立清单。空行会被忽略路径、说话人名称、说话人ID或重复次数填写不全的行会在提交时提示。": "Create a multi-speaker dataset manifest. Empty rows are ignored; incomplete path, speaker name, speaker ID, or repeat count fields are reported on submission.",
"从训练检查点提取的模型": "学習チェックポイントから抽出したモデル", "主结果文件夹": "主要出力フォルダー",
"以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2": "ハイフンで区切って使用するGPUの番号を入力します。例えば0-1-2はGPU0、GPU1、GPU2を使用します", "也可批量输入音频文件, 二选一, 优先读文件夹": "複数のオーディオファイルをインポートすることもできます。フォルダパスが存在する場合、この入力は無視されます",
"任务": "タスク", "人声、伴奏与混响批量处理使用pymss/MSST模型。": "pymss/MSSTモデルを使用して、ボーカル、伴奏、残響を一括処理します。",
"使用显卡:%s": "使用GPU: %s", "人声伴奏分离&去混响": "ボーカル・伴奏分離と残響除去",
"使用模型采样率": "モデルのサンプルレートを使用", "仅支持pm和rmvpe音高提取算法": "ピッチ抽出方式はpmとrmvpeのみ対応しています",
"使用设备采样率": "デバイスのサンプルレートを使用", "从训练检查点提取的模型": "学習チェックポイントから抽出したモデル",
"保存名": "保存ファイル名", "以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2": "ハイフンで区切って使用するGPUの番号を入力します。例えば0-1-2はGPU0、GPU1、GPU2を使用します",
"保存的文件名, 默认空为和源文件同名": "保存するファイル名、デフォルトでは空欄で元のファイル名と同じ名前になります", "以下行填写不完整或无效,已忽略:%s": "The following incomplete or invalid rows were ignored: %s",
"保存的模型名不带后缀": "拡張子のない保存するモデル名", "任务": "タスク",
"保存频率save_every_epoch": "エポックごとの保存頻度", "使用显卡:%s": "使用GPU: %s",
"保护清辅音和呼吸声防止电音撕裂等artifact拉满0.5不开启,调低加大保护力度但可能降低索引效果": "明確な子音と呼吸音を保護し、電子音の途切れやその他のアーティファクトを防止します。0.5でオフになります。下げると保護が強化されますが、indexの効果が低下する可能性があります。", "使用模型采样率": "モデルのサンプルレートを使用",
"修改": "変更", "使用设备采样率": "デバイスのサンプルレートを使用",
"修改模型信息(仅支持weights文件夹下提取的小模型文件)": "モデル情報の修正(weightsフォルダから抽出された小さなモデルファイルのみ対応)", "保存名": "保存ファイル名",
"停止一键训练": "ワンクリック学習を停止", "保存的文件名, 默认空为和源文件同名": "保存するファイル名、デフォルトでは空欄で元のファイル名と同じ名前になります",
"停止处理数据": "データ前処理を停止", "保存的模型名不带后缀": "拡張子のない保存するモデル名",
"停止特征提取": "特徴抽出を停止", "保存频率save_every_epoch": "エポックごとの保存頻度",
"停止训练模型": "モデル学習を停止", "保护清辅音和呼吸声防止电音撕裂等artifact拉满0.5不开启,调低加大保护力度但可能降低索引效果": "明確な子音と呼吸音を保護し、電子音の途切れやその他のアーティファクトを防止します。0.5でオフになります。下げると保護が強化されますが、indexの効果が低下する可能性があります。",
"停止训练索引": "インデックス学習を停止", "修改": "変更",
"停止音频转换": "音声変換を停止", "修改模型信息(仅支持weights文件夹下提取的小模型文件)": "モデル情報の修正(weightsフォルダから抽出された小さなモデルファイルのみ対応)",
"全流程结束!": "全工程が完了!", "停止一键训练": "ワンクリック学習を停止",
"判别器预训练模型不存在将不使用assets/pretrained%s/%sD%s.pth": "Discriminator pretrained model not found; it will not be used: assets/pretrained%s/%sD%s.pth", "停止分离": "分離を停止",
"加载模型": "モデルをロード", "停止处理数据": "データ前処理を停止",
"加载预训练底模D路径": "事前学習済みのDモデルのパス", "停止特征提取": "特徴抽出を停止",
"加载预训练底模G路径": "事前学習済みのGモデルのパス", "停止训练模型": "モデル学習を停止",
"单次推理": "単発推論", "停止训练索引": "インデックス学習を停止",
"卸载音色省显存": "音源を削除してメモリを節約", "停止音频转换": "音声変換を停止",
"变调(整数, 半音数量, 升八度12降八度-12)": "ピッチ変更(整数、半音数、上下オクターブ12-12)",
"合成": "合成",
"后处理重采样至最终采样率0为不进行重采样": "最終的なサンプリングレートへのポストプロセッシングのリサンプリング リサンプリングしない場合は0",
"否": "いいえ",
"响应阈值": "反応閾値",
"响度因子": "ラウドネス係数",
"处理中": "処理中",
"处理数据": "データ処理",
"失败": "失敗",
"失败记录": "失敗記録",
"子进程执行失败,返回码:%s": "子プロセスが終了コード付きで失敗しました: %s",
"导出文件格式": "エクスポート形式",
"已停止": "停止済み",
"已加载判别器预训练模型:%s": "識別器の事前学習モデルを読み込みました: %s",
"已加载生成器预训练模型:%s": "生成器の事前学習モデルを読み込みました: %s",
"已启用索引检索": "インデックス検索を有効化しました",
"已完成": "完了",
"已恢复判别器检查点": "識別器チェックポイントを復元しました",
"常见问题解答": "よくある質問",
"常规设置": "一般設定",
"开始音频转换": "音声変換を開始",
"当前": "現在",
"当前阶段": "現在の段階",
"很遗憾您这没有能用的显卡来支持您训练": "トレーニングに対応したGPUが動作しないのは残念です。",
"性别因子/声线粗细": "性別係数/声質の太さ",
"性能设置": "パフォーマンス設定",
"总训练轮数total_epoch": "総エポック数",
"成功": "成功",
"执行命令": "実行コマンド",
"批量推理": "一括推論",
"批量转换, 输入待转换音频文件夹, 或上传多个音频文件, 在指定文件夹(默认opt)下输出转换的音频. ": "一括変換、変換する音声フォルダを入力、または複数の音声ファイルをアップロードし、指定したフォルダ(デフォルトのopt)に変換した音声を出力します。",
"拖拽或点击上传待处理音频": "処理する音声をドラッグ&ドロップするか、クリックしてアップロード",
"指定输出主人声文件夹": "マスターの出力音声フォルダーを指定する",
"指定输出文件夹": "出力フォルダを指定してください",
"指定输出非主人声文件夹": "マスター以外の出力音声フォルダーを指定する",
"推理时间(ms):": "推論時間(ms):",
"推理耗时:%.2f秒": "推論時間: %.2f seconds",
"推理音色": "音源推論",
"提取": "抽出",
"提取音高和处理数据使用的CPU进程数": "ピッチの抽出やデータ処理に使用するCPUスレッド数",
"数据切分": "データ分割",
"无法停止": "停止できません",
"无法读取音频:%s": "音声を読み込めませんでした: %s",
"是": "はい",
"是否仅保存最新的ckpt文件以节省硬盘空间": "ハードディスク容量を節約するため、最新のckptファイルのみを保存しますか",
"是否在每次保存时间点将最终小模型保存至weights文件夹": "各保存時点の小モデルを全部weightsフォルダに保存するかどうか",
"是否缓存所有训练集至显存. 10min以下小数据可缓存以加速训练, 大数据缓存会炸显存也加不了多少速": "すべてのトレーニングデータをメモリにキャッシュするかどうか。10分以下の小さなデータはキャッシュしてトレーニングを高速化できますが、大きなデータをキャッシュするとメモリが破裂し、あまり速度が上がりません。",
"显卡信息": "GPU情報",
"未使用": "未使用",
"未使用判别器预训练模型": "識別器の事前学習モデルは未使用です",
"未使用生成器预训练模型": "生成器の事前学習モデルは未使用です",
"未找到Roformer模型配置文件正在使用内置默认配置": "Roformerモデル設定が見つからないため、組み込みの既定値を使用します",
"未检测到可用显卡将使用CPU训练耗时可能较长": "対応GPUが検出されませんでした。CPUでの学習には時間がかかる場合があります",
"未运行": "未実行",
"本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责. <br>如不认可该条款, 则不能使用或引用软件包内任何代码和文件. 详见根目录<b>LICENSE</b>.": "本ソフトウェアはMITライセンスに基づくオープンソースであり、製作者は本ソフトウェアに対していかなる責任を持ちません。本ソフトウェアの利用者および本ソフトウェアから派生した音源(成果物)を配布する者は、本ソフトウェアに対して自身で責任を負うものとします。 <br>この条項に同意しない場合、パッケージ内のコードやファイルを使用や参照を禁じます。詳しくは<b>LICENSE</b>をご覧ください。",
"查看": "表示",
"查看模型信息(仅支持weights文件夹下提取的小模型文件)": "モデル情報を表示する(小さいモデルファイルはweightsフォルダーからのみサポートされています)",
"检测到模型类型:%s": "検出したモデル種別: %s",
"检索特征占比": "検索特徴率",
"模型": "モデル",
"模型信息:%s\n采样率%s\n是否使用音高引导%s\n版本%s": "モデル情報: %s\nサンプルレート: %s\nピッチガイド: %s\nバージョン: %s",
"模型推理": "モデル推論",
"模型提取(输入logs文件夹下大文件模型路径),适用于训一半不想训了模型没有自动提取保存小文件模型,或者想测试中间模型的情况": "モデル抽出(ログフォルダー内の大きなファイルのモデルパスを入力)、モデルを半分までトレーニングし、自動的に小さいファイルモデルを保存しなかったり、中間モデルをテストしたい場合に適用されます。",
"模型是否带音高指导": "モデルに音高ガイドを付けるかどうか",
"模型是否带音高指导(唱歌一定要, 语音可以不要)": "モデルに音高ガイドがあるかどうか(歌唱には必要ですが、音声には必要ありません)",
"模型是否带音高指导,1是0否": "モデルに音高ガイドを付けるかどうか、1は付ける、0は付けない",
"模型版本型号": "モデルのバージョン",
"模型融合, 可用于测试音色融合": "モデルのマージ、音源のマージテストに使用できます",
"模型融合失败:两个模型的结构不一致": "モデルの構造が一致しないため、結合に失敗しました",
"模型训练": "モデル学習",
"模型路径": "モデルパス",
"正在保存最终检查点:%s": "最終チェックポイントを保存中: %s",
"正在保存检查点 %s_e%s%s": "チェックポイントを保存中 %s_e%s: %s",
"正在加载RMVPE模型": "RMVPEモデルを読み込み中",
"正在加载模型": "モデルを読み込み中",
"正在启动": "起動中",
"正在收尾": "終了処理中",
"每张显卡的batch_size": "GPUごとのバッチサイズ",
"淡入淡出长度": "フェードイン/フェードアウト長",
"清理模型缓存": "モデルキャッシュを消去中",
"版本": "バージョン",
"特征": "特徴量",
"特征提取": "特徴抽出",
"状态": "状態",
"独占 WASAPI 设备": "WASAPI排他デバイス",
"生成器预训练模型不存在将不使用assets/pretrained%s/%sG%s.pth": "Generator pretrained model not found; it will not be used: assets/pretrained%s/%sG%s.pth",
"男转女推荐+12key, 女转男推荐-12key, 如果音域爆炸导致音色失真也可以自己调整到合适音域. ": "男性から女性へは+12キーをお勧めします。女性から男性へは-12キーをお勧めします。音域が広すぎて音質が劣化した場合は、適切な音域に自分で調整してください。",
"目标采样率": "目標サンプリングレート",
"等待中": "待機中",
"等待输入": "入力待ち",
"算法延迟(ms):": "アルゴリズム遅延(ms):",
"索引": "インデックス",
"索引无效必须使用added_xxxx.index不能使用trained_xxxx.index": "無効なインデックスです。使用してください: added_xxxx.index, not trained_xxxx.index",
"索引检索失败": "インデックス検索に失敗しました",
"索引检索失败或未启用": "インデックス検索に失敗したか無効です",
"索引训练": "インデックス学習",
"耗时": "所要時間",
"耗时:特征=%.3f秒,索引=%.3f秒,音高=%.3f秒,模型=%.3f秒": "所要時間: features=%.3fs, index=%.3fs, pitch=%.3fs, model=%.3fs",
"融合": "マージ",
"要改的模型信息": "変更するモデル情報",
"要置入的模型信息": "挿入するモデル情報",
"训练": "トレーニング",
"训练已完成,正在保存最终模型": "学習が完了しました。最終モデルを保存しています",
"训练文件列表写入完成": "学習ファイル一覧を書き込みました",
"训练模型": "モデルのトレーニング",
"训练特征索引": "特徴インデックスのトレーニング",
"训练结束, 您可查看控制台训练日志或实验文件夹下的train.log": "トレーニング終了時に、トレーニングログやフォルダ内のtrain.logを確認することができます",
"训练设备规则选择的精度:%s": "デバイス規則で選択された学習精度: %s",
"训练轮次:{} [{:.0f}%]": "学習エポック: {} [{:.0f}%]",
"设备类型": "デバイス種別",
"请上传音频文件": "音声ファイルをアップロードしてください",
"请填写输出文件夹路径": "出力フォルダーのパスを入力してください",
"请指定说话人id": "話者IDを指定してください",
"请选择index文件": "indexファイルを選択してください",
"请选择pth文件": "pthファイルを選択してください",
"请选择说话人id": "話者IDを選択してください",
"转换": "変換",
"输入实验名": "モデル名",
"输入待处理音频文件夹路径": "処理するオーディオファイルのフォルダパスを入力してください",
"输入待处理音频文件夹路径(去文件管理器地址栏拷就行了)": "処理対象音声フォルダーのパスを入力してください(エクスプローラーのアドレスバーからコピーしてください)",
"输入待处理音频文件路径(默认是正确格式示例)": "処理対象音声ファイルのパスを入力してください(デフォルトは正しいフォーマットの例です)",
"输入源音量包络替换输出音量包络融合比例越靠近1越使用输出包络": "入力ソースの音量エンベロープと出力音量エンベロープの融合率 1に近づくほど、出力音量エンベロープの割合が高くなる",
"输入监听": "入力モニター",
"输入训练文件夹路径": "トレーニング用フォルダのパスを入力してください",
"输入设备": "入力デバイス",
"输入设备:%s:%s": "入力デバイス: %s:%s",
"输入降噪": "入力ノイズの低減",
"输出信息": "出力情報",
"输出变声": "出力変声",
"输出设备": "出力デバイス",
"输出设备:%s:%s": "出力デバイス: %s:%s",
"输出降噪": "出力ノイズの低減",
"输出音频(右下角三个点,点了可以下载)": "出力音声(右下の三点をクリックしてダウンロードできます)",
"运行中": "実行中",
"进度": "進捗",
"选择.index文件": ".indexファイルを選択",
"选择.pth文件": ".pthファイルを選択",
"选择模型": "モデルを選択",
"选择索引": "インデックスを選択",
"选择音高提取算法": "ピッチ抽出アルゴリズムを選択",
"采样率:": "サンプルレート:",
"采样长度": "サンプル長",
"重载设备列表": "デバイスリストをリロードする",
"错误信息:%s": "エラー詳細: %s",
"错误:未知模型:%s": "エラー: 不明なモデル: %s",
"音调设置": "音程設定",
"音频包含多个声道,但模型仅支持单声道,将对所有声道取平均值": "音声は複数チャンネルですがモデルはモノラルのため、全チャンネルを平均します",
"音频设备": "オーディオデバイス",
"音高全部为0该音频无意义跳过%s": "ピッチがすべて0のため、この音声は無効としてスキップします: %s",
"音高算法": "ピッチ方式",
"额外推理时长": "追加推論時間",
"数据切分没有生成有效训练音频,请检查训练集和数据切分日志": "データ前処理で有効な学習音声が生成されませんでした。データセットと前処理ログを確認してください。",
"数据切分没有生成16k音频已停止后续特征提取和训练": "データ前処理で16 kHz音声が生成されなかったため、特徴抽出と学習を停止しました。",
"数据切分输出文件不匹配,已停止后续特征提取和训练": "データ前処理の出力ファイルが一致しないため、特徴抽出と学習を停止しました。",
"HuBERT特征提取没有生成有效结果已停止训练": "HuBERT特徴抽出で有効な結果が生成されなかったため、学習を停止しました。",
"F0提取没有生成有效结果已停止训练": "F0抽出で有効な結果が生成されなかったため、学習を停止しました。",
"没有可用于训练的有效音频,请先完成数据切分和特征提取": "学習に使用できる有効な音声がありません。先にデータ前処理と特徴抽出を完了してください。",
"已完成阶段": "完了した段階",
"已成功": "成功",
"刷新音色列表": "音色リストを更新",
"特征检索库文件路径(选择模型后自动匹配,可手动修改)": "特徴インデックスのパス(モデル選択後に自動照合、手動編集可)",
"[索引训练] 外部索引链接已存在:%s": "[インデックス学習] 外部インデックスリンクは既に存在します:%s",
"[索引训练][跳过] added索引已存在%s": "[インデックス学習][スキップ] addedインデックスは既に存在します%s",
"[索引训练][跳过] trained索引已存在%s": "[インデックス学習][スキップ] trainedインデックスは既に存在します%s",
"当前设备:%s | 推理精度:%s": "現在のデバイス:%s | 推論精度:%s",
"正在预热CUDA Graph": "CUDA Graphをウォームアップしています",
"CUDA Graph预热完成": "CUDA Graphのウォームアップが完了しました",
"数据提取开始start_time=%.6f,请求并行数=%s实际并行数上限=%s": "データ抽出開始start_time=%.6f、要求並列数=%s、実並列上限=%s",
"数据提取结束end_time=%.6f,总耗时=%.3f秒": "データ抽出完了end_time=%.6f、合計所要時間=%.3f秒",
"人声伴奏分离&去混响": "ボーカル・伴奏分離と残響除去",
"人声、伴奏与混响批量处理使用pymss/MSST模型。": "pymss/MSSTモデルを使用して、ボーカル、伴奏、残響を一括処理します。",
"处理方式": "処理方法",
"底层模型": "基盤モデル",
"主结果文件夹": "主要出力フォルダー",
"分离残余文件夹": "残余出力フォルダー", "分离残余文件夹": "残余出力フォルダー",
"停止分离": "分離を停止" "删除末行": "Remove last row",
} "判别器预训练模型不存在将不使用assets/pretrained%s/%sD%s.pth": "Discriminator pretrained model not found; it will not be used: assets/pretrained%s/%sD%s.pth",
"刷新音色列表": "音色リストを更新",
"加载模型": "モデルをロード",
"加载预训练底模D路径": "事前学習済みのDモデルのパス",
"加载预训练底模G路径": "事前学習済みのGモデルのパス",
"单次推理": "単発推論",
"单说话人": "Single speaker",
"卸载音色省显存": "音源を削除してメモリを節約",
"变调(整数, 半音数量, 升八度12降八度-12)": "ピッチ変更(整数、半音数、上下オクターブ12-12)",
"合成": "合成",
"后处理重采样至最终采样率0为不进行重采样": "最終的なサンプリングレートへのポストプロセッシングのリサンプリング リサンプリングしない場合は0",
"否": "いいえ",
"响应阈值": "反応閾値",
"响度因子": "ラウドネス係数",
"处理中": "処理中",
"处理数据": "データ処理",
"处理方式": "処理方法",
"多说话人": "Multiple speakers",
"注意:多说话人训练音色还原度不一定有单说话人分开训练好!": "注意:マルチスピーカー学習は、話者ごとに個別学習する場合よりも音色の再現度が低くなることがあります!",
"多说话人子文件夹无效格式应为名称_ID_重复次数、ID为0~109、重复次数为正整数、同一ID的名称需一致且目录需有音频%s": "Invalid multi-speaker subfolders (expected Name_ID_Repeat, ID 0-109, a positive repeat count, one consistent name per ID, and at least one audio file): %s",
"多说话人总文件夹只扫描根目录下的直接子文件夹,根目录文件会被忽略。\n子文件夹必须命名为x_y_zx是说话人名称y是说话人ID0~109共110个z是训练集重复次数。\n也可以到右侧“多说话人训练集辅助”编辑并提交训练集清单。": "Only direct subfolders of the multi-speaker root are scanned; root files are ignored.\nName each subfolder x_y_z: x is the speaker name, y is the speaker ID (0-109, 110 choices), and z is the repeat count.\nYou can also submit a manifest from the Multi-speaker Dataset Helper tab.",
"多说话人训练集总文件夹不存在:%s": "Multi-speaker dataset root does not exist: %s",
"多说话人训练集总文件夹中没有有效音频": "The multi-speaker dataset root contains no valid audio",
"多说话人训练集总文件夹中没有直接子文件夹": "The multi-speaker dataset root has no direct subfolders",
"多说话人训练集总文件夹路径": "Multi-speaker dataset root",
"多说话人训练集清单不存在,请先提交辅助清单或填写总文件夹": "The multi-speaker manifest does not exist. Submit it from the helper tab or enter a dataset root first",
"多说话人训练集清单包含无效条目:%s": "The multi-speaker manifest contains an invalid entry: %s",
"多说话人训练集清单存在重复输出标识:%s": "The multi-speaker manifest contains a duplicate output key: %s",
"多说话人训练集清单已保存:%s有效音频%s个": "Multi-speaker dataset manifest saved: %s; valid audio files: %s",
"多说话人训练集清单格式错误": "The multi-speaker manifest format is invalid",
"多说话人训练集清单没有有效音频": "The multi-speaker manifest contains no valid audio",
"多说话人训练集辅助": "Multi-speaker Dataset Helper",
"失败": "失敗",
"失败记录": "失敗記録",
"子进程执行失败,返回码:%s": "子プロセスが終了コード付きで失敗しました: %s",
"实验名不能为空": "Experiment name is required",
"导出文件格式": "エクスポート形式",
"已停止": "停止済み",
"已加载判别器预训练模型:%s": "識別器の事前学習モデルを読み込みました: %s",
"已加载生成器预训练模型:%s": "生成器の事前学習モデルを読み込みました: %s",
"已启用索引检索": "インデックス検索を有効化しました",
"已完成": "完了",
"已完成阶段": "完了した段階",
"已恢复判别器检查点": "識別器チェックポイントを復元しました",
"已成功": "成功",
"常见问题解答": "よくある質問",
"常规设置": "一般設定",
"底层模型": "基盤モデル",
"开始音频转换": "音声変換を開始",
"当前": "現在",
"当前设备:%s | 推理精度:%s": "現在のデバイス:%s | 推論精度:%s",
"当前阶段": "現在の段階",
"很遗憾您这没有能用的显卡来支持您训练": "トレーニングに対応したGPUが動作しないのは残念です。",
"性别因子/声线粗细": "性別係数/声質の太さ",
"性能设置": "パフォーマンス設定",
"总训练轮数total_epoch": "総エポック数",
"成功": "成功",
"执行命令": "実行コマンド",
"批量推理": "一括推論",
"批量转换, 输入待转换音频文件夹, 或上传多个音频文件, 在指定文件夹(默认opt)下输出转换的音频. ": "一括変換、変換する音声フォルダを入力、または複数の音声ファイルをアップロードし、指定したフォルダ(デフォルトのopt)に変換した音声を出力します。",
"拖拽或点击上传待处理音频": "処理する音声をドラッグ&ドロップするか、クリックしてアップロード",
"指定输出文件夹": "出力フォルダを指定してください",
"推理时间(ms):": "推論時間(ms):",
"推理耗时:%.2f秒": "推論時間: %.2f seconds",
"推理音色": "音源推論",
"提交训练集清单": "Submit dataset manifest",
"提取": "抽出",
"提取音高和处理数据使用的CPU进程数": "ピッチの抽出やデータ処理に使用するCPUスレッド数",
"数据切分": "データ分割",
"数据切分没有生成16k音频已停止后续特征提取和训练": "データ前処理で16 kHz音声が生成されなかったため、特徴抽出と学習を停止しました。",
"数据切分没有生成有效训练音频,请检查训练集和数据切分日志": "データ前処理で有効な学習音声が生成されませんでした。データセットと前処理ログを確認してください。",
"数据切分输出文件不匹配,已停止后续特征提取和训练": "データ前処理の出力ファイルが一致しないため、特徴抽出と学習を停止しました。",
"数据提取开始start_time=%.6f,请求并行数=%s实际并行数上限=%s": "データ抽出開始start_time=%.6f、要求並列数=%s、実並列上限=%s",
"数据提取结束end_time=%.6f,总耗时=%.3f秒": "データ抽出完了end_time=%.6f、合計所要時間=%.3f秒",
"新增一行": "Add row",
"无法停止": "停止できません",
"是": "はい",
"是否仅保存最新的ckpt文件以节省硬盘空间": "ハードディスク容量を節約するため、最新のckptファイルのみを保存しますか",
"是否在每次保存时间点将最终小模型保存至weights文件夹": "各保存時点の小モデルを全部weightsフォルダに保存するかどうか",
"是否缓存所有训练集至显存. 10min以下小数据可缓存以加速训练, 大数据缓存会炸显存也加不了多少速": "すべてのトレーニングデータをメモリにキャッシュするかどうか。10分以下の小さなデータはキャッシュしてトレーニングを高速化できますが、大きなデータをキャッシュするとメモリが破裂し、あまり速度が上がりません。",
"显卡信息": "GPU情報",
"未使用": "未使用",
"未使用判别器预训练模型": "識別器の事前学習モデルは未使用です",
"未使用生成器预训练模型": "生成器の事前学習モデルは未使用です",
"未检测到可用显卡将使用CPU训练耗时可能较长": "対応GPUが検出されませんでした。CPUでの学習には時間がかかる場合があります",
"未运行": "未実行",
"本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责. <br>如不认可该条款, 则不能使用或引用软件包内任何代码和文件. 详见根目录<b>LICENSE</b>.": "本ソフトウェアはMITライセンスに基づくオープンソースであり、製作者は本ソフトウェアに対していかなる責任を持ちません。本ソフトウェアの利用者および本ソフトウェアから派生した音源(成果物)を配布する者は、本ソフトウェアに対して自身で責任を負うものとします。 <br>この条項に同意しない場合、パッケージ内のコードやファイルを使用や参照を禁じます。詳しくは<b>LICENSE</b>をご覧ください。",
"查看": "表示",
"查看模型信息(仅支持weights文件夹下提取的小模型文件)": "モデル情報を表示する(小さいモデルファイルはweightsフォルダーからのみサポートされています)",
"检索特征占比": "検索特徴率",
"模型信息:%s\n采样率%s\n是否使用音高引导%s\n版本%s": "モデル情報: %s\nサンプルレート: %s\nピッチガイド: %s\nバージョン: %s",
"模型推理": "モデル推論",
"模型提取(输入logs文件夹下大文件模型路径),适用于训一半不想训了模型没有自动提取保存小文件模型,或者想测试中间模型的情况": "モデル抽出(ログフォルダー内の大きなファイルのモデルパスを入力)、モデルを半分までトレーニングし、自動的に小さいファイルモデルを保存しなかったり、中間モデルをテストしたい場合に適用されます。",
"模型是否带音高指导": "モデルに音高ガイドを付けるかどうか",
"模型是否带音高指导(唱歌一定要, 语音可以不要)": "モデルに音高ガイドがあるかどうか(歌唱には必要ですが、音声には必要ありません)",
"模型是否带音高指导,1是0否": "モデルに音高ガイドを付けるかどうか、1は付ける、0は付けない",
"模型版本型号": "モデルのバージョン",
"模型融合, 可用于测试音色融合": "モデルのマージ、音源のマージテストに使用できます",
"模型融合失败:两个模型的结构不一致": "モデルの構造が一致しないため、結合に失敗しました",
"模型训练": "モデル学習",
"模型路径": "モデルパス",
"正在保存最终检查点:%s": "最終チェックポイントを保存中: %s",
"正在保存检查点 %s_e%s%s": "チェックポイントを保存中 %s_e%s: %s",
"正在加载RMVPE模型": "RMVPEモデルを読み込み中",
"正在加载模型": "モデルを読み込み中",
"正在启动": "起動中",
"正在收尾": "終了処理中",
"正在预热CUDA Graph": "CUDA Graphをウォームアップしています",
"每张显卡的batch_size": "GPUごとのバッチサイズ",
"没有可用于训练的有效音频,请先完成数据切分和特征提取": "学習に使用できる有効な音声がありません。先にデータ前処理と特徴抽出を完了してください。",
"没有有效的多说话人训练集行": "There are no valid multi-speaker dataset rows",
"淡入淡出长度": "フェードイン/フェードアウト長",
"清理模型缓存": "モデルキャッシュを消去中",
"版本": "バージョン",
"特征": "特徴量",
"特征提取": "特徴抽出",
"特征检索库文件路径(选择模型后自动匹配,可手动修改)": "特徴インデックスのパス(モデル選択後に自動照合、手動編集可)",
"状态": "状態",
"独占 WASAPI 设备": "WASAPI排他デバイス",
"生成器预训练模型不存在将不使用assets/pretrained%s/%sG%s.pth": "Generator pretrained model not found; it will not be used: assets/pretrained%s/%sG%s.pth",
"留空则使用辅助页已提交的清单": "Leave empty to use the manifest submitted from the helper tab",
"目标采样率": "目標サンプリングレート",
"第%s/%s页共%s行": "Page %s/%s, %s rows",
"等待中": "待機中",
"等待输入": "入力待ち",
"算法延迟(ms):": "アルゴリズム遅延(ms):",
"索引": "インデックス",
"索引文件不存在,将不使用索引继续推理:%s": "インデックスファイルが存在しないため、インデックスなしで推論を続行します: %s",
"索引无效必须使用added_xxxx.index不能使用trained_xxxx.index": "無効なインデックスです。使用してください: added_xxxx.index, not trained_xxxx.index",
"索引检索失败": "インデックス検索に失敗しました",
"索引检索失败或未启用": "インデックス検索に失敗したか無効です",
"索引训练": "インデックス学習",
"耗时": "所要時間",
"耗时:特征=%.3f秒,索引=%.3f秒,音高=%.3f秒,模型=%.3f秒": "所要時間: features=%.3fs, index=%.3fs, pitch=%.3fs, model=%.3fs",
"融合": "マージ",
"要改的模型信息": "変更するモデル情報",
"要置入的模型信息": "挿入するモデル情報",
"训练": "トレーニング",
"训练已完成,正在保存最终模型": "学習が完了しました。最終モデルを保存しています",
"训练文件列表写入完成": "学習ファイル一覧を書き込みました",
"训练模型": "モデルのトレーニング",
"训练特征索引": "特徴インデックスのトレーニング",
"训练设备规则选择的精度:%s": "デバイス規則で選択された学習精度: %s",
"训练轮次:{} [{:.0f}%]": "学習エポック: {} [{:.0f}%]",
"训练集子音频文件夹目录路径": "Dataset audio subfolder path",
"训练集类型": "Dataset type",
"设备类型": "デバイス種別",
"说话人ID0~109": "Speaker ID (0-109)",
"说话人名称": "Speaker name",
"说话人:%sID%s": "Speaker: %s (ID: %s)",
"请上传音频文件": "音声ファイルをアップロードしてください",
"请填写输出文件夹路径": "出力フォルダーのパスを入力してください",
"请指定说话人id": "話者IDを指定してください",
"请选择index文件": "indexファイルを選択してください",
"请选择pth文件": "pthファイルを選択してください",
"请选择说话人id": "話者IDを選択してください",
"转换": "変換",
"输入实验名": "モデル名",
"输入实验名例如test": "実験名test",
"输入待处理音频文件夹路径": "処理するオーディオファイルのフォルダパスを入力してください",
"输入待处理音频文件夹路径(去文件管理器地址栏拷就行了)": "処理対象音声フォルダーのパスを入力してください(エクスプローラーのアドレスバーからコピーしてください)",
"输入源音量包络替换输出音量包络融合比例越靠近1越使用输出包络": "入力ソースの音量エンベロープと出力音量エンベロープの融合率 1に近づくほど、出力音量エンベロープの割合が高くなる",
"输入监听": "入力モニター",
"输入训练文件夹路径": "トレーニング用フォルダのパスを入力してください",
"输入设备": "入力デバイス",
"输入设备:%s:%s": "入力デバイス: %s:%s",
"输入降噪": "入力ノイズの低減",
"输出信息": "出力情報",
"输出变声": "出力変声",
"输出设备": "出力デバイス",
"输出设备:%s:%s": "出力デバイス: %s:%s",
"输出降噪": "出力ノイズの低減",
"输出音频(右下角三个点,点了可以下载)": "出力音声(右下の三点をクリックしてダウンロードできます)",
"运行中": "実行中",
"进度": "進捗",
"选择.index文件": ".indexファイルを選択",
"选择.pth文件": ".pthファイルを選択",
"选择多说话人音色": "Select multi-speaker voice",
"选择模型": "モデルを選択",
"选择索引": "インデックスを選択",
"选择音高提取算法": "ピッチ抽出アルゴリズムを選択",
"采样率:": "サンプルレート:",
"采样长度": "サンプル長",
"重复次数": "Repeat count",
"重载设备列表": "デバイスリストをリロードする",
"音调设置": "音程設定",
"音频设备": "オーディオデバイス",
"音高全部为0该音频无意义跳过%s": "ピッチがすべて0のため、この音声は無効としてスキップします: %s",
"音高算法": "ピッチ方式",
"额外推理时长": "追加推論時間"
}

View File

@@ -1,270 +1,286 @@
{ {
"人声提取激进程度": "보컬 추출 강도", "%s运行中请先停止该任务": "%s이(가) 실행 중입니다. 먼저 중지하세요",
"%s → 成功": "%s → 성공", "====> 轮次:{} {}": "====> 에포크: {} {}",
"%s运行中请先停止该任务": "%s이(가) 실행 중입니다. 먼저 중지하세요", "A模型权重": "A 모델 가중치",
"%s进程已终止": "%s 프로세스가 종료되었습니다", "A模型路径": "A 모델 경로",
"====> 轮次:{} {}": "====> 에포크: {} {}", "B模型路径": "B 모델 경로",
"A模型权重": "A 모델 가중치", "CUDA Graph预热完成": "CUDA Graph 워밍업 완료",
"A模型路径": "A 모델 경로", "CUDA可用%s": "CUDA 사용 가능: %s",
"B模型路径": "B 모델 경로", "输入训练文件夹路径例如E:\\我的训练集": "훈련 폴더 경로(예: E:\\내 훈련 데이터)",
"CUDA可用%s": "CUDA 사용 가능: %s", "F0与HuBERT特征提取": "F0 및 HuBERT 특징 추출",
"E:\\语音音频+标注\\米津玄师\\src": "C:\\Users\\Desktop\\src", "F0提取": "F0 추출",
"F0与HuBERT特征提取": "F0 및 HuBERT 특징 추출", "F0提取没有生成有效结果,已停止训练": "F0 추출에서 유효한 결과가 생성되지 않아 학습을 중지했습니다.",
"F0提取": "F0 추출", "HuBERT特征": "HuBERT 특징",
"F0曲线文件, 可选, 一行一个音高, 代替默认F0及升降调": "F0 곡선 파일, 선택적, 한 줄에 하나의 피치, 기본 F0 및 음높이 조절 대체", "HuBERT特征提取没有生成有效结果已停止训练": "HuBERT 특징 추출에서 유효한 결과가 생성되지 않아 학습을 중지했습니다.",
"HuBERT特征": "HuBERT 특징", "Index Rate": "인덱스 비율",
"Index Rate": "인덱스 비율", "SOLA偏移%d": "SOLA 오프셋: %d",
"RVC模型路径": "RVC 모델 경로", "[F0提取] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[F0 추출] 완료 | 성공: %s | 건너뜀: %s | 실패: %s",
"SOLA偏移%d": "SOLA 오프셋: %d", "[F0提取] 待处理%s": "[F0 추출] Pending: %s",
"[F0提取] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[F0 추출] 완료 | 성공: %s | 건너뜀: %s | 실패: %s", "[F0提取] 无待处理音频,已全部跳过": "[F0 추출] 처리할 오디오가 없으며 모든 파일을 건너뛰었습니다",
"[F0提取] 待处理:%s": "[F0 추출] Pending: %s", "[F0提取] 进度:%s/%s | 成功:%s | 跳过:%s | %s": "[F0 추출] 진행률: %s/%s | 성공: %s | 건너뜀: %s | %s",
"[F0提取] 无待处理音频,已全部跳过": "[F0 추출] 처리할 오디오가 없으며 모든 파일을 건너뛰었습니다", "[F0提取][失败] %s": "[F0 추출][실패] %s",
"[F0提取] 进度:%s/%s | 成功:%s | 跳过:%s | %s": "[F0 추출] 진행률: %s/%s | 성공: %s | 건너뜀: %s | %s", "[F0提取][失败] %s\n%s": "[F0 추출][실패] %s\n%s",
"[F0提取][失败] %s": "[F0 추출][실패] %s", "[HuBERT特征] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[HuBERT 특징] 완료 | 성공: %s | 건너뜀: %s | 실패: %s",
"[F0提取][失败] %s\n%s": "[F0 추출][실패] %s\n%s", "[HuBERT特征] 无待处理音频,已全部跳过:%s": "[HuBERT 특징] 처리할 오디오 없음, 건너뜀: %s",
"[HuBERT特征] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[HuBERT 특징] 완료 | 성공: %s | 건너뜀: %s | 실패: %s", "[HuBERT特征] 正在加载模型:%s": "[HuBERT 특징] 모델 불러오는 중: %s",
"[HuBERT特征] 无待处理音频,已全部跳过:%s": "[HuBERT 특징] 처리할 오디오 없음, 건너뜀: %s", "[HuBERT特征] 设备:%s | 待处理:%s | 已跳过:%s": "[HuBERT 특징] 장치: %s | Pending: %s | 건너뜀: %s",
"[HuBERT特征] 正在加载模型:%s": "[HuBERT 특징] 모델 불러오는 중: %s", "[HuBERT特征] 进度:%s/%s | 成功:%s | 失败:%s | %s | %s": "[HuBERT 특징] 진행률: %s/%s | 성공: %s | 실패: %s | %s | %s",
"[HuBERT特征] 设备:%s | 待处理:%s | 已跳过:%s": "[HuBERT 특징] 장치: %s | Pending: %s | 건너뜀: %s", "[HuBERT特征][失败] %s\n%s": "[HuBERT 특징][실패] %s\n%s",
"[HuBERT特征] 进度:%s/%s | 成功:%s | 失败:%s | %s | %s": "[HuBERT 특징] 진행률: %s/%s | 성공: %s | 실패: %s | %s | %s", "[HuBERT特征][失败] %s 包含NaN": "[HuBERT 특징][실패] %s contains NaN values",
"[HuBERT特征][失败] %s\n%s": "[HuBERT 특징][실패] %s\n%s", "[HuBERT特征][失败] 模型不存在:%s": "[HuBERT 특징][실패] 모델 not found: %s",
"[HuBERT特征][失败] %s 包含NaN": "[HuBERT 특징][실패] %s contains NaN values", "[数据切分] 多说话人待处理:%s | 进程数:%s": "[Dataset preprocessing] Multi-speaker files: %s | Workers: %s",
"[HuBERT特征][失败] 模型不存在:%s": "[HuBERT 특징][실패] 모델 not found: %s", "[数据切分] 子任务完成 | 成功:%s | 失败:%s": "[데이터 분할] 하위 작업 완료 | 성공: %s | 실패: %s",
"[数据切分] 子任务完成 | 成功:%s | 失败:%s": "[데이터 분할] 하위 작업 완료 | 성공: %s | 실패: %s", "[数据切分] 完成": "[데이터 분할] 완료",
"[数据切分] 完成": "[데이터 분할] 완료", "[数据切分] 开始": "[데이터 분할] 시작",
"[数据切分] 开始": "[데이터 분할] 시작", "[数据切分] 待处理:%s | 进程数:%s": "[데이터 분할] Pending: %s | 프로세스 수: %s",
"[数据切分] 待处理:%s | 进程数:%s": "[데이터 분할] Pending: %s | 프로세스 수: %s", "[数据切分] 进度:%s/%s | %s": "[데이터 분할] 진행률: %s/%s | %s",
"[数据切分] 进度:%s/%s | %s": "[데이터 분할] 진행률: %s/%s | %s", "[数据切分][失败] %s": "[데이터 분할][실패] %s",
"[数据切分][失败] %s": "[데이터 분할][실패] %s", "[数据切分][失败] %s\n%s": "[데이터 분할][실패] %s\n%s",
"[数据切分][失败] %s\n%s": "[데이터 분할][실패] %s\n%s", "[数据切分][跳过] 无效或异常音频片段:%s_%s | 峰值:%s": "[데이터 분할][건너뜀] 잘못되었거나 비정상적인 오디오 구간: %s_%s | 피크: %s",
"[数据切分][跳过] 无效或异常音频片段:%s_%s | 峰值:%s": "[데이터 분할][건너뜀] 잘못되었거나 비정상적인 오디오 구간: %s_%s | 피크: %s", "[索引训练] 写入进度:%s/%s": "[인덱스 학습] 쓰기 진행률: %s/%s",
"[索引训练] 写入进度:%s/%s": "[인덱스 학습] 쓰기 진행률: %s/%s", "[索引训练] 外部索引链接已存在:%s": "[인덱스 학습] 외부 인덱스 링크가 이미 있습니다: %s",
"[索引训练] 已链接索引到外部目录:%s": "[인덱스 학습] 인덱스를 외부 폴더에 연결했습니다: %s", "[索引训练] 已链接索引到外部目录:%s": "[인덱스 학습] 인덱스를 외부 폴더에 연결했습니다: %s",
"[索引训练] 成功构建索引:%s": "[인덱스 학습] 인덱스를 성공적으로 생성했습니다: %s", "[索引训练] 成功构建索引:%s": "[인덱스 학습] 인덱스를 성공적으로 생성했습니다: %s",
"[索引训练] 正在写入特征向量": "[인덱스 학습] 특징 벡터 추가 중", "[索引训练] 正在写入特征向量": "[인덱스 학습] 특징 벡터 추가 중",
"[索引训练] 正在将%s条特征聚类为10000个中心": "[인덱스 학습] Clustering %s feature vectors into 10,000 centers", "[索引训练] 正在将%s条特征聚类为10000个中心": "[인덱스 학습] Clustering %s feature vectors into 10,000 centers",
"[索引训练] 正在训练索引": "[인덱스 학습] 인덱스 학습 중", "[索引训练] 正在训练索引": "[인덱스 학습] 인덱스 학습 중",
"[索引训练] 特征形状:%s | IVF数量%s": "[인덱스 학습] 특징 형태: %s | IVF 수: %s", "[索引训练] 特征形状:%s | IVF数量%s": "[인덱스 학습] 특징 형태: %s | IVF 수: %s",
"[索引训练][失败] 无法链接索引到外部目录:%s\n%s": "[인덱스 학습][실패] 인덱스를 외부 폴더에 연결하지 못했습니다: %s\n%s", "[索引训练][失败] 无法链接索引到外部目录:%s\n%s": "[인덱스 학습][실패] 인덱스를 외부 폴더에 연결하지 못했습니다: %s\n%s",
"[索引训练][失败] 聚类失败,将使用原始特征继续\n%s": "[인덱스 학습][실패] 클러스터링에 실패하여 원본 특징으로 계속합니다\n%s", "[索引训练][失败] 聚类失败,将使用原始特征继续\n%s": "[인덱스 학습][실패] 클러스터링에 실패하여 원본 특징으로 계속합니다\n%s",
"[索引训练][失败] 请先进行特征提取": "[인덱스 학습][실패] 먼저 특징을 추출하세요", "[索引训练][失败] 请先进行特征提取": "[인덱스 학습][실패] 먼저 특징을 추출하세요",
"ckpt处理": "ckpt 처리", "[索引训练][跳过] added索引已存在%s": "[인덱스 학습][건너뜀] added 인덱스가 이미 있습니다: %s",
"index文件路径不可包含中文": "index 파일 경로는 중국어를 포함할 수 없음", "[索引训练][跳过] trained索引已存在%s": "[인덱스 학습][건너뜀] trained 인덱스가 이미 있습니다: %s",
"pth文件路径不可包含中文": "pth 파일 경로는 중국어를 포함할 수 없음", "ckpt处理": "ckpt 처리",
"rmvpe卡号配置以-分隔输入使用的不同进程卡号,例如0-0-1使用卡0上跑2个进程并在卡1上跑1个进程": "rmvpe 카드 번호 설정: -로 구분된 입력 사용 카드 번호, 예: 0-0-1은 카드 0에서 2개 프로세스, 카드 1에서 1개 프로세스 실행", "hubert:以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2": "HuBERT: Enter GPU IDs separated by hyphens; for example, 0-1-2 uses GPUs 0, 1, and 2",
"step1: 填写实验配置. 实验数据放在logs下, 每个实验一个文件夹, 需手工输入实验名路径, 内含实验配置, 日志, 训练得到的模型文件. ": "step1: 실험 구성 작성. 실험 데이터는 logs에 저장, 각 실험은 하나의 폴더, 수동으로 실험 이름 경로 입력 필요, 실험 구성, 로그, 훈련된 모델 파일 포함.", "index文件路径不可包含中文": "index 파일 경로는 중국어를 포함할 수 없음",
"step1:正在处理数据": "step1: 데이터 처리 중", "pth文件路径不可包含中文": "pth 파일 경로는 중국어를 포함할 수 없음",
"step2:正在提取音高&正在提取特征": "step2: 음높이 추출 & 특징 추출 중", "rmvpe卡号配置以-分隔输入使用的不同进程卡号,例如0-0-1使用在卡0上跑2个进程并在卡1上跑1个进程": "rmvpe 카드 번호 설정: -로 구분된 입력 사용 카드 번호, 예: 0-0-1은 카드 0에서 2개 프로세스, 카드 1에서 1개 프로세스 실행",
"step2a: 自动遍历训练文件夹下所有可解码成音频的文件并进行切片归一化, 在实验目录下生成2个wav文件夹; 暂时只支持单人训练. ": "step2a: 훈련 폴더 아래 모든 오디오로 디코딩 가능한 파일을 자동 순회하며 슬라이스 정규화 진행, 실험 디렉토리 아래 2개의 wav 폴더 생성; 현재 단일 사용자 훈련만 지원.", "step1: 填写实验配置. 实验数据放在logs下, 每个实验一个文件夹, 需手工输入实验名路径, 内含实验配置, 日志, 训练得到的模型文件. ": "step1: 실험 구성 작성. 실험 데이터는 logs에 저장, 각 실험은 하나의 폴더, 수동으로 실험 이름 경로 입력 필요, 실험 구성, 로그, 훈련된 모델 파일 포함.",
"step2b: 使用CPU提取音高(如果模型带音高), 使用GPU提取特征(选择卡号)": "step2b: CPU를 사용하여 음높이 추출(모델이 음높이 포함 시), GPU를 사용하여 특징 추출(카드 번호 선택)", "step2a: 扫描训练音频并进行切片归一化在实验目录下生成训练wav文件。": "Step 2a: Scan, slice, and normalize training audio, then create training WAV files in the experiment directory.",
"step3: 填写训练设置, 开始训练模型和索引": "step3: 훈련 설정 작성, 모델 및 인덱스 훈련 시작", "step2b: 音高与hubert语义特征提取": "2단계 2b: 피치 및 HuBERT 의미 특징 추출",
"step3a:正在训练模型": "step3a: 모델 훈련 ", "step3: 填写训练设置, 开始训练模型和索引": "step3: 훈련 설정 작성, 모델 및 인덱스 훈련 시작",
"step3b:正在训练索引": "3b단계: 인덱스 학습 중", "……仅显示最近10条失败记录": "…최근 실패 10개만 표시합니다",
"……仅显示最近10条失败记录": "…최근 실패 10개만 표시합니다", "……已省略前%s行仅显示最新状态": "…앞의 %s줄을 생략하고 최신 상태만 표시합니다",
"……已省略前%s行仅显示最新状态": "…앞의 %s줄을 생략하고 최신 상태만 표시합니다", "一键训练": "원클릭 훈련",
"一键训练": "원클릭 훈련", "上一页": "Previous",
"也可批量输入音频文件, 二选一, 优先读文件夹": "여러 오디오 파일을 일괄 입력할 수도 있음, 둘 중 하나 선택, 폴더 우선 읽기", "下一页": "Next",
"仅支持pm和rmvpe音高提取算法": "피치 추출 방식은 pm과 rmvpe만 지원합니다", "为多说话人训练集建立清单。空行会被忽略路径、说话人名称、说话人ID或重复次数填写不全的行会在提交时提示。": "Create a multi-speaker dataset manifest. Empty rows are ignored; incomplete path, speaker name, speaker ID, or repeat count fields are reported on submission.",
"从训练检查点提取的模型": "학습 체크포인트에서 추출한 모델", "主结果文件夹": "주 결과 폴더",
"以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2": "-로 구분하여 입력하는 카드 번호, 예: 0-1-2는 카드 0, 카드 1, 카드 2 사용", "也可批量输入音频文件, 二选一, 优先读文件夹": "여러 오디오 파일을 일괄 입력할 수도 있음, 둘 중 하나 선택, 폴더 우선 읽기",
"任务": "작업", "人声、伴奏与混响批量处理使用pymss/MSST模型。": "pymss/MSST 모델로 보컬, 반주 및 잔향을 일괄 처리합니다.",
"使用显卡:%s": "사용 GPU: %s", "人声伴奏分离&去混响": "보컬/반주 분리 및 잔향 제거",
"使用模型采样率": "모델 샘플링 레이트 사용", "仅支持pm和rmvpe音高提取算法": "피치 추출 방식은 pm과 rmvpe만 지원합니다",
"使用设备采样率": "장치 샘플링 레이트 사용", "从训练检查点提取的模型": "학습 체크포인트에서 추출한 모델",
"保存名": "저장 이름", "以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2": "-로 구분하여 입력하는 카드 번호, 예: 0-1-2는 카드 0, 카드 1, 카드 2 사용",
"保存的文件名, 默认空为和源文件同名": "저장될 파일명, 기본적으로 빈 공간은 원본 파일과 동일한 이름으로", "以下行填写不完整或无效,已忽略:%s": "The following incomplete or invalid rows were ignored: %s",
"保存的模型名不带后缀": "저장된 모델명은 접미사 없음", "任务": "작업",
"保存频率save_every_epoch": "저장 빈도 save_every_epoch", "使用显卡:%s": "사용 GPU: %s",
"保护清辅音和呼吸声防止电音撕裂等artifact拉满0.5不开启,调低加大保护力度但可能降低索引效果": "청자음과 호흡 소리를 보호, 전자음 찢김 등의 아티팩트 방지, 0.5까지 올려서 비활성화, 낮추면 보호 강도 증가하지만 인덱스 효과 감소 가능성 있음", "使用模型采样率": "모델 샘플링 레이트 사용",
"修改": "수정", "使用设备采样率": "장치 샘플링 레이트 사용",
"修改模型信息(仅支持weights文件夹下提取的小模型文件)": "모델 정보 수정(오직 weights 폴더 아래에서 추출된 작은 모델 파일만 지원)", "保存名": "저장 이름",
"停止一键训练": "원클릭 학습 중지", "保存的文件名, 默认空为和源文件同名": "저장될 파일명, 기본적으로 빈 공간은 원본 파일과 동일한 이름으로",
"停止处理数据": "데이터 전처리 중지", "保存的模型名不带后缀": "저장된 모델명은 접미사 없음",
"停止特征提取": "특징 추출 중지", "保存频率save_every_epoch": "저장 빈도 save_every_epoch",
"停止训练模型": "모델 학습 중지", "保护清辅音和呼吸声防止电音撕裂等artifact拉满0.5不开启,调低加大保护力度但可能降低索引效果": "청자음과 호흡 소리를 보호, 전자음 찢김 등의 아티팩트 방지, 0.5까지 올려서 비활성화, 낮추면 보호 강도 증가하지만 인덱스 효과 감소 가능성 있음",
"停止训练索引": "인덱스 학습 중지", "修改": "수정",
"停止音频转换": "오디오 변환 중지", "修改模型信息(仅支持weights文件夹下提取的小模型文件)": "모델 정보 수정(오직 weights 폴더 아래에서 추출된 작은 모델 파일만 지원)",
"全流程结束!": "전체 과정 완료!", "停止一键训练": "원클릭 학습 중지",
"判别器预训练模型不存在将不使用assets/pretrained%s/%sD%s.pth": "Discriminator pretrained model not found; it will not be used: assets/pretrained%s/%sD%s.pth", "停止分离": "분리 중지",
"加载模型": "모델 로드", "停止处理数据": "데이터 전처리 중지",
"加载预训练底模D路径": "미리 훈련된 베이스 모델 D 경로 로드", "停止特征提取": "특징 추출 중지",
"加载预训练底模G路径": "미리 훈련된 베이스 모델 G 경로 로드", "停止训练模型": "모델 학습 중지",
"单次推理": "단일 추론", "停止训练索引": "인덱스 학습 중지",
"卸载音色省显存": "음색 언로드로 디스플레이 메모리 절약", "停止音频转换": "오디오 변환 중지",
"变调(整数, 半音数量, 升八度12降八度-12)": "키 변경(정수, 반음 수, 옥타브 상승 12, 옥타브 하강 -12)",
"合成": "합성",
"后处理重采样至最终采样率0为不进行重采样": "후처리 재샘플링을 최종 샘플링 레이트로, 0은 재샘플링하지 않음",
"否": "아니오",
"响应阈值": "응답 임계값",
"响度因子": "음량 인자",
"处理中": "처리 중",
"处理数据": "데이터 처리",
"失败": "실패",
"失败记录": "실패 기록",
"子进程执行失败,返回码:%s": "하위 프로세스가 종료 코드와 함께 실패했습니다: %s",
"导出文件格式": "내보낼 파일 형식",
"已停止": "중지됨",
"已加载判别器预训练模型:%s": "판별기 사전 학습 모델을 불러왔습니다: %s",
"已加载生成器预训练模型:%s": "생성기 사전 학습 모델을 불러왔습니다: %s",
"已启用索引检索": "인덱스 검색 활성화됨",
"已完成": "완료",
"已恢复判别器检查点": "판별기 체크포인트를 복원했습니다",
"常见问题解答": "자주 묻는 질문",
"常规设置": "일반 설정",
"开始音频转换": "오디오 변환 시작",
"当前": "현재",
"当前阶段": "현재 단계",
"很遗憾您这没有能用的显卡来支持您训练": "사용 가능한 그래픽 카드가 없어 훈련을 지원할 수 없습니다",
"性别因子/声线粗细": "성별 계수 / 음색 굵기",
"性能设置": "성능 설정",
"总训练轮数total_epoch": "총 훈련 라운드 수 total_epoch",
"成功": "성공",
"执行命令": "실행 명령",
"批量推理": "일괄 추론",
"批量转换, 输入待转换音频文件夹, 或上传多个音频文件, 在指定文件夹(默认opt)下输出转换的音频. ": "일괄 변환, 변환할 오디오 파일 폴더 입력 또는 여러 오디오 파일 업로드, 지정된 폴더(기본값 opt)에 변환된 오디오 출력.",
"拖拽或点击上传待处理音频": "처리할 오디오를 끌어다 놓거나 클릭하여 업로드",
"指定输出主人声文件夹": "주된 목소리 출력 폴더 지정",
"指定输出文件夹": "출력 파일 폴더 지정",
"指定输出非主人声文件夹": "주된 목소리가 아닌 출력 폴더 지정",
"推理时间(ms):": "추론 시간(ms):",
"推理耗时:%.2f秒": "추론 시간: %.2f seconds",
"推理音色": "추론 음색",
"提取": "추출",
"提取音高和处理数据使用的CPU进程数": "음높이 추출 및 데이터 처리에 사용되는 CPU 프로세스 수",
"数据切分": "데이터 분할",
"无法停止": "중지할 수 없음",
"无法读取音频:%s": "오디오를 읽지 못했습니다: %s",
"是": "예",
"是否仅保存最新的ckpt文件以节省硬盘空间": "디스크 공간을 절약하기 위해 최신 ckpt 파일만 저장할지 여부",
"是否在每次保存时间点将最终小模型保存至weights文件夹": "저장 시마다 최종 소형 모델을 weights 폴더에 저장할지 여부",
"是否缓存所有训练集至显存. 10min以下小数据可缓存以加速训练, 大数据缓存会炸显存也加不了多少速": "모든 훈련 세트를 VRAM에 캐시할지 여부. 10분 미만의 소량 데이터는 캐시하여 훈련 속도를 높일 수 있지만, 대량 데이터 캐시는 VRAM을 과부하시키고 속도를 크게 향상시키지 못함",
"显卡信息": "그래픽 카드 정보",
"未使用": "사용 안 함",
"未使用判别器预训练模型": "판별기 사전 학습 모델을 사용하지 않음",
"未使用生成器预训练模型": "생성기 사전 학습 모델을 사용하지 않음",
"未找到Roformer模型配置文件正在使用内置默认配置": "Roformer 모델 설정을 찾지 못해 내장 기본값을 사용합니다",
"未检测到可用显卡将使用CPU训练耗时可能较长": "지원되는 GPU가 감지되지 않았습니다. CPU 학습은 훨씬 오래 걸릴 수 있습니다",
"未运行": "실행 안 됨",
"本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责. <br>如不认可该条款, 则不能使用或引用软件包内任何代码和文件. 详见根目录<b>LICENSE</b>.": "이 소프트웨어는 MIT 라이선스로 공개되며, 저자는 소프트웨어에 대해 어떠한 통제권도 가지지 않습니다. 모든 귀책사유는 소프트웨어 사용자 및 소프트웨어에서 생성된 결과물을 사용하는 당사자에게 있습니다. <br>해당 조항을 인정하지 않는 경우, 소프트웨어 패키지의 어떠한 코드나 파일도 사용하거나 인용할 수 없습니다. 자세한 내용은 루트 디렉토리의 <b>LICENSE</b>를 참조하세요.",
"查看": "보기",
"查看模型信息(仅支持weights文件夹下提取的小模型文件)": "모델 정보 보기(오직 weights 폴더에서 추출된 소형 모델 파일만 지원)",
"检测到模型类型:%s": "감지된 모델 유형: %s",
"检索特征占比": "검색 특징 비율",
"模型": "모델",
"模型信息:%s\n采样率%s\n是否使用音高引导%s\n版本%s": "모델 정보: %s\n샘플링 레이트: %s\n피치 가이드: %s\n버전: %s",
"模型推理": "모델 추론",
"模型提取(输入logs文件夹下大文件模型路径),适用于训一半不想训了模型没有自动提取保存小文件模型,或者想测试中间模型的情况": "모델 추출(logs 폴더 아래의 큰 파일 모델 경로 입력), 훈련 중간에 중단한 모델의 자동 추출 및 소형 파일 모델 저장이 안 되거나 중간 모델을 테스트하고 싶은 경우에 적합",
"模型是否带音高指导": "모델이 음높이 지도를 포함하는지 여부",
"模型是否带音高指导(唱歌一定要, 语音可以不要)": "모델이 음높이 지도를 포함하는지 여부(노래에는 반드시 필요, 음성에는 필요 없음)",
"模型是否带音高指导,1是0否": "모델이 음높이 지도를 포함하는지 여부, 1은 예, 0은 아니오",
"模型版本型号": "모델 버전 및 모델",
"模型融合, 可用于测试音色融合": "모델 융합, 음색 융합 테스트에 사용 가능",
"模型融合失败:两个模型的结构不一致": "두 모델의 구조가 일치하지 않아 모델 병합에 실패했습니다",
"模型训练": "모델 학습",
"模型路径": "모델 경로",
"正在保存最终检查点:%s": "최종 체크포인트 저장 중: %s",
"正在保存检查点 %s_e%s%s": "체크포인트 저장 중 %s_e%s: %s",
"正在加载RMVPE模型": "RMVPE 모델 불러오는 중",
"正在加载模型": "모델 불러오는 중",
"正在启动": "시작 중",
"正在收尾": "마무리 중",
"每张显卡的batch_size": "각 그래픽 카드의 batch_size",
"淡入淡出长度": "페이드 인/아웃 길이",
"清理模型缓存": "모델 캐시 정리 중",
"版本": "버전",
"特征": "특징",
"特征提取": "특징 추출",
"状态": "상태",
"独占 WASAPI 设备": "WASAPI 독점 장치",
"生成器预训练模型不存在将不使用assets/pretrained%s/%sG%s.pth": "Generator pretrained model not found; it will not be used: assets/pretrained%s/%sG%s.pth",
"男转女推荐+12key, 女转男推荐-12key, 如果音域爆炸导致音色失真也可以自己调整到合适音域. ": "남성에서 여성으로 변경 시 +12 키 권장, 여성에서 남성으로 변경 시 -12 키 권장, 음역대 폭발로 음색이 왜곡되면 적절한 음역대로 조정 가능.",
"目标采样率": "목표 샘플링률",
"等待中": "대기 중",
"等待输入": "입력 대기 중",
"算法延迟(ms):": "알고리즘 지연(ms):",
"索引": "인덱스",
"索引无效必须使用added_xxxx.index不能使用trained_xxxx.index": "잘못된 인덱스입니다. 다음을 사용하세요: added_xxxx.index, not trained_xxxx.index",
"索引检索失败": "인덱스 검색 실패",
"索引检索失败或未启用": "인덱스 검색 실패 또는 비활성화됨",
"索引训练": "인덱스 학습",
"耗时": "소요 시간",
"耗时:特征=%.3f秒,索引=%.3f秒,音高=%.3f秒,模型=%.3f秒": "소요 시간: features=%.3fs, index=%.3fs, pitch=%.3fs, model=%.3fs",
"融合": "융합",
"要改的模型信息": "변경할 모델 정보",
"要置入的模型信息": "삽입할 모델 정보",
"训练": "훈련",
"训练已完成,正在保存最终模型": "학습 완료, 최종 모델을 저장합니다",
"训练文件列表写入完成": "학습 파일 목록 저장 완료",
"训练模型": "모델 훈련",
"训练特征索引": "특징 인덱스 훈련",
"训练结束, 您可查看控制台训练日志或实验文件夹下的train.log": "훈련 완료, 콘솔 훈련 로그 또는 실험 폴더 내의 train.log 확인 가능",
"训练设备规则选择的精度:%s": "장치 규칙에 따라 선택한 학습 정밀도: %s",
"训练轮次:{} [{:.0f}%]": "학습 에포크: {} [{:.0f}%]",
"设备类型": "장치 유형",
"请上传音频文件": "오디오 파일을 업로드하세요",
"请填写输出文件夹路径": "출력 폴더 경로를 입력하세요",
"请指定说话人id": "화자 ID 지정 필요",
"请选择index文件": "index 파일 선택",
"请选择pth文件": "pth 파일 선택",
"请选择说话人id": "화자 ID 선택",
"转换": "변환",
"输入实验名": "실험명 입력",
"输入待处理音频文件夹路径": "처리할 오디오 파일 폴더 경로 입력",
"输入待处理音频文件夹路径(去文件管理器地址栏拷就行了)": "처리할 오디오 파일 폴더 경로 입력(파일 탐색기 주소 표시줄에서 복사)",
"输入待处理音频文件路径(默认是正确格式示例)": "처리할 오디오 파일 경로 입력(기본적으로 올바른 형식 예시)",
"输入源音量包络替换输出音量包络融合比例越靠近1越使用输出包络": "입력 소스 볼륨 엔벨로프와 출력 볼륨 엔벨로프의 결합 비율 입력, 1에 가까울수록 출력 엔벨로프 사용",
"输入监听": "입력 모니터링",
"输入训练文件夹路径": "훈련 파일 폴더 경로 입력",
"输入设备": "입력 장치",
"输入设备:%s:%s": "입력 장치: %s:%s",
"输入降噪": "입력 노이즈 감소",
"输出信息": "출력 정보",
"输出变声": "출력 음성 변환",
"输出设备": "출력 장치",
"输出设备:%s:%s": "출력 장치: %s:%s",
"输出降噪": "출력 노이즈 감소",
"输出音频(右下角三个点,点了可以下载)": "출력 오디오(오른쪽 하단 세 개의 점, 클릭하면 다운로드 가능)",
"运行中": "실행 중",
"进度": "진행률",
"选择.index文件": ".index 파일 선택",
"选择.pth文件": ".pth 파일 선택",
"选择模型": "모델 선택",
"选择索引": "인덱스 선택",
"选择音高提取算法": "피치 추출 알고리즘 선택",
"采样率:": "샘플링 레이트:",
"采样长度": "샘플링 길이",
"重载设备列表": "장치 목록 재로드",
"错误信息:%s": "오류 정보: %s",
"错误:未知模型:%s": "오류: 알 수 없는 모델: %s",
"音调设置": "음조 설정",
"音频包含多个声道,但模型仅支持单声道,将对所有声道取平均值": "오디오가 다채널이지만 모델은 모노이므로 모든 채널의 평균을 사용합니다",
"音频设备": "오디오 장치",
"音高全部为0该音频无意义跳过%s": "모든 피치 값이 0이므로 이 오디오는 무의미하여 건너뜁니다: %s",
"音高算法": "피치 알고리즘",
"额外推理时长": "추가 추론 시간",
"数据切分没有生成有效训练音频,请检查训练集和数据切分日志": "데이터 전처리에서 유효한 학습 오디오가 생성되지 않았습니다. 데이터셋과 전처리 로그를 확인하세요.",
"数据切分没有生成16k音频已停止后续特征提取和训练": "데이터 전처리에서 16 kHz 오디오가 생성되지 않아 특징 추출과 학습을 중지했습니다.",
"数据切分输出文件不匹配,已停止后续特征提取和训练": "데이터 전처리 출력 파일이 일치하지 않아 특징 추출과 학습을 중지했습니다.",
"HuBERT特征提取没有生成有效结果已停止训练": "HuBERT 특징 추출에서 유효한 결과가 생성되지 않아 학습을 중지했습니다.",
"F0提取没有生成有效结果已停止训练": "F0 추출에서 유효한 결과가 생성되지 않아 학습을 중지했습니다.",
"没有可用于训练的有效音频,请先完成数据切分和特征提取": "학습에 사용할 유효한 오디오가 없습니다. 먼저 데이터 전처리와 특징 추출을 완료하세요.",
"已完成阶段": "완료된 단계",
"已成功": "성공",
"刷新音色列表": "음색 목록 새로고침",
"特征检索库文件路径(选择模型后自动匹配,可手动修改)": "특징 인덱스 경로(모델 선택 후 자동 매칭, 수동 수정 가능)",
"[索引训练] 外部索引链接已存在:%s": "[인덱스 학습] 외부 인덱스 링크가 이미 있습니다: %s",
"[索引训练][跳过] added索引已存在%s": "[인덱스 학습][건너뜀] added 인덱스가 이미 있습니다: %s",
"[索引训练][跳过] trained索引已存在%s": "[인덱스 학습][건너뜀] trained 인덱스가 이미 있습니다: %s",
"当前设备:%s | 推理精度:%s": "현재 장치: %s | 추론 정밀도: %s",
"正在预热CUDA Graph": "CUDA Graph 워밍업 중",
"CUDA Graph预热完成": "CUDA Graph 워밍업 완료",
"数据提取开始start_time=%.6f,请求并行数=%s实际并行数上限=%s": "데이터 추출 시작: start_time=%.6f, 요청 병렬 수=%s, 실제 병렬 상한=%s",
"数据提取结束end_time=%.6f,总耗时=%.3f秒": "데이터 추출 완료: end_time=%.6f, 총 소요 시간=%.3f초",
"人声伴奏分离&去混响": "보컬/반주 분리 및 잔향 제거",
"人声、伴奏与混响批量处理使用pymss/MSST模型。": "pymss/MSST 모델로 보컬, 반주 및 잔향을 일괄 처리합니다.",
"处理方式": "처리 방식",
"底层模型": "기반 모델",
"主结果文件夹": "주 결과 폴더",
"分离残余文件夹": "잔여 결과 폴더", "分离残余文件夹": "잔여 결과 폴더",
"停止分离": "분리 중지" "删除末行": "Remove last row",
} "判别器预训练模型不存在将不使用assets/pretrained%s/%sD%s.pth": "Discriminator pretrained model not found; it will not be used: assets/pretrained%s/%sD%s.pth",
"刷新音色列表": "음색 목록 새로고침",
"加载模型": "모델 로드",
"加载预训练底模D路径": "미리 훈련된 베이스 모델 D 경로 로드",
"加载预训练底模G路径": "미리 훈련된 베이스 모델 G 경로 로드",
"单次推理": "단일 추론",
"单说话人": "Single speaker",
"卸载音色省显存": "음색 언로드로 디스플레이 메모리 절약",
"变调(整数, 半音数量, 升八度12降八度-12)": "키 변경(정수, 반음 수, 옥타브 상승 12, 옥타브 하강 -12)",
"合成": "합성",
"后处理重采样至最终采样率0为不进行重采样": "후처리 재샘플링을 최종 샘플링 레이트로, 0은 재샘플링하지 않음",
"否": "아니오",
"响应阈值": "응답 임계값",
"响度因子": "음량 인자",
"处理中": "처리 중",
"处理数据": "데이터 처리",
"处理方式": "처리 방식",
"多说话人": "Multiple speakers",
"注意:多说话人训练音色还原度不一定有单说话人分开训练好!": "주의: 다중 화자 학습은 화자별로 따로 학습할 때보다 음색 재현도가 낮을 수 있습니다!",
"多说话人子文件夹无效格式应为名称_ID_重复次数、ID为0~109、重复次数为正整数、同一ID的名称需一致且目录需有音频%s": "Invalid multi-speaker subfolders (expected Name_ID_Repeat, ID 0-109, a positive repeat count, one consistent name per ID, and at least one audio file): %s",
"多说话人总文件夹只扫描根目录下的直接子文件夹,根目录文件会被忽略。\n子文件夹必须命名为x_y_zx是说话人名称y是说话人ID0~109共110个z是训练集重复次数。\n也可以到右侧“多说话人训练集辅助”编辑并提交训练集清单。": "Only direct subfolders of the multi-speaker root are scanned; root files are ignored.\nName each subfolder x_y_z: x is the speaker name, y is the speaker ID (0-109, 110 choices), and z is the repeat count.\nYou can also submit a manifest from the Multi-speaker Dataset Helper tab.",
"多说话人训练集总文件夹不存在:%s": "Multi-speaker dataset root does not exist: %s",
"多说话人训练集总文件夹中没有有效音频": "The multi-speaker dataset root contains no valid audio",
"多说话人训练集总文件夹中没有直接子文件夹": "The multi-speaker dataset root has no direct subfolders",
"多说话人训练集总文件夹路径": "Multi-speaker dataset root",
"多说话人训练集清单不存在,请先提交辅助清单或填写总文件夹": "The multi-speaker manifest does not exist. Submit it from the helper tab or enter a dataset root first",
"多说话人训练集清单包含无效条目:%s": "The multi-speaker manifest contains an invalid entry: %s",
"多说话人训练集清单存在重复输出标识:%s": "The multi-speaker manifest contains a duplicate output key: %s",
"多说话人训练集清单已保存:%s有效音频%s个": "Multi-speaker dataset manifest saved: %s; valid audio files: %s",
"多说话人训练集清单格式错误": "The multi-speaker manifest format is invalid",
"多说话人训练集清单没有有效音频": "The multi-speaker manifest contains no valid audio",
"多说话人训练集辅助": "Multi-speaker Dataset Helper",
"失败": "실패",
"失败记录": "실패 기록",
"子进程执行失败,返回码:%s": "하위 프로세스가 종료 코드와 함께 실패했습니다: %s",
"实验名不能为空": "Experiment name is required",
"导出文件格式": "내보낼 파일 형식",
"已停止": "중지됨",
"已加载判别器预训练模型:%s": "판별기 사전 학습 모델을 불러왔습니다: %s",
"已加载生成器预训练模型:%s": "생성기 사전 학습 모델을 불러왔습니다: %s",
"已启用索引检索": "인덱스 검색 활성화됨",
"已完成": "완료",
"已完成阶段": "완료된 단계",
"已恢复判别器检查点": "판별기 체크포인트를 복원했습니다",
"已成功": "성공",
"常见问题解答": "자주 묻는 질문",
"常规设置": "일반 설정",
"底层模型": "기반 모델",
"开始音频转换": "오디오 변환 시작",
"当前": "현재",
"当前设备:%s | 推理精度:%s": "현재 장치: %s | 추론 정밀도: %s",
"当前阶段": "현재 단계",
"很遗憾您这没有能用的显卡来支持您训练": "사용 가능한 그래픽 카드가 없어 훈련을 지원할 수 없습니다",
"性别因子/声线粗细": "성별 계수 / 음색 굵기",
"性能设置": "성능 설정",
"总训练轮数total_epoch": "총 훈련 라운드 수 total_epoch",
"成功": "성공",
"执行命令": "실행 명령",
"批量推理": "일괄 추론",
"批量转换, 输入待转换音频文件夹, 或上传多个音频文件, 在指定文件夹(默认opt)下输出转换的音频. ": "일괄 변환, 변환할 오디오 파일 폴더 입력 또는 여러 오디오 파일 업로드, 지정된 폴더(기본값 opt)에 변환된 오디오 출력.",
"拖拽或点击上传待处理音频": "처리할 오디오를 끌어다 놓거나 클릭하여 업로드",
"指定输出文件夹": "출력 파일 폴더 지정",
"推理时间(ms):": "추론 시간(ms):",
"推理耗时:%.2f秒": "추론 시간: %.2f seconds",
"推理音色": "추론 음색",
"提交训练集清单": "Submit dataset manifest",
"提取": "추출",
"提取音高和处理数据使用的CPU进程数": "음높이 추출 및 데이터 처리에 사용되는 CPU 프로세스 수",
"数据切分": "데이터 분할",
"数据切分没有生成16k音频已停止后续特征提取和训练": "데이터 전처리에서 16 kHz 오디오가 생성되지 않아 특징 추출과 학습을 중지했습니다.",
"数据切分没有生成有效训练音频,请检查训练集和数据切分日志": "데이터 전처리에서 유효한 학습 오디오가 생성되지 않았습니다. 데이터셋과 전처리 로그를 확인하세요.",
"数据切分输出文件不匹配,已停止后续特征提取和训练": "데이터 전처리 출력 파일이 일치하지 않아 특징 추출과 학습을 중지했습니다.",
"数据提取开始start_time=%.6f,请求并行数=%s实际并行数上限=%s": "데이터 추출 시작: start_time=%.6f, 요청 병렬 수=%s, 실제 병렬 상한=%s",
"数据提取结束end_time=%.6f,总耗时=%.3f秒": "데이터 추출 완료: end_time=%.6f, 총 소요 시간=%.3f초",
"新增一行": "Add row",
"无法停止": "중지할 수 없음",
"是": "예",
"是否仅保存最新的ckpt文件以节省硬盘空间": "디스크 공간을 절약하기 위해 최신 ckpt 파일만 저장할지 여부",
"是否在每次保存时间点将最终小模型保存至weights文件夹": "저장 시마다 최종 소형 모델을 weights 폴더에 저장할지 여부",
"是否缓存所有训练集至显存. 10min以下小数据可缓存以加速训练, 大数据缓存会炸显存也加不了多少速": "모든 훈련 세트를 VRAM에 캐시할지 여부. 10분 미만의 소량 데이터는 캐시하여 훈련 속도를 높일 수 있지만, 대량 데이터 캐시는 VRAM을 과부하시키고 속도를 크게 향상시키지 못함",
"显卡信息": "그래픽 카드 정보",
"未使用": "사용 안 함",
"未使用判别器预训练模型": "판별기 사전 학습 모델을 사용하지 않음",
"未使用生成器预训练模型": "생성기 사전 학습 모델을 사용하지 않음",
"未检测到可用显卡将使用CPU训练耗时可能较长": "지원되는 GPU가 감지되지 않았습니다. CPU 학습은 훨씬 오래 걸릴 수 있습니다",
"未运行": "실행 안 됨",
"本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责. <br>如不认可该条款, 则不能使用或引用软件包内任何代码和文件. 详见根目录<b>LICENSE</b>.": "이 소프트웨어는 MIT 라이선스로 공개되며, 저자는 소프트웨어에 대해 어떠한 통제권도 가지지 않습니다. 모든 귀책사유는 소프트웨어 사용자 및 소프트웨어에서 생성된 결과물을 사용하는 당사자에게 있습니다. <br>해당 조항을 인정하지 않는 경우, 소프트웨어 패키지의 어떠한 코드나 파일도 사용하거나 인용할 수 없습니다. 자세한 내용은 루트 디렉토리의 <b>LICENSE</b>를 참조하세요.",
"查看": "보기",
"查看模型信息(仅支持weights文件夹下提取的小模型文件)": "모델 정보 보기(오직 weights 폴더에서 추출된 소형 모델 파일만 지원)",
"检索特征占比": "검색 특징 비율",
"模型信息:%s\n采样率%s\n是否使用音高引导%s\n版本%s": "모델 정보: %s\n샘플링 레이트: %s\n피치 가이드: %s\n버전: %s",
"模型推理": "모델 추론",
"模型提取(输入logs文件夹下大文件模型路径),适用于训一半不想训了模型没有自动提取保存小文件模型,或者想测试中间模型的情况": "모델 추출(logs 폴더 아래의 큰 파일 모델 경로 입력), 훈련 중간에 중단한 모델의 자동 추출 및 소형 파일 모델 저장이 안 되거나 중간 모델을 테스트하고 싶은 경우에 적합",
"模型是否带音高指导": "모델이 음높이 지도를 포함하는지 여부",
"模型是否带音高指导(唱歌一定要, 语音可以不要)": "모델이 음높이 지도를 포함하는지 여부(노래에는 반드시 필요, 음성에는 필요 없음)",
"模型是否带音高指导,1是0否": "모델이 음높이 지도를 포함하는지 여부, 1은 예, 0은 아니오",
"模型版本型号": "모델 버전 및 모델",
"模型融合, 可用于测试音色融合": "모델 융합, 음색 융합 테스트에 사용 가능",
"模型融合失败:两个模型的结构不一致": "두 모델의 구조가 일치하지 않아 모델 병합에 실패했습니다",
"模型训练": "모델 학습",
"模型路径": "모델 경로",
"正在保存最终检查点:%s": "최종 체크포인트 저장 중: %s",
"正在保存检查点 %s_e%s%s": "체크포인트 저장 중 %s_e%s: %s",
"正在加载RMVPE模型": "RMVPE 모델 불러오는 중",
"正在加载模型": "모델 불러오는 중",
"正在启动": "시작 중",
"正在收尾": "마무리 중",
"正在预热CUDA Graph": "CUDA Graph 워밍업 중",
"每张显卡的batch_size": "각 그래픽 카드의 batch_size",
"没有可用于训练的有效音频,请先完成数据切分和特征提取": "학습에 사용할 유효한 오디오가 없습니다. 먼저 데이터 전처리와 특징 추출을 완료하세요.",
"没有有效的多说话人训练集行": "There are no valid multi-speaker dataset rows",
"淡入淡出长度": "페이드 인/아웃 길이",
"清理模型缓存": "모델 캐시 정리 중",
"版本": "버전",
"特征": "특징",
"特征提取": "특징 추출",
"特征检索库文件路径(选择模型后自动匹配,可手动修改)": "특징 인덱스 경로(모델 선택 후 자동 매칭, 수동 수정 가능)",
"状态": "상태",
"独占 WASAPI 设备": "WASAPI 독점 장치",
"生成器预训练模型不存在将不使用assets/pretrained%s/%sG%s.pth": "Generator pretrained model not found; it will not be used: assets/pretrained%s/%sG%s.pth",
"留空则使用辅助页已提交的清单": "Leave empty to use the manifest submitted from the helper tab",
"目标采样率": "목표 샘플링률",
"第%s/%s页共%s行": "Page %s/%s, %s rows",
"等待中": "대기 중",
"等待输入": "입력 대기 중",
"算法延迟(ms):": "알고리즘 지연(ms):",
"索引": "인덱스",
"索引文件不存在,将不使用索引继续推理:%s": "인덱스 파일이 없습니다. 인덱스 없이 추론을 계속합니다: %s",
"索引无效必须使用added_xxxx.index不能使用trained_xxxx.index": "잘못된 인덱스입니다. 다음을 사용하세요: added_xxxx.index, not trained_xxxx.index",
"索引检索失败": "인덱스 검색 실패",
"索引检索失败或未启用": "인덱스 검색 실패 또는 비활성화됨",
"索引训练": "인덱스 학습",
"耗时": "소요 시간",
"耗时:特征=%.3f秒,索引=%.3f秒,音高=%.3f秒,模型=%.3f秒": "소요 시간: features=%.3fs, index=%.3fs, pitch=%.3fs, model=%.3fs",
"融合": "융합",
"要改的模型信息": "변경할 모델 정보",
"要置入的模型信息": "삽입할 모델 정보",
"训练": "훈련",
"训练已完成,正在保存最终模型": "학습 완료, 최종 모델을 저장합니다",
"训练文件列表写入完成": "학습 파일 목록 저장 완료",
"训练模型": "모델 훈련",
"训练特征索引": "특징 인덱스 훈련",
"训练设备规则选择的精度:%s": "장치 규칙에 따라 선택한 학습 정밀도: %s",
"训练轮次:{} [{:.0f}%]": "학습 에포크: {} [{:.0f}%]",
"训练集子音频文件夹目录路径": "Dataset audio subfolder path",
"训练集类型": "Dataset type",
"设备类型": "장치 유형",
"说话人ID0~109": "Speaker ID (0-109)",
"说话人名称": "Speaker name",
"说话人:%sID%s": "Speaker: %s (ID: %s)",
"请上传音频文件": "오디오 파일을 업로드하세요",
"请填写输出文件夹路径": "출력 폴더 경로를 입력하세요",
"请指定说话人id": "화자 ID 지정 필요",
"请选择index文件": "index 파일 선택",
"请选择pth文件": "pth 파일 선택",
"请选择说话人id": "화자 ID 선택",
"转换": "변환",
"输入实验名": "실험명 입력",
"输入实验名例如test": "실험명(예: test)",
"输入待处理音频文件夹路径": "처리할 오디오 파일 폴더 경로 입력",
"输入待处理音频文件夹路径(去文件管理器地址栏拷就行了)": "처리할 오디오 파일 폴더 경로 입력(파일 탐색기 주소 표시줄에서 복사)",
"输入源音量包络替换输出音量包络融合比例越靠近1越使用输出包络": "입력 소스 볼륨 엔벨로프와 출력 볼륨 엔벨로프의 결합 비율 입력, 1에 가까울수록 출력 엔벨로프 사용",
"输入监听": "입력 모니터링",
"输入训练文件夹路径": "훈련 파일 폴더 경로 입력",
"输入设备": "입력 장치",
"输入设备:%s:%s": "입력 장치: %s:%s",
"输入降噪": "입력 노이즈 감소",
"输出信息": "출력 정보",
"输出变声": "출력 음성 변환",
"输出设备": "출력 장치",
"输出设备:%s:%s": "출력 장치: %s:%s",
"输出降噪": "출력 노이즈 감소",
"输出音频(右下角三个点,点了可以下载)": "출력 오디오(오른쪽 하단 세 개의 점, 클릭하면 다운로드 가능)",
"运行中": "실행 중",
"进度": "진행률",
"选择.index文件": ".index 파일 선택",
"选择.pth文件": ".pth 파일 선택",
"选择多说话人音色": "Select multi-speaker voice",
"选择模型": "모델 선택",
"选择索引": "인덱스 선택",
"选择音高提取算法": "피치 추출 알고리즘 선택",
"采样率:": "샘플링 레이트:",
"采样长度": "샘플링 길이",
"重复次数": "Repeat count",
"重载设备列表": "장치 목록 재로드",
"音调设置": "음조 설정",
"音频设备": "오디오 장치",
"音高全部为0该音频无意义跳过%s": "모든 피치 값이 0이므로 이 오디오는 무의미하여 건너뜁니다: %s",
"音高算法": "피치 알고리즘",
"额外推理时长": "추가 추론 시간"
}

View File

@@ -1,270 +1,286 @@
{ {
"人声提取激进程度": "Intensidade da extração vocal", "%s运行中请先停止该任务": "%s está em execução; interrompa antes de iniciar outra tarefa",
"%s → 成功": "%s → Sucesso", "====> 轮次:{} {}": "====> Época: {} {}",
"%s运行中请先停止该任务": "%s está em execução; interrompa antes de iniciar outra tarefa", "A模型权重": "Peso (w) para o modelo A:",
"%s进程已终止": "O processo %s foi encerrado", "A模型路径": "Caminho para o Modelo A:",
"====> 轮次:{} {}": "====> Época: {} {}", "B模型路径": "Caminho para o Modelo B:",
"A模型权重": "Peso (w) para o modelo A:", "CUDA Graph预热完成": "Aquecimento do CUDA Graph concluído",
"A模型路径": "Caminho para o Modelo A:", "CUDA可用%s": "CUDA disponível: %s",
"B模型路径": "Caminho para o Modelo B:", "输入训练文件夹路径例如E:\\我的训练集": "Caminho da pasta de treinamento, por exemplo: E:\\Meu conjunto de treinamento",
"CUDA可用%s": "CUDA disponível: %s", "F0与HuBERT特征提取": "Extração de F0 e recursos HuBERT",
"E:\\语音音频+标注\\米津玄师\\src": "C:\\Users\\Desktop\\src", "F0提取": "Extração F0",
"F0与HuBERT特征提取": "Extração de F0 e recursos HuBERT", "F0提取没有生成有效结果,已停止训练": "A extração de F0 não gerou resultados válidos. O treinamento foi interrompido.",
"F0提取": "Extração F0", "HuBERT特征": "Recursos HuBERT",
"F0曲线文件, 可选, 一行一个音高, 代替默认F0及升降调": "Arquivo de curva F0 (opcional). Um arremesso por linha. Substitui a modulação padrão F0 e tom:", "HuBERT特征提取没有生成有效结果已停止训练": "A extração de recursos HuBERT não gerou resultados válidos. O treinamento foi interrompido.",
"HuBERT特征": "Recursos HuBERT", "Index Rate": "Taxa do Index",
"Index Rate": "Taxa do Index", "SOLA偏移%d": "Deslocamento SOLA: %d",
"RVC模型路径": "Caminho do Modelo RVC:", "[F0提取] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[Extração F0] Concluído | Sucesso: %s | Ignorados: %s | Falha: %s",
"SOLA偏移%d": "Deslocamento SOLA: %d", "[F0提取] 待处理%s": "[Extração F0] Pending: %s",
"[F0提取] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[Extração F0] Concluído | Sucesso: %s | Ignorados: %s | Falha: %s", "[F0提取] 无待处理音频,已全部跳过": "[Extração F0] Nenhum áudio pendente; todos os arquivos foram ignorados",
"[F0提取] 待处理:%s": "[Extração F0] Pending: %s", "[F0提取] 进度:%s/%s | 成功:%s | 跳过:%s | %s": "[Extração F0] Progresso: %s/%s | Sucesso: %s | Ignorados: %s | %s",
"[F0提取] 无待处理音频,已全部跳过": "[Extração F0] Nenhum áudio pendente; todos os arquivos foram ignorados", "[F0提取][失败] %s": "[Extração F0][Falha] %s",
"[F0提取] 进度:%s/%s | 成功:%s | 跳过:%s | %s": "[Extração F0] Progresso: %s/%s | Sucesso: %s | Ignorados: %s | %s", "[F0提取][失败] %s\n%s": "[Extração F0][Falha] %s\n%s",
"[F0提取][失败] %s": "[Extração F0][Falha] %s", "[HuBERT特征] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[Recursos HuBERT] Concluído | Sucesso: %s | Ignorados: %s | Falha: %s",
"[F0提取][失败] %s\n%s": "[Extração F0][Falha] %s\n%s", "[HuBERT特征] 无待处理音频,已全部跳过:%s": "[Recursos HuBERT] Nenhum áudio pendente; ignorados: %s",
"[HuBERT特征] 完成 | 成功:%s | 跳过:%s | 失败%s": "[Recursos HuBERT] Concluído | Sucesso: %s | Ignorados: %s | Falha: %s", "[HuBERT特征] 正在加载模型%s": "[Recursos HuBERT] Carregando o modelo: %s",
"[HuBERT特征] 无待处理音频,已全部跳过:%s": "[Recursos HuBERT] Nenhum áudio pendente; ignorados: %s", "[HuBERT特征] 设备:%s | 待处理:%s | 已跳过:%s": "[Recursos HuBERT] Dispositivo: %s | Pending: %s | Ignorados: %s",
"[HuBERT特征] 正在加载模型:%s": "[Recursos HuBERT] Carregando o modelo: %s", "[HuBERT特征] 进度:%s/%s | 成功:%s | 失败:%s | %s | %s": "[Recursos HuBERT] Progresso: %s/%s | Sucesso: %s | Falha: %s | %s | %s",
"[HuBERT特征] 设备:%s | 待处理:%s | 已跳过:%s": "[Recursos HuBERT] Dispositivo: %s | Pending: %s | Ignorados: %s", "[HuBERT特征][失败] %s\n%s": "[Recursos HuBERT][Falha] %s\n%s",
"[HuBERT特征] 进度:%s/%s | 成功:%s | 失败:%s | %s | %s": "[Recursos HuBERT] Progresso: %s/%s | Sucesso: %s | Falha: %s | %s | %s", "[HuBERT特征][失败] %s 包含NaN": "[Recursos HuBERT][Falha] %s contains NaN values",
"[HuBERT特征][失败] %s\n%s": "[Recursos HuBERT][Falha] %s\n%s", "[HuBERT特征][失败] 模型不存在:%s": "[Recursos HuBERT][Falha] Modelo not found: %s",
"[HuBERT特征][失败] %s 包含NaN": "[Recursos HuBERT][Falha] %s contains NaN values", "[数据切分] 多说话人待处理:%s | 进程数:%s": "[Dataset preprocessing] Multi-speaker files: %s | Workers: %s",
"[HuBERT特征][失败] 模型不存在:%s": "[Recursos HuBERT][Falha] Modelo not found: %s", "[数据切分] 子任务完成 | 成功:%s | 失败:%s": "[Divisão de dados] Subtarefa concluída | Sucesso: %s | Falha: %s",
"[数据切分] 子任务完成 | 成功:%s | 失败:%s": "[Divisão de dados] Subtarefa concluída | Sucesso: %s | Falha: %s", "[数据切分] 完成": "[Divisão de dados] Concluído",
"[数据切分] 完成": "[Divisão de dados] Concluído", "[数据切分] 开始": "[Divisão de dados] Iniciado",
"[数据切分] 开始": "[Divisão de dados] Iniciado", "[数据切分] 待处理:%s | 进程数:%s": "[Divisão de dados] Pending: %s | Processos: %s",
"[数据切分] 待处理:%s | 进程数:%s": "[Divisão de dados] Pending: %s | Processos: %s", "[数据切分] 进度:%s/%s | %s": "[Divisão de dados] Progresso: %s/%s | %s",
"[数据切分] 进度:%s/%s | %s": "[Divisão de dados] Progresso: %s/%s | %s", "[数据切分][失败] %s": "[Divisão de dados][Falha] %s",
"[数据切分][失败] %s": "[Divisão de dados][Falha] %s", "[数据切分][失败] %s\n%s": "[Divisão de dados][Falha] %s\n%s",
"[数据切分][失败] %s\n%s": "[Divisão de dados][Falha] %s\n%s", "[数据切分][跳过] 无效或异常音频片段:%s_%s | 峰值:%s": "[Divisão de dados][Ignorados] Segmento de áudio inválido ou anormal: %s_%s | Pico: %s",
"[数据切分][跳过] 无效或异常音频片段:%s_%s | 峰值:%s": "[Divisão de dados][Ignorados] Segmento de áudio inválido ou anormal: %s_%s | Pico: %s", "[索引训练] 写入进度:%s/%s": "[Treinamento do índice] Progressoo da gravação: %s/%s",
"[索引训练] 写入进度:%s/%s": "[Treinamento do índice] Progressoo da gravação: %s/%s", "[索引训练] 外部索引链接已存在:%s": "[Treinamento de índice] O link externo já existe: %s",
"[索引训练] 已链接索引到外部目录:%s": "[Treinamento do índice] Índice vinculado à pasta externa: %s", "[索引训练] 已链接索引到外部目录:%s": "[Treinamento do índice] Índice vinculado à pasta externa: %s",
"[索引训练] 成功构建索引:%s": "[Treinamento do índice] Índice criado com sucesso: %s", "[索引训练] 成功构建索引:%s": "[Treinamento do índice] Índice criado com sucesso: %s",
"[索引训练] 正在写入特征向量": "[Treinamento do índice] Adicionando vetores de recursos", "[索引训练] 正在写入特征向量": "[Treinamento do índice] Adicionando vetores de recursos",
"[索引训练] 正在将%s条特征聚类为10000个中心": "[Treinamento do índice] Clustering %s feature vectors into 10,000 centers", "[索引训练] 正在将%s条特征聚类为10000个中心": "[Treinamento do índice] Clustering %s feature vectors into 10,000 centers",
"[索引训练] 正在训练索引": "[Treinamento do índice] Treinando o índice", "[索引训练] 正在训练索引": "[Treinamento do índice] Treinando o índice",
"[索引训练] 特征形状:%s | IVF数量%s": "[Treinamento do índice] Forma dos recursos: %s | Quantidade de IVF: %s", "[索引训练] 特征形状:%s | IVF数量%s": "[Treinamento do índice] Forma dos recursos: %s | Quantidade de IVF: %s",
"[索引训练][失败] 无法链接索引到外部目录:%s\n%s": "[Treinamento do índice][Falha] Não foi possível vincular o índice à pasta externa: %s\n%s", "[索引训练][失败] 无法链接索引到外部目录:%s\n%s": "[Treinamento do índice][Falha] Não foi possível vincular o índice à pasta externa: %s\n%s",
"[索引训练][失败] 聚类失败,将使用原始特征继续\n%s": "[Treinamento do índice][Falha] O agrupamento falhou; continuando com os recursos originais\n%s", "[索引训练][失败] 聚类失败,将使用原始特征继续\n%s": "[Treinamento do índice][Falha] O agrupamento falhou; continuando com os recursos originais\n%s",
"[索引训练][失败] 请先进行特征提取": "[Treinamento do índice][Falha] Extraia os recursos primeiro", "[索引训练][失败] 请先进行特征提取": "[Treinamento do índice][Falha] Extraia os recursos primeiro",
"ckpt处理": "processamento ckpt", "[索引训练][跳过] added索引已存在%s": "[Treinamento de índice][Ignorado] O índice added já existe: %s",
"index文件路径不可包含中文": "O caminho do arquivo de Index não pode conter caracteres chineses", "[索引训练][跳过] trained索引已存在%s": "[Treinamento de índice][Ignorado] O índice trained já existe: %s",
"pth文件路径不可包含中文": "o caminho do arquivo pth não pode conter caracteres chineses", "ckpt处理": "processamento ckpt",
"rmvpe卡号配置以-分隔输入使用的不同进程卡号,例如0-0-1使用卡0上跑2个进程并在卡1上跑1个进程": "Configuração do número do cartão rmvpe: Use - para separar os números dos cartões de entrada de diferentes processos. Por exemplo, 0-0-1 é usado para executar 2 processos no cartão 0 e 1 processo no cartão 1.", "hubert:以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2": "HuBERT: Enter GPU IDs separated by hyphens; for example, 0-1-2 uses GPUs 0, 1, and 2",
"step1: 填写实验配置. 实验数据放在logs下, 每个实验一个文件夹, 需手工输入实验名路径, 内含实验配置, 日志, 训练得到的模型文件. ": "Etapa 1: Preencha a configuração experimental. Os dados experimentais são armazenados na pasta 'logs', com cada experimento tendo uma pasta separada. Digite manualmente o caminho do nome do experimento, que contém a configuração experimental, os logs e os arquivos de modelo treinados.", "index文件路径不可包含中文": "O caminho do arquivo de Index não pode conter caracteres chineses",
"step1:正在处理数据": "Etapa 1: Processamento de dados", "pth文件路径不可包含中文": "o caminho do arquivo pth não pode conter caracteres chineses",
"step2:正在提取音高&正在提取特征": "step2:Extração de tom e características", "rmvpe卡号配置以-分隔输入使用的不同进程卡号,例如0-0-1使用在卡0上跑2个进程并在卡1上跑1个进程": "Configuração do número do cartão rmvpe: Use - para separar os números dos cartões de entrada de diferentes processos. Por exemplo, 0-0-1 é usado para executar 2 processos no cartão 0 e 1 processo no cartão 1.",
"step2a: 自动遍历训练文件夹下所有可解码成音频的文件并进行切片归一化, 在实验目录下生成2个wav文件夹; 暂时只支持单人训练. ": "Etapa 2a: Percorra automaticamente todos os arquivos na pasta de treinamento que podem ser decodificados em áudio e execute a normalização da fatia. Gera 2 pastas wav no diretório do experimento. Atualmente, apenas o treinamento de um único cantor/palestrante é suportado.", "step1: 填写实验配置. 实验数据放在logs下, 每个实验一个文件夹, 需手工输入实验名路径, 内含实验配置, 日志, 训练得到的模型文件. ": "Etapa 1: Preencha a configuração experimental. Os dados experimentais são armazenados na pasta 'logs', com cada experimento tendo uma pasta separada. Digite manualmente o caminho do nome do experimento, que contém a configuração experimental, os logs e os arquivos de modelo treinados.",
"step2b: 使用CPU提取音高(如果模型带音高), 使用GPU提取特征(选择卡号)": "Etapa 2b: Use a CPU para extrair o tom (se o modelo tiver tom), use a GPU para extrair recursos (selecione o índice da GPU):", "step2a: 扫描训练音频并进行切片归一化在实验目录下生成训练wav文件。": "Step 2a: Scan, slice, and normalize training audio, then create training WAV files in the experiment directory.",
"step3: 填写训练设置, 开始训练模型和索引": "Etapa 3: Preencha as configurações de treinamento e comece a treinar o modelo e o Index", "step2b: 音高与hubert语义特征提取": "Etapa 2b: extração de tom e características semânticas do HuBERT",
"step3a:正在训练模型": "Etapa 3a: Treinamento do modelo iniciado", "step3: 填写训练设置, 开始训练模型和索引": "Etapa 3: Preencha as configurações de treinamento e comece a treinar o modelo e o Index",
"step3b:正在训练索引": "etapa 3b: treinando o índice", "……仅显示最近10条失败记录": "…Mostrando apenas as 10 falhas mais recentes",
"……仅显示最近10条失败记录": "…Mostrando apenas as 10 falhas mais recentes", "……已省略前%s行仅显示最新状态": "…As primeiras %s linhas foram omitidas; mostrando apenas o estado mais recente",
"……已省略前%s行仅显示最新状态": "…As primeiras %s linhas foram omitidas; mostrando apenas o estado mais recente", "一键训练": "Treinamento com um clique",
"一键训练": "Treinamento com um clique", "上一页": "Previous",
"也可批量输入音频文件, 二选一, 优先读文件夹": "Você também pode inserir arquivos de áudio em lotes. Escolha uma das duas opções. É dada prioridade à leitura da pasta.", "下一页": "Next",
"仅支持pm和rmvpe音高提取算法": "Somente os métodos de extração de tom pm e rmvpe são compatíveis", "为多说话人训练集建立清单。空行会被忽略路径、说话人名称、说话人ID或重复次数填写不全的行会在提交时提示。": "Create a multi-speaker dataset manifest. Empty rows are ignored; incomplete path, speaker name, speaker ID, or repeat count fields are reported on submission.",
"从训练检查点提取的模型": "Modeloo extraído de um checkpoint de treinamento", "主结果文件夹": "Pasta de saída principal",
"以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2": "Digite o (s) índice(s) da GPU separados por '-', por exemplo, 0-1-2 para usar a GPU 0, 1 e 2:", "也可批量输入音频文件, 二选一, 优先读文件夹": "Você também pode inserir arquivos de áudio em lotes. Escolha uma das duas opções. É dada prioridade à leitura da pasta.",
"任务": "Tarefa", "人声、伴奏与混响批量处理使用pymss/MSST模型。": "Processamento em lote de voz, acompanhamento e reverberação com modelos pymss/MSST.",
"使用显卡:%s": "GPUs em uso: %s", "人声伴奏分离&去混响": "Separação de voz/acompanhamento e remoção de reverberação",
"使用模型采样率": "Usar taxa do modelo", "仅支持pm和rmvpe音高提取算法": "Somente os métodos de extração de tom pm e rmvpe são compatíveis",
"使用设备采样率": "Usar taxa do dispositivo", "从训练检查点提取的模型": "Modeloo extraído de um checkpoint de treinamento",
"保存名": "Salvar nome", "以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2": "Digite o (s) índice(s) da GPU separados por '-', por exemplo, 0-1-2 para usar a GPU 0, 1 e 2:",
"保存的文件名, 默认空为和源文件同名": "Salvar nome do arquivo (padrão: igual ao arquivo de origem):", "以下行填写不完整或无效,已忽略:%s": "The following incomplete or invalid rows were ignored: %s",
"保存的模型名不带后缀": "Nome do modelo salvo (sem extensão):", "任务": "Tarefa",
"保存频率save_every_epoch": "Faça backup a cada # de Epoch:", "使用显卡:%s": "GPUs em uso: %s",
"保护清辅音和呼吸声防止电音撕裂等artifact拉满0.5不开启,调低加大保护力度但可能降低索引效果": "Proteja consoantes sem voz e sons respiratórios, evite artefatos como quebra de som eletrônico e desligue-o quando estiver cheio de 0,5. Diminua-o para aumentar a proteção, mas pode reduzir o efeito de indexação:", "使用模型采样率": "Usar taxa do modelo",
"修改": "Editar", "使用设备采样率": "Usar taxa do dispositivo",
"修改模型信息(仅支持weights文件夹下提取的小模型文件)": "Modificar informações do modelo (suportado apenas para arquivos de modelo pequenos extraídos da pasta 'weights')", "保存名": "Salvar nome",
"停止一键训练": "Parar treinamento com um clique", "保存的文件名, 默认空为和源文件同名": "Salvar nome do arquivo (padrão: igual ao arquivo de origem):",
"停止处理数据": "Parar pré-processamento de dados", "保存的模型名不带后缀": "Nome do modelo salvo (sem extensão):",
"停止特征提取": "Parar extração de características", "保存频率save_every_epoch": "Faça backup a cada # de Epoch:",
"停止训练模型": "Parar treinamento do modelo", "保护清辅音和呼吸声防止电音撕裂等artifact拉满0.5不开启,调低加大保护力度但可能降低索引效果": "Proteja consoantes sem voz e sons respiratórios, evite artefatos como quebra de som eletrônico e desligue-o quando estiver cheio de 0,5. Diminua-o para aumentar a proteção, mas pode reduzir o efeito de indexação:",
"停止训练索引": "Parar treinamento do índice", "修改": "Editar",
"停止音频转换": "Conversão de áudio", "修改模型信息(仅支持weights文件夹下提取的小模型文件)": "Modificar informações do modelo (suportado apenas para arquivos de modelo pequenos extraídos da pasta 'weights')",
"全流程结束!": "Todos os processos foram concluídos!", "停止一键训练": "Parar treinamento com um clique",
"判别器预训练模型不存在将不使用assets/pretrained%s/%sD%s.pth": "Discriminator pretrained model not found; it will not be used: assets/pretrained%s/%sD%s.pth", "停止分离": "Parar separação",
"加载模型": "Modelo", "停止处理数据": "Parar pré-processamento de dados",
"加载预训练底模D路径": "Carregue o caminho D do modelo base pré-treinado:", "停止特征提取": "Parar extração de características",
"加载预训练底模G路径": "Carregue o caminho G do modelo base pré-treinado:", "停止训练模型": "Parar treinamento do modelo",
"单次推理": "Inferência única", "停止训练索引": "Parar treinamento do índice",
"卸载音色省显存": "Descarregue a voz para liberar a memória da GPU:", "停止音频转换": "Conversão de áudio",
"变调(整数, 半音数量, 升八度12降八度-12)": "Mude o tom aqui. Se a voz for do mesmo sexo, não é necessario alterar (12 caso seja Masculino para feminino, -12 caso seja ao contrário).",
"合成": "Síntese",
"后处理重采样至最终采样率0为不进行重采样": "Reamostragem pós-processamento para a taxa de amostragem final, 0 significa sem reamostragem:",
"否": "Não",
"响应阈值": "Limiar de resposta",
"响度因子": "Fator de volume",
"处理中": "Processando",
"处理数据": "Processar o Conjunto de Dados",
"失败": "Falha",
"失败记录": "Registro de falhas",
"子进程执行失败,返回码:%s": "O subprocesso falhou com o código de saída: %s",
"导出文件格式": "Qual formato de arquivo você prefere?",
"已停止": "Interrompido",
"已加载判别器预训练模型:%s": "Modeloo pré-treinado do discriminador carregado: %s",
"已加载生成器预训练模型:%s": "Modeloo pré-treinado do gerador carregado: %s",
"已启用索引检索": "Pesquisa por índice ativada",
"已完成": "Concluído",
"已恢复判别器检查点": "Checkpoint do discriminador restaurado",
"常见问题解答": "FAQ (Perguntas frequentes)",
"常规设置": "Configurações gerais",
"开始音频转换": "Iniciar conversão de áudio",
"当前": "Atual",
"当前阶段": "Etapa atual",
"很遗憾您这没有能用的显卡来支持您训练": "Infelizmente, não há GPU compatível disponível para apoiar o seu treinamento.",
"性别因子/声线粗细": "Fator de gênero / espessura da voz",
"性能设置": "Configurações de desempenho.",
"总训练轮数total_epoch": "Número total de ciclos(epoch) de treino (se escolher um valor alto demais, o seu modelo parecerá terrivelmente sobretreinado):",
"成功": "Sucesso",
"执行命令": "Comando",
"批量推理": "Inferência em lote",
"批量转换, 输入待转换音频文件夹, 或上传多个音频文件, 在指定文件夹(默认opt)下输出转换的音频. ": "Conversão em Massa.",
"拖拽或点击上传待处理音频": "Arraste e solte ou clique para enviar o áudio a ser processado",
"指定输出主人声文件夹": "Especifique a pasta de saída para vocais:",
"指定输出文件夹": "Especifique a pasta de saída:",
"指定输出非主人声文件夹": "Informar a pasta de saída para acompanhamento:",
"推理时间(ms):": "Tempo de inferência (ms):",
"推理耗时:%.2f秒": "Tempo de inferência: %.2f seconds",
"推理音色": "Escolha o seu Modelo:",
"提取": "Extrato",
"提取音高和处理数据使用的CPU进程数": "Número de processos de CPU usados para extração de tom e processamento de dados:",
"数据切分": "Divisão de dados",
"无法停止": "Não é possível interromper",
"无法读取音频:%s": "Não foi possível ler o áudio: %s",
"是": "Sim",
"是否仅保存最新的ckpt文件以节省硬盘空间": "Só deve salvar apenas o arquivo ckpt mais recente para economizar espaço em disco:",
"是否在每次保存时间点将最终小模型保存至weights文件夹": "Salve um pequeno modelo final na pasta 'weights' em cada ponto de salvamento:",
"是否缓存所有训练集至显存. 10min以下小数据可缓存以加速训练, 大数据缓存会炸显存也加不了多少速": "Se deve armazenar em cache todos os conjuntos de treinamento na memória de vídeo. Pequenos dados com menos de 10 minutos podem ser armazenados em cache para acelerar o treinamento, e um cache de dados grande irá explodir a memória de vídeo e não aumentar muito a velocidade:",
"显卡信息": "Informações da GPU",
"未使用": "Não usado",
"未使用判别器预训练模型": "Modelo pré-treinado do discriminador não usado",
"未使用生成器预训练模型": "Modelo pré-treinado do gerador não usado",
"未找到Roformer模型配置文件正在使用内置默认配置": "Configuração do modelo Roformer não encontrada; usando os padrões internos",
"未检测到可用显卡将使用CPU训练耗时可能较长": "Nenhuma GPU compatível foi detectada; treinar na CPU pode demorar muito mais",
"未运行": "Não iniciado",
"本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责. <br>如不认可该条款, 则不能使用或引用软件包内任何代码和文件. 详见根目录<b>LICENSE</b>.": "<center>The Mangio-RVC 💻 | Tradução por Krisp e Rafael Godoy Ebert | AI HUB BRASIL<br> Este software é de código aberto sob a licença MIT. O autor não tem qualquer controle sobre o software. Aqueles que usam o software e divulgam os sons exportados pelo software são totalmente responsáveis. <br>Se você não concorda com este termo, você não pode usar ou citar nenhum código e arquivo no pacote de software. Para obter detalhes, consulte o diretório raiz <b>O acordo a ser seguido para uso <a href='https://raw.githubusercontent.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI/main/LICENSE' target='_blank'>LICENSE</a></b></center>",
"查看": "Visualizar",
"查看模型信息(仅支持weights文件夹下提取的小模型文件)": "Exibir informações do modelo (suportado apenas para arquivos de modelo pequenos extraídos da pasta 'weights')",
"检测到模型类型:%s": "Tipo de modelo detectado: %s",
"检索特征占比": "Taxa de recurso de recuperação:",
"模型": "Modelo",
"模型信息:%s\n采样率%s\n是否使用音高引导%s\n版本%s": "Informações do modelo: %s\nTaxa de amostragem: %s\nOrientação de tom: %s\nVersão: %s",
"模型推理": "Inference",
"模型提取(输入logs文件夹下大文件模型路径),适用于训一半不想训了模型没有自动提取保存小文件模型,或者想测试中间模型的情况": "Extração do modelo (insira o caminho do modelo de arquivo grande na pasta 'logs'). Isso é útil se você quiser interromper o treinamento no meio do caminho e extrair e salvar manualmente um arquivo de modelo pequeno, ou se quiser testar um modelo intermediário:",
"模型是否带音高指导": "Se o modelo tem orientação de tom:",
"模型是否带音高指导(唱歌一定要, 语音可以不要)": "Se o modelo tem orientação de tom (necessário para cantar, opcional para fala):",
"模型是否带音高指导,1是0否": "Se o modelo tem orientação de passo (1: sim, 0: não):",
"模型版本型号": "Versão:",
"模型融合, 可用于测试音色融合": "A fusão modelo, pode ser usada para testar a fusão do timbre",
"模型融合失败:两个模型的结构不一致": "Falha ao mesclar modelos: as arquiteturas não correspondem",
"模型训练": "Treinamento do modelo",
"模型路径": "Caminho para o Modelo:",
"正在保存最终检查点:%s": "Salvando o checkpoint final: %s",
"正在保存检查点 %s_e%s%s": "Salvando o checkpoint %s_e%s: %s",
"正在加载RMVPE模型": "Carregando o modelo RMVPE",
"正在加载模型": "Carregando o modelo",
"正在启动": "Iniciando",
"正在收尾": "Finalizando",
"每张显卡的batch_size": "Batch Size (DEIXE COMO ESTÁ a menos que saiba o que está fazendo, no Colab pode deixar até 20!):",
"淡入淡出长度": "Comprimento de desvanecimento",
"清理模型缓存": "Limpando o cache do modelo",
"版本": "Versão",
"特征": "Recursos",
"特征提取": "Extrair Tom",
"状态": "Estado",
"独占 WASAPI 设备": "Dispositivo WASAPI exclusivo",
"生成器预训练模型不存在将不使用assets/pretrained%s/%sG%s.pth": "Generator pretrained model not found; it will not be used: assets/pretrained%s/%sG%s.pth",
"男转女推荐+12key, 女转男推荐-12key, 如果音域爆炸导致音色失真也可以自己调整到合适音域. ": "Recomendado +12 chave para conversão de homem para mulher e -12 chave para conversão de mulher para homem. Se a faixa de som for muito longe e a voz estiver distorcida, você também pode ajustá-la à faixa apropriada por conta própria.",
"目标采样率": "Taxa de amostragem:",
"等待中": "Aguardando",
"等待输入": "Aguardando entrada",
"算法延迟(ms):": "Latência do algoritmo (ms):",
"索引": "Índice",
"索引无效必须使用added_xxxx.index不能使用trained_xxxx.index": "Índice inválido: use added_xxxx.index, not trained_xxxx.index",
"索引检索失败": "Falha na pesquisa por índice",
"索引检索失败或未启用": "A pesquisa por índice falhou ou está desativada",
"索引训练": "Treinamento do índice",
"耗时": "Tempo decorrido",
"耗时:特征=%.3f秒,索引=%.3f秒,音高=%.3f秒,模型=%.3f秒": "Tempo decorrido: features=%.3fs, index=%.3fs, pitch=%.3fs, model=%.3fs",
"融合": "Fusão",
"要改的模型信息": "Informações do modelo a ser modificado:",
"要置入的模型信息": "Informações do modelo a ser colocado:",
"训练": "Treinar",
"训练已完成,正在保存最终模型": "Treinamento concluído; salvando o modelo final",
"训练文件列表写入完成": "Lista de arquivos de treinamento salva",
"训练模型": "Treinar Modelo",
"训练特征索引": "Treinar Index",
"训练结束, 您可查看控制台训练日志或实验文件夹下的train.log": "Após o término do treinamento, você pode verificar o log de treinamento do console ou train.log na pasta de experimentos",
"训练设备规则选择的精度:%s": "Precisão de treinamento escolhida pelas regras do dispositivo: %s",
"训练轮次:{} [{:.0f}%]": "Época de treinamento: {} [{:.0f}%]",
"设备类型": "Tipo de dispositivo",
"请上传音频文件": "Envie um arquivo de áudio",
"请填写输出文件夹路径": "Informe o caminho da pasta de saída",
"请指定说话人id": "Especifique o ID do locutor/cantor:",
"请选择index文件": "Selecione o arquivo de Index",
"请选择pth文件": "Selecione o arquivo pth",
"请选择说话人id": "Selecione Palestrantes/Cantores ID:",
"转换": "Converter",
"输入实验名": "Nome da voz:",
"输入待处理音频文件夹路径": "Caminho da pasta de áudio a ser processada:",
"输入待处理音频文件夹路径(去文件管理器地址栏拷就行了)": "Caminho da pasta de áudio a ser processada (copie-o da barra de endereços do gerenciador de arquivos):",
"输入待处理音频文件路径(默认是正确格式示例)": "Caminho para o seu conjunto de dados (áudios, não zipado):",
"输入源音量包络替换输出音量包络融合比例越靠近1越使用输出包络": "O envelope de volume da fonte de entrada substitui a taxa de fusão do envelope de volume de saída, quanto mais próximo de 1, mais o envelope de saída é usado:",
"输入监听": "Monitorar entrada",
"输入训练文件夹路径": "Caminho da pasta de treinamento:",
"输入设备": "Dispositivo de entrada",
"输入设备:%s:%s": "Dispositivo de entrada: %s:%s",
"输入降噪": "Redução de ruído de entrada",
"输出信息": "Informação de saída",
"输出变声": "Conversão de saída",
"输出设备": "Dispositivo de saída",
"输出设备:%s:%s": "Dispositivo de saída: %s:%s",
"输出降噪": "Redução de ruído de saída",
"输出音频(右下角三个点,点了可以下载)": "Exportar áudio (clique nos três pontos no canto inferior direito para baixar)",
"运行中": "Em execução",
"进度": "Progresso",
"选择.index文件": "Selecione o Index",
"选择.pth文件": "Selecione o Arquivo",
"选择模型": "Selecionar modelo",
"选择索引": "Selecionar índice",
"选择音高提取算法": "Selecione o algoritmo de extração de tom",
"采样率:": "Taxa de amostragem:",
"采样长度": "Comprimento da Amostra",
"重载设备列表": "Recarregar lista de dispositivos",
"错误信息:%s": "Detalhes do erro: %s",
"错误:未知模型:%s": "Erro: modelo desconhecido: %s",
"音调设置": "Configurações de tom",
"音频包含多个声道,但模型仅支持单声道,将对所有声道取平均值": "O áudio tem vários canais, mas o modelo é mono; todos os canais serão combinados pela média",
"音频设备": "Dispositivo de áudio",
"音高全部为0该音频无意义跳过%s": "Todos os valores de tom são zero; este áudio não tem utilidade e será ignorado: %s",
"音高算法": "Algoritmo de tom",
"额外推理时长": "Tempo extra de inferência",
"数据切分没有生成有效训练音频,请检查训练集和数据切分日志": "O pré-processamento não gerou áudio de treinamento válido. Verifique o conjunto de dados e o log.",
"数据切分没有生成16k音频已停止后续特征提取和训练": "O pré-processamento não gerou áudio de 16 kHz. A extração e o treinamento foram interrompidos.",
"数据切分输出文件不匹配,已停止后续特征提取和训练": "Os arquivos de saída do pré-processamento não correspondem. A extração e o treinamento foram interrompidos.",
"HuBERT特征提取没有生成有效结果已停止训练": "A extração de recursos HuBERT não gerou resultados válidos. O treinamento foi interrompido.",
"F0提取没有生成有效结果已停止训练": "A extração de F0 não gerou resultados válidos. O treinamento foi interrompido.",
"没有可用于训练的有效音频,请先完成数据切分和特征提取": "Não há áudio válido para treinamento. Conclua primeiro o pré-processamento e a extração de recursos.",
"已完成阶段": "Etapas concluídas",
"已成功": "Concluído",
"刷新音色列表": "Atualizar lista de vozes",
"特征检索库文件路径(选择模型后自动匹配,可手动修改)": "Caminho do índice de características (detectado após selecionar o modelo; editável)",
"[索引训练] 外部索引链接已存在:%s": "[Treinamento de índice] O link externo já existe: %s",
"[索引训练][跳过] added索引已存在%s": "[Treinamento de índice][Ignorado] O índice added já existe: %s",
"[索引训练][跳过] trained索引已存在%s": "[Treinamento de índice][Ignorado] O índice trained já existe: %s",
"当前设备:%s | 推理精度:%s": "Dispositivo atual: %s | Precisão de inferência: %s",
"正在预热CUDA Graph": "Aquecendo o CUDA Graph",
"CUDA Graph预热完成": "Aquecimento do CUDA Graph concluído",
"数据提取开始start_time=%.6f,请求并行数=%s实际并行数上限=%s": "Extração de dados iniciada: start_time=%.6f, concorrência solicitada=%s, limite real=%s",
"数据提取结束end_time=%.6f,总耗时=%.3f秒": "Extração de dados concluída: end_time=%.6f, tempo total=%.3f segundos",
"人声伴奏分离&去混响": "Separação de voz/acompanhamento e remoção de reverberação",
"人声、伴奏与混响批量处理使用pymss/MSST模型。": "Processamento em lote de voz, acompanhamento e reverberação com modelos pymss/MSST.",
"处理方式": "Modo de processamento",
"底层模型": "Modelo subjacente",
"主结果文件夹": "Pasta de saída principal",
"分离残余文件夹": "Pasta de saída residual", "分离残余文件夹": "Pasta de saída residual",
"停止分离": "Parar separação" "删除末行": "Remove last row",
} "判别器预训练模型不存在将不使用assets/pretrained%s/%sD%s.pth": "Discriminator pretrained model not found; it will not be used: assets/pretrained%s/%sD%s.pth",
"刷新音色列表": "Atualizar lista de vozes",
"加载模型": "Modelo",
"加载预训练底模D路径": "Carregue o caminho D do modelo base pré-treinado:",
"加载预训练底模G路径": "Carregue o caminho G do modelo base pré-treinado:",
"单次推理": "Inferência única",
"单说话人": "Single speaker",
"卸载音色省显存": "Descarregue a voz para liberar a memória da GPU:",
"变调(整数, 半音数量, 升八度12降八度-12)": "Mude o tom aqui. Se a voz for do mesmo sexo, não é necessario alterar (12 caso seja Masculino para feminino, -12 caso seja ao contrário).",
"合成": "Síntese",
"后处理重采样至最终采样率0为不进行重采样": "Reamostragem pós-processamento para a taxa de amostragem final, 0 significa sem reamostragem:",
"否": "Não",
"响应阈值": "Limiar de resposta",
"响度因子": "Fator de volume",
"处理中": "Processando",
"处理数据": "Processar o Conjunto de Dados",
"处理方式": "Modo de processamento",
"多说话人": "Multiple speakers",
"注意:多说话人训练音色还原度不一定有单说话人分开训练好!": "Atenção: o treinamento com vários falantes pode reproduzir cada voz com menos fidelidade do que treinar cada falante separadamente!",
"多说话人子文件夹无效格式应为名称_ID_重复次数、ID为0~109、重复次数为正整数、同一ID的名称需一致且目录需有音频%s": "Invalid multi-speaker subfolders (expected Name_ID_Repeat, ID 0-109, a positive repeat count, one consistent name per ID, and at least one audio file): %s",
"多说话人总文件夹只扫描根目录下的直接子文件夹,根目录文件会被忽略。\n子文件夹必须命名为x_y_zx是说话人名称y是说话人ID0~109共110个z是训练集重复次数。\n也可以到右侧“多说话人训练集辅助”编辑并提交训练集清单。": "Only direct subfolders of the multi-speaker root are scanned; root files are ignored.\nName each subfolder x_y_z: x is the speaker name, y is the speaker ID (0-109, 110 choices), and z is the repeat count.\nYou can also submit a manifest from the Multi-speaker Dataset Helper tab.",
"多说话人训练集总文件夹不存在:%s": "Multi-speaker dataset root does not exist: %s",
"多说话人训练集总文件夹中没有有效音频": "The multi-speaker dataset root contains no valid audio",
"多说话人训练集总文件夹中没有直接子文件夹": "The multi-speaker dataset root has no direct subfolders",
"多说话人训练集总文件夹路径": "Multi-speaker dataset root",
"多说话人训练集清单不存在,请先提交辅助清单或填写总文件夹": "The multi-speaker manifest does not exist. Submit it from the helper tab or enter a dataset root first",
"多说话人训练集清单包含无效条目:%s": "The multi-speaker manifest contains an invalid entry: %s",
"多说话人训练集清单存在重复输出标识:%s": "The multi-speaker manifest contains a duplicate output key: %s",
"多说话人训练集清单已保存:%s有效音频%s个": "Multi-speaker dataset manifest saved: %s; valid audio files: %s",
"多说话人训练集清单格式错误": "The multi-speaker manifest format is invalid",
"多说话人训练集清单没有有效音频": "The multi-speaker manifest contains no valid audio",
"多说话人训练集辅助": "Multi-speaker Dataset Helper",
"失败": "Falha",
"失败记录": "Registro de falhas",
"子进程执行失败,返回码:%s": "O subprocesso falhou com o código de saída: %s",
"实验名不能为空": "Experiment name is required",
"导出文件格式": "Qual formato de arquivo você prefere?",
"已停止": "Interrompido",
"已加载判别器预训练模型:%s": "Modeloo pré-treinado do discriminador carregado: %s",
"已加载生成器预训练模型:%s": "Modeloo pré-treinado do gerador carregado: %s",
"已启用索引检索": "Pesquisa por índice ativada",
"已完成": "Concluído",
"已完成阶段": "Etapas concluídas",
"已恢复判别器检查点": "Checkpoint do discriminador restaurado",
"已成功": "Concluído",
"常见问题解答": "FAQ (Perguntas frequentes)",
"常规设置": "Configurações gerais",
"底层模型": "Modelo subjacente",
"开始音频转换": "Iniciar conversão de áudio",
"当前": "Atual",
"当前设备:%s | 推理精度:%s": "Dispositivo atual: %s | Precisão de inferência: %s",
"当前阶段": "Etapa atual",
"很遗憾您这没有能用的显卡来支持您训练": "Infelizmente, não há GPU compatível disponível para apoiar o seu treinamento.",
"性别因子/声线粗细": "Fator de gênero / espessura da voz",
"性能设置": "Configurações de desempenho.",
"总训练轮数total_epoch": "Número total de ciclos(epoch) de treino (se escolher um valor alto demais, o seu modelo parecerá terrivelmente sobretreinado):",
"成功": "Sucesso",
"执行命令": "Comando",
"批量推理": "Inferência em lote",
"批量转换, 输入待转换音频文件夹, 或上传多个音频文件, 在指定文件夹(默认opt)下输出转换的音频. ": "Conversão em Massa.",
"拖拽或点击上传待处理音频": "Arraste e solte ou clique para enviar o áudio a ser processado",
"指定输出文件夹": "Especifique a pasta de saída:",
"推理时间(ms):": "Tempo de inferência (ms):",
"推理耗时:%.2f秒": "Tempo de inferência: %.2f seconds",
"推理音色": "Escolha o seu Modelo:",
"提交训练集清单": "Submit dataset manifest",
"提取": "Extrato",
"提取音高和处理数据使用的CPU进程数": "Número de processos de CPU usados para extração de tom e processamento de dados:",
"数据切分": "Divisão de dados",
"数据切分没有生成16k音频已停止后续特征提取和训练": "O pré-processamento não gerou áudio de 16 kHz. A extração e o treinamento foram interrompidos.",
"数据切分没有生成有效训练音频,请检查训练集和数据切分日志": "O pré-processamento não gerou áudio de treinamento válido. Verifique o conjunto de dados e o log.",
"数据切分输出文件不匹配,已停止后续特征提取和训练": "Os arquivos de saída do pré-processamento não correspondem. A extração e o treinamento foram interrompidos.",
"数据提取开始start_time=%.6f,请求并行数=%s实际并行数上限=%s": "Extração de dados iniciada: start_time=%.6f, concorrência solicitada=%s, limite real=%s",
"数据提取结束end_time=%.6f,总耗时=%.3f秒": "Extração de dados concluída: end_time=%.6f, tempo total=%.3f segundos",
"新增一行": "Add row",
"无法停止": "Não é possível interromper",
"是": "Sim",
"是否仅保存最新的ckpt文件以节省硬盘空间": "Só deve salvar apenas o arquivo ckpt mais recente para economizar espaço em disco:",
"是否在每次保存时间点将最终小模型保存至weights文件夹": "Salve um pequeno modelo final na pasta 'weights' em cada ponto de salvamento:",
"是否缓存所有训练集至显存. 10min以下小数据可缓存以加速训练, 大数据缓存会炸显存也加不了多少速": "Se deve armazenar em cache todos os conjuntos de treinamento na memória de vídeo. Pequenos dados com menos de 10 minutos podem ser armazenados em cache para acelerar o treinamento, e um cache de dados grande irá explodir a memória de vídeo e não aumentar muito a velocidade:",
"显卡信息": "Informações da GPU",
"未使用": "Não usado",
"未使用判别器预训练模型": "Modelo pré-treinado do discriminador não usado",
"未使用生成器预训练模型": "Modelo pré-treinado do gerador não usado",
"未检测到可用显卡将使用CPU训练耗时可能较长": "Nenhuma GPU compatível foi detectada; treinar na CPU pode demorar muito mais",
"未运行": "Não iniciado",
"本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责. <br>如不认可该条款, 则不能使用或引用软件包内任何代码和文件. 详见根目录<b>LICENSE</b>.": "<center>The Mangio-RVC 💻 | Tradução por Krisp e Rafael Godoy Ebert | AI HUB BRASIL<br> Este software é de código aberto sob a licença MIT. O autor não tem qualquer controle sobre o software. Aqueles que usam o software e divulgam os sons exportados pelo software são totalmente responsáveis. <br>Se você não concorda com este termo, você não pode usar ou citar nenhum código e arquivo no pacote de software. Para obter detalhes, consulte o diretório raiz <b>O acordo a ser seguido para uso <a href='https://raw.githubusercontent.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI/main/LICENSE' target='_blank'>LICENSE</a></b></center>",
"查看": "Visualizar",
"查看模型信息(仅支持weights文件夹下提取的小模型文件)": "Exibir informações do modelo (suportado apenas para arquivos de modelo pequenos extraídos da pasta 'weights')",
"检索特征占比": "Taxa de recurso de recuperação:",
"模型信息:%s\n采样率%s\n是否使用音高引导%s\n版本%s": "Informações do modelo: %s\nTaxa de amostragem: %s\nOrientação de tom: %s\nVersão: %s",
"模型推理": "Inference",
"模型提取(输入logs文件夹下大文件模型路径),适用于训一半不想训了模型没有自动提取保存小文件模型,或者想测试中间模型的情况": "Extração do modelo (insira o caminho do modelo de arquivo grande na pasta 'logs'). Isso é útil se você quiser interromper o treinamento no meio do caminho e extrair e salvar manualmente um arquivo de modelo pequeno, ou se quiser testar um modelo intermediário:",
"模型是否带音高指导": "Se o modelo tem orientação de tom:",
"模型是否带音高指导(唱歌一定要, 语音可以不要)": "Se o modelo tem orientação de tom (necessário para cantar, opcional para fala):",
"模型是否带音高指导,1是0否": "Se o modelo tem orientação de passo (1: sim, 0: não):",
"模型版本型号": "Versão:",
"模型融合, 可用于测试音色融合": "A fusão modelo, pode ser usada para testar a fusão do timbre",
"模型融合失败:两个模型的结构不一致": "Falha ao mesclar modelos: as arquiteturas não correspondem",
"模型训练": "Treinamento do modelo",
"模型路径": "Caminho para o Modelo:",
"正在保存最终检查点:%s": "Salvando o checkpoint final: %s",
"正在保存检查点 %s_e%s%s": "Salvando o checkpoint %s_e%s: %s",
"正在加载RMVPE模型": "Carregando o modelo RMVPE",
"正在加载模型": "Carregando o modelo",
"正在启动": "Iniciando",
"正在收尾": "Finalizando",
"正在预热CUDA Graph": "Aquecendo o CUDA Graph",
"每张显卡的batch_size": "Batch Size (DEIXE COMO ESTÁ a menos que saiba o que está fazendo, no Colab pode deixar até 20!):",
"没有可用于训练的有效音频,请先完成数据切分和特征提取": "Não há áudio válido para treinamento. Conclua primeiro o pré-processamento e a extração de recursos.",
"没有有效的多说话人训练集行": "There are no valid multi-speaker dataset rows",
"淡入淡出长度": "Comprimento de desvanecimento",
"清理模型缓存": "Limpando o cache do modelo",
"版本": "Versão",
"特征": "Recursos",
"特征提取": "Extrair Tom",
"特征检索库文件路径(选择模型后自动匹配,可手动修改)": "Caminho do índice de características (detectado após selecionar o modelo; editável)",
"状态": "Estado",
"独占 WASAPI 设备": "Dispositivo WASAPI exclusivo",
"生成器预训练模型不存在将不使用assets/pretrained%s/%sG%s.pth": "Generator pretrained model not found; it will not be used: assets/pretrained%s/%sG%s.pth",
"留空则使用辅助页已提交的清单": "Leave empty to use the manifest submitted from the helper tab",
"目标采样率": "Taxa de amostragem:",
"第%s/%s页共%s行": "Page %s/%s, %s rows",
"等待中": "Aguardando",
"等待输入": "Aguardando entrada",
"算法延迟(ms):": "Latência do algoritmo (ms):",
"索引": "Índice",
"索引文件不存在,将不使用索引继续推理:%s": "O arquivo de índice não existe; a inferência continuará sem índice: %s",
"索引无效必须使用added_xxxx.index不能使用trained_xxxx.index": "Índice inválido: use added_xxxx.index, not trained_xxxx.index",
"索引检索失败": "Falha na pesquisa por índice",
"索引检索失败或未启用": "A pesquisa por índice falhou ou está desativada",
"索引训练": "Treinamento do índice",
"耗时": "Tempo decorrido",
"耗时:特征=%.3f秒,索引=%.3f秒,音高=%.3f秒,模型=%.3f秒": "Tempo decorrido: features=%.3fs, index=%.3fs, pitch=%.3fs, model=%.3fs",
"融合": "Fusão",
"要改的模型信息": "Informações do modelo a ser modificado:",
"要置入的模型信息": "Informações do modelo a ser colocado:",
"训练": "Treinar",
"训练已完成,正在保存最终模型": "Treinamento concluído; salvando o modelo final",
"训练文件列表写入完成": "Lista de arquivos de treinamento salva",
"训练模型": "Treinar Modelo",
"训练特征索引": "Treinar Index",
"训练设备规则选择的精度:%s": "Precisão de treinamento escolhida pelas regras do dispositivo: %s",
"训练轮次:{} [{:.0f}%]": "Época de treinamento: {} [{:.0f}%]",
"训练集子音频文件夹目录路径": "Dataset audio subfolder path",
"训练集类型": "Dataset type",
"设备类型": "Tipo de dispositivo",
"说话人ID0~109": "Speaker ID (0-109)",
"说话人名称": "Speaker name",
"说话人:%sID%s": "Speaker: %s (ID: %s)",
"请上传音频文件": "Envie um arquivo de áudio",
"请填写输出文件夹路径": "Informe o caminho da pasta de saída",
"请指定说话人id": "Especifique o ID do locutor/cantor:",
"请选择index文件": "Selecione o arquivo de Index",
"请选择pth文件": "Selecione o arquivo pth",
"请选择说话人id": "Selecione Palestrantes/Cantores ID:",
"转换": "Converter",
"输入实验名": "Nome da voz:",
"输入实验名例如test": "Nome do experimento, por exemplo: test",
"输入待处理音频文件夹路径": "Caminho da pasta de áudio a ser processada:",
"输入待处理音频文件夹路径(去文件管理器地址栏拷就行了)": "Caminho da pasta de áudio a ser processada (copie-o da barra de endereços do gerenciador de arquivos):",
"输入源音量包络替换输出音量包络融合比例越靠近1越使用输出包络": "O envelope de volume da fonte de entrada substitui a taxa de fusão do envelope de volume de saída, quanto mais próximo de 1, mais o envelope de saída é usado:",
"输入监听": "Monitorar entrada",
"输入训练文件夹路径": "Caminho da pasta de treinamento:",
"输入设备": "Dispositivo de entrada",
"输入设备:%s:%s": "Dispositivo de entrada: %s:%s",
"输入降噪": "Redução de ruído de entrada",
"输出信息": "Informação de saída",
"输出变声": "Conversão de saída",
"输出设备": "Dispositivo de saída",
"输出设备:%s:%s": "Dispositivo de saída: %s:%s",
"输出降噪": "Redução de ruído de saída",
"输出音频(右下角三个点,点了可以下载)": "Exportar áudio (clique nos três pontos no canto inferior direito para baixar)",
"运行中": "Em execução",
"进度": "Progresso",
"选择.index文件": "Selecione o Index",
"选择.pth文件": "Selecione o Arquivo",
"选择多说话人音色": "Select multi-speaker voice",
"选择模型": "Selecionar modelo",
"选择索引": "Selecionar índice",
"选择音高提取算法": "Selecione o algoritmo de extração de tom",
"采样率:": "Taxa de amostragem:",
"采样长度": "Comprimento da Amostra",
"重复次数": "Repeat count",
"重载设备列表": "Recarregar lista de dispositivos",
"音调设置": "Configurações de tom",
"音频设备": "Dispositivo de áudio",
"音高全部为0该音频无意义跳过%s": "Todos os valores de tom são zero; este áudio não tem utilidade e será ignorado: %s",
"音高算法": "Algoritmo de tom",
"额外推理时长": "Tempo extra de inferência"
}

View File

@@ -1,270 +1,286 @@
{ {
"人声提取激进程度": "Интенсивность выделения вокала", "%s运行中请先停止该任务": "%s уже выполняется; сначала остановите эту задачу",
"%s → 成功": "%s → Успешно", "====> 轮次:{} {}": "====> Эпоха: {} {}",
"%s运行中请先停止该任务": "%s уже выполняется; сначала остановите эту задачу", "A模型权重": "Весы (w) модели А:",
"%s进程已终止": роцесс %s завершён", "A模型路径": уть к модели А:",
"====> 轮次:{} {}": "====> Эпоха: {} {}", "B模型路径": "Путь к модели Б:",
"A模型权重": "Весы (w) модели А:", "CUDA Graph预热完成": "Прогрев CUDA Graph завершён",
"A模型路径": "Путь к модели А:", "CUDA可用%s": "CUDA доступна: %s",
"B模型路径": "Путь к модели Б:", "输入训练文件夹路径例如E:\\我的训练集": "Путь к папке обучающего набора, например: E:\\Мой обучающий набор",
"CUDA可用%s": "CUDA доступна: %s", "F0与HuBERT特征提取": "Извлечение F0 и признаков HuBERT",
"E:\\语音音频+标注\\米津玄师\\src": "C:\\Users\\Desktop\\src", "F0提取": "Извлечение F0",
"F0与HuBERT特征提取": "Извлечение F0 и признаков HuBERT", "F0提取没有生成有效结果,已停止训练": "Извлечение F0 не дало допустимых результатов. Обучение остановлено.",
"F0提取": "Извлечение F0", "HuBERT特征": "Признаки HuBERT",
"F0曲线文件, 可选, 一行一个音高, 代替默认F0及升降调": "Файл дуги F0 (не обязательно). Одна тональность на каждую строчку. Заменяет обычный F0 и модуляцию тональности:", "HuBERT特征提取没有生成有效结果已停止训练": "Извлечение признаков HuBERT не дало допустимых результатов. Обучение остановлено.",
"HuBERT特征": "Признаки HuBERT", "Index Rate": "Темп индекса",
"Index Rate": "Темп индекса", "SOLA偏移%d": "Смещение SOLA: %d",
"RVC模型路径": "Путь к модели RVC:", "[F0提取] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[Извлечение F0] Завершено | Успешно: %s | Пропущено: %s | Ошибка: %s",
"SOLA偏移%d": "Смещение SOLA: %d", "[F0提取] 待处理%s": "[Извлечение F0] Pending: %s",
"[F0提取] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[Извлечение F0] Завершено | Успешно: %s | Пропущено: %s | Ошибка: %s", "[F0提取] 无待处理音频,已全部跳过": "[Извлечение F0] Нет ожидающих аудиофайлов; все файлы пропущены",
"[F0提取] 待处理:%s": "[Извлечение F0] Pending: %s", "[F0提取] 进度:%s/%s | 成功:%s | 跳过:%s | %s": "[Извлечение F0] Прогресс: %s/%s | Успешно: %s | Пропущено: %s | %s",
"[F0提取] 无待处理音频,已全部跳过": "[Извлечение F0] Нет ожидающих аудиофайлов; все файлы пропущены", "[F0提取][失败] %s": "[Извлечение F0][Ошибка] %s",
"[F0提取] 进度:%s/%s | 成功:%s | 跳过:%s | %s": "[Извлечение F0] Прогресс: %s/%s | Успешно: %s | Пропущено: %s | %s", "[F0提取][失败] %s\n%s": "[Извлечение F0][Ошибка] %s\n%s",
"[F0提取][失败] %s": "[Извлечение F0][Ошибка] %s", "[HuBERT特征] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[Признаки HuBERT] Завершено | Успешно: %s | Пропущено: %s | Ошибка: %s",
"[F0提取][失败] %s\n%s": "[Извлечение F0][Ошибка] %s\n%s", "[HuBERT特征] 无待处理音频,已全部跳过:%s": "[Признаки HuBERT] Нет ожидающих аудиофайлов; пропущено: %s",
"[HuBERT特征] 完成 | 成功:%s | 跳过:%s | 失败%s": "[Признаки HuBERT] Завершено | Успешно: %s | Пропущено: %s | Ошибка: %s", "[HuBERT特征] 正在加载模型%s": "[Признаки HuBERT] Загрузка модели: %s",
"[HuBERT特征] 无待处理音频,已全部跳过:%s": "[Признаки HuBERT] Нет ожидающих аудиофайлов; пропущено: %s", "[HuBERT特征] 设备:%s | 待处理:%s | 已跳过:%s": "[Признаки HuBERT] Устройство: %s | Pending: %s | Пропущено: %s",
"[HuBERT特征] 正在加载模型:%s": "[Признаки HuBERT] Загрузка модели: %s", "[HuBERT特征] 进度:%s/%s | 成功:%s | 失败:%s | %s | %s": "[Признаки HuBERT] Прогресс: %s/%s | Успешно: %s | Ошибка: %s | %s | %s",
"[HuBERT特征] 设备:%s | 待处理:%s | 已跳过:%s": "[Признаки HuBERT] Устройство: %s | Pending: %s | Пропущено: %s", "[HuBERT特征][失败] %s\n%s": "[Признаки HuBERT][Ошибка] %s\n%s",
"[HuBERT特征] 进度:%s/%s | 成功:%s | 失败:%s | %s | %s": "[Признаки HuBERT] Прогресс: %s/%s | Успешно: %s | Ошибка: %s | %s | %s", "[HuBERT特征][失败] %s 包含NaN": "[Признаки HuBERT][Ошибка] %s contains NaN values",
"[HuBERT特征][失败] %s\n%s": "[Признаки HuBERT][Ошибка] %s\n%s", "[HuBERT特征][失败] 模型不存在:%s": "[Признаки HuBERT][Ошибка] Модель not found: %s",
"[HuBERT特征][失败] %s 包含NaN": "[Признаки HuBERT][Ошибка] %s contains NaN values", "[数据切分] 多说话人待处理:%s | 进程数:%s": "[Dataset preprocessing] Multi-speaker files: %s | Workers: %s",
"[HuBERT特征][失败] 模型不存在:%s": "[Признаки HuBERT][Ошибка] Модель not found: %s", "[数据切分] 子任务完成 | 成功:%s | 失败:%s": "[Нарезка данных] Подзадача завершена | Успешно: %s | Ошибка: %s",
"[数据切分] 子任务完成 | 成功:%s | 失败:%s": "[Нарезка данных] Подзадача завершена | Успешно: %s | Ошибка: %s", "[数据切分] 完成": "[Нарезка данных] Завершено",
"[数据切分] 完成": "[Нарезка данных] Завершено", "[数据切分] 开始": "[Нарезка данных] Запущено",
"[数据切分] 开始": "[Нарезка данных] Запущено", "[数据切分] 待处理:%s | 进程数:%s": "[Нарезка данных] Pending: %s | Процессы: %s",
"[数据切分] 待处理:%s | 进程数:%s": "[Нарезка данных] Pending: %s | Процессы: %s", "[数据切分] 进度:%s/%s | %s": "[Нарезка данных] Прогресс: %s/%s | %s",
"[数据切分] 进度:%s/%s | %s": "[Нарезка данных] Прогресс: %s/%s | %s", "[数据切分][失败] %s": "[Нарезка данных][Ошибка] %s",
"[数据切分][失败] %s": "[Нарезка данных][Ошибка] %s", "[数据切分][失败] %s\n%s": "[Нарезка данных][Ошибка] %s\n%s",
"[数据切分][失败] %s\n%s": "[Нарезка данных][Ошибка] %s\n%s", "[数据切分][跳过] 无效或异常音频片段:%s_%s | 峰值:%s": "[Нарезка данных][Пропущено] Недопустимый или аномальный аудиофрагмент: %s_%s | Пик: %s",
"[数据切分][跳过] 无效或异常音频片段:%s_%s | 峰值:%s": "[Нарезка данных][Пропущено] Недопустимый или аномальный аудиофрагмент: %s_%s | Пик: %s", "[索引训练] 写入进度:%s/%s": "[Обучение индекса] Ход записи: %s/%s",
"[索引训练] 写入进度:%s/%s": "[Обучение индекса] Ход записи: %s/%s", "[索引训练] 外部索引链接已存在:%s": "[Обучение индекса] Внешняя ссылка уже существует: %s",
"[索引训练] 已链接索引到外部目录:%s": "[Обучение индекса] Индекс связан с внешней папкой: %s", "[索引训练] 已链接索引到外部目录:%s": "[Обучение индекса] Индекс связан с внешней папкой: %s",
"[索引训练] 成功构建索引:%s": "[Обучение индекса] Индекс успешно создан: %s", "[索引训练] 成功构建索引:%s": "[Обучение индекса] Индекс успешно создан: %s",
"[索引训练] 正在写入特征向量": "[Обучение индекса] Добавление векторов признаков", "[索引训练] 正在写入特征向量": "[Обучение индекса] Добавление векторов признаков",
"[索引训练] 正在将%s条特征聚类为10000个中心": "[Обучение индекса] Clustering %s feature vectors into 10,000 centers", "[索引训练] 正在将%s条特征聚类为10000个中心": "[Обучение индекса] Clustering %s feature vectors into 10,000 centers",
"[索引训练] 正在训练索引": "[Обучение индекса] Обучение индекса", "[索引训练] 正在训练索引": "[Обучение индекса] Обучение индекса",
"[索引训练] 特征形状:%s | IVF数量%s": "[Обучение индекса] Форма признаков: %s | Количество IVF: %s", "[索引训练] 特征形状:%s | IVF数量%s": "[Обучение индекса] Форма признаков: %s | Количество IVF: %s",
"[索引训练][失败] 无法链接索引到外部目录:%s\n%s": "[Обучение индекса][Ошибка] Не удалось связать индекс с внешней папкой: %s\n%s", "[索引训练][失败] 无法链接索引到外部目录:%s\n%s": "[Обучение индекса][Ошибка] Не удалось связать индекс с внешней папкой: %s\n%s",
"[索引训练][失败] 聚类失败,将使用原始特征继续\n%s": "[Обучение индекса][Ошибка] Сбой кластеризации; продолжение с исходными признаками\n%s", "[索引训练][失败] 聚类失败,将使用原始特征继续\n%s": "[Обучение индекса][Ошибка] Сбой кластеризации; продолжение с исходными признаками\n%s",
"[索引训练][失败] 请先进行特征提取": "[Обучение индекса][Ошибка] Сначала извлеките признаки", "[索引训练][失败] 请先进行特征提取": "[Обучение индекса][Ошибка] Сначала извлеките признаки",
"ckpt处理": "Обработка ckpt", "[索引训练][跳过] added索引已存在%s": "[Обучение индекса][Пропущено] Индекс added уже существует: %s",
"index文件路径不可包含中文": "Путь к файлу индекса", "[索引训练][跳过] trained索引已存在%s": "[Обучение индекса][Пропущено] Индекс trained уже существует: %s",
"pth文件路径不可包含中文": "Путь к файлу pth", "ckpt处理": "Обработка ckpt",
"rmvpe卡号配置以-分隔输入使用的不同进程卡号,例如0-0-1使用卡0上跑2个进程并在卡1上跑1个进程": "Введите номера графических процессоров, разделенные символом «-», например, 0-0-1, чтобы запустить два процесса на GPU 0 и один процесс на GPU 1:", "hubert:以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2": "HuBERT: Enter GPU IDs separated by hyphens; for example, 0-1-2 uses GPUs 0, 1, and 2",
"step1: 填写实验配置. 实验数据放在logs下, 每个实验一个文件夹, 需手工输入实验名路径, 内含实验配置, 日志, 训练得到的模型文件. ": "Шаг 1. Конфигурирование модели. Данные обучения модели сохраняются в папку 'logs', и для каждой модели создаётся отдельная папка. Введите вручную путь к настройкам для модели, в которой находятся логи и тренировочные файлы.", "index文件路径不可包含中文": "Путь к файлу индекса",
"step1:正在处理数据": "Шаг 1. Переработка данных", "pth文件路径不可包含中文": "Путь к файлу pth",
"step2:正在提取音高&正在提取特征": "step2:Извлечение высоты тона и признаков", "rmvpe卡号配置以-分隔输入使用的不同进程卡号,例如0-0-1使用在卡0上跑2个进程并在卡1上跑1个进程": "Введите номера графических процессоров, разделенные символом «-», например, 0-0-1, чтобы запустить два процесса на GPU 0 и один процесс на GPU 1:",
"step2a: 自动遍历训练文件夹下所有可解码成音频的文件并进行切片归一化, 在实验目录下生成2个wav文件夹; 暂时只支持单人训练. ": "Шаг 2А. Автоматическая обработка исходных аудиозаписей для обучения и выполнение нормализации среза. Создаст 2 папки wav в папке модели. В данный момент поддерживается обучение только на одноголосных записях.", "step1: 填写实验配置. 实验数据放在logs下, 每个实验一个文件夹, 需手工输入实验名路径, 内含实验配置, 日志, 训练得到的模型文件. ": "Шаг 1. Конфигурирование модели. Данные обучения модели сохраняются в папку 'logs', и для каждой модели создаётся отдельная папка. Введите вручную путь к настройкам для модели, в которой находятся логи и тренировочные файлы.",
"step2b: 使用CPU提取音高(如果模型带音高), 使用GPU提取特征(选择卡号)": "Шаг 2Б. Оценка и извлечение тональности в аудиофайлах с помощью процессора (если включена поддержка изменения высоты звука), извлечение черт с помощью GPU (выберите номер GPU):", "step2a: 扫描训练音频并进行切片归一化在实验目录下生成训练wav文件。": "Step 2a: Scan, slice, and normalize training audio, then create training WAV files in the experiment directory.",
"step3: 填写训练设置, 开始训练模型和索引": "Шаг 3. Заполнение дополнительных настроек обучения и запуск обучения модели и индекса", "step2b: 音高与hubert语义特征提取": "Шаг 2Б: извлечение высоты тона и семантических признаков HuBERT",
"step3a:正在训练模型": "Шаг 3. Запуск обучения модели", "step3: 填写训练设置, 开始训练模型和索引": "Шаг 3. Заполнение дополнительных настроек обучения и запуск обучения модели и индекса",
"step3b:正在训练索引": "шаг 3b: обучение индекса", "……仅显示最近10条失败记录": "…Показаны только 10 последних ошибок",
"……仅显示最近10条失败记录": "…Показаны только 10 последних ошибок", "……已省略前%s行仅显示最新状态": "…Первые %s строк пропущены; показано только последнее состояние",
"……已省略前%s行仅显示最新状态": "…Первые %s строк пропущены; показано только последнее состояние", "一键训练": "Обучение в одно нажатие",
"一键训练": "Обучение в одно нажатие", "上一页": "Previous",
"也可批量输入音频文件, 二选一, 优先读文件夹": "Можно также импортировать несколько аудиофайлов. Если путь к папке существует, то этот ввод игнорируется.", "下一页": "Next",
"仅支持pm和rmvpe音高提取算法": "Поддерживаются только методы извлечения высоты тона pm и rmvpe", "为多说话人训练集建立清单。空行会被忽略路径、说话人名称、说话人ID或重复次数填写不全的行会在提交时提示。": "Create a multi-speaker dataset manifest. Empty rows are ignored; incomplete path, speaker name, speaker ID, or repeat count fields are reported on submission.",
"从训练检查点提取的模型": "Модель извлечена из контрольной точки обучения", "主结果文件夹": "Основная папка вывода",
"以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2": "Введите, какие(-ую) GPU(-у) хотите использовать через '-', например 0-1-2, чтобы использовать GPU с номерами 0, 1 и 2:", "也可批量输入音频文件, 二选一, 优先读文件夹": "Можно также импортировать несколько аудиофайлов. Если путь к папке существует, то этот ввод игнорируется.",
"任务": "Задача", "人声、伴奏与混响批量处理使用pymss/MSST模型。": "Пакетная обработка вокала, аккомпанемента и реверберации с помощью моделей pymss/MSST.",
"使用显卡:%s": "Используемые GPU: %s", "人声伴奏分离&去混响": "Разделение вокала/аккомпанемента и удаление реверберации",
"使用模型采样率": "Использовать частоту модели", "仅支持pm和rmvpe音高提取算法": "Поддерживаются только методы извлечения высоты тона pm и rmvpe",
"使用设备采样率": "Использовать частоту устройства", "从训练检查点提取的模型": "Модель извлечена из контрольной точки обучения",
"保存名": "Имя файла для сохранения:", "以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2": "Введите, какие(-ую) GPU(-у) хотите использовать через '-', например 0-1-2, чтобы использовать GPU с номерами 0, 1 и 2:",
"保存的文件名, 默认空为和源文件同名": "Название сохранённого файла (по умолчанию: такое же, как и у входного):", "以下行填写不完整或无效,已忽略:%s": "The following incomplete or invalid rows were ignored: %s",
"保存的模型名不带后缀": "Имя файла модели для сохранения (без расширения):", "任务": "Задача",
"保存频率save_every_epoch": "Частота сохранения (save_every_epoch):", "使用显卡:%s": "Используемые GPU: %s",
"保护清辅音和呼吸声防止电音撕裂等artifact拉满0.5不开启,调低加大保护力度但可能降低索引效果": "Защитить глухие согласные и звуки дыхания для предотвращения артефактов, например, разрывания в электронной музыке. Поставьте на 0.5, чтобы выключить. Уменьшите значение для повышения защиты, но учтите, что при этом может ухудшиться точность индексирования:", "使用模型采样率": "Использовать частоту модели",
"修改": зменить", "使用设备采样率": спользовать частоту устройства",
"修改模型信息(仅支持weights文件夹下提取的小模型文件)": "Изменить информацию о модели (работает только с маленькими моделями, взятыми из папки 'weights')", "保存名": "Имя файла для сохранения:",
"停止一键训练": "Остановить обучение в один клик", "保存的文件名, 默认空为和源文件同名": "Название сохранённого файла (по умолчанию: такое же, как и у входного):",
"停止处理数据": "Остановить предобработку данных", "保存的模型名不带后缀": "Имя файла модели для сохранения (без расширения):",
"停止特征提取": "Остановить извлечение признаков", "保存频率save_every_epoch": "Частота сохранения (save_every_epoch):",
"停止训练模型": "Остановить обучение модели", "保护清辅音和呼吸声防止电音撕裂等artifact拉满0.5不开启,调低加大保护力度但可能降低索引效果": "Защитить глухие согласные и звуки дыхания для предотвращения артефактов, например, разрывания в электронной музыке. Поставьте на 0.5, чтобы выключить. Уменьшите значение для повышения защиты, но учтите, что при этом может ухудшиться точность индексирования:",
"停止训练索引": "Остановить обучение индекса", "修改": "Изменить",
"停止音频转换": "Закончить конвертацию аудио", "修改模型信息(仅支持weights文件夹下提取的小模型文件)": "Изменить информацию о модели (работает только с маленькими моделями, взятыми из папки 'weights')",
"全流程结束!": "Все процессы завершены!", "停止一键训练": "Остановить обучение в один клик",
"判别器预训练模型不存在将不使用assets/pretrained%s/%sD%s.pth": "Discriminator pretrained model not found; it will not be used: assets/pretrained%s/%sD%s.pth", "停止分离": "Остановить разделение",
"加载模型": "Загрузить модель", "停止处理数据": "Остановить предобработку данных",
"加载预训练底模D路径": "Путь к предварительно обученной базовой модели D:", "停止特征提取": "Остановить извлечение признаков",
"加载预训练底模G路径": "Путь к предварительно обученной базовой модели G:", "停止训练模型": "Остановить обучение модели",
"单次推理": "Одиночный инференс", "停止训练索引": "Остановить обучение индекса",
"卸载音色省显存": "Выгрузить модель из памяти GPU для освобождения ресурсов", "停止音频转换": "Закончить конвертацию аудио",
"变调(整数, 半音数量, 升八度12降八度-12)": "Изменить высоту голоса (укажите количество полутонов; чтобы поднять голос на октаву, выберите 12, понизить на октаву — -12):",
"合成": "Синтез",
"后处理重采样至最终采样率0为不进行重采样": "Изменить частоту дискретизации в выходном файле на финальную. Поставьте 0, чтобы ничего не изменялось:",
"否": "Нет",
"响应阈值": "Порог ответа",
"响度因子": "коэффициент громкости",
"处理中": "Обработка",
"处理数据": "Обработать данные",
"失败": "Ошибка",
"失败记录": "Список ошибок",
"子进程执行失败,返回码:%s": "Дочерний процесс завершился с кодом: %s",
"导出文件格式": "Формат выходных файлов",
"已停止": "Остановлено",
"已加载判别器预训练模型:%s": "Предобученная модель дискриминатора загружена: %s",
"已加载生成器预训练模型:%s": "Предобученная модель генератора загружена: %s",
"已启用索引检索": "Поиск по индексу включён",
"已完成": "Завершено",
"已恢复判别器检查点": "Контрольная точка дискриминатора восстановлена",
"常见问题解答": "ЧаВо (часто задаваемые вопросы)",
"常规设置": "Основные настройки",
"开始音频转换": "Начать конвертацию аудио",
"当前": "Текущий",
"当前阶段": "Текущий этап",
"很遗憾您这没有能用的显卡来支持您训练": "К сожалению, у вас нету графического процессора, который поддерживает обучение моделей.",
"性别因子/声线粗细": "Гендерный коэффициент / толщина голоса",
"性能设置": "Настройки быстроты",
"总训练轮数total_epoch": "Полное количество эпох (total_epoch):",
"成功": "Успешно",
"执行命令": "Команда",
"批量推理": "Пакетный инференс",
"批量转换, 输入待转换音频文件夹, 或上传多个音频文件, 在指定文件夹(默认opt)下输出转换的音频. ": "Массовое преобразование. Введите путь к папке, в которой находятся файлы для преобразования голоса или выгрузите несколько аудиофайлов. Сконвертированные файлы будут сохранены в указанной папке (по умолчанию: 'opt').",
"拖拽或点击上传待处理音频": "Перетащите или нажмите, чтобы загрузить аудио для обработки",
"指定输出主人声文件夹": "Путь к папке для сохранения вокала:",
"指定输出文件夹": "Папка для результатов:",
"指定输出非主人声文件夹": "Путь к папке для сохранения аккомпанемента:",
"推理时间(ms):": "Время переработки (мс):",
"推理耗时:%.2f秒": "Время инференса: %.2f seconds",
"推理音色": "Желаемый голос:",
"提取": "Создать модель",
"提取音高和处理数据使用的CPU进程数": "Число процессов ЦП, используемое для оценки высоты голоса и обработки данных:",
"数据切分": "Нарезка данных",
"无法停止": "Невозможно остановить",
"无法读取音频:%s": "Не удалось прочитать аудио: %s",
"是": "Да",
"是否仅保存最新的ckpt文件以节省硬盘空间": "Сохранять только последний файл '.ckpt', чтобы сохранить место на диске:",
"是否在每次保存时间点将最终小模型保存至weights文件夹": "Сохранять маленькую финальную модель в папку 'weights' на каждой точке сохранения:",
"是否缓存所有训练集至显存. 10min以下小数据可缓存以加速训练, 大数据缓存会炸显存也加不了多少速": "Кэшировать все тренировочные сеты в видеопамять. Кэширование маленький датасетов (меньше 10 минут) может ускорить тренировку, но кэширование больших, наоборот, займёт много видеопамяти и не сильно ускорит тренировку:",
"显卡信息": "Информация о графических процессорах (GPUs):",
"未使用": "Не используется",
"未使用判别器预训练模型": "Предобученная модель дискриминатора не используется",
"未使用生成器预训练模型": "Предобученная модель генератора не используется",
"未找到Roformer模型配置文件正在使用内置默认配置": "Конфигурация модели Roformer не найдена; используются встроенные значения",
"未检测到可用显卡将使用CPU训练耗时可能较长": "Поддерживаемый GPU не обнаружен; обучение на CPU может занять значительно больше времени",
"未运行": "Не запущено",
"本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责. <br>如不认可该条款, 则不能使用或引用软件包内任何代码和文件. 详见根目录<b>LICENSE</b>.": "Это программное обеспечение с открытым исходным кодом распространяется по лицензии MIT. Автор никак не контролирует это программное обеспечение. Пользователи, которые используют эту программу и распространяют аудиозаписи, полученные с помощью этой программы, несут полную ответственность за это. Если вы не согласны с этим, вы не можете использовать какие-либо коды и файлы в рамках этой программы или ссылаться на них. Подробнее в файле <b>Agreement-LICENSE.txt</b> в корневом каталоге программы.",
"查看": "Просмотреть информацию",
"查看模型信息(仅支持weights文件夹下提取的小模型文件)": "Просмотреть информацию о модели (работает только с маленькими моделями, взятыми из папки 'weights')",
"检测到模型类型:%s": "Обнаружен тип модели: %s",
"检索特征占比": "Соотношение поиска черт:",
"模型": "Модели",
"模型信息:%s\n采样率%s\n是否使用音高引导%s\n版本%s": "Информация о модели: %s\nЧастота дискретизации: %s\nУправление высотой тона: %s\nВерсия: %s",
"模型推理": "Изменение голоса",
"模型提取(输入logs文件夹下大文件模型路径),适用于训一半不想训了模型没有自动提取保存小文件模型,或者想测试中间模型的情况": "Создание модели из данных, полученных в процессе обучения (введите путь к большому файлу модели в папке 'logs'). Может пригодиться, если вам нужно завершить обучение и получить маленький файл готовой модели, или если вам нужно проверить недообученную модель:",
"模型是否带音高指导": "Поддерживает ли модель изменение высоты голоса (1: да, 0: нет):",
"模型是否带音高指导(唱歌一定要, 语音可以不要)": "Поддержка изменения высоты звука (обязательно для пения, необязательно для речи):",
"模型是否带音高指导,1是0否": "Поддерживает ли модель изменение высоты голоса (1: да, 0: нет):",
"模型版本型号": "Версия архитектуры модели:",
"模型融合, 可用于测试音色融合": "Слияние моделей, может быть использовано для проверки слияния тембра",
"模型融合失败:两个模型的结构不一致": "Не удалось объединить модели: их архитектуры не совпадают",
"模型训练": "Обучение модели",
"模型路径": "Путь к папке:",
"正在保存最终检查点:%s": "Сохранение итоговой контрольной точки: %s",
"正在保存检查点 %s_e%s%s": "Сохранение контрольной точки %s_e%s: %s",
"正在加载RMVPE模型": "Загрузка модели RMVPE",
"正在加载模型": "Загрузка модели",
"正在启动": "Запуск",
"正在收尾": "Завершение",
"每张显卡的batch_size": "Размер пачки для GPU:",
"淡入淡出长度": "Длина затухания",
"清理模型缓存": "Очистка кэша модели",
"版本": "Версия архитектуры модели:",
"特征": "Признаки",
"特征提取": "Извлечь черты",
"状态": "Состояние",
"独占 WASAPI 设备": "Эксклюзивное устройство WASAPI",
"生成器预训练模型不存在将不使用assets/pretrained%s/%sG%s.pth": "Generator pretrained model not found; it will not be used: assets/pretrained%s/%sG%s.pth",
"男转女推荐+12key, 女转男推荐-12key, 如果音域爆炸导致音色失真也可以自己调整到合适音域. ": "Рекомендуется выбрать +12 для конвертирования мужского голоса в женский и -12 для конвертирования женского в мужской. Если диапазон голоса слишком велик, и голос искажается, можно выбрать значение на свой вкус.",
"目标采样率": "Частота дискретизации аудио:",
"等待中": "Ожидание",
"等待输入": "Ожидание ввода",
"算法延迟(ms):": "Задержка алгоритма (мс):",
"索引": "Индекс",
"索引无效必须使用added_xxxx.index不能使用trained_xxxx.index": "Недопустимый индекс: используйте added_xxxx.index, not trained_xxxx.index",
"索引检索失败": "Сбой поиска по индексу",
"索引检索失败或未启用": "Поиск по индексу не выполнен или отключён",
"索引训练": "Обучение индекса",
"耗时": "Затраченное время",
"耗时:特征=%.3f秒,索引=%.3f秒,音高=%.3f秒,模型=%.3f秒": "Затраченное время: features=%.3fs, index=%.3fs, pitch=%.3fs, model=%.3fs",
"融合": "Запустить слияние",
"要改的模型信息": "Информация, которая будет изменена:",
"要置入的模型信息": "Информация о модели:",
"训练": "Обучение модели",
"训练已完成,正在保存最终模型": "Обучение завершено; сохраняется итоговая модель",
"训练文件列表写入完成": "Список файлов обучения записан",
"训练模型": "Обучить модель",
"训练特征索引": "Обучить индекс черт",
"训练结束, 您可查看控制台训练日志或实验文件夹下的train.log": "Обучение модели завершено. Журнал обучения можно просмотреть в консоли или в файле 'train.log' в папке с моделью.",
"训练设备规则选择的精度:%s": "Точность обучения выбрана по правилам устройства: %s",
"训练轮次:{} [{:.0f}%]": "Эпоха обучения: {} [{:.0f}%]",
"设备类型": "Тип устройства",
"请上传音频文件": "Загрузите аудиофайл",
"请填写输出文件夹路径": "Укажите путь к выходной папке",
"请指定说话人id": "Номер говорящего/поющего:",
"请选择index文件": "Пожалуйста, выберите файл индекса",
"请选择pth文件": "Пожалуйста, выберите файл pth",
"请选择说话人id": "Номер говорящего:",
"转换": "Преобразовать",
"输入实验名": "Название модели:",
"输入待处理音频文件夹路径": "Путь к папке с аудиофайлами для обработки:",
"输入待处理音频文件夹路径(去文件管理器地址栏拷就行了)": "Путь к папке с аудиофайлами для переработки (можно скопировать путь из адресной строки файлового менеджера):",
"输入待处理音频文件路径(默认是正确格式示例)": "Путь к аудиофайлу, который хотите обработать (ниже указан пример пути к файлу):",
"输入源音量包络替换输出音量包络融合比例越靠近1越使用输出包络": "Использовать громкость входного файла для замены или перемешивания с громкостью выходного файла. Чем ближе соотношение к 1, тем больше используется звука из выходного файла:",
"输入监听": "Мониторинг входа",
"输入训练文件夹路径": "Путь к папке с аудиозаписями, на которых будет обучаться модель:",
"输入设备": "Входное устройство",
"输入设备:%s:%s": "Устройство ввода: %s:%s",
"输入降噪": "Уменьшение входного шума",
"输出信息": "Статистика",
"输出变声": "Преобразование выхода",
"输出设备": "Выходное устройство",
"输出设备:%s:%s": "Устройство вывода: %s:%s",
"输出降噪": "Уменьшение выходного шума",
"输出音频(右下角三个点,点了可以下载)": "Аудиофайл (чтобы скачать, нажмите на три точки справа в плеере)",
"运行中": "Выполняется",
"进度": "Прогресс",
"选择.index文件": "Выбрать файл .index",
"选择.pth文件": "Выбрать файл .pth",
"选择模型": "Выберите модель",
"选择索引": "Выберите индекс",
"选择音高提取算法": "Выберите алгоритм извлечения высоты тона",
"采样率:": "Частота дискретизации:",
"采样长度": "Длина сэмпла",
"重载设备列表": "Обновить список устройств",
"错误信息:%s": "Сведения об ошибке: %s",
"错误:未知模型:%s": "Ошибка: неизвестная модель: %s",
"音调设置": "Настройка высоты звука",
"音频包含多个声道,但模型仅支持单声道,将对所有声道取平均值": "Аудио многоканальное, но модель монофоническая; все каналы будут усреднены",
"音频设备": "Аудиоустройство",
"音高全部为0该音频无意义跳过%s": "Все значения высоты тона равны нулю; это аудио бесполезно и будет пропущено: %s",
"音高算法": "Алгоритм высоты тона",
"额外推理时长": "Доп. время переработки",
"数据切分没有生成有效训练音频,请检查训练集和数据切分日志": "Предобработка не создала допустимые аудиофайлы для обучения. Проверьте набор данных и журнал.",
"数据切分没有生成16k音频已停止后续特征提取和训练": "Предобработка не создала аудио 16 кГц. Извлечение признаков и обучение остановлены.",
"数据切分输出文件不匹配,已停止后续特征提取和训练": "Выходные файлы предобработки не совпадают. Извлечение признаков и обучение остановлены.",
"HuBERT特征提取没有生成有效结果已停止训练": "Извлечение признаков HuBERT не дало допустимых результатов. Обучение остановлено.",
"F0提取没有生成有效结果已停止训练": "Извлечение F0 не дало допустимых результатов. Обучение остановлено.",
"没有可用于训练的有效音频,请先完成数据切分和特征提取": "Нет допустимых аудиофайлов для обучения. Сначала выполните предобработку и извлечение признаков.",
"已完成阶段": "Завершённые этапы",
"已成功": "Успешно",
"刷新音色列表": "Обновить список голосов",
"特征检索库文件路径(选择模型后自动匹配,可手动修改)": "Путь к индексу признаков (подбирается после выбора модели; можно изменить)",
"[索引训练] 外部索引链接已存在:%s": "[Обучение индекса] Внешняя ссылка уже существует: %s",
"[索引训练][跳过] added索引已存在%s": "[Обучение индекса][Пропущено] Индекс added уже существует: %s",
"[索引训练][跳过] trained索引已存在%s": "[Обучение индекса][Пропущено] Индекс trained уже существует: %s",
"当前设备:%s | 推理精度:%s": "Текущее устройство: %s | Точность вывода: %s",
"正在预热CUDA Graph": "Прогрев CUDA Graph",
"CUDA Graph预热完成": "Прогрев CUDA Graph завершён",
"数据提取开始start_time=%.6f,请求并行数=%s实际并行数上限=%s": "Извлечение данных начато: start_time=%.6f, запрошенный параллелизм=%s, фактический предел=%s",
"数据提取结束end_time=%.6f,总耗时=%.3f秒": "Извлечение данных завершено: end_time=%.6f, общее время=%.3f с",
"人声伴奏分离&去混响": "Разделение вокала/аккомпанемента и удаление реверберации",
"人声、伴奏与混响批量处理使用pymss/MSST模型。": "Пакетная обработка вокала, аккомпанемента и реверберации с помощью моделей pymss/MSST.",
"处理方式": "Режим обработки",
"底层模型": "Базовая модель",
"主结果文件夹": "Основная папка вывода",
"分离残余文件夹": "Папка остаточного вывода", "分离残余文件夹": "Папка остаточного вывода",
"停止分离": "Остановить разделение" "删除末行": "Remove last row",
} "判别器预训练模型不存在将不使用assets/pretrained%s/%sD%s.pth": "Discriminator pretrained model not found; it will not be used: assets/pretrained%s/%sD%s.pth",
"刷新音色列表": "Обновить список голосов",
"加载模型": "Загрузить модель",
"加载预训练底模D路径": "Путь к предварительно обученной базовой модели D:",
"加载预训练底模G路径": "Путь к предварительно обученной базовой модели G:",
"单次推理": "Одиночный инференс",
"单说话人": "Single speaker",
"卸载音色省显存": "Выгрузить модель из памяти GPU для освобождения ресурсов",
"变调(整数, 半音数量, 升八度12降八度-12)": "Изменить высоту голоса (укажите количество полутонов; чтобы поднять голос на октаву, выберите 12, понизить на октаву — -12):",
"合成": "Синтез",
"后处理重采样至最终采样率0为不进行重采样": "Изменить частоту дискретизации в выходном файле на финальную. Поставьте 0, чтобы ничего не изменялось:",
"否": "Нет",
"响应阈值": "Порог ответа",
"响度因子": "коэффициент громкости",
"处理中": "Обработка",
"处理数据": "Обработать данные",
"处理方式": "Режим обработки",
"多说话人": "Multiple speakers",
"注意:多说话人训练音色还原度不一定有单说话人分开训练好!": "Внимание: обучение нескольких голосов может передавать каждый тембр менее точно, чем отдельное обучение для каждого диктора!",
"多说话人子文件夹无效格式应为名称_ID_重复次数、ID为0~109、重复次数为正整数、同一ID的名称需一致且目录需有音频%s": "Invalid multi-speaker subfolders (expected Name_ID_Repeat, ID 0-109, a positive repeat count, one consistent name per ID, and at least one audio file): %s",
"多说话人总文件夹只扫描根目录下的直接子文件夹,根目录文件会被忽略。\n子文件夹必须命名为x_y_zx是说话人名称y是说话人ID0~109共110个z是训练集重复次数。\n也可以到右侧“多说话人训练集辅助”编辑并提交训练集清单。": "Only direct subfolders of the multi-speaker root are scanned; root files are ignored.\nName each subfolder x_y_z: x is the speaker name, y is the speaker ID (0-109, 110 choices), and z is the repeat count.\nYou can also submit a manifest from the Multi-speaker Dataset Helper tab.",
"多说话人训练集总文件夹不存在:%s": "Multi-speaker dataset root does not exist: %s",
"多说话人训练集总文件夹中没有有效音频": "The multi-speaker dataset root contains no valid audio",
"多说话人训练集总文件夹中没有直接子文件夹": "The multi-speaker dataset root has no direct subfolders",
"多说话人训练集总文件夹路径": "Multi-speaker dataset root",
"多说话人训练集清单不存在,请先提交辅助清单或填写总文件夹": "The multi-speaker manifest does not exist. Submit it from the helper tab or enter a dataset root first",
"多说话人训练集清单包含无效条目:%s": "The multi-speaker manifest contains an invalid entry: %s",
"多说话人训练集清单存在重复输出标识:%s": "The multi-speaker manifest contains a duplicate output key: %s",
"多说话人训练集清单已保存:%s有效音频%s个": "Multi-speaker dataset manifest saved: %s; valid audio files: %s",
"多说话人训练集清单格式错误": "The multi-speaker manifest format is invalid",
"多说话人训练集清单没有有效音频": "The multi-speaker manifest contains no valid audio",
"多说话人训练集辅助": "Multi-speaker Dataset Helper",
"失败": "Ошибка",
"失败记录": "Список ошибок",
"子进程执行失败,返回码:%s": "Дочерний процесс завершился с кодом: %s",
"实验名不能为空": "Experiment name is required",
"导出文件格式": "Формат выходных файлов",
"已停止": "Остановлено",
"已加载判别器预训练模型:%s": "Предобученная модель дискриминатора загружена: %s",
"已加载生成器预训练模型:%s": "Предобученная модель генератора загружена: %s",
"已启用索引检索": "Поиск по индексу включён",
"已完成": "Завершено",
"已完成阶段": "Завершённые этапы",
"已恢复判别器检查点": "Контрольная точка дискриминатора восстановлена",
"已成功": "Успешно",
"常见问题解答": "ЧаВо (часто задаваемые вопросы)",
"常规设置": "Основные настройки",
"底层模型": "Базовая модель",
"开始音频转换": "Начать конвертацию аудио",
"当前": "Текущий",
"当前设备:%s | 推理精度:%s": "Текущее устройство: %s | Точность вывода: %s",
"当前阶段": "Текущий этап",
"很遗憾您这没有能用的显卡来支持您训练": "К сожалению, у вас нету графического процессора, который поддерживает обучение моделей.",
"性别因子/声线粗细": "Гендерный коэффициент / толщина голоса",
"性能设置": "Настройки быстроты",
"总训练轮数total_epoch": "Полное количество эпох (total_epoch):",
"成功": "Успешно",
"执行命令": "Команда",
"批量推理": "Пакетный инференс",
"批量转换, 输入待转换音频文件夹, 或上传多个音频文件, 在指定文件夹(默认opt)下输出转换的音频. ": "Массовое преобразование. Введите путь к папке, в которой находятся файлы для преобразования голоса или выгрузите несколько аудиофайлов. Сконвертированные файлы будут сохранены в указанной папке (по умолчанию: 'opt').",
"拖拽或点击上传待处理音频": "Перетащите или нажмите, чтобы загрузить аудио для обработки",
"指定输出文件夹": "Папка для результатов:",
"推理时间(ms):": "Время переработки (мс):",
"推理耗时:%.2f秒": "Время инференса: %.2f seconds",
"推理音色": "Желаемый голос:",
"提交训练集清单": "Submit dataset manifest",
"提取": "Создать модель",
"提取音高和处理数据使用的CPU进程数": "Число процессов ЦП, используемое для оценки высоты голоса и обработки данных:",
"数据切分": "Нарезка данных",
"数据切分没有生成16k音频已停止后续特征提取和训练": "Предобработка не создала аудио 16 кГц. Извлечение признаков и обучение остановлены.",
"数据切分没有生成有效训练音频,请检查训练集和数据切分日志": "Предобработка не создала допустимые аудиофайлы для обучения. Проверьте набор данных и журнал.",
"数据切分输出文件不匹配,已停止后续特征提取和训练": "Выходные файлы предобработки не совпадают. Извлечение признаков и обучение остановлены.",
"数据提取开始start_time=%.6f,请求并行数=%s实际并行数上限=%s": "Извлечение данных начато: start_time=%.6f, запрошенный параллелизм=%s, фактический предел=%s",
"数据提取结束end_time=%.6f,总耗时=%.3f秒": "Извлечение данных завершено: end_time=%.6f, общее время=%.3f с",
"新增一行": "Add row",
"无法停止": "Невозможно остановить",
"是": "Да",
"是否仅保存最新的ckpt文件以节省硬盘空间": "Сохранять только последний файл '.ckpt', чтобы сохранить место на диске:",
"是否在每次保存时间点将最终小模型保存至weights文件夹": "Сохранять маленькую финальную модель в папку 'weights' на каждой точке сохранения:",
"是否缓存所有训练集至显存. 10min以下小数据可缓存以加速训练, 大数据缓存会炸显存也加不了多少速": "Кэшировать все тренировочные сеты в видеопамять. Кэширование маленький датасетов (меньше 10 минут) может ускорить тренировку, но кэширование больших, наоборот, займёт много видеопамяти и не сильно ускорит тренировку:",
"显卡信息": "Информация о графических процессорах (GPUs):",
"未使用": "Не используется",
"未使用判别器预训练模型": "Предобученная модель дискриминатора не используется",
"未使用生成器预训练模型": "Предобученная модель генератора не используется",
"未检测到可用显卡将使用CPU训练耗时可能较长": "Поддерживаемый GPU не обнаружен; обучение на CPU может занять значительно больше времени",
"未运行": "Не запущено",
"本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责. <br>如不认可该条款, 则不能使用或引用软件包内任何代码和文件. 详见根目录<b>LICENSE</b>.": "Это программное обеспечение с открытым исходным кодом распространяется по лицензии MIT. Автор никак не контролирует это программное обеспечение. Пользователи, которые используют эту программу и распространяют аудиозаписи, полученные с помощью этой программы, несут полную ответственность за это. Если вы не согласны с этим, вы не можете использовать какие-либо коды и файлы в рамках этой программы или ссылаться на них. Подробнее в файле <b>Agreement-LICENSE.txt</b> в корневом каталоге программы.",
"查看": "Просмотреть информацию",
"查看模型信息(仅支持weights文件夹下提取的小模型文件)": "Просмотреть информацию о модели (работает только с маленькими моделями, взятыми из папки 'weights')",
"检索特征占比": "Соотношение поиска черт:",
"模型信息:%s\n采样率%s\n是否使用音高引导%s\n版本%s": "Информация о модели: %s\nЧастота дискретизации: %s\nУправление высотой тона: %s\nВерсия: %s",
"模型推理": "Изменение голоса",
"模型提取(输入logs文件夹下大文件模型路径),适用于训一半不想训了模型没有自动提取保存小文件模型,或者想测试中间模型的情况": "Создание модели из данных, полученных в процессе обучения (введите путь к большому файлу модели в папке 'logs'). Может пригодиться, если вам нужно завершить обучение и получить маленький файл готовой модели, или если вам нужно проверить недообученную модель:",
"模型是否带音高指导": "Поддерживает ли модель изменение высоты голоса (1: да, 0: нет):",
"模型是否带音高指导(唱歌一定要, 语音可以不要)": "Поддержка изменения высоты звука (обязательно для пения, необязательно для речи):",
"模型是否带音高指导,1是0否": "Поддерживает ли модель изменение высоты голоса (1: да, 0: нет):",
"模型版本型号": "Версия архитектуры модели:",
"模型融合, 可用于测试音色融合": "Слияние моделей, может быть использовано для проверки слияния тембра",
"模型融合失败:两个模型的结构不一致": "Не удалось объединить модели: их архитектуры не совпадают",
"模型训练": "Обучение модели",
"模型路径": "Путь к папке:",
"正在保存最终检查点:%s": "Сохранение итоговой контрольной точки: %s",
"正在保存检查点 %s_e%s%s": "Сохранение контрольной точки %s_e%s: %s",
"正在加载RMVPE模型": "Загрузка модели RMVPE",
"正在加载模型": "Загрузка модели",
"正在启动": "Запуск",
"正在收尾": "Завершение",
"正在预热CUDA Graph": "Прогрев CUDA Graph",
"每张显卡的batch_size": "Размер пачки для GPU:",
"没有可用于训练的有效音频,请先完成数据切分和特征提取": "Нет допустимых аудиофайлов для обучения. Сначала выполните предобработку и извлечение признаков.",
"没有有效的多说话人训练集行": "There are no valid multi-speaker dataset rows",
"淡入淡出长度": "Длина затухания",
"清理模型缓存": "Очистка кэша модели",
"版本": "Версия архитектуры модели:",
"特征": "Признаки",
"特征提取": "Извлечь черты",
"特征检索库文件路径(选择模型后自动匹配,可手动修改)": "Путь к индексу признаков (подбирается после выбора модели; можно изменить)",
"状态": "Состояние",
"独占 WASAPI 设备": "Эксклюзивное устройство WASAPI",
"生成器预训练模型不存在将不使用assets/pretrained%s/%sG%s.pth": "Generator pretrained model not found; it will not be used: assets/pretrained%s/%sG%s.pth",
"留空则使用辅助页已提交的清单": "Leave empty to use the manifest submitted from the helper tab",
"目标采样率": "Частота дискретизации аудио:",
"第%s/%s页共%s行": "Page %s/%s, %s rows",
"等待中": "Ожидание",
"等待输入": "Ожидание ввода",
"算法延迟(ms):": "Задержка алгоритма (мс):",
"索引": "Индекс",
"索引文件不存在,将不使用索引继续推理:%s": "Файл индекса не существует; вывод продолжится без индекса: %s",
"索引无效必须使用added_xxxx.index不能使用trained_xxxx.index": "Недопустимый индекс: используйте added_xxxx.index, not trained_xxxx.index",
"索引检索失败": "Сбой поиска по индексу",
"索引检索失败或未启用": "Поиск по индексу не выполнен или отключён",
"索引训练": "Обучение индекса",
"耗时": "Затраченное время",
"耗时:特征=%.3f秒,索引=%.3f秒,音高=%.3f秒,模型=%.3f秒": "Затраченное время: features=%.3fs, index=%.3fs, pitch=%.3fs, model=%.3fs",
"融合": "Запустить слияние",
"要改的模型信息": "Информация, которая будет изменена:",
"要置入的模型信息": "Информация о модели:",
"训练": "Обучение модели",
"训练已完成,正在保存最终模型": "Обучение завершено; сохраняется итоговая модель",
"训练文件列表写入完成": "Список файлов обучения записан",
"训练模型": "Обучить модель",
"训练特征索引": "Обучить индекс черт",
"训练设备规则选择的精度:%s": "Точность обучения выбрана по правилам устройства: %s",
"训练轮次:{} [{:.0f}%]": "Эпоха обучения: {} [{:.0f}%]",
"训练集子音频文件夹目录路径": "Dataset audio subfolder path",
"训练集类型": "Dataset type",
"设备类型": "Тип устройства",
"说话人ID0~109": "Speaker ID (0-109)",
"说话人名称": "Speaker name",
"说话人:%sID%s": "Speaker: %s (ID: %s)",
"请上传音频文件": "Загрузите аудиофайл",
"请填写输出文件夹路径": "Укажите путь к выходной папке",
"请指定说话人id": "Номер говорящего/поющего:",
"请选择index文件": "Пожалуйста, выберите файл индекса",
"请选择pth文件": "Пожалуйста, выберите файл pth",
"请选择说话人id": "Номер говорящего:",
"转换": "Преобразовать",
"输入实验名": "Название модели:",
"输入实验名例如test": "Название эксперимента, например: test",
"输入待处理音频文件夹路径": "Путь к папке с аудиофайлами для обработки:",
"输入待处理音频文件夹路径(去文件管理器地址栏拷就行了)": "Путь к папке с аудиофайлами для переработки (можно скопировать путь из адресной строки файлового менеджера):",
"输入源音量包络替换输出音量包络融合比例越靠近1越使用输出包络": "Использовать громкость входного файла для замены или перемешивания с громкостью выходного файла. Чем ближе соотношение к 1, тем больше используется звука из выходного файла:",
"输入监听": "Мониторинг входа",
"输入训练文件夹路径": "Путь к папке с аудиозаписями, на которых будет обучаться модель:",
"输入设备": "Входное устройство",
"输入设备:%s:%s": "Устройство ввода: %s:%s",
"输入降噪": "Уменьшение входного шума",
"输出信息": "Статистика",
"输出变声": "Преобразование выхода",
"输出设备": "Выходное устройство",
"输出设备:%s:%s": "Устройство вывода: %s:%s",
"输出降噪": "Уменьшение выходного шума",
"输出音频(右下角三个点,点了可以下载)": "Аудиофайл (чтобы скачать, нажмите на три точки справа в плеере)",
"运行中": "Выполняется",
"进度": "Прогресс",
"选择.index文件": "Выбрать файл .index",
"选择.pth文件": "Выбрать файл .pth",
"选择多说话人音色": "Select multi-speaker voice",
"选择模型": "Выберите модель",
"选择索引": "Выберите индекс",
"选择音高提取算法": "Выберите алгоритм извлечения высоты тона",
"采样率:": "Частота дискретизации:",
"采样长度": "Длина сэмпла",
"重复次数": "Repeat count",
"重载设备列表": "Обновить список устройств",
"音调设置": "Настройка высоты звука",
"音频设备": "Аудиоустройство",
"音高全部为0该音频无意义跳过%s": "Все значения высоты тона равны нулю; это аудио бесполезно и будет пропущено: %s",
"音高算法": "Алгоритм высоты тона",
"额外推理时长": "Доп. время переработки"
}

View File

@@ -1,270 +1,286 @@
{ {
"人声提取激进程度": "Vokal ayırma yoğunluğu", "%s运行中请先停止该任务": "%s çalışıyor; başka bir görev başlatmadan önce durdurun",
"%s → 成功": "%s → Başarılı", "====> 轮次:{} {}": "====> Dönem: {} {}",
"%s运行中请先停止该任务": "%s çalışıyor; başka bir görev başlatmadan önce durdurun", "A模型权重": "A Modeli Ağırlığı:",
"%s进程已终止": "%s işlemi sonlandırıldı", "A模型路径": "A Modeli Yolu:",
"====> 轮次:{} {}": "====> Dönem: {} {}", "B模型路径": "B Modeli Yolu:",
"A模型权重": "A Modeli Ağırlığı:", "CUDA Graph预热完成": "CUDA Graph ısınması tamamlandı",
"A模型路径": "A Modeli Yolu:", "CUDA可用%s": "CUDA kullanılabilir: %s",
"B模型路径": "B Modeli Yolu:", "输入训练文件夹路径例如E:\\我的训练集": "Eğitim klasörü yolu, örneğin: E:\\Eğitim veri kümem",
"CUDA可用%s": "CUDA kullanılabilir: %s", "F0与HuBERT特征提取": "F0 ve HuBERT özellik çıkarımı",
"E:\\语音音频+标注\\米津玄师\\src": "C:\\Users\\Desktop\\src", "F0提取": "F0 çıkarma",
"F0与HuBERT特征提取": "F0 ve HuBERT özellik çıkarımı", "F0提取没有生成有效结果,已停止训练": "F0 çıkarma geçerli sonuç üretmedi. Eğitim durduruldu.",
"F0提取": "F0 çıkarma", "HuBERT特征": "HuBERT özellikleri",
"F0曲线文件, 可选, 一行一个音高, 代替默认F0及升降调": "F0 eğrisi dosyası (isteğe bağlı). Her satırda bir pitch değeri bulunur. Varsayılan F0 ve pitch modülasyonunu değiştirir:", "HuBERT特征提取没有生成有效结果已停止训练": "HuBERT özellik çıkarma geçerli sonuç üretmedi. Eğitim durduruldu.",
"HuBERT特征": "HuBERT özellikleri", "Index Rate": "Index Oranı",
"Index Rate": "Index Oranı", "SOLA偏移%d": "SOLA ofseti: %d",
"RVC模型路径": "RVC Model Yolu:", "[F0提取] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[F0 çıkarma] Tamamlandı | Başarılı: %s | Atlandı: %s | Başarısız: %s",
"SOLA偏移%d": "SOLA ofseti: %d", "[F0提取] 待处理%s": "[F0 çıkarma] Pending: %s",
"[F0提取] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[F0 çıkarma] Tamamlandı | Başarılı: %s | Atlandı: %s | Başarısız: %s", "[F0提取] 无待处理音频,已全部跳过": "[F0 çıkarma] Bekleyen ses yok; tüm dosyalar atlandı",
"[F0提取] 待处理:%s": "[F0 çıkarma] Pending: %s", "[F0提取] 进度:%s/%s | 成功:%s | 跳过:%s | %s": "[F0 çıkarma] İlerleme: %s/%s | Başarılı: %s | Atlandı: %s | %s",
"[F0提取] 无待处理音频,已全部跳过": "[F0 çıkarma] Bekleyen ses yok; tüm dosyalar atlandı", "[F0提取][失败] %s": "[F0 çıkarma][Başarısız] %s",
"[F0提取] 进度:%s/%s | 成功:%s | 跳过:%s | %s": "[F0 çıkarma] İlerleme: %s/%s | Başarılı: %s | Atlandı: %s | %s", "[F0提取][失败] %s\n%s": "[F0 çıkarma][Başarısız] %s\n%s",
"[F0提取][失败] %s": "[F0 çıkarma][Başarısız] %s", "[HuBERT特征] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[HuBERT özellikleri] Tamamlandı | Başarılı: %s | Atlandı: %s | Başarısız: %s",
"[F0提取][失败] %s\n%s": "[F0 çıkarma][Başarısız] %s\n%s", "[HuBERT特征] 无待处理音频,已全部跳过:%s": "[HuBERT özellikleri] Bekleyen ses yok; atlanan: %s",
"[HuBERT特征] 完成 | 成功:%s | 跳过:%s | 失败%s": "[HuBERT özellikleri] Tamamlandı | Başarılı: %s | Atlandı: %s | Başarısız: %s", "[HuBERT特征] 正在加载模型%s": "[HuBERT özellikleri] Model yükleniyor: %s",
"[HuBERT特征] 无待处理音频,已全部跳过:%s": "[HuBERT özellikleri] Bekleyen ses yok; atlanan: %s", "[HuBERT特征] 设备:%s | 待处理:%s | 已跳过:%s": "[HuBERT özellikleri] Cihaz: %s | Pending: %s | Atlandı: %s",
"[HuBERT特征] 正在加载模型:%s": "[HuBERT özellikleri] Model yükleniyor: %s", "[HuBERT特征] 进度:%s/%s | 成功:%s | 失败:%s | %s | %s": "[HuBERT özellikleri] İlerleme: %s/%s | Başarılı: %s | Başarısız: %s | %s | %s",
"[HuBERT特征] 设备:%s | 待处理:%s | 已跳过:%s": "[HuBERT özellikleri] Cihaz: %s | Pending: %s | Atlandı: %s", "[HuBERT特征][失败] %s\n%s": "[HuBERT özellikleri][Başarısız] %s\n%s",
"[HuBERT特征] 进度:%s/%s | 成功:%s | 失败:%s | %s | %s": "[HuBERT özellikleri] İlerleme: %s/%s | Başarılı: %s | Başarısız: %s | %s | %s", "[HuBERT特征][失败] %s 包含NaN": "[HuBERT özellikleri][Başarısız] %s contains NaN values",
"[HuBERT特征][失败] %s\n%s": "[HuBERT özellikleri][Başarısız] %s\n%s", "[HuBERT特征][失败] 模型不存在:%s": "[HuBERT özellikleri][Başarısız] Model not found: %s",
"[HuBERT特征][失败] %s 包含NaN": "[HuBERT özellikleri][Başarısız] %s contains NaN values", "[数据切分] 多说话人待处理:%s | 进程数:%s": "[Dataset preprocessing] Multi-speaker files: %s | Workers: %s",
"[HuBERT特征][失败] 模型不存在%s": "[HuBERT özellikleri][Başarısız] Model not found: %s", "[数据切分] 子任务完成 | 成功:%s | 失败%s": "[Veri dilimleme] Alt görev tamamlandı | Başarılı: %s | Başarısız: %s",
"[数据切分] 子任务完成 | 成功:%s | 失败:%s": "[Veri dilimleme] Alt görev tamamlandı | Başarılı: %s | Başarısız: %s", "[数据切分] 完成": "[Veri dilimleme] Tamamlandı",
"[数据切分] 完成": "[Veri dilimleme] Tamamlandı", "[数据切分] 开始": "[Veri dilimleme] Başlatıldı",
"[数据切分] 开始": "[Veri dilimleme] Başlatıldı", "[数据切分] 待处理:%s | 进程数:%s": "[Veri dilimleme] Pending: %s | İşlemler: %s",
"[数据切分] 待处理:%s | 进程数:%s": "[Veri dilimleme] Pending: %s | İşlemler: %s", "[数据切分] 进度:%s/%s | %s": "[Veri dilimleme] İlerleme: %s/%s | %s",
"[数据切分] 进度:%s/%s | %s": "[Veri dilimleme] İlerleme: %s/%s | %s", "[数据切分][失败] %s": "[Veri dilimleme][Başarısız] %s",
"[数据切分][失败] %s": "[Veri dilimleme][Başarısız] %s", "[数据切分][失败] %s\n%s": "[Veri dilimleme][Başarısız] %s\n%s",
"[数据切分][失败] %s\n%s": "[Veri dilimleme][Başarısız] %s\n%s", "[数据切分][跳过] 无效或异常音频片段:%s_%s | 峰值:%s": "[Veri dilimleme][Atlandı] Geçersiz veya anormal ses bölümü: %s_%s | Tepe: %s",
"[数据切分][跳过] 无效或异常音频片段:%s_%s | 峰值:%s": "[Veri dilimleme][Atlandı] Geçersiz veya anormal ses bölümü: %s_%s | Tepe: %s", "[索引训练] 写入进度:%s/%s": "[İndeks eğitimi] Yazma ilerlemesi: %s/%s",
"[索引训练] 写入进度:%s/%s": "[İndeks eğitimi] Yazma ilerlemesi: %s/%s", "[索引训练] 外部索引链接已存在:%s": "[Dizin eğitimi] Harici dizin bağlantısı zaten var: %s",
"[索引训练] 已链接索引到外部目录:%s": "[İndeks eğitimi] İndeks harici klasöre bağlandı: %s", "[索引训练] 已链接索引到外部目录:%s": "[İndeks eğitimi] İndeks harici klasöre bağlandı: %s",
"[索引训练] 成功构建索引:%s": "[İndeks eğitimi] İndeks başarıyla oluşturuldu: %s", "[索引训练] 成功构建索引:%s": "[İndeks eğitimi] İndeks başarıyla oluşturuldu: %s",
"[索引训练] 正在写入特征向量": "[İndeks eğitimi] Özellik vektörleri ekleniyor", "[索引训练] 正在写入特征向量": "[İndeks eğitimi] Özellik vektörleri ekleniyor",
"[索引训练] 正在将%s条特征聚类为10000个中心": "[İndeks eğitimi] Clustering %s feature vectors into 10,000 centers", "[索引训练] 正在将%s条特征聚类为10000个中心": "[İndeks eğitimi] Clustering %s feature vectors into 10,000 centers",
"[索引训练] 正在训练索引": "[İndeks eğitimi] İndeks eğitiliyor", "[索引训练] 正在训练索引": "[İndeks eğitimi] İndeks eğitiliyor",
"[索引训练] 特征形状:%s | IVF数量%s": "[İndeks eğitimi] Özellik şekli: %s | IVF sayısı: %s", "[索引训练] 特征形状:%s | IVF数量%s": "[İndeks eğitimi] Özellik şekli: %s | IVF sayısı: %s",
"[索引训练][失败] 无法链接索引到外部目录:%s\n%s": "[İndeks eğitimi][Başarısız] İndeks harici klasöre bağlanamadı: %s\n%s", "[索引训练][失败] 无法链接索引到外部目录:%s\n%s": "[İndeks eğitimi][Başarısız] İndeks harici klasöre bağlanamadı: %s\n%s",
"[索引训练][失败] 聚类失败,将使用原始特征继续\n%s": "[İndeks eğitimi][Başarısız] Kümeleme başarısız; özgün özelliklerle devam ediliyor\n%s", "[索引训练][失败] 聚类失败,将使用原始特征继续\n%s": "[İndeks eğitimi][Başarısız] Kümeleme başarısız; özgün özelliklerle devam ediliyor\n%s",
"[索引训练][失败] 请先进行特征提取": "[İndeks eğitimi][Başarısız] Önce özellikleri çıkarın", "[索引训练][失败] 请先进行特征提取": "[İndeks eğitimi][Başarısız] Önce özellikleri çıkarın",
"ckpt处理": "ckpt İşleme", "[索引训练][跳过] added索引已存在%s": "[Dizin eğitimi][Atlandı] added dizini zaten var: %s",
"index文件路径不可包含中文": ".index dosya yolu Çince karakter içeremez", "[索引训练][跳过] trained索引已存在%s": "[Dizin eğitimi][Atlandı] trained dizini zaten var: %s",
"pth文件路径不可包含中文": ".pth dosya yolu Çince karakter içeremez", "ckpt处理": "ckpt İşleme",
"rmvpe卡号配置以-分隔输入使用的不同进程卡号,例如0-0-1使用卡0上跑2个进程并在卡1上跑1个进程": "RMVPE GPU yapılandırmasını tirelerle ayırın; örneğin 0-0-1, GPU 0'da iki ve GPU 1'de bir işlem çalıştırır", "hubert:以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2": "HuBERT: Enter GPU IDs separated by hyphens; for example, 0-1-2 uses GPUs 0, 1, and 2",
"step1: 填写实验配置. 实验数据放在logs下, 每个实验一个文件夹, 需手工输入实验名路径, 内含实验配置, 日志, 训练得到的模型文件. ": "Adım 1: Deneysel yapılandırmayı doldurun. Deneysel veriler 'logs' klasöründe saklanır ve her bir deney için ayrı bir klasör vardır. Deneysel adı yolu manuel olarak girin; bu yol, deneysel yapılandırmayı, günlükleri ve eğitilmiş model dosyalarını içerir.", "index文件路径不可包含中文": ".index dosya yolu Çince karakter içeremez",
"step1:正在处理数据": "Adım 1: Veri işleme", "pth文件路径不可包含中文": ".pth dosya yolu Çince karakter içeremez",
"step2:正在提取音高&正在提取特征": "step2:Perde ve özellik çıkarımı", "rmvpe卡号配置以-分隔输入使用的不同进程卡号,例如0-0-1使用在卡0上跑2个进程并在卡1上跑1个进程": "RMVPE GPU yapılandırmasını tirelerle ayırın; örneğin 0-0-1, GPU 0'da iki ve GPU 1'de bir işlem çalıştırır",
"step2a: 自动遍历训练文件夹下所有可解码成音频的文件并进行切片归一化, 在实验目录下生成2个wav文件夹; 暂时只支持单人训练. ": "Adım 2a: Eğitim klasöründe ses dosyalarını otomatik olarak gezinerek dilimleme normalizasyonu yapın. Deney dizini içinde 2 wav klasörü oluşturur. Şu anda sadece tek kişilik eğitim desteklenmektedir.", "step1: 填写实验配置. 实验数据放在logs下, 每个实验一个文件夹, 需手工输入实验名路径, 内含实验配置, 日志, 训练得到的模型文件. ": "Adım 1: Deneysel yapılandırmayı doldurun. Deneysel veriler 'logs' klasöründe saklanır ve her bir deney için ayrı bir klasör vardır. Deneysel adı yolu manuel olarak girin; bu yol, deneysel yapılandırmayı, günlükleri ve eğitilmiş model dosyalarını içerir.",
"step2b: 使用CPU提取音高(如果模型带音高), 使用GPU提取特征(选择卡号)": "Adım 2b: Ses yüksekliği (Pitch) çıkartmak için CPU kullanın (eğer model ses yüksekliği içeriyorsa), özellikleri çıkartmak için GPU kullanın (GPU indeksini seçin):", "step2a: 扫描训练音频并进行切片归一化在实验目录下生成训练wav文件。": "Step 2a: Scan, slice, and normalize training audio, then create training WAV files in the experiment directory.",
"step3: 填写训练设置, 开始训练模型和索引": "Adım 3: Eğitim ayarlarını doldurun ve modeli ve dizini eğitmeye başlayın", "step2b: 音高与hubert语义特征提取": "Adım 2b: perde ve HuBERT anlamsal özelliklerini çıkarma",
"step3a:正在训练模型": "Adım 3a: Model eğitimi başladı", "step3: 填写训练设置, 开始训练模型和索引": "Adım 3: Eğitim ayarlarını doldurun ve modeli ve dizini eğitmeye başlayın",
"step3b:正在训练索引": "adım 3b: indeks eğitiliyor", "……仅显示最近10条失败记录": "…Yalnızca son 10 hata gösteriliyor",
"……仅显示最近10条失败记录": "…Yalnızca son 10 hata gösteriliyor", "……已省略前%s行仅显示最新状态": "…İlk %s satır atlandı; yalnızca en son durum gösteriliyor",
"……已省略前%s行仅显示最新状态": "…İlk %s satır atlandı; yalnızca en son durum gösteriliyor", "一键训练": "Tek Tuşla Eğit",
"一键训练": "Tek Tuşla Eğit", "上一页": "Previous",
"也可批量输入音频文件, 二选一, 优先读文件夹": "Ses dosyaları ayrıca toplu olarak, iki seçimle, öncelikli okuma klasörüyle içe aktarılabilir", "下一页": "Next",
"仅支持pm和rmvpe音高提取算法": "Yalnızca pm ve rmvpe perde çıkarma yöntemleri desteklenir", "为多说话人训练集建立清单。空行会被忽略路径、说话人名称、说话人ID或重复次数填写不全的行会在提交时提示。": "Create a multi-speaker dataset manifest. Empty rows are ignored; incomplete path, speaker name, speaker ID, or repeat count fields are reported on submission.",
"从训练检查点提取的模型": "Eğitim kontrol noktasından çıkarılan model", "主结果文件夹": "Ana çıktı klasörü",
"以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2": "GPU indekslerini '-' ile ayırarak girin, örneğin 0-1-2, GPU 0, 1 ve 2'yi kullanmak için:", "也可批量输入音频文件, 二选一, 优先读文件夹": "Ses dosyaları ayrıca toplu olarak, iki seçimle, öncelikli okuma klasörüyle içe aktarılabilir",
"任务": "Görev", "人声、伴奏与混响批量处理使用pymss/MSST模型。": "pymss/MSST modelleriyle vokal, altyapı ve yankıyı toplu olarak işler.",
"使用显卡:%s": "Kullanılan GPU: %s", "人声伴奏分离&去混响": "Vokal/altyapı ayırma ve yankı giderme",
"使用模型采样率": "Model örnekleme hızını kullan", "仅支持pm和rmvpe音高提取算法": "Yalnızca pm ve rmvpe perde çıkarma yöntemleri desteklenir",
"使用设备采样率": "Cihaz örnekleme hızını kullan", "从训练检查点提取的模型": "Eğitim kontrol noktasından çıkarılan model",
"保存名": "Kaydetme Adı:", "以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2": "GPU indekslerini '-' ile ayırarak girin, örneğin 0-1-2, GPU 0, 1 ve 2'yi kullanmak için:",
"保存的文件名, 默认空为和源文件同名": "Kaydedilecek dosya adı (varsayılan: kaynak dosya ile aynı):", "以下行填写不完整或无效,已忽略:%s": "The following incomplete or invalid rows were ignored: %s",
"保存的模型名不带后缀": "Kaydedilecek model adı (uzantı olmadan):", "任务": "Görev",
"保存频率save_every_epoch": "Kaydetme sıklığı (save_every_epoch):", "使用显卡:%s": "Kullanılan GPU: %s",
"保护清辅音和呼吸声防止电音撕裂等artifact拉满0.5不开启,调低加大保护力度但可能降低索引效果": "Sessiz ünsüzleri ve nefes seslerini koruyarak elektronik müzikte yırtılma gibi sanal hataların oluşmasını engeller. 0.5 olarak ayarlandığında devre dışı kalır. Değerin azaltılması korumayı artırabilir, ancak indeksleme doğruluğunu azaltabilir:", "使用模型采样率": "Model örnekleme hızını kullan",
"修改": "Düzenle", "使用设备采样率": "Cihaz örnekleme hızını kullan",
"修改模型信息(仅支持weights文件夹下提取的小模型文件)": "Model bilgilerini düzenle (sadece 'weights' klasöründen çıkarılan küçük model dosyaları desteklenir)", "保存名": "Kaydetme Adı:",
"停止一键训练": "Tek tıkla eğitimi durdur", "保存的文件名, 默认空为和源文件同名": "Kaydedilecek dosya adı (varsayılan: kaynak dosya ile aynı):",
"停止处理数据": "Veri ön işlemeyi durdur", "保存的模型名不带后缀": "Kaydedilecek model adı (uzantı olmadan):",
"停止特征提取": "Özellik çıkarmayı durdur", "保存频率save_every_epoch": "Kaydetme sıklığı (save_every_epoch):",
"停止训练模型": "Model eğitimini durdur", "保护清辅音和呼吸声防止电音撕裂等artifact拉满0.5不开启,调低加大保护力度但可能降低索引效果": "Sessiz ünsüzleri ve nefes seslerini koruyarak elektronik müzikte yırtılma gibi sanal hataların oluşmasını engeller. 0.5 olarak ayarlandığında devre dışı kalır. Değerin azaltılması korumayı artırabilir, ancak indeksleme doğruluğunu azaltabilir:",
"停止训练索引": "İndeks eğitimini durdur", "修改": "Düzenle",
"停止音频转换": "Ses dönüştürmeyi durdur", "修改模型信息(仅支持weights文件夹下提取的小模型文件)": "Model bilgilerini düzenle (sadece 'weights' klasöründen çıkarılan küçük model dosyaları desteklenir)",
"全流程结束!": "Tüm işlemler tamamlandı!", "停止一键训练": "Tek tıkla eğitimi durdur",
"判别器预训练模型不存在将不使用assets/pretrained%s/%sD%s.pth": "Discriminator pretrained model not found; it will not be used: assets/pretrained%s/%sD%s.pth", "停止分离": "Ayırmayı durdur",
"加载模型": "Model yükle", "停止处理数据": "Veri ön işlemeyi durdur",
"加载预训练底模D路径": "Önceden eğitilmiş temel D modelini yükleme yolu:", "停止特征提取": "Özellik çıkarmayı durdur",
"加载预训练底模G路径": "Önceden eğitilmiş temel G modelini yükleme yolu:", "停止训练模型": "Model eğitimini durdur",
"单次推理": "Tekli çıkarım", "停止训练索引": "İndeks eğitimini durdur",
"卸载音色省显存": "GPU bellek kullanımını azaltmak için sesi kaldır", "停止音频转换": "Ses dönüştürmeyi durdur",
"变调(整数, 半音数量, 升八度12降八度-12)": "Transpoze et (tamsayı, yarıton sayısıyla; bir oktav yükseltmek için: 12, bir oktav düşürmek için: -12):",
"合成": "Sentez",
"后处理重采样至最终采样率0为不进行重采样": "Son işleme aşamasında çıktı sesini son örnekleme hızına yeniden örnekle. 0 değeri için yeniden örnekleme yapılmaz:",
"否": "Hayır",
"响应阈值": "Tepki eşiği",
"响度因子": "ses yüksekliği faktörü",
"处理中": "İşleniyor",
"处理数据": "Verileri işle",
"失败": "Başarısız",
"失败记录": "Hata kayıtları",
"子进程执行失败,返回码:%s": "Alt işlem şu çıkış koduyla başarısız oldu: %s",
"导出文件格式": "Dışa aktarma dosya formatı",
"已停止": "Durduruldu",
"已加载判别器预训练模型:%s": "Önceden eğitilmiş ayırıcı modeli yüklendi: %s",
"已加载生成器预训练模型:%s": "Önceden eğitilmiş üretici modeli yüklendi: %s",
"已启用索引检索": "İndeks araması etkin",
"已完成": "Tamamlandı",
"已恢复判别器检查点": "Ayırıcı kontrol noktası geri yüklendi",
"常见问题解答": "Sıkça Sorulan Sorular (SSS)",
"常规设置": "Genel ayarlar",
"开始音频转换": "Ses dönüştürmeyi başlat",
"当前": "Geçerli",
"当前阶段": "Geçerli aşama",
"很遗憾您这没有能用的显卡来支持您训练": "Maalesef, eğitiminizi desteklemek için uyumlu bir GPU bulunmamaktadır.",
"性别因子/声线粗细": "Cinsiyet faktörü / ses kalınlığı",
"性能设置": "Performans ayarları",
"总训练轮数total_epoch": "Toplam eğitim turu (total_epoch):",
"成功": "Başarılı",
"执行命令": "Komut",
"批量推理": "Toplu çıkarım",
"批量转换, 输入待转换音频文件夹, 或上传多个音频文件, 在指定文件夹(默认opt)下输出转换的音频. ": "Toplu dönüştür. Dönüştürülecek ses dosyalarının bulunduğu klasörü girin veya birden çok ses dosyasını yükleyin. Dönüştürülen ses dosyaları belirtilen klasöre ('opt' varsayılan olarak) dönüştürülecektir",
"拖拽或点击上传待处理音频": "İşlenecek sesi sürükleyip bırakın veya yüklemek için tıklayın",
"指定输出主人声文件夹": "Vokal için çıkış klasörünü belirtin:",
"指定输出文件夹": ıkış klasörünü belirt:",
"指定输出非主人声文件夹": "Müzik ve diğer sesler için çıkış klasörünü belirtin:",
"推理时间(ms):": ıkarsama süresi (ms):",
"推理耗时:%.2f秒": ıkarım süresi: %.2f seconds",
"推理音色": "Ses çıkartma (Inference):",
"提取": ıkart",
"提取音高和处理数据使用的CPU进程数": "Ses yüksekliği çıkartmak (Pitch) ve verileri işlemek için kullanılacak CPU işlemci sayısı:",
"数据切分": "Veri dilimleme",
"无法停止": "Durdurulamıyor",
"无法读取音频:%s": "Ses okunamadı: %s",
"是": "Evet",
"是否仅保存最新的ckpt文件以节省硬盘空间": "Sadece en son '.ckpt' dosyasını kaydet:",
"是否在每次保存时间点将最终小模型保存至weights文件夹": "Her kaydetme noktasında son küçük bir modeli 'weights' klasörüne kaydetmek için:",
"是否缓存所有训练集至显存. 10min以下小数据可缓存以加速训练, 大数据缓存会炸显存也加不了多少速": "Tüm eğitim verilerini GPU belleğine önbelleğe alıp almayacağınızı belirtin. Küçük veri setlerini (10 dakikadan az) önbelleğe almak eğitimi hızlandırabilir, ancak büyük veri setlerini önbelleğe almak çok fazla GPU belleği tüketir ve çok fazla hız artışı sağlamaz:",
"显卡信息": "GPU Bilgisi",
"未使用": "Kullanılmadı",
"未使用判别器预训练模型": "Önceden eğitilmiş ayırıcı modeli kullanılmadı",
"未使用生成器预训练模型": "Önceden eğitilmiş üretici modeli kullanılmadı",
"未找到Roformer模型配置文件正在使用内置默认配置": "Roformer model yapılandırması bulunamadı; yerleşik varsayılanlar kullanılacak",
"未检测到可用显卡将使用CPU训练耗时可能较长": "Desteklenen GPU algılanmadı; CPU ile eğitim çok daha uzun sürebilir",
"未运行": "Başlatılmadı",
"本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责. <br>如不认可该条款, 则不能使用或引用软件包内任何代码和文件. 详见根目录<b>LICENSE</b>.": "Bu yazılım, MIT lisansı altında açık kaynaklıdır. Yazarın yazılım üzerinde herhangi bir kontrolü yoktur. Yazılımı kullanan ve yazılım tarafından dışa aktarılan sesleri dağıtan kullanıcılar sorumludur. <br>Eğer bu maddeyle aynı fikirde değilseniz, yazılım paketi içindeki herhangi bir kod veya dosyayı kullanamaz veya referans göremezsiniz. Detaylar için kök dizindeki <b>Agreement-LICENSE.txt</b> dosyasına bakınız.",
"查看": "Görüntüle",
"查看模型信息(仅支持weights文件夹下提取的小模型文件)": "Model bilgilerini görüntüle (sadece 'weights' klasöründen çıkarılan küçük model dosyaları desteklenir)",
"检测到模型类型:%s": "Algılanan model türü: %s",
"检索特征占比": "Arama özelliği oranı (vurgu gücünü kontrol eder, çok yüksek olması sanal etkilere neden olur)",
"模型": "Model",
"模型信息:%s\n采样率%s\n是否使用音高引导%s\n版本%s": "Model bilgisi: %s\nÖrnekleme hızı: %s\nPerde yönlendirmesi: %s\nSürüm: %s",
"模型推理": "Model çıkartma (Inference)",
"模型提取(输入logs文件夹下大文件模型路径),适用于训一半不想训了模型没有自动提取保存小文件模型,或者想测试中间模型的情况": "Model çıkartma (büyük dosya modeli yolunu 'logs' klasöründe girin). Bu, eğitimi yarıda bırakmak istediğinizde ve manuel olarak küçük bir model dosyası çıkartmak ve kaydetmek istediğinizde veya bir ara modeli test etmek istediğinizde kullanışlıdır:",
"模型是否带音高指导": "Modelin ses yüksekliği rehberi içerip içermediği:",
"模型是否带音高指导(唱歌一定要, 语音可以不要)": "Modelin ses yüksekliği (Pitch) rehberliği içerip içermediği (şarkı söyleme için şarttır, konuşma için isteğe bağlıdır):",
"模型是否带音高指导,1是0否": "Modelin ses yüksekliği rehberi içerip içermediği (1: evet, 0: hayır):",
"模型版本型号": "Model mimari versiyonu:",
"模型融合, 可用于测试音色融合": "Model birleştirme, ses rengi birleştirmesi için kullanılabilir",
"模型融合失败:两个模型的结构不一致": "Model birleştirme başarısız: iki modelin mimarisi eşleşmiyor",
"模型训练": "Model eğitimi",
"模型路径": "Model Yolu:",
"正在保存最终检查点:%s": "Son kontrol noktası kaydediliyor: %s",
"正在保存检查点 %s_e%s%s": "Kontrol noktası kaydediliyor %s_e%s: %s",
"正在加载RMVPE模型": "RMVPE modeli yükleniyor",
"正在加载模型": "Model yükleniyor",
"正在启动": "Başlatılıyor",
"正在收尾": "Tamamlanıyor",
"每张显卡的batch_size": "Her GPU için yığın boyutu (batch_size):",
"淡入淡出长度": "Geçiş (Fade) uzunluğu",
"清理模型缓存": "Model önbelleği temizleniyor",
"版本": "Sürüm",
"特征": "Özellikler",
"特征提取": "Özellik çıkartma",
"状态": "Durum",
"独占 WASAPI 设备": "Özel WASAPI cihazı",
"生成器预训练模型不存在将不使用assets/pretrained%s/%sG%s.pth": "Generator pretrained model not found; it will not be used: assets/pretrained%s/%sG%s.pth",
"男转女推荐+12key, 女转男推荐-12key, 如果音域爆炸导致音色失真也可以自己调整到合适音域. ": "Erkekten kadına çevirmek için +12 tuş önerilir, kadından erkeğe çevirmek için ise -12 tuş önerilir. Eğer ses aralığı çok fazla genişler ve ses bozulursa, isteğe bağlı olarak uygun aralığa kendiniz de ayarlayabilirsiniz.",
"目标采样率": "Hedef örnekleme oranı:",
"等待中": "Bekliyor",
"等待输入": "Girdi bekleniyor",
"算法延迟(ms):": "Algoritma gecikmesi (ms):",
"索引": "İndeks",
"索引无效必须使用added_xxxx.index不能使用trained_xxxx.index": "Geçersiz indeks: şunu kullanın added_xxxx.index, not trained_xxxx.index",
"索引检索失败": "İndeks araması başarısız",
"索引检索失败或未启用": "İndeks araması başarısız veya devre dışı",
"索引训练": "İndeks eğitimi",
"耗时": "Geçen süre",
"耗时:特征=%.3f秒,索引=%.3f秒,音高=%.3f秒,模型=%.3f秒": "Geçen süre: features=%.3fs, index=%.3fs, pitch=%.3fs, model=%.3fs",
"融合": "Birleştir",
"要改的模型信息": "Düzenlenecek model bilgileri:",
"要置入的模型信息": "Eklemek için model bilgileri:",
"训练": "Eğitim",
"训练已完成,正在保存最终模型": "Eğitim tamamlandı; son model kaydediliyor",
"训练文件列表写入完成": "Eğitim dosyası listesi yazıldı",
"训练模型": "Modeli Eğit",
"训练特征索引": "Özellik Dizinini Eğit",
"训练结束, 您可查看控制台训练日志或实验文件夹下的train.log": "Eğitim tamamlandı. Eğitim günlüklerini konsolda veya deney klasörü altındaki train.log dosyasında kontrol edebilirsiniz.",
"训练设备规则选择的精度:%s": "Eğitim hassasiyeti cihaz kurallarına göre seçildi: %s",
"训练轮次:{} [{:.0f}%]": "Eğitim dönemi: {} [{:.0f}%]",
"设备类型": "Cihaz türü",
"请上传音频文件": "Bir ses dosyası yükleyin",
"请填写输出文件夹路径": ıktı klasörü yolunu girin",
"请指定说话人id": "Lütfen konuşmacı/sanatçı no belirtin:",
"请选择index文件": "Lütfen .index dosyası seçin",
"请选择pth文件": "Lütfen .pth dosyası seçin",
"请选择说话人id": "Konuşmacı/Şarkıcı No seçin:",
"转换": "Dönüştür",
"输入实验名": "Deneysel adı girin:",
"输入待处理音频文件夹路径": "İşlenecek ses klasörünün yolunu girin:",
"输入待处理音频文件夹路径(去文件管理器地址栏拷就行了)": "İşlenecek ses klasörünün yolunu girin (dosya yöneticisinin adres çubuğundan kopyalayın):",
"输入待处理音频文件路径(默认是正确格式示例)": "İşlenecek ses dosyasının yolunu girin (varsayılan doğru format örneğidir):",
"输入源音量包络替换输出音量包络融合比例越靠近1越使用输出包络": "Sesin hacim zarfını ayarlayın. 0'a yakın değerler, sesin orijinal vokallerin hacmine benzer olmasını sağlar. Düşük bir değerle ses gürültüsünü maskeleyebilir ve hacmi daha doğal bir şekilde duyulabilir hale getirebilirsiniz. 1'e yaklaştıkça sürekli bir yüksek ses seviyesi elde edilir:",
"输入监听": "Girişi izle",
"输入训练文件夹路径": "Eğitim klasörünün yolunu girin:",
"输入设备": "Giriş cihazı",
"输入设备:%s:%s": "Giriş cihazı: %s:%s",
"输入降噪": "Giriş gürültü azaltma",
"输出信息": ıkış bilgisi",
"输出变声": ıkış ses dönüşümü",
"输出设备": ıkış cihazı",
"输出设备:%s:%s": ıkış cihazı: %s:%s",
"输出降噪": ıkış gürültü azaltma",
"输出音频(右下角三个点,点了可以下载)": "Ses dosyasını dışa aktar (indirmek için sağ alt köşedeki üç noktaya tıklayın)",
"运行中": "Çalışıyor",
"进度": "İlerleme",
"选择.index文件": ".index dosyası seç",
"选择.pth文件": ".pth dosyası seç",
"选择模型": "Model seçin",
"选择索引": "İndeks seçin",
"选择音高提取算法": "Perde çıkarma algoritmasını seçin",
"采样率:": "Örnekleme hızı:",
"采样长度": "Örnekleme uzunluğu",
"重载设备列表": "Cihaz listesini yeniden yükle",
"错误信息:%s": "Hata ayrıntıları: %s",
"错误:未知模型:%s": "Hata: bilinmeyen model: %s",
"音调设置": "Pitch ayarları",
"音频包含多个声道,但模型仅支持单声道,将对所有声道取平均值": "Ses birden fazla kanala sahip ancak model mono; tüm kanalların ortalaması alınacak",
"音频设备": "Ses cihazı",
"音高全部为0该音频无意义跳过%s": "Tüm perde değerleri sıfır; bu ses kullanılamaz ve atlanacak: %s",
"音高算法": "Perde algoritması",
"额外推理时长": "Ekstra çıkartma süresi",
"数据切分没有生成有效训练音频,请检查训练集和数据切分日志": "Veri ön işleme geçerli eğitim sesi üretmedi. Veri kümesini ve günlüğü kontrol edin.",
"数据切分没有生成16k音频已停止后续特征提取和训练": "Veri ön işleme 16 kHz ses üretmedi. Özellik çıkarma ve eğitim durduruldu.",
"数据切分输出文件不匹配,已停止后续特征提取和训练": "Veri ön işleme çıktı dosyaları eşleşmiyor. Özellik çıkarma ve eğitim durduruldu.",
"HuBERT特征提取没有生成有效结果已停止训练": "HuBERT özellik çıkarma geçerli sonuç üretmedi. Eğitim durduruldu.",
"F0提取没有生成有效结果已停止训练": "F0 çıkarma geçerli sonuç üretmedi. Eğitim durduruldu.",
"没有可用于训练的有效音频,请先完成数据切分和特征提取": "Eğitim için geçerli ses yok. Önce veri ön işleme ve özellik çıkarmayı tamamlayın.",
"已完成阶段": "Tamamlanan aşamalar",
"已成功": "Başarılı",
"刷新音色列表": "Ses listesini yenile",
"特征检索库文件路径(选择模型后自动匹配,可手动修改)": "Özellik dizini yolu (model seçilince otomatik eşleşir; düzenlenebilir)",
"[索引训练] 外部索引链接已存在:%s": "[Dizin eğitimi] Harici dizin bağlantısı zaten var: %s",
"[索引训练][跳过] added索引已存在%s": "[Dizin eğitimi][Atlandı] added dizini zaten var: %s",
"[索引训练][跳过] trained索引已存在%s": "[Dizin eğitimi][Atlandı] trained dizini zaten var: %s",
"当前设备:%s | 推理精度:%s": "Geçerli cihaz: %s | Çıkarım hassasiyeti: %s",
"正在预热CUDA Graph": "CUDA Graph ısınıyor",
"CUDA Graph预热完成": "CUDA Graph ısınması tamamlandı",
"数据提取开始start_time=%.6f,请求并行数=%s实际并行数上限=%s": "Veri çıkarma başladı: start_time=%.6f, istenen eşzamanlılık=%s, gerçek üst sınır=%s",
"数据提取结束end_time=%.6f,总耗时=%.3f秒": "Veri çıkarma tamamlandı: end_time=%.6f, toplam süre=%.3f saniye",
"人声伴奏分离&去混响": "Vokal/altyapı ayırma ve yankı giderme",
"人声、伴奏与混响批量处理使用pymss/MSST模型。": "pymss/MSST modelleriyle vokal, altyapı ve yankıyı toplu olarak işler.",
"处理方式": "İşleme modu",
"底层模型": "Temel model",
"主结果文件夹": "Ana çıktı klasörü",
"分离残余文件夹": "Artık çıktı klasörü", "分离残余文件夹": "Artık çıktı klasörü",
"停止分离": "Ayırmayı durdur" "删除末行": "Remove last row",
} "判别器预训练模型不存在将不使用assets/pretrained%s/%sD%s.pth": "Discriminator pretrained model not found; it will not be used: assets/pretrained%s/%sD%s.pth",
"刷新音色列表": "Ses listesini yenile",
"加载模型": "Model yükle",
"加载预训练底模D路径": "Önceden eğitilmiş temel D modelini yükleme yolu:",
"加载预训练底模G路径": "Önceden eğitilmiş temel G modelini yükleme yolu:",
"单次推理": "Tekli çıkarım",
"单说话人": "Single speaker",
"卸载音色省显存": "GPU bellek kullanımını azaltmak için sesi kaldır",
"变调(整数, 半音数量, 升八度12降八度-12)": "Transpoze et (tamsayı, yarıton sayısıyla; bir oktav yükseltmek için: 12, bir oktav düşürmek için: -12):",
"合成": "Sentez",
"后处理重采样至最终采样率0为不进行重采样": "Son işleme aşamasında çıktı sesini son örnekleme hızına yeniden örnekle. 0 değeri için yeniden örnekleme yapılmaz:",
"否": "Hayır",
"响应阈值": "Tepki eşiği",
"响度因子": "ses yüksekliği faktörü",
"处理中": "İşleniyor",
"处理数据": "Verileri işle",
"处理方式": "İşleme modu",
"多说话人": "Multiple speakers",
"注意:多说话人训练音色还原度不一定有单说话人分开训练好!": "Not: Çok konuşmacılı eğitim, her sesi konuşmacıları ayrı ayrı eğitmek kadar doğru yansıtmayabilir!",
"多说话人子文件夹无效格式应为名称_ID_重复次数、ID为0~109、重复次数为正整数、同一ID的名称需一致且目录需有音频%s": "Invalid multi-speaker subfolders (expected Name_ID_Repeat, ID 0-109, a positive repeat count, one consistent name per ID, and at least one audio file): %s",
"多说话人总文件夹只扫描根目录下的直接子文件夹,根目录文件会被忽略。\n子文件夹必须命名为x_y_zx是说话人名称y是说话人ID0~109共110个z是训练集重复次数。\n也可以到右侧“多说话人训练集辅助”编辑并提交训练集清单。": "Only direct subfolders of the multi-speaker root are scanned; root files are ignored.\nName each subfolder x_y_z: x is the speaker name, y is the speaker ID (0-109, 110 choices), and z is the repeat count.\nYou can also submit a manifest from the Multi-speaker Dataset Helper tab.",
"多说话人训练集总文件夹不存在:%s": "Multi-speaker dataset root does not exist: %s",
"多说话人训练集总文件夹中没有有效音频": "The multi-speaker dataset root contains no valid audio",
"多说话人训练集总文件夹中没有直接子文件夹": "The multi-speaker dataset root has no direct subfolders",
"多说话人训练集总文件夹路径": "Multi-speaker dataset root",
"多说话人训练集清单不存在,请先提交辅助清单或填写总文件夹": "The multi-speaker manifest does not exist. Submit it from the helper tab or enter a dataset root first",
"多说话人训练集清单包含无效条目:%s": "The multi-speaker manifest contains an invalid entry: %s",
"多说话人训练集清单存在重复输出标识:%s": "The multi-speaker manifest contains a duplicate output key: %s",
"多说话人训练集清单已保存:%s有效音频%s个": "Multi-speaker dataset manifest saved: %s; valid audio files: %s",
"多说话人训练集清单格式错误": "The multi-speaker manifest format is invalid",
"多说话人训练集清单没有有效音频": "The multi-speaker manifest contains no valid audio",
"多说话人训练集辅助": "Multi-speaker Dataset Helper",
"失败": "Başarısız",
"失败记录": "Hata kayıtları",
"子进程执行失败,返回码:%s": "Alt işlem şu çıkış koduyla başarısız oldu: %s",
"实验名不能为空": "Experiment name is required",
"导出文件格式": "Dışa aktarma dosya formatı",
"已停止": "Durduruldu",
"已加载判别器预训练模型:%s": "Önceden eğitilmiş ayırıcı modeli yüklendi: %s",
"已加载生成器预训练模型:%s": "Önceden eğitilmiş üretici modeli yüklendi: %s",
"已启用索引检索": "İndeks araması etkin",
"已完成": "Tamamlandı",
"已完成阶段": "Tamamlanan aşamalar",
"已恢复判别器检查点": "Ayırıcı kontrol noktası geri yüklendi",
"已成功": "Başarılı",
"常见问题解答": "Sıkça Sorulan Sorular (SSS)",
"常规设置": "Genel ayarlar",
"底层模型": "Temel model",
"开始音频转换": "Ses dönüştürmeyi başlat",
"当前": "Geçerli",
"当前设备:%s | 推理精度:%s": "Geçerli cihaz: %s | Çıkarım hassasiyeti: %s",
"当前阶段": "Geçerli aşama",
"很遗憾您这没有能用的显卡来支持您训练": "Maalesef, eğitiminizi desteklemek için uyumlu bir GPU bulunmamaktadır.",
"性别因子/声线粗细": "Cinsiyet faktörü / ses kalınlığı",
"性能设置": "Performans ayarları",
"总训练轮数total_epoch": "Toplam eğitim turu (total_epoch):",
"成功": "Başarılı",
"执行命令": "Komut",
"批量推理": "Toplu çıkarım",
"批量转换, 输入待转换音频文件夹, 或上传多个音频文件, 在指定文件夹(默认opt)下输出转换的音频. ": "Toplu dönüştür. Dönüştürülecek ses dosyalarının bulunduğu klasörü girin veya birden çok ses dosyasını yükleyin. Dönüştürülen ses dosyaları belirtilen klasöre ('opt' varsayılan olarak) dönüştürülecektir",
"拖拽或点击上传待处理音频": "İşlenecek sesi sürükleyip bırakın veya yüklemek için tıklayın",
"指定输出文件夹": ıkış klasörünü belirt:",
"推理时间(ms):": ıkarsama süresi (ms):",
"推理耗时:%.2f秒": ıkarım süresi: %.2f seconds",
"推理音色": "Ses çıkartma (Inference):",
"提交训练集清单": "Submit dataset manifest",
"提取": ıkart",
"提取音高和处理数据使用的CPU进程数": "Ses yüksekliği çıkartmak (Pitch) ve verileri işlemek için kullanılacak CPU işlemci sayısı:",
"数据切分": "Veri dilimleme",
"数据切分没有生成16k音频已停止后续特征提取和训练": "Veri ön işleme 16 kHz ses üretmedi. Özellik çıkarma ve eğitim durduruldu.",
"数据切分没有生成有效训练音频,请检查训练集和数据切分日志": "Veri ön işleme geçerli eğitim sesi üretmedi. Veri kümesini ve günlüğü kontrol edin.",
"数据切分输出文件不匹配,已停止后续特征提取和训练": "Veri ön işleme çıktı dosyaları eşleşmiyor. Özellik çıkarma ve eğitim durduruldu.",
"数据提取开始start_time=%.6f,请求并行数=%s实际并行数上限=%s": "Veri çıkarma başladı: start_time=%.6f, istenen eşzamanlılık=%s, gerçek üst sınır=%s",
"数据提取结束end_time=%.6f,总耗时=%.3f秒": "Veri çıkarma tamamlandı: end_time=%.6f, toplam süre=%.3f saniye",
"新增一行": "Add row",
"无法停止": "Durdurulamıyor",
"是": "Evet",
"是否仅保存最新的ckpt文件以节省硬盘空间": "Sadece en son '.ckpt' dosyasını kaydet:",
"是否在每次保存时间点将最终小模型保存至weights文件夹": "Her kaydetme noktasında son küçük bir modeli 'weights' klasörüne kaydetmek için:",
"是否缓存所有训练集至显存. 10min以下小数据可缓存以加速训练, 大数据缓存会炸显存也加不了多少速": "Tüm eğitim verilerini GPU belleğine önbelleğe alıp almayacağınızı belirtin. Küçük veri setlerini (10 dakikadan az) önbelleğe almak eğitimi hızlandırabilir, ancak büyük veri setlerini önbelleğe almak çok fazla GPU belleği tüketir ve çok fazla hız artışı sağlamaz:",
"显卡信息": "GPU Bilgisi",
"未使用": "Kullanılmadı",
"未使用判别器预训练模型": "Önceden eğitilmiş ayırıcı modeli kullanılmadı",
"未使用生成器预训练模型": "Önceden eğitilmiş üretici modeli kullanılmadı",
"未检测到可用显卡将使用CPU训练耗时可能较长": "Desteklenen GPU algılanmadı; CPU ile eğitim çok daha uzun sürebilir",
"未运行": "Başlatılmadı",
"本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责. <br>如不认可该条款, 则不能使用或引用软件包内任何代码和文件. 详见根目录<b>LICENSE</b>.": "Bu yazılım, MIT lisansı altında açık kaynaklıdır. Yazarın yazılım üzerinde herhangi bir kontrolü yoktur. Yazılımı kullanan ve yazılım tarafından dışa aktarılan sesleri dağıtan kullanıcılar sorumludur. <br>Eğer bu maddeyle aynı fikirde değilseniz, yazılım paketi içindeki herhangi bir kod veya dosyayı kullanamaz veya referans göremezsiniz. Detaylar için kök dizindeki <b>Agreement-LICENSE.txt</b> dosyasına bakınız.",
"查看": "Görüntüle",
"查看模型信息(仅支持weights文件夹下提取的小模型文件)": "Model bilgilerini görüntüle (sadece 'weights' klasöründen çıkarılan küçük model dosyaları desteklenir)",
"检索特征占比": "Arama özelliği oranı (vurgu gücünü kontrol eder, çok yüksek olması sanal etkilere neden olur)",
"模型信息:%s\n采样率%s\n是否使用音高引导%s\n版本%s": "Model bilgisi: %s\nÖrnekleme hızı: %s\nPerde yönlendirmesi: %s\nSürüm: %s",
"模型推理": "Model çıkartma (Inference)",
"模型提取(输入logs文件夹下大文件模型路径),适用于训一半不想训了模型没有自动提取保存小文件模型,或者想测试中间模型的情况": "Model çıkartma (büyük dosya modeli yolunu 'logs' klasöründe girin). Bu, eğitimi yarıda bırakmak istediğinizde ve manuel olarak küçük bir model dosyası çıkartmak ve kaydetmek istediğinizde veya bir ara modeli test etmek istediğinizde kullanışlıdır:",
"模型是否带音高指导": "Modelin ses yüksekliği rehberi içerip içermediği:",
"模型是否带音高指导(唱歌一定要, 语音可以不要)": "Modelin ses yüksekliği (Pitch) rehberliği içerip içermediği (şarkı söyleme için şarttır, konuşma için isteğe bağlıdır):",
"模型是否带音高指导,1是0否": "Modelin ses yüksekliği rehberi içerip içermediği (1: evet, 0: hayır):",
"模型版本型号": "Model mimari versiyonu:",
"模型融合, 可用于测试音色融合": "Model birleştirme, ses rengi birleştirmesi için kullanılabilir",
"模型融合失败:两个模型的结构不一致": "Model birleştirme başarısız: iki modelin mimarisi eşleşmiyor",
"模型训练": "Model eğitimi",
"模型路径": "Model Yolu:",
"正在保存最终检查点:%s": "Son kontrol noktası kaydediliyor: %s",
"正在保存检查点 %s_e%s%s": "Kontrol noktası kaydediliyor %s_e%s: %s",
"正在加载RMVPE模型": "RMVPE modeli yükleniyor",
"正在加载模型": "Model yükleniyor",
"正在启动": "Başlatılıyor",
"正在收尾": "Tamamlanıyor",
"正在预热CUDA Graph": "CUDA Graph ısınıyor",
"每张显卡的batch_size": "Her GPU için yığın boyutu (batch_size):",
"没有可用于训练的有效音频,请先完成数据切分和特征提取": "Eğitim için geçerli ses yok. Önce veri ön işleme ve özellik çıkarmayı tamamlayın.",
"没有有效的多说话人训练集行": "There are no valid multi-speaker dataset rows",
"淡入淡出长度": "Geçiş (Fade) uzunluğu",
"清理模型缓存": "Model önbelleği temizleniyor",
"版本": "Sürüm",
"特征": "Özellikler",
"特征提取": "Özellik çıkartma",
"特征检索库文件路径(选择模型后自动匹配,可手动修改)": "Özellik dizini yolu (model seçilince otomatik eşleşir; düzenlenebilir)",
"状态": "Durum",
"独占 WASAPI 设备": "Özel WASAPI cihazı",
"生成器预训练模型不存在将不使用assets/pretrained%s/%sG%s.pth": "Generator pretrained model not found; it will not be used: assets/pretrained%s/%sG%s.pth",
"留空则使用辅助页已提交的清单": "Leave empty to use the manifest submitted from the helper tab",
"目标采样率": "Hedef örnekleme oranı:",
"第%s/%s页共%s行": "Page %s/%s, %s rows",
"等待中": "Bekliyor",
"等待输入": "Girdi bekleniyor",
"算法延迟(ms):": "Algoritma gecikmesi (ms):",
"索引": "İndeks",
"索引文件不存在,将不使用索引继续推理:%s": "İndeks dosyası mevcut değil; çıkarım indeks kullanılmadan devam edecek: %s",
"索引无效必须使用added_xxxx.index不能使用trained_xxxx.index": "Geçersiz indeks: şunu kullanın added_xxxx.index, not trained_xxxx.index",
"索引检索失败": "İndeks araması başarısız",
"索引检索失败或未启用": "İndeks araması başarısız veya devre dışı",
"索引训练": "İndeks eğitimi",
"耗时": "Geçen süre",
"耗时:特征=%.3f秒,索引=%.3f秒,音高=%.3f秒,模型=%.3f秒": "Geçen süre: features=%.3fs, index=%.3fs, pitch=%.3fs, model=%.3fs",
"融合": "Birleştir",
"要改的模型信息": "Düzenlenecek model bilgileri:",
"要置入的模型信息": "Eklemek için model bilgileri:",
"训练": "Eğitim",
"训练已完成,正在保存最终模型": "Eğitim tamamlandı; son model kaydediliyor",
"训练文件列表写入完成": "Eğitim dosyası listesi yazıldı",
"训练模型": "Modeli Eğit",
"训练特征索引": "Özellik Dizinini Eğit",
"训练设备规则选择的精度:%s": "Eğitim hassasiyeti cihaz kurallarına göre seçildi: %s",
"训练轮次:{} [{:.0f}%]": "Eğitim dönemi: {} [{:.0f}%]",
"训练集子音频文件夹目录路径": "Dataset audio subfolder path",
"训练集类型": "Dataset type",
"设备类型": "Cihaz türü",
"说话人ID0~109": "Speaker ID (0-109)",
"说话人名称": "Speaker name",
"说话人:%sID%s": "Speaker: %s (ID: %s)",
"请上传音频文件": "Bir ses dosyası yükleyin",
"请填写输出文件夹路径": ıktı klasörü yolunu girin",
"请指定说话人id": "Lütfen konuşmacı/sanatçı no belirtin:",
"请选择index文件": "Lütfen .index dosyası seçin",
"请选择pth文件": "Lütfen .pth dosyası seçin",
"请选择说话人id": "Konuşmacı/Şarkıcı No seçin:",
"转换": "Dönüştür",
"输入实验名": "Deneysel adı girin:",
"输入实验名例如test": "Deney adı, örneğin: test",
"输入待处理音频文件夹路径": "İşlenecek ses klasörünün yolunu girin:",
"输入待处理音频文件夹路径(去文件管理器地址栏拷就行了)": "İşlenecek ses klasörünün yolunu girin (dosya yöneticisinin adres çubuğundan kopyalayın):",
"输入源音量包络替换输出音量包络融合比例越靠近1越使用输出包络": "Sesin hacim zarfını ayarlayın. 0'a yakın değerler, sesin orijinal vokallerin hacmine benzer olmasını sağlar. Düşük bir değerle ses gürültüsünü maskeleyebilir ve hacmi daha doğal bir şekilde duyulabilir hale getirebilirsiniz. 1'e yaklaştıkça sürekli bir yüksek ses seviyesi elde edilir:",
"输入监听": "Girişi izle",
"输入训练文件夹路径": "Eğitim klasörünün yolunu girin:",
"输入设备": "Giriş cihazı",
"输入设备:%s:%s": "Giriş cihazı: %s:%s",
"输入降噪": "Giriş gürültü azaltma",
"输出信息": ıkış bilgisi",
"输出变声": ıkış ses dönüşümü",
"输出设备": ıkış cihazı",
"输出设备:%s:%s": ıkış cihazı: %s:%s",
"输出降噪": ıkış gürültü azaltma",
"输出音频(右下角三个点,点了可以下载)": "Ses dosyasını dışa aktar (indirmek için sağ alt köşedeki üç noktaya tıklayın)",
"运行中": "Çalışıyor",
"进度": "İlerleme",
"选择.index文件": ".index dosyası seç",
"选择.pth文件": ".pth dosyası seç",
"选择多说话人音色": "Select multi-speaker voice",
"选择模型": "Model seçin",
"选择索引": "İndeks seçin",
"选择音高提取算法": "Perde çıkarma algoritmasını seçin",
"采样率:": "Örnekleme hızı:",
"采样长度": "Örnekleme uzunluğu",
"重复次数": "Repeat count",
"重载设备列表": "Cihaz listesini yeniden yükle",
"音调设置": "Pitch ayarları",
"音频设备": "Ses cihazı",
"音高全部为0该音频无意义跳过%s": "Tüm perde değerleri sıfır; bu ses kullanılamaz ve atlanacak: %s",
"音高算法": "Perde algoritması",
"额外推理时长": "Ekstra çıkartma süresi"
}

View File

@@ -1,270 +1,286 @@
{ {
"人声提取激进程度": "人声提取激进程度", "%s运行中请先停止该任务": "%s运行中请先停止该任务",
"%s → 成功": "%s → 成功", "====> 轮次:{} {}": "====> 轮次:{} {}",
"%s运行中请先停止该任务": "%s运行中请先停止该任务", "A模型权重": "A模型权重",
"%s进程已终止": "%s进程已终止", "A模型路径": "A模型路径",
"====> 轮次:{} {}": "====> 轮次:{} {}", "B模型路径": "B模型路径",
"A模型权重": "A模型权重", "CUDA Graph预热完成": "CUDA Graph预热完成",
"A模型路径": "A模型路径", "CUDA可用%s": "CUDA可用%s",
"B模型路径": "B模型路径", "输入训练文件夹路径例如E:\\我的训练集": "输入训练文件夹路径例如E:\\我的训练集",
"CUDA可用%s": "CUDA可用%s", "F0与HuBERT特征提取": "F0与HuBERT特征提取",
"E:\\语音音频+标注\\米津玄师\\src": "E:\\语音音频+标注\\米津玄师\\src", "F0提取": "F0提取",
"F0与HuBERT特征提取": "F0与HuBERT特征提取", "F0提取没有生成有效结果,已停止训练": "F0提取没有生成有效结果已停止训练",
"F0提取": "F0提取", "HuBERT特征": "HuBERT特征",
"F0曲线文件, 可选, 一行一个音高, 代替默认F0及升降调": "F0曲线文件, 可选, 一行一个音高, 代替默认F0及升降调", "HuBERT特征提取没有生成有效结果已停止训练": "HuBERT特征提取没有生成有效结果已停止训练",
"HuBERT特征": "HuBERT特征", "Index Rate": "检索特征占比",
"Index Rate": "检索特征占比", "SOLA偏移%d": "SOLA偏移%d",
"RVC模型路径": "RVC模型路径", "[F0提取] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[F0提取] 完成 | 成功:%s | 跳过:%s | 失败:%s",
"SOLA偏移%d": "SOLA偏移%d", "[F0提取] 待处理%s": "[F0提取] 待处理%s",
"[F0提取] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[F0提取] 完成 | 成功:%s | 跳过:%s | 失败:%s", "[F0提取] 无待处理音频,已全部跳过": "[F0提取] 无待处理音频,已全部跳过",
"[F0提取] 待处理:%s": "[F0提取] 待处理:%s", "[F0提取] 进度:%s/%s | 成功:%s | 跳过:%s | %s": "[F0提取] 进度:%s/%s | 成功:%s | 跳过:%s | %s",
"[F0提取] 无待处理音频,已全部跳过": "[F0提取] 无待处理音频,已全部跳过", "[F0提取][失败] %s": "[F0提取][失败] %s",
"[F0提取] 进度:%s/%s | 成功:%s | 跳过:%s | %s": "[F0提取] 进度:%s/%s | 成功:%s | 跳过:%s | %s", "[F0提取][失败] %s\n%s": "[F0提取][失败] %s\n%s",
"[F0提取][失败] %s": "[F0提取][失败] %s", "[HuBERT特征] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[HuBERT特征] 完成 | 成功:%s | 跳过:%s | 失败:%s",
"[F0提取][失败] %s\n%s": "[F0提取][失败] %s\n%s", "[HuBERT特征] 无待处理音频,已全部跳过:%s": "[HuBERT特征] 无待处理音频,已全部跳过:%s",
"[HuBERT特征] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[HuBERT特征] 完成 | 成功:%s | 跳过:%s | 失败%s", "[HuBERT特征] 正在加载模型:%s": "[HuBERT特征] 正在加载模型%s",
"[HuBERT特征] 无待处理音频,已全部跳过:%s": "[HuBERT特征] 无待处理音频,已全部跳过:%s", "[HuBERT特征] 设备:%s | 待处理:%s | 已跳过:%s": "[HuBERT特征] 设备:%s | 待处理:%s | 已跳过:%s",
"[HuBERT特征] 正在加载模型:%s": "[HuBERT特征] 正在加载模型:%s", "[HuBERT特征] 进度:%s/%s | 成功:%s | 失败:%s | %s | %s": "[HuBERT特征] 进度:%s/%s | 成功:%s | 失败:%s | %s | %s",
"[HuBERT特征] 设备:%s | 待处理:%s | 已跳过:%s": "[HuBERT特征] 设备:%s | 待处理:%s | 已跳过:%s", "[HuBERT特征][失败] %s\n%s": "[HuBERT特征][失败] %s\n%s",
"[HuBERT特征] 进度:%s/%s | 成功:%s | 失败:%s | %s | %s": "[HuBERT特征] 进度:%s/%s | 成功:%s | 失败:%s | %s | %s", "[HuBERT特征][失败] %s 包含NaN": "[HuBERT特征][失败] %s 包含NaN",
"[HuBERT特征][失败] %s\n%s": "[HuBERT特征][失败] %s\n%s", "[HuBERT特征][失败] 模型不存在:%s": "[HuBERT特征][失败] 模型不存在:%s",
"[HuBERT特征][失败] %s 包含NaN": "[HuBERT特征][失败] %s 包含NaN", "[数据切分] 多说话人待处理:%s | 进程数:%s": "[数据切分] 多说话人待处理:%s | 进程数:%s",
"[HuBERT特征][失败] 模型不存在:%s": "[HuBERT特征][失败] 模型不存在%s", "[数据切分] 子任务完成 | 成功:%s | 失败:%s": "[数据切分] 子任务完成 | 成功:%s | 失败%s",
"[数据切分] 子任务完成 | 成功:%s | 失败:%s": "[数据切分] 子任务完成 | 成功:%s | 失败:%s", "[数据切分] 完成": "[数据切分] 完成",
"[数据切分] 完成": "[数据切分] 完成", "[数据切分] 开始": "[数据切分] 开始",
"[数据切分] 开始": "[数据切分] 开始", "[数据切分] 待处理:%s | 进程数:%s": "[数据切分] 待处理:%s | 进程数:%s",
"[数据切分] 待处理:%s | 进程数:%s": "[数据切分] 待处理:%s | 进程数:%s", "[数据切分] 进度:%s/%s | %s": "[数据切分] 进度:%s/%s | %s",
"[数据切分] 进度:%s/%s | %s": "[数据切分] 进度:%s/%s | %s", "[数据切分][失败] %s": "[数据切分][失败] %s",
"[数据切分][失败] %s": "[数据切分][失败] %s", "[数据切分][失败] %s\n%s": "[数据切分][失败] %s\n%s",
"[数据切分][失败] %s\n%s": "[数据切分][失败] %s\n%s", "[数据切分][跳过] 无效或异常音频片段:%s_%s | 峰值:%s": "[数据切分][跳过] 无效或异常音频片段:%s_%s | 峰值:%s",
"[数据切分][跳过] 无效或异常音频片段:%s_%s | 峰值:%s": "[数据切分][跳过] 无效或异常音频片段:%s_%s | 峰值:%s", "[索引训练] 写入进度:%s/%s": "[索引训练] 写入进度:%s/%s",
"[索引训练] 写入进度:%s/%s": "[索引训练] 写入进度:%s/%s", "[索引训练] 外部索引链接已存在:%s": "[索引训练] 外部索引链接已存在:%s",
"[索引训练] 已链接索引到外部目录:%s": "[索引训练] 已链接索引到外部目录:%s", "[索引训练] 已链接索引到外部目录:%s": "[索引训练] 已链接索引到外部目录:%s",
"[索引训练] 成功构建索引:%s": "[索引训练] 成功构建索引:%s", "[索引训练] 成功构建索引:%s": "[索引训练] 成功构建索引:%s",
"[索引训练] 正在写入特征向量": "[索引训练] 正在写入特征向量", "[索引训练] 正在写入特征向量": "[索引训练] 正在写入特征向量",
"[索引训练] 正在将%s条特征聚类为10000个中心": "[索引训练] 正在将%s条特征聚类为10000个中心", "[索引训练] 正在将%s条特征聚类为10000个中心": "[索引训练] 正在将%s条特征聚类为10000个中心",
"[索引训练] 正在训练索引": "[索引训练] 正在训练索引", "[索引训练] 正在训练索引": "[索引训练] 正在训练索引",
"[索引训练] 特征形状:%s | IVF数量%s": "[索引训练] 特征形状:%s | IVF数量%s", "[索引训练] 特征形状:%s | IVF数量%s": "[索引训练] 特征形状:%s | IVF数量%s",
"[索引训练][失败] 无法链接索引到外部目录:%s\n%s": "[索引训练][失败] 无法链接索引到外部目录:%s\n%s", "[索引训练][失败] 无法链接索引到外部目录:%s\n%s": "[索引训练][失败] 无法链接索引到外部目录:%s\n%s",
"[索引训练][失败] 聚类失败,将使用原始特征继续\n%s": "[索引训练][失败] 聚类失败,将使用原始特征继续\n%s", "[索引训练][失败] 聚类失败,将使用原始特征继续\n%s": "[索引训练][失败] 聚类失败,将使用原始特征继续\n%s",
"[索引训练][失败] 请先进行特征提取": "[索引训练][失败] 请先进行特征提取", "[索引训练][失败] 请先进行特征提取": "[索引训练][失败] 请先进行特征提取",
"ckpt处理": "ckpt处理", "[索引训练][跳过] added索引已存在%s": "[索引训练][跳过] added索引已存在%s",
"index文件路径不可包含中文": "index文件路径不可包含中文", "[索引训练][跳过] trained索引已存在%s": "[索引训练][跳过] trained索引已存在%s",
"pth文件路径不可包含中文": "pth文件路径不可包含中文", "ckpt处理": "ckpt处理",
"rmvpe卡号配置以-分隔输入使用的不同进程卡号,例如0-0-1使用卡0上跑2个进程并在卡1上跑1个进程": "rmvpe卡号配置以-分隔输入使用的不同进程卡号,例如0-0-1使用卡0上跑2个进程并在卡1上跑1个进程", "hubert:以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2": "hubert:以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2",
"step1: 填写实验配置. 实验数据放在logs下, 每个实验一个文件夹, 需手工输入实验名路径, 内含实验配置, 日志, 训练得到的模型文件. ": "step1: 填写实验配置. 实验数据放在logs下, 每个实验一个文件夹, 需手工输入实验名路径, 内含实验配置, 日志, 训练得到的模型文件. ", "index文件路径不可包含中文": "index文件路径不可包含中文",
"step1:正在处理数据": "step1:正在处理数据", "pth文件路径不可包含中文": "pth文件路径不可包含中文",
"step2:正在提取音高&正在提取特征": "step2:正在提取音高&正在提取特征", "rmvpe卡号配置以-分隔输入使用的不同进程卡号,例如0-0-1使用在卡0上跑2个进程并在卡1上跑1个进程": "rmvpe卡号配置以-分隔输入使用的不同进程卡号,例如0-0-1使用在卡0上跑2个进程并在卡1上跑1个进程",
"step2a: 自动遍历训练文件夹下所有可解码成音频的文件并进行切片归一化, 在实验目录下生成2个wav文件夹; 暂时只支持单人训练. ": "step2a: 自动遍历训练文件夹下所有可解码成音频的文件并进行切片归一化, 在实验目录下生成2个wav文件夹; 暂时只支持单人训练. ", "step1: 填写实验配置. 实验数据放在logs下, 每个实验一个文件夹, 需手工输入实验名路径, 内含实验配置, 日志, 训练得到的模型文件. ": "step1: 填写实验配置. 实验数据放在logs下, 每个实验一个文件夹, 需手工输入实验名路径, 内含实验配置, 日志, 训练得到的模型文件. ",
"step2b: 使用CPU提取音高(如果模型带音高), 使用GPU提取特征(选择卡号)": "step2b: 使用CPU提取音高(如果模型带音高), 使用GPU提取特征(选择卡号)", "step2a: 扫描训练音频并进行切片归一化在实验目录下生成训练wav文件。": "step2a: 扫描训练音频并进行切片归一化在实验目录下生成训练wav文件。",
"step3: 填写训练设置, 开始训练模型和索引": "step3: 填写训练设置, 开始训练模型和索引", "step2b: 音高与hubert语义特征提取": "step2b: 音高与hubert语义特征提取",
"step3a:正在训练模型": "step3a:正在训练模型", "step3: 填写训练设置, 开始训练模型和索引": "step3: 填写训练设置, 开始训练模型和索引",
"step3b:正在训练索引": "step3b:正在训练索引", "……仅显示最近10条失败记录": "……仅显示最近10条失败记录",
"……仅显示最近10条失败记录": "……仅显示最近10条失败记录", "……已省略前%s行仅显示最新状态": "……已省略前%s行仅显示最新状态",
"……已省略前%s行仅显示最新状态": "……已省略前%s行仅显示最新状态", "一键训练": "一键训练",
"一键训练": "一键训练", "上一页": "上一页",
"也可批量输入音频文件, 二选一, 优先读文件夹": "也可批量输入音频文件, 二选一, 优先读文件夹", "下一页": "下一页",
"仅支持pm和rmvpe音高提取算法": "仅支持pm和rmvpe音高提取算法", "为多说话人训练集建立清单。空行会被忽略路径、说话人名称、说话人ID或重复次数填写不全的行会在提交时提示。": "为多说话人训练集建立清单。空行会被忽略路径、说话人名称、说话人ID或重复次数填写不全的行会在提交时提示。",
"从训练检查点提取的模型": "从训练检查点提取的模型", "主结果文件夹": "主结果文件夹",
"以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2": "以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2", "也可批量输入音频文件, 二选一, 优先读文件夹": "也可批量输入音频文件, 二选一, 优先读文件夹",
"任务": "任务", "人声、伴奏与混响批量处理使用pymss/MSST模型。": "人声、伴奏与混响批量处理使用pymss/MSST模型。",
"使用显卡:%s": "使用显卡:%s", "人声伴奏分离&去混响": "人声伴奏分离&去混响",
"使用模型采样率": "使用模型采样率", "仅支持pm和rmvpe音高提取算法": "仅支持pm和rmvpe音高提取算法",
"使用设备采样率": "使用设备采样率", "从训练检查点提取的模型": "从训练检查点提取的模型",
"保存名": "保存名", "以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2": "以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2",
"保存的文件名, 默认空为和源文件同名": "保存的文件名, 默认空为和源文件同名", "以下行填写不完整或无效,已忽略:%s": "以下行填写不完整或无效,已忽略:%s",
"保存的模型名不带后缀": "保存的模型名不带后缀", "任务": "任务",
"保存频率save_every_epoch": "保存频率save_every_epoch", "使用显卡:%s": "使用显卡:%s",
"保护清辅音和呼吸声防止电音撕裂等artifact拉满0.5不开启,调低加大保护力度但可能降低索引效果": "保护清辅音和呼吸声防止电音撕裂等artifact拉满0.5不开启,调低加大保护力度但可能降低索引效果", "使用模型采样率": "使用模型采样率",
"修改": "修改", "使用设备采样率": "使用设备采样率",
"修改模型信息(仅支持weights文件夹下提取的小模型文件)": "修改模型信息(仅支持weights文件夹下提取的小模型文件)", "保存名": "保存名",
"停止一键训练": "停止一键训练", "保存的文件名, 默认空为和源文件同名": "保存的文件名, 默认空为和源文件同名",
"停止处理数据": "停止处理数据", "保存的模型名不带后缀": "保存的模型名不带后缀",
"停止特征提取": "停止特征提取", "保存频率save_every_epoch": "保存频率save_every_epoch",
"停止训练模型": "停止训练模型", "保护清辅音和呼吸声防止电音撕裂等artifact拉满0.5不开启,调低加大保护力度但可能降低索引效果": "保护清辅音和呼吸声防止电音撕裂等artifact拉满0.5不开启,调低加大保护力度但可能降低索引效果",
"停止训练索引": "停止训练索引", "修改": "修改",
"停止音频转换": "停止音频转换", "修改模型信息(仅支持weights文件夹下提取的小模型文件)": "修改模型信息(仅支持weights文件夹下提取的小模型文件)",
"全流程结束!": "全流程结束!", "停止一键训练": "停止一键训练",
"判别器预训练模型不存在将不使用assets/pretrained%s/%sD%s.pth": "判别器预训练模型不存在将不使用assets/pretrained%s/%sD%s.pth", "停止分离": "停止分离",
"加载模型": "加载模型", "停止处理数据": "停止处理数据",
"加载预训练底模D路径": "加载预训练底模D路径", "停止特征提取": "停止特征提取",
"加载预训练底模G路径": "加载预训练底模G路径", "停止训练模型": "停止训练模型",
"单次推理": "单次推理", "停止训练索引": "停止训练索引",
"卸载音色省显存": "卸载音色省显存", "停止音频转换": "停止音频转换",
"变调(整数, 半音数量, 升八度12降八度-12)": "变调(整数, 半音数量, 升八度12降八度-12)",
"合成": "合成",
"后处理重采样至最终采样率0为不进行重采样": "后处理重采样至最终采样率0为不进行重采样",
"否": "否",
"响应阈值": "响应阈值",
"响度因子": "响度因子",
"处理中": "处理中",
"处理数据": "处理数据",
"失败": "失败",
"失败记录": "失败记录",
"子进程执行失败,返回码:%s": "子进程执行失败,返回码:%s",
"导出文件格式": "导出文件格式",
"已停止": "已停止",
"已加载判别器预训练模型:%s": "已加载判别器预训练模型:%s",
"已加载生成器预训练模型:%s": "已加载生成器预训练模型:%s",
"已启用索引检索": "已启用索引检索",
"已完成": "已完成",
"已恢复判别器检查点": "已恢复判别器检查点",
"常见问题解答": "常见问题解答",
"常规设置": "常规设置",
"开始音频转换": "开始音频转换",
"当前": "当前",
"当前阶段": "当前阶段",
"很遗憾您这没有能用的显卡来支持您训练": "很遗憾您这没有能用的显卡来支持您训练",
"性别因子/声线粗细": "性别因子/声线粗细",
"性能设置": "性能设置",
"总训练轮数total_epoch": "总训练轮数total_epoch",
"成功": "成功",
"执行命令": "执行命令",
"批量推理": "批量推理",
"批量转换, 输入待转换音频文件夹, 或上传多个音频文件, 在指定文件夹(默认opt)下输出转换的音频. ": "批量转换, 输入待转换音频文件夹, 或上传多个音频文件, 在指定文件夹(默认opt)下输出转换的音频. ",
"拖拽或点击上传待处理音频": "拖拽或点击上传待处理音频",
"指定输出主人声文件夹": "指定输出主人声文件夹",
"指定输出文件夹": "指定输出文件夹",
"指定输出非主人声文件夹": "指定输出非主人声文件夹",
"推理时间(ms):": "推理时间(ms):",
"推理耗时:%.2f秒": "推理耗时:%.2f秒",
"推理音色": "推理音色",
"提取": "提取",
"提取音高和处理数据使用的CPU进程数": "提取音高和处理数据使用的CPU进程数",
"数据切分": "数据切分",
"无法停止": "无法停止",
"无法读取音频:%s": "无法读取音频:%s",
"是": "是",
"是否仅保存最新的ckpt文件以节省硬盘空间": "是否仅保存最新的ckpt文件以节省硬盘空间",
"是否在每次保存时间点将最终小模型保存至weights文件夹": "是否在每次保存时间点将最终小模型保存至weights文件夹",
"是否缓存所有训练集至显存. 10min以下小数据可缓存以加速训练, 大数据缓存会炸显存也加不了多少速": "是否缓存所有训练集至显存. 10min以下小数据可缓存以加速训练, 大数据缓存会炸显存也加不了多少速",
"显卡信息": "显卡信息",
"未使用": "未使用",
"未使用判别器预训练模型": "未使用判别器预训练模型",
"未使用生成器预训练模型": "未使用生成器预训练模型",
"未找到Roformer模型配置文件正在使用内置默认配置": "未找到Roformer模型配置文件正在使用内置默认配置",
"未检测到可用显卡将使用CPU训练耗时可能较长": "未检测到可用显卡将使用CPU训练耗时可能较长",
"未运行": "未运行",
"本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责. <br>如不认可该条款, 则不能使用或引用软件包内任何代码和文件. 详见根目录<b>LICENSE</b>.": "本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责. <br>如不认可该条款, 则不能使用或引用软件包内任何代码和文件. 详见根目录<b>LICENSE</b>.",
"查看": "查看",
"查看模型信息(仅支持weights文件夹下提取的小模型文件)": "查看模型信息(仅支持weights文件夹下提取的小模型文件)",
"检测到模型类型:%s": "检测到模型类型:%s",
"检索特征占比": "检索特征占比",
"模型": "模型",
"模型信息:%s\n采样率%s\n是否使用音高引导%s\n版本%s": "模型信息:%s\n采样率%s\n是否使用音高引导%s\n版本%s",
"模型推理": "模型推理",
"模型提取(输入logs文件夹下大文件模型路径),适用于训一半不想训了模型没有自动提取保存小文件模型,或者想测试中间模型的情况": "模型提取(输入logs文件夹下大文件模型路径),适用于训一半不想训了模型没有自动提取保存小文件模型,或者想测试中间模型的情况",
"模型是否带音高指导": "模型是否带音高指导",
"模型是否带音高指导(唱歌一定要, 语音可以不要)": "模型是否带音高指导(唱歌一定要, 语音可以不要)",
"模型是否带音高指导,1是0否": "模型是否带音高指导,1是0否",
"模型版本型号": "模型版本型号",
"模型融合, 可用于测试音色融合": "模型融合, 可用于测试音色融合",
"模型融合失败:两个模型的结构不一致": "模型融合失败:两个模型的结构不一致",
"模型训练": "模型训练",
"模型路径": "模型路径",
"正在保存最终检查点:%s": "正在保存最终检查点:%s",
"正在保存检查点 %s_e%s%s": "正在保存检查点 %s_e%s%s",
"正在加载RMVPE模型": "正在加载RMVPE模型",
"正在加载模型": "正在加载模型",
"正在启动": "正在启动",
"正在收尾": "正在收尾",
"每张显卡的batch_size": "每张显卡的batch_size",
"淡入淡出长度": "淡入淡出长度",
"清理模型缓存": "清理模型缓存",
"版本": "版本",
"特征": "特征",
"特征提取": "特征提取",
"状态": "状态",
"独占 WASAPI 设备": "独占 WASAPI 设备",
"生成器预训练模型不存在将不使用assets/pretrained%s/%sG%s.pth": "生成器预训练模型不存在将不使用assets/pretrained%s/%sG%s.pth",
"男转女推荐+12key, 女转男推荐-12key, 如果音域爆炸导致音色失真也可以自己调整到合适音域. ": "男转女推荐+12key, 女转男推荐-12key, 如果音域爆炸导致音色失真也可以自己调整到合适音域. ",
"目标采样率": "目标采样率",
"等待中": "等待中",
"等待输入": "等待输入",
"算法延迟(ms):": "算法延迟(ms):",
"索引": "索引",
"索引无效必须使用added_xxxx.index不能使用trained_xxxx.index": "索引无效必须使用added_xxxx.index不能使用trained_xxxx.index",
"索引检索失败": "索引检索失败",
"索引检索失败或未启用": "索引检索失败或未启用",
"索引训练": "索引训练",
"耗时": "耗时",
"耗时:特征=%.3f秒,索引=%.3f秒,音高=%.3f秒,模型=%.3f秒": "耗时:特征=%.3f秒,索引=%.3f秒,音高=%.3f秒,模型=%.3f秒",
"融合": "融合",
"要改的模型信息": "要改的模型信息",
"要置入的模型信息": "要置入的模型信息",
"训练": "训练",
"训练已完成,正在保存最终模型": "训练已完成,正在保存最终模型",
"训练文件列表写入完成": "训练文件列表写入完成",
"训练模型": "训练模型",
"训练特征索引": "训练特征索引",
"训练结束, 您可查看控制台训练日志或实验文件夹下的train.log": "训练结束, 您可查看控制台训练日志或实验文件夹下的train.log",
"训练设备规则选择的精度:%s": "训练设备规则选择的精度:%s",
"训练轮次:{} [{:.0f}%]": "训练轮次:{} [{:.0f}%]",
"设备类型": "设备类型",
"请上传音频文件": "请上传音频文件",
"请填写输出文件夹路径": "请填写输出文件夹路径",
"请指定说话人id": "请指定说话人id",
"请选择index文件": "请选择index文件",
"请选择pth文件": "请选择pth文件",
"请选择说话人id": "请选择说话人id",
"转换": "转换",
"输入实验名": "输入实验名",
"输入待处理音频文件夹路径": "输入待处理音频文件夹路径",
"输入待处理音频文件夹路径(去文件管理器地址栏拷就行了)": "输入待处理音频文件夹路径(去文件管理器地址栏拷就行了)",
"输入待处理音频文件路径(默认是正确格式示例)": "输入待处理音频文件路径(默认是正确格式示例)",
"输入源音量包络替换输出音量包络融合比例越靠近1越使用输出包络": "输入源音量包络替换输出音量包络融合比例越靠近1越使用输出包络",
"输入监听": "输入监听",
"输入训练文件夹路径": "输入训练文件夹路径",
"输入设备": "输入设备",
"输入设备:%s:%s": "输入设备:%s:%s",
"输入降噪": "输入降噪",
"输出信息": "输出信息",
"输出变声": "输出变声",
"输出设备": "输出设备",
"输出设备:%s:%s": "输出设备:%s:%s",
"输出降噪": "输出降噪",
"输出音频(右下角三个点,点了可以下载)": "输出音频(右下角三个点,点了可以下载)",
"运行中": "运行中",
"进度": "进度",
"选择.index文件": "选择.index文件",
"选择.pth文件": "选择.pth文件",
"选择模型": "选择模型",
"选择索引": "选择索引",
"选择音高提取算法": "选择音高提取算法",
"采样率:": "采样率:",
"采样长度": "采样长度",
"重载设备列表": "重载设备列表",
"错误信息:%s": "错误信息:%s",
"错误:未知模型:%s": "错误:未知模型:%s",
"音调设置": "音调设置",
"音频包含多个声道,但模型仅支持单声道,将对所有声道取平均值": "音频包含多个声道,但模型仅支持单声道,将对所有声道取平均值",
"音频设备": "音频设备",
"音高全部为0该音频无意义跳过%s": "音高全部为0该音频无意义跳过%s",
"音高算法": "音高算法",
"额外推理时长": "额外推理时长",
"数据切分没有生成有效训练音频,请检查训练集和数据切分日志": "数据切分没有生成有效训练音频,请检查训练集和数据切分日志",
"数据切分没有生成16k音频已停止后续特征提取和训练": "数据切分没有生成16k音频已停止后续特征提取和训练",
"数据切分输出文件不匹配,已停止后续特征提取和训练": "数据切分输出文件不匹配,已停止后续特征提取和训练",
"HuBERT特征提取没有生成有效结果已停止训练": "HuBERT特征提取没有生成有效结果已停止训练",
"F0提取没有生成有效结果已停止训练": "F0提取没有生成有效结果已停止训练",
"没有可用于训练的有效音频,请先完成数据切分和特征提取": "没有可用于训练的有效音频,请先完成数据切分和特征提取",
"已完成阶段": "已完成阶段",
"已成功": "已成功",
"刷新音色列表": "刷新音色列表",
"特征检索库文件路径(选择模型后自动匹配,可手动修改)": "特征检索库文件路径(选择模型后自动匹配,可手动修改)",
"[索引训练] 外部索引链接已存在:%s": "[索引训练] 外部索引链接已存在:%s",
"[索引训练][跳过] added索引已存在%s": "[索引训练][跳过] added索引已存在%s",
"[索引训练][跳过] trained索引已存在%s": "[索引训练][跳过] trained索引已存在%s",
"当前设备:%s | 推理精度:%s": "当前设备:%s | 推理精度:%s",
"正在预热CUDA Graph": "正在预热CUDA Graph",
"CUDA Graph预热完成": "CUDA Graph预热完成",
"数据提取开始start_time=%.6f,请求并行数=%s实际并行数上限=%s": "数据提取开始start_time=%.6f,请求并行数=%s实际并行数上限=%s",
"数据提取结束end_time=%.6f,总耗时=%.3f秒": "数据提取结束end_time=%.6f,总耗时=%.3f秒",
"人声伴奏分离&去混响": "人声伴奏分离&去混响",
"人声、伴奏与混响批量处理使用pymss/MSST模型。": "人声、伴奏与混响批量处理使用pymss/MSST模型。",
"处理方式": "处理方式",
"底层模型": "底层模型",
"主结果文件夹": "主结果文件夹",
"分离残余文件夹": "分离残余文件夹", "分离残余文件夹": "分离残余文件夹",
"停止分离": "停止分离" "删除末行": "删除末行",
} "判别器预训练模型不存在将不使用assets/pretrained%s/%sD%s.pth": "判别器预训练模型不存在将不使用assets/pretrained%s/%sD%s.pth",
"刷新音色列表": "刷新音色列表",
"加载模型": "加载模型",
"加载预训练底模D路径": "加载预训练底模D路径",
"加载预训练底模G路径": "加载预训练底模G路径",
"单次推理": "单次推理",
"单说话人": "单说话人",
"卸载音色省显存": "卸载音色省显存",
"变调(整数, 半音数量, 升八度12降八度-12)": "变调(整数, 半音数量, 升八度12降八度-12)",
"合成": "合成",
"后处理重采样至最终采样率0为不进行重采样": "后处理重采样至最终采样率0为不进行重采样",
"否": "否",
"响应阈值": "响应阈值",
"响度因子": "响度因子",
"处理中": "处理中",
"处理数据": "处理数据",
"处理方式": "处理方式",
"多说话人": "多说话人",
"注意:多说话人训练音色还原度不一定有单说话人分开训练好!": "注意:多说话人训练音色还原度不一定有单说话人分开训练好!",
"多说话人子文件夹无效格式应为名称_ID_重复次数、ID为0~109、重复次数为正整数、同一ID的名称需一致且目录需有音频%s": "多说话人子文件夹无效格式应为名称_ID_重复次数、ID为0~109、重复次数为正整数、同一ID的名称需一致且目录需有音频%s",
"多说话人总文件夹只扫描根目录下的直接子文件夹,根目录文件会被忽略。\n子文件夹必须命名为x_y_zx是说话人名称y是说话人ID0~109共110个z是训练集重复次数。\n也可以到右侧“多说话人训练集辅助”编辑并提交训练集清单。": "多说话人总文件夹只扫描根目录下的直接子文件夹,根目录文件会被忽略。\n子文件夹必须命名为x_y_zx是说话人名称y是说话人ID0~109共110个z是训练集重复次数。\n也可以到右侧“多说话人训练集辅助”编辑并提交训练集清单。",
"多说话人训练集总文件夹不存在:%s": "多说话人训练集总文件夹不存在:%s",
"多说话人训练集总文件夹中没有有效音频": "多说话人训练集总文件夹中没有有效音频",
"多说话人训练集总文件夹中没有直接子文件夹": "多说话人训练集总文件夹中没有直接子文件夹",
"多说话人训练集总文件夹路径": "多说话人训练集总文件夹路径",
"多说话人训练集清单不存在,请先提交辅助清单或填写总文件夹": "多说话人训练集清单不存在,请先提交辅助清单或填写总文件夹",
"多说话人训练集清单包含无效条目:%s": "多说话人训练集清单包含无效条目:%s",
"多说话人训练集清单存在重复输出标识:%s": "多说话人训练集清单存在重复输出标识:%s",
"多说话人训练集清单已保存:%s有效音频%s个": "多说话人训练集清单已保存:%s有效音频%s个",
"多说话人训练集清单格式错误": "多说话人训练集清单格式错误",
"多说话人训练集清单没有有效音频": "多说话人训练集清单没有有效音频",
"多说话人训练集辅助": "多说话人训练集辅助",
"失败": "失败",
"失败记录": "失败记录",
"子进程执行失败,返回码:%s": "子进程执行失败,返回码:%s",
"实验名不能为空": "实验名不能为空",
"导出文件格式": "导出文件格式",
"已停止": "已停止",
"已加载判别器预训练模型:%s": "已加载判别器预训练模型:%s",
"已加载生成器预训练模型:%s": "已加载生成器预训练模型:%s",
"已启用索引检索": "已启用索引检索",
"已完成": "已完成",
"已完成阶段": "已完成阶段",
"已恢复判别器检查点": "已恢复判别器检查点",
"已成功": "已成功",
"常见问题解答": "常见问题解答",
"常规设置": "常规设置",
"底层模型": "底层模型",
"开始音频转换": "开始音频转换",
"当前": "当前",
"当前设备:%s | 推理精度:%s": "当前设备:%s | 推理精度:%s",
"当前阶段": "当前阶段",
"很遗憾您这没有能用的显卡来支持您训练": "很遗憾您这没有能用的显卡来支持您训练",
"性别因子/声线粗细": "性别因子/声线粗细",
"性能设置": "性能设置",
"总训练轮数total_epoch": "总训练轮数total_epoch",
"成功": "成功",
"执行命令": "执行命令",
"批量推理": "批量推理",
"批量转换, 输入待转换音频文件夹, 或上传多个音频文件, 在指定文件夹(默认opt)下输出转换的音频. ": "批量转换, 输入待转换音频文件夹, 或上传多个音频文件, 在指定文件夹(默认opt)下输出转换的音频. ",
"拖拽或点击上传待处理音频": "拖拽或点击上传待处理音频",
"指定输出文件夹": "指定输出文件夹",
"推理时间(ms):": "推理时间(ms):",
"推理耗时:%.2f秒": "推理耗时:%.2f秒",
"推理音色": "推理音色",
"提交训练集清单": "提交训练集清单",
"提取": "提取",
"提取音高和处理数据使用的CPU进程数": "提取音高和处理数据使用的CPU进程数",
"数据切分": "数据切分",
"数据切分没有生成16k音频已停止后续特征提取和训练": "数据切分没有生成16k音频已停止后续特征提取和训练",
"数据切分没有生成有效训练音频,请检查训练集和数据切分日志": "数据切分没有生成有效训练音频,请检查训练集和数据切分日志",
"数据切分输出文件不匹配,已停止后续特征提取和训练": "数据切分输出文件不匹配,已停止后续特征提取和训练",
"数据提取开始start_time=%.6f,请求并行数=%s实际并行数上限=%s": "数据提取开始start_time=%.6f,请求并行数=%s实际并行数上限=%s",
"数据提取结束end_time=%.6f,总耗时=%.3f秒": "数据提取结束end_time=%.6f,总耗时=%.3f秒",
"新增一行": "新增一行",
"无法停止": "无法停止",
"是": "是",
"是否仅保存最新的ckpt文件以节省硬盘空间": "是否仅保存最新的ckpt文件以节省硬盘空间",
"是否在每次保存时间点将最终小模型保存至weights文件夹": "是否在每次保存时间点将最终小模型保存至weights文件夹",
"是否缓存所有训练集至显存. 10min以下小数据可缓存以加速训练, 大数据缓存会炸显存也加不了多少速": "是否缓存所有训练集至显存. 10min以下小数据可缓存以加速训练, 大数据缓存会炸显存也加不了多少速",
"显卡信息": "显卡信息",
"未使用": "未使用",
"未使用判别器预训练模型": "未使用判别器预训练模型",
"未使用生成器预训练模型": "未使用生成器预训练模型",
"未检测到可用显卡将使用CPU训练耗时可能较长": "未检测到可用显卡将使用CPU训练耗时可能较长",
"未运行": "未运行",
"本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责. <br>如不认可该条款, 则不能使用或引用软件包内任何代码和文件. 详见根目录<b>LICENSE</b>.": "本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责. <br>如不认可该条款, 则不能使用或引用软件包内任何代码和文件. 详见根目录<b>LICENSE</b>.",
"查看": "查看",
"查看模型信息(仅支持weights文件夹下提取的小模型文件)": "查看模型信息(仅支持weights文件夹下提取的小模型文件)",
"检索特征占比": "检索特征占比",
"模型信息:%s\n采样率%s\n是否使用音高引导%s\n版本%s": "模型信息:%s\n采样率%s\n是否使用音高引导%s\n版本%s",
"模型推理": "模型推理",
"模型提取(输入logs文件夹下大文件模型路径),适用于训一半不想训了模型没有自动提取保存小文件模型,或者想测试中间模型的情况": "模型提取(输入logs文件夹下大文件模型路径),适用于训一半不想训了模型没有自动提取保存小文件模型,或者想测试中间模型的情况",
"模型是否带音高指导": "模型是否带音高指导",
"模型是否带音高指导(唱歌一定要, 语音可以不要)": "模型是否带音高指导(唱歌一定要, 语音可以不要)",
"模型是否带音高指导,1是0否": "模型是否带音高指导,1是0否",
"模型版本型号": "模型版本型号",
"模型融合, 可用于测试音色融合": "模型融合, 可用于测试音色融合",
"模型融合失败:两个模型的结构不一致": "模型融合失败:两个模型的结构不一致",
"模型训练": "模型训练",
"模型路径": "模型路径",
"正在保存最终检查点:%s": "正在保存最终检查点:%s",
"正在保存检查点 %s_e%s%s": "正在保存检查点 %s_e%s%s",
"正在加载RMVPE模型": "正在加载RMVPE模型",
"正在加载模型": "正在加载模型",
"正在启动": "正在启动",
"正在收尾": "正在收尾",
"正在预热CUDA Graph": "正在预热CUDA Graph",
"每张显卡的batch_size": "每张显卡的batch_size",
"没有可用于训练的有效音频,请先完成数据切分和特征提取": "没有可用于训练的有效音频,请先完成数据切分和特征提取",
"没有有效的多说话人训练集行": "没有有效的多说话人训练集行",
"淡入淡出长度": "淡入淡出长度",
"清理模型缓存": "清理模型缓存",
"版本": "版本",
"特征": "特征",
"特征提取": "特征提取",
"特征检索库文件路径(选择模型后自动匹配,可手动修改)": "特征检索库文件路径(选择模型后自动匹配,可手动修改)",
"状态": "状态",
"独占 WASAPI 设备": "独占 WASAPI 设备",
"生成器预训练模型不存在将不使用assets/pretrained%s/%sG%s.pth": "生成器预训练模型不存在将不使用assets/pretrained%s/%sG%s.pth",
"留空则使用辅助页已提交的清单": "留空则使用辅助页已提交的清单",
"目标采样率": "目标采样率",
"第%s/%s页共%s行": "第%s/%s页共%s行",
"等待中": "等待中",
"等待输入": "等待输入",
"算法延迟(ms):": "算法延迟(ms):",
"索引": "索引",
"索引文件不存在,将不使用索引继续推理:%s": "索引文件不存在,将不使用索引继续推理:%s",
"索引无效必须使用added_xxxx.index不能使用trained_xxxx.index": "索引无效必须使用added_xxxx.index不能使用trained_xxxx.index",
"索引检索失败": "索引检索失败",
"索引检索失败或未启用": "索引检索失败或未启用",
"索引训练": "索引训练",
"耗时": "耗时",
"耗时:特征=%.3f秒,索引=%.3f秒,音高=%.3f秒,模型=%.3f秒": "耗时:特征=%.3f秒,索引=%.3f秒,音高=%.3f秒,模型=%.3f秒",
"融合": "融合",
"要改的模型信息": "要改的模型信息",
"要置入的模型信息": "要置入的模型信息",
"训练": "训练",
"训练已完成,正在保存最终模型": "训练已完成,正在保存最终模型",
"训练文件列表写入完成": "训练文件列表写入完成",
"训练模型": "训练模型",
"训练特征索引": "训练特征索引",
"训练设备规则选择的精度:%s": "训练设备规则选择的精度:%s",
"训练轮次:{} [{:.0f}%]": "训练轮次:{} [{:.0f}%]",
"训练集子音频文件夹目录路径": "训练集子音频文件夹目录路径",
"训练集类型": "训练集类型",
"设备类型": "设备类型",
"说话人ID0~109": "说话人ID0~109",
"说话人名称": "说话人名称",
"说话人:%sID%s": "说话人:%sID%s",
"请上传音频文件": "请上传音频文件",
"请填写输出文件夹路径": "请填写输出文件夹路径",
"请指定说话人id": "请指定说话人id",
"请选择index文件": "请选择index文件",
"请选择pth文件": "请选择pth文件",
"请选择说话人id": "请选择说话人id",
"转换": "转换",
"输入实验名": "输入实验名",
"输入实验名例如test": "输入实验名例如test",
"输入待处理音频文件夹路径": "输入待处理音频文件夹路径",
"输入待处理音频文件夹路径(去文件管理器地址栏拷就行了)": "输入待处理音频文件夹路径(去文件管理器地址栏拷就行了)",
"输入源音量包络替换输出音量包络融合比例越靠近1越使用输出包络": "输入源音量包络替换输出音量包络融合比例越靠近1越使用输出包络",
"输入监听": "输入监听",
"输入训练文件夹路径": "输入训练文件夹路径",
"输入设备": "输入设备",
"输入设备:%s:%s": "输入设备:%s:%s",
"输入降噪": "输入降噪",
"输出信息": "输出信息",
"输出变声": "输出变声",
"输出设备": "输出设备",
"输出设备:%s:%s": "输出设备:%s:%s",
"输出降噪": "输出降噪",
"输出音频(右下角三个点,点了可以下载)": "输出音频(右下角三个点,点了可以下载)",
"运行中": "运行中",
"进度": "进度",
"选择.index文件": "选择.index文件",
"选择.pth文件": "选择.pth文件",
"选择多说话人音色": "选择多说话人音色",
"选择模型": "选择模型",
"选择索引": "选择索引",
"选择音高提取算法": "选择音高提取算法",
"采样率:": "采样率:",
"采样长度": "采样长度",
"重复次数": "重复次数",
"重载设备列表": "重载设备列表",
"音调设置": "音调设置",
"音频设备": "音频设备",
"音高全部为0该音频无意义跳过%s": "音高全部为0该音频无意义跳过%s",
"音高算法": "音高算法",
"额外推理时长": "额外推理时长"
}

View File

@@ -1,270 +1,286 @@
{ {
"人声提取激进程度": "人聲提取激進程度", "%s运行中请先停止该任务": "%s运行中请先停止该任务",
"%s → 成功": "%s → 成功", "====> 轮次:{} {}": "====> 輪次:{} {}",
"%s运行中请先停止该任务": "%s运行中请先停止该任务", "A模型权重": "A模型權重",
"%s进程已终止": "%s進程已终止", "A模型路径": "A模型路徑",
"====> 轮次:{} {}": "====> 輪次:{} {}", "B模型路径": "B模型路徑",
"A模型权重": "A模型權重", "CUDA Graph预热完成": "CUDA Graph 預熱完成",
"A模型路径": "A模型路徑", "CUDA可用%s": "CUDA可用%s",
"B模型路径": "B模型路徑", "输入训练文件夹路径例如E:\\我的训练集": "輸入訓練資料夾路徑例如E:\\我的訓練集",
"CUDA可用%s": "CUDA可用%s", "F0与HuBERT特征提取": "F0與HuBERT特徵提取",
"E:\\语音音频+标注\\米津玄师\\src": "E:\\语音音频+标注\\米津玄师\\src", "F0提取": "F0提取",
"F0与HuBERT特征提取": "F0與HuBERT特徵提取", "F0提取没有生成有效结果,已停止训练": "F0提取沒有產生有效結果已停止訓練",
"F0提取": "F0提取", "HuBERT特征": "HuBERT特徵",
"F0曲线文件, 可选, 一行一个音高, 代替默认F0及升降调": "F0曲線檔案可選一行一個音高代替預設的F0及升降調", "HuBERT特征提取没有生成有效结果已停止训练": "HuBERT特徵提取沒有產生有效結果已停止訓練",
"HuBERT特征": "HuBERT特徵", "Index Rate": "Index Rate",
"Index Rate": "Index Rate", "SOLA偏移%d": "SOLA偏移%d",
"RVC模型路径": "RVC模型路径", "[F0提取] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[F0提取] 完成 | 成功:%s | 跳過:%s | 失敗:%s",
"SOLA偏移%d": "SOLA偏移%d", "[F0提取] 待处理%s": "[F0提取] 待处理%s",
"[F0提取] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[F0提取] 完成 | 成功:%s | 跳過:%s | 失敗:%s", "[F0提取] 无待处理音频,已全部跳过": "[F0提取] 無待处理音頻,已全部跳過",
"[F0提取] 待处理:%s": "[F0提取] 待处理:%s", "[F0提取] 进度:%s/%s | 成功:%s | 跳过:%s | %s": "[F0提取] 進度:%s/%s | 成功:%s | 跳過:%s | %s",
"[F0提取] 无待处理音频,已全部跳过": "[F0提取] 無待处理音頻,已全部跳過", "[F0提取][失败] %s": "[F0提取][失敗] %s",
"[F0提取] 进度:%s/%s | 成功:%s | 跳过:%s | %s": "[F0提取] 進度:%s/%s | 成功:%s | 跳過:%s | %s", "[F0提取][失败] %s\n%s": "[F0提取][失敗] %s\n%s",
"[F0提取][失败] %s": "[F0提取][失敗] %s", "[HuBERT特征] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[HuBERT特徵] 完成 | 成功:%s | 跳過:%s | 失敗:%s",
"[F0提取][失败] %s\n%s": "[F0提取][失敗] %s\n%s", "[HuBERT特征] 无待处理音频,已全部跳过:%s": "[HuBERT特徵] 無待处理音頻,已全部跳過:%s",
"[HuBERT特征] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[HuBERT特徵] 完成 | 成功:%s | 跳過:%s | 失敗%s", "[HuBERT特征] 正在加载模型:%s": "[HuBERT特徵] 正在載入模型%s",
"[HuBERT特征] 无待处理音频,已全部跳过:%s": "[HuBERT特徵] 無待处理音頻,已全部跳過:%s", "[HuBERT特征] 设备:%s | 待处理:%s | 已跳过:%s": "[HuBERT特徵] 设备:%s | 待处理:%s | 已跳過:%s",
"[HuBERT特征] 正在加载模型:%s": "[HuBERT特徵] 正在載入模型:%s", "[HuBERT特征] 进度:%s/%s | 成功:%s | 失败:%s | %s | %s": "[HuBERT特徵] 進度:%s/%s | 成功:%s | 失敗:%s | %s | %s",
"[HuBERT特征] 设备:%s | 待处理:%s | 已跳过:%s": "[HuBERT特徵] 设备:%s | 待处理:%s | 已跳過:%s", "[HuBERT特征][失败] %s\n%s": "[HuBERT特徵][失敗] %s\n%s",
"[HuBERT特征] 进度:%s/%s | 成功:%s | 失败:%s | %s | %s": "[HuBERT特徵] 進度:%s/%s | 成功:%s | 失敗:%s | %s | %s", "[HuBERT特征][失败] %s 包含NaN": "[HuBERT特徵][失敗] %s 包含NaN",
"[HuBERT特征][失败] %s\n%s": "[HuBERT特徵][失敗] %s\n%s", "[HuBERT特征][失败] 模型不存在:%s": "[HuBERT特徵][失敗] 模型不存在:%s",
"[HuBERT特征][失败] %s 包含NaN": "[HuBERT特徵][失敗] %s 包含NaN", "[数据切分] 多说话人待处理:%s | 进程数:%s": "[数据切分] 多说话人待处理:%s | 进程数:%s",
"[HuBERT特征][失败] 模型不存在:%s": "[HuBERT特徵][失敗] 模型不存在%s", "[数据切分] 子任务完成 | 成功:%s | 失败:%s": "[數據切分] 子任务完成 | 成功:%s | 失敗%s",
"[数据切分] 子任务完成 | 成功:%s | 失败:%s": "[數據切分] 子任务完成 | 成功:%s | 失敗:%s", "[数据切分] 完成": "[數據切分] 完成",
"[数据切分] 完成": "[數據切分] 完成", "[数据切分] 开始": "[數據切分] 开始",
"[数据切分] 开始": "[數據切分] 开始", "[数据切分] 待处理:%s | 进程数:%s": "[數據切分] 待处理:%s | 進程数:%s",
"[数据切分] 待处理:%s | 进程数:%s": "[數據切分] 待处理:%s | 進程数:%s", "[数据切分] 进度:%s/%s | %s": "[數據切分] 進度:%s/%s | %s",
"[数据切分] 进度:%s/%s | %s": "[數據切分] 進度:%s/%s | %s", "[数据切分][失败] %s": "[數據切分][失敗] %s",
"[数据切分][失败] %s": "[數據切分][失敗] %s", "[数据切分][失败] %s\n%s": "[數據切分][失敗] %s\n%s",
"[数据切分][失败] %s\n%s": "[數據切分][失敗] %s\n%s", "[数据切分][跳过] 无效或异常音频片段:%s_%s | 峰值:%s": "[數據切分][跳過] 無效或異常音頻片段:%s_%s | 峰值:%s",
"[数据切分][跳过] 无效或异常音频片段:%s_%s | 峰值:%s": "[數據切分][跳過] 無效或異常音頻片段:%s_%s | 峰值:%s", "[索引训练] 写入进度:%s/%s": "[索引訓練] 写入進度:%s/%s",
"[索引训练] 写入进度:%s/%s": "[索引訓練] 写入進度:%s/%s", "[索引训练] 外部索引链接已存在:%s": "[索引訓練] 外部索引連結已存在:%s",
"[索引训练] 已链接索引到外部目录:%s": "[索引訓練] 已連結索引到外部目录:%s", "[索引训练] 已链接索引到外部目录:%s": "[索引訓練] 已連結索引到外部目录:%s",
"[索引训练] 成功构建索引:%s": "[索引訓練] 成功构建索引:%s", "[索引训练] 成功构建索引:%s": "[索引訓練] 成功构建索引:%s",
"[索引训练] 正在写入特征向量": "[索引訓練] 正在写入特徵向量", "[索引训练] 正在写入特征向量": "[索引訓練] 正在写入特徵向量",
"[索引训练] 正在将%s条特征聚类为10000个中心": "[索引訓練] 正在将%s條特徵聚类為10000个中心", "[索引训练] 正在将%s条特征聚类为10000个中心": "[索引訓練] 正在将%s條特徵聚类為10000个中心",
"[索引训练] 正在训练索引": "[索引訓練] 正在訓練索引", "[索引训练] 正在训练索引": "[索引訓練] 正在訓練索引",
"[索引训练] 特征形状:%s | IVF数量%s": "[索引訓練] 特徵形状:%s | IVF數量%s", "[索引训练] 特征形状:%s | IVF数量%s": "[索引訓練] 特徵形状:%s | IVF數量%s",
"[索引训练][失败] 无法链接索引到外部目录:%s\n%s": "[索引訓練][失敗] 無法連結索引到外部目录:%s\n%s", "[索引训练][失败] 无法链接索引到外部目录:%s\n%s": "[索引訓練][失敗] 無法連結索引到外部目录:%s\n%s",
"[索引训练][失败] 聚类失败,将使用原始特征继续\n%s": "[索引訓練][失敗] 聚类失敗,将使用原始特徵繼續\n%s", "[索引训练][失败] 聚类失败,将使用原始特征继续\n%s": "[索引訓練][失敗] 聚类失敗,将使用原始特徵繼續\n%s",
"[索引训练][失败] 请先进行特征提取": "[索引訓練][失敗] 请先進行特徵提取", "[索引训练][失败] 请先进行特征提取": "[索引訓練][失敗] 请先進行特徵提取",
"ckpt处理": "ckpt處理", "[索引训练][跳过] added索引已存在%s": "[索引訓練][跳過] added索引已存在%s",
"index文件路径不可包含中文": "index文件路径不可包含中文", "[索引训练][跳过] trained索引已存在%s": "[索引訓練][跳過] trained索引已存在%s",
"pth文件路径不可包含中文": "pth文件路径不可包含中文", "ckpt处理": "ckpt處理",
"rmvpe卡号配置以-分隔输入使用的不同进程卡号,例如0-0-1使用卡0上跑2个进程并在卡1上跑1个进程": "rmvpe卡號配置以-分隔入使用的不同進程卡號,例如0-0-1使用卡0上跑2個進程並在卡1上跑1個進程", "hubert:以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2": "hubert:以-分隔入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2",
"step1: 填写实验配置. 实验数据放在logs下, 每个实验一个文件夹, 需手工输入实验名路径, 内含实验配置, 日志, 训练得到的模型文件. ": "step1填寫實驗配置。實驗數據放在logs下每個實驗一個資料夾需手動輸入實驗名路徑內含實驗配置、日誌、訓練得到的模型檔案。", "index文件路径不可包含中文": "index文件路径不可包含中文",
"step1:正在处理数据": "step1:正在处理数据", "pth文件路径不可包含中文": "pth文件路径不可包含中文",
"step2:正在提取音高&正在提取特征": "step2:正在提取音高&正在提取特征", "rmvpe卡号配置以-分隔输入使用的不同进程卡号,例如0-0-1使用在卡0上跑2个进程并在卡1上跑1个进程": "rmvpe卡號配置以-分隔輸入使用的不同進程卡號,例如0-0-1使用在卡0上跑2個進程並在卡1上跑1個進程",
"step2a: 自动遍历训练文件夹下所有可解码成音频的文件并进行切片归一化, 在实验目录下生成2个wav文件夹; 暂时只支持单人训练. ": "step2a自動遍歷訓練資料夾下所有可解碼成音頻的檔案並進行切片歸一化在實驗目錄下生成2個wav資料夾暫時只支援單人訓練。", "step1: 填写实验配置. 实验数据放在logs下, 每个实验一个文件夹, 需手工输入实验名路径, 内含实验配置, 日志, 训练得到的模型文件. ": "step1填寫實驗配置。實驗數據放在logs下每個實驗一個資料夾需手動輸入實驗名路徑內含實驗配置、日誌、訓練得到的模型檔案。",
"step2b: 使用CPU提取音高(如果模型带音高), 使用GPU提取特征(选择卡号)": "步驟2b: 使用CPU提取音高(如果模型帶音高), 使用GPU提取特徵(選擇卡號)", "step2a: 扫描训练音频并进行切片归一化在实验目录下生成训练wav文件。": "step2a: 扫描训练音频并进行切片归一化在实验目录下生成训练wav文件。",
"step3: 填写训练设置, 开始训练模型和索引": "步驟3: 填寫訓練設定, 開始訓練模型和索引", "step2b: 音高与hubert语义特征提取": "步驟2b: 音高與hubert語義特徵提取",
"step3a:正在训练模型": "step3a:正在训练模型", "step3: 填写训练设置, 开始训练模型和索引": "步驟3: 填寫訓練設定, 開始訓練模型和索引",
"step3b:正在训练索引": "step3b正在訓練索引", "……仅显示最近10条失败记录": "……僅顯示最近10條失敗記錄",
"……仅显示最近10条失败记录": "……僅顯示最近10條失敗記錄", "……已省略前%s行仅显示最新状态": "……已省略前%s行僅顯示最新状态",
"……已省略前%s行仅显示最新状态": "……已省略前%s行僅顯示最新状态", "一键训练": "一鍵訓練",
"一键训练": "一鍵訓練", "上一页": "上一页",
"也可批量输入音频文件, 二选一, 优先读文件夹": "也可批量输入音频文件, 二选一, 优先读文件夹", "下一页": "下一页",
"仅支持pm和rmvpe音高提取算法": "僅支援pm和rmvpe音高提取算法", "为多说话人训练集建立清单。空行会被忽略路径、说话人名称、说话人ID或重复次数填写不全的行会在提交时提示。": "为多说话人训练集建立清单。空行会被忽略路径、说话人名称、说话人ID或重复次数填写不全的行会在提交时提示。",
"从训练检查点提取的模型": "从訓練检查点提取的模型", "主结果文件夹": "主要結果資料夾",
"以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2": "以-分隔輸入使用的卡號, 例如 0-1-2 使用卡0和卡1和卡2", "也可批量输入音频文件, 二选一, 优先读文件夹": "也可批量输入音频文件, 二选一, 优先读文件夹",
"任务": "任务", "人声、伴奏与混响批量处理使用pymss/MSST模型。": "使用 pymss/MSST 模型批次處理人聲、伴奏與混響。",
"使用显卡:%s": "使用顯示卡:%s", "人声伴奏分离&去混响": "人聲伴奏分離&去混響",
"使用模型采样率": "使用模型采样率", "仅支持pm和rmvpe音高提取算法": "僅支援pm和rmvpe音高提取算法",
"使用设备采样率": "使用设备采样率", "从训练检查点提取的模型": "从訓練检查点提取的模型",
"保存名": "儲存名", "以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2": "以-分隔輸入使用的卡號, 例如 0-1-2 使用卡0和卡1和卡2",
"保存的文件名, 默认空为和源文件同名": "儲存的檔案名,預設空為與來源檔案同名", "以下行填写不完整或无效,已忽略:%s": "以下行填写不完整或无效,已忽略:%s",
"保存的模型名不带后缀": "儲存的模型名不帶副檔名", "任务": "任务",
"保存频率save_every_epoch": "保存頻率save_every_epoch", "使用显卡:%s": "使用顯示卡:%s",
"保护清辅音和呼吸声防止电音撕裂等artifact拉满0.5不开启,调低加大保护力度但可能降低索引效果": "保護清輔音和呼吸聲防止電音撕裂等artifact拉滿0.5不開啟,調低加大保護力度但可能降低索引效果", "使用模型采样率": "使用模型采样率",
"修改": "修改", "使用设备采样率": "使用设备采样率",
"修改模型信息(仅支持weights文件夹下提取的小模型文件)": "修改模型資訊(僅支援weights資料夾下提取的小模型檔案)", "保存名": "儲存名",
"停止一键训练": "停止一鍵訓練", "保存的文件名, 默认空为和源文件同名": "儲存的檔案名,預設空為與來源檔案同名",
"停止处理数据": "停止處理資料", "保存的模型名不带后缀": "儲存的模型名不帶副檔名",
"停止特征提取": "停止特徵擷取", "保存频率save_every_epoch": "保存頻率save_every_epoch",
"停止训练模型": "停止訓練模型", "保护清辅音和呼吸声防止电音撕裂等artifact拉满0.5不开启,调低加大保护力度但可能降低索引效果": "保護清輔音和呼吸聲防止電音撕裂等artifact拉滿0.5不開啟,調低加大保護力度但可能降低索引效果",
"停止训练索引": "停止訓練索引", "修改": "修改",
"停止音频转换": "停止音訊轉換", "修改模型信息(仅支持weights文件夹下提取的小模型文件)": "修改模型資訊(僅支援weights資料夾下提取的小模型檔案)",
"全流程结束!": "全流程结束!", "停止一键训练": "停止一鍵訓練",
"判别器预训练模型不存在将不使用assets/pretrained%s/%sD%s.pth": "判别器预訓練模型不存在将不使用assets/pretrained%s/%sD%s.pth", "停止分离": "停止分離",
"加载模型": "載入模型", "停止处理数据": "停止處理資料",
"加载预训练底模D路径": "加載預訓練底模D路徑", "停止特征提取": "停止特徵擷取",
"加载预训练底模G路径": "加載預訓練底模G路徑", "停止训练模型": "停止訓練模型",
"单次推理": "单次推理", "停止训练索引": "停止訓練索引",
"卸载音色省显存": "卸載音色節省 VRAM", "停止音频转换": "停止音訊轉換",
"变调(整数, 半音数量, 升八度12降八度-12)": "變調(整數、半音數量、升八度12降八度-12)",
"合成": "合成",
"后处理重采样至最终采样率0为不进行重采样": "後處理重採樣至最終採樣率0為不進行重採樣",
"否": "否",
"响应阈值": "響應閾值",
"响度因子": "響度因子",
"处理中": "處理中",
"处理数据": "處理資料",
"失败": "失敗",
"失败记录": "失敗記錄",
"子进程执行失败,返回码:%s": "子進程执行失敗,返回码:%s",
"导出文件格式": "導出檔格式",
"已停止": "已停止",
"已加载判别器预训练模型:%s": "已載入判别器预訓練模型:%s",
"已加载生成器预训练模型:%s": "已載入生成器预訓練模型:%s",
"已启用索引检索": "已启用索引检索",
"已完成": "已完成",
"已恢复判别器检查点": "已恢复判别器检查点",
"常见问题解答": "常見問題解答",
"常规设置": "一般設定",
"开始音频转换": "開始音訊轉換",
"当前": "目前",
"当前阶段": "目前阶段",
"很遗憾您这没有能用的显卡来支持您训练": "很遗憾您这没有能用的显卡来支持您训练",
"性别因子/声线粗细": "性別因子/聲線粗細",
"性能设置": "效能設定",
"总训练轮数total_epoch": "總訓練輪數total_epoch",
"成功": "成功",
"执行命令": "执行命令",
"批量推理": "批量推理",
"批量转换, 输入待转换音频文件夹, 或上传多个音频文件, 在指定文件夹(默认opt)下输出转换的音频. ": "批量轉換,輸入待轉換音頻資料夾,或上傳多個音頻檔案,在指定資料夾(默認opt)下輸出轉換的音頻。",
"拖拽或点击上传待处理音频": "拖放或按一下上載待處理音訊",
"指定输出主人声文件夹": "指定输出主人声文件夹",
"指定输出文件夹": "指定輸出資料夾",
"指定输出非主人声文件夹": "指定输出非主人声文件夹",
"推理时间(ms):": "推理時間(ms):",
"推理耗时:%.2f秒": "推理耗时:%.2f秒",
"推理音色": "推理音色",
"提取": "提取",
"提取音高和处理数据使用的CPU进程数": "提取音高和處理數據使用的CPU進程數",
"数据切分": "數據切分",
"无法停止": "無法停止",
"无法读取音频:%s": "無法读取音頻:%s",
"是": "是",
"是否仅保存最新的ckpt文件以节省硬盘空间": "是否僅保存最新的ckpt檔案以節省硬碟空間",
"是否在每次保存时间点将最终小模型保存至weights文件夹": "是否在每次保存時間點將最終小模型保存至weights檔夾",
"是否缓存所有训练集至显存. 10min以下小数据可缓存以加速训练, 大数据缓存会炸显存也加不了多少速": "是否緩存所有訓練集至 VRAM。小於10分鐘的小數據可緩存以加速訓練大數據緩存會爆 VRAM 也加不了多少速度",
"显卡信息": "顯示卡資訊",
"未使用": "未使用",
"未使用判别器预训练模型": "未使用判别器预訓練模型",
"未使用生成器预训练模型": "未使用生成器预訓練模型",
"未找到Roformer模型配置文件正在使用内置默认配置": "未找到Roformer模型配置檔案正在使用内置預設配置",
"未检测到可用显卡将使用CPU训练耗时可能较长": "未偵測到可用顯示卡将使用CPU訓練耗时可能较长",
"未运行": "未运行",
"本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责. <br>如不认可该条款, 则不能使用或引用软件包内任何代码和文件. 详见根目录<b>LICENSE</b>.": "本軟體以MIT協議開源作者不對軟體具備任何控制力使用軟體者、傳播軟體導出的聲音者自負全責。<br>如不認可該條款,則不能使用或引用軟體包內任何程式碼和檔案。詳見根目錄<b>使用需遵守的協議-LICENSE.txt</b>。",
"查看": "查看",
"查看模型信息(仅支持weights文件夹下提取的小模型文件)": "查看模型資訊(僅支援weights資料夾下提取的小模型檔案)",
"检测到模型类型:%s": "偵測到模型类型:%s",
"检索特征占比": "檢索特徵佔比",
"模型": "模型",
"模型信息:%s\n采样率%s\n是否使用音高引导%s\n版本%s": "模型資訊:%s\n采样率%s\n是否使用音高引导%s\n版本%s",
"模型推理": "模型推理",
"模型提取(输入logs文件夹下大文件模型路径),适用于训一半不想训了模型没有自动提取保存小文件模型,或者想测试中间模型的情况": "模型提取(輸入logs資料夾下大檔案模型路徑),適用於訓一半不想訓了模型沒有自動提取儲存小檔案模型,或者想測試中間模型的情況",
"模型是否带音高指导": "模型是否帶音高指導",
"模型是否带音高指导(唱歌一定要, 语音可以不要)": "模型是否帶音高指導(唱歌一定要,語音可以不要)",
"模型是否带音高指导,1是0否": "模型是否帶音高指導1是0否",
"模型版本型号": "模型版本型號",
"模型融合, 可用于测试音色融合": "模型融合,可用於測試音色融合",
"模型融合失败:两个模型的结构不一致": "模型融合失敗:两个模型的结构不一致",
"模型训练": "模型訓練",
"模型路径": "模型路徑",
"正在保存最终检查点:%s": "正在儲存最终检查点:%s",
"正在保存检查点 %s_e%s%s": "正在儲存检查点 %s_e%s%s",
"正在加载RMVPE模型": "正在載入RMVPE模型",
"正在加载模型": "正在載入模型",
"正在启动": "正在启动",
"正在收尾": "正在收尾",
"每张显卡的batch_size": "每张显卡的batch_size",
"淡入淡出长度": "淡入淡出長度",
"清理模型缓存": "清理模型缓存",
"版本": "版本",
"特征": "特徵",
"特征提取": "特徵提取",
"状态": "状态",
"独占 WASAPI 设备": "独占 WASAPI 设备",
"生成器预训练模型不存在将不使用assets/pretrained%s/%sG%s.pth": "生成器预訓練模型不存在将不使用assets/pretrained%s/%sG%s.pth",
"男转女推荐+12key, 女转男推荐-12key, 如果音域爆炸导致音色失真也可以自己调整到合适音域. ": "男性轉女性推薦+12key女性轉男性推薦-12key如果音域爆炸導致音色失真也可以自己調整到合適音域。",
"目标采样率": "目標取樣率",
"等待中": "等待中",
"等待输入": "等待輸入",
"算法延迟(ms):": "算法延迟(ms):",
"索引": "索引",
"索引无效必须使用added_xxxx.index不能使用trained_xxxx.index": "索引無效必须使用added_xxxx.index不能使用trained_xxxx.index",
"索引检索失败": "索引检索失敗",
"索引检索失败或未启用": "索引检索失敗或未启用",
"索引训练": "索引訓練",
"耗时": "耗时",
"耗时:特征=%.3f秒,索引=%.3f秒,音高=%.3f秒,模型=%.3f秒": "耗时:特徵=%.3f秒,索引=%.3f秒,音高=%.3f秒,模型=%.3f秒",
"融合": "融合",
"要改的模型信息": "要改的模型資訊",
"要置入的模型信息": "要置入的模型資訊",
"训练": "訓練",
"训练已完成,正在保存最终模型": "訓練已完成,正在儲存最终模型",
"训练文件列表写入完成": "訓練檔案列表写入完成",
"训练模型": "訓練模型",
"训练特征索引": "訓練特徵索引",
"训练结束, 您可查看控制台训练日志或实验文件夹下的train.log": "训练结束, 您可查看控制台训练日志或实验文件夹下的train.log",
"训练设备规则选择的精度:%s": "訓練设备规则选择的精度:%s",
"训练轮次:{} [{:.0f}%]": "訓練輪次:{} [{:.0f}%]",
"设备类型": "设备类型",
"请上传音频文件": "请上传音頻檔案",
"请填写输出文件夹路径": "请填写輸出資料夾路径",
"请指定说话人id": "請指定說話人id",
"请选择index文件": "请选择index文件",
"请选择pth文件": "请选择pth文件",
"请选择说话人id": "請選擇說話人ID",
"转换": "轉換",
"输入实验名": "輸入實驗名稱",
"输入待处理音频文件夹路径": "輸入待處理音頻資料夾路徑",
"输入待处理音频文件夹路径(去文件管理器地址栏拷就行了)": "輸入待處理音頻資料夾路徑(去檔案管理器地址欄拷貝即可)",
"输入待处理音频文件路径(默认是正确格式示例)": "輸入待處理音頻檔案路徑(預設是正確格式示例)",
"输入源音量包络替换输出音量包络融合比例越靠近1越使用输出包络": "輸入源音量包絡替換輸出音量包絡融合比例越靠近1越使用輸出包絡",
"输入监听": "输入监听",
"输入训练文件夹路径": "輸入訓練檔案夾路徑",
"输入设备": "輸入設備",
"输入设备:%s:%s": "輸入设备:%s:%s",
"输入降噪": "輸入降噪",
"输出信息": "輸出訊息",
"输出变声": "输出变声",
"输出设备": "輸出設備",
"输出设备:%s:%s": "輸出设备:%s:%s",
"输出降噪": "輸出降噪",
"输出音频(右下角三个点,点了可以下载)": "輸出音頻(右下角三個點,點了可以下載)",
"运行中": "运行中",
"进度": "進度",
"选择.index文件": "選擇 .index 檔案",
"选择.pth文件": "選擇 .pth 檔案",
"选择模型": "选择模型",
"选择索引": "选择索引",
"选择音高提取算法": "選擇音高擷取演算法",
"采样率:": "采样率:",
"采样长度": "取樣長度",
"重载设备列表": "重載設備列表",
"错误信息:%s": "錯誤資訊:%s",
"错误:未知模型:%s": "錯誤:未知模型:%s",
"音调设置": "音調設定",
"音频包含多个声道,但模型仅支持单声道,将对所有声道取平均值": "音頻包含多个声道,但模型僅支援单声道,将对所有声道取平均值",
"音频设备": "音訊設備",
"音高全部为0该音频无意义跳过%s": "音高全部為0该音頻無意义跳過%s",
"音高算法": "音高演算法",
"额外推理时长": "額外推理時長",
"数据切分没有生成有效训练音频,请检查训练集和数据切分日志": "資料切分沒有產生有效訓練音訊,請檢查訓練集和資料切分日誌",
"数据切分没有生成16k音频已停止后续特征提取和训练": "資料切分沒有產生16k音訊已停止後續特徵提取和訓練",
"数据切分输出文件不匹配,已停止后续特征提取和训练": "資料切分輸出檔案不匹配,已停止後續特徵提取和訓練",
"HuBERT特征提取没有生成有效结果已停止训练": "HuBERT特徵提取沒有產生有效結果已停止訓練",
"F0提取没有生成有效结果已停止训练": "F0提取沒有產生有效結果已停止訓練",
"没有可用于训练的有效音频,请先完成数据切分和特征提取": "沒有可用於訓練的有效音訊,請先完成資料切分和特徵提取",
"已完成阶段": "已完成階段",
"已成功": "已成功",
"刷新音色列表": "重新整理音色列表",
"特征检索库文件路径(选择模型后自动匹配,可手动修改)": "特徵索引庫檔案路徑(選擇模型後自動配對,可手動修改)",
"[索引训练] 外部索引链接已存在:%s": "[索引訓練] 外部索引連結已存在:%s",
"[索引训练][跳过] added索引已存在%s": "[索引訓練][跳過] added索引已存在%s",
"[索引训练][跳过] trained索引已存在%s": "[索引訓練][跳過] trained索引已存在%s",
"当前设备:%s | 推理精度:%s": "目前裝置:%s | 推理精度:%s",
"正在预热CUDA Graph": "正在預熱 CUDA Graph",
"CUDA Graph预热完成": "CUDA Graph 預熱完成",
"数据提取开始start_time=%.6f,请求并行数=%s实际并行数上限=%s": "資料擷取開始start_time=%.6f,請求並行數=%s實際並行數上限=%s",
"数据提取结束end_time=%.6f,总耗时=%.3f秒": "資料擷取結束end_time=%.6f,總耗時=%.3f秒",
"人声伴奏分离&去混响": "人聲伴奏分離&去混響",
"人声、伴奏与混响批量处理使用pymss/MSST模型。": "使用 pymss/MSST 模型批次處理人聲、伴奏與混響。",
"处理方式": "處理方式",
"底层模型": "底層模型",
"主结果文件夹": "主要結果資料夾",
"分离残余文件夹": "分離殘餘資料夾", "分离残余文件夹": "分離殘餘資料夾",
"停止分离": "停止分離" "删除末行": "删除末行",
} "判别器预训练模型不存在将不使用assets/pretrained%s/%sD%s.pth": "判别器预訓練模型不存在将不使用assets/pretrained%s/%sD%s.pth",
"刷新音色列表": "重新整理音色列表",
"加载模型": "載入模型",
"加载预训练底模D路径": "加載預訓練底模D路徑",
"加载预训练底模G路径": "加載預訓練底模G路徑",
"单次推理": "单次推理",
"单说话人": "单说话人",
"卸载音色省显存": "卸載音色節省 VRAM",
"变调(整数, 半音数量, 升八度12降八度-12)": "變調(整數、半音數量、升八度12降八度-12)",
"合成": "合成",
"后处理重采样至最终采样率0为不进行重采样": "後處理重採樣至最終採樣率0為不進行重採樣",
"否": "否",
"响应阈值": "響應閾值",
"响度因子": "響度因子",
"处理中": "處理中",
"处理数据": "處理資料",
"处理方式": "處理方式",
"多说话人": "多说话人",
"注意:多说话人训练音色还原度不一定有单说话人分开训练好!": "注意:多說話人訓練的音色還原度未必及逐個說話人分開訓練!",
"多说话人子文件夹无效格式应为名称_ID_重复次数、ID为0~109、重复次数为正整数、同一ID的名称需一致且目录需有音频%s": "多说话人子文件夹无效格式应为名称_ID_重复次数、ID为0~109、重复次数为正整数、同一ID的名称需一致且目录需有音频%s",
"多说话人总文件夹只扫描根目录下的直接子文件夹,根目录文件会被忽略。\n子文件夹必须命名为x_y_zx是说话人名称y是说话人ID0~109共110个z是训练集重复次数。\n也可以到右侧“多说话人训练集辅助”编辑并提交训练集清单。": "多说话人总文件夹只扫描根目录下的直接子文件夹,根目录文件会被忽略。\n子文件夹必须命名为x_y_zx是说话人名称y是说话人ID0~109共110个z是训练集重复次数。\n也可以到右侧“多说话人训练集辅助”编辑并提交训练集清单。",
"多说话人训练集总文件夹不存在:%s": "多说话人训练集总文件夹不存在:%s",
"多说话人训练集总文件夹中没有有效音频": "多说话人训练集总文件夹中没有有效音频",
"多说话人训练集总文件夹中没有直接子文件夹": "多说话人训练集总文件夹中没有直接子文件夹",
"多说话人训练集总文件夹路径": "多说话人训练集总文件夹路径",
"多说话人训练集清单不存在,请先提交辅助清单或填写总文件夹": "多说话人训练集清单不存在,请先提交辅助清单或填写总文件夹",
"多说话人训练集清单包含无效条目:%s": "多说话人训练集清单包含无效条目:%s",
"多说话人训练集清单存在重复输出标识:%s": "多说话人训练集清单存在重复输出标识:%s",
"多说话人训练集清单已保存:%s有效音频%s个": "多说话人训练集清单已保存:%s有效音频%s个",
"多说话人训练集清单格式错误": "多说话人训练集清单格式错误",
"多说话人训练集清单没有有效音频": "多说话人训练集清单没有有效音频",
"多说话人训练集辅助": "多说话人训练集辅助",
"失败": "失敗",
"失败记录": "失敗記錄",
"子进程执行失败,返回码:%s": "子進程执行失敗,返回码:%s",
"实验名不能为空": "实验名不能为空",
"导出文件格式": "導出檔格式",
"已停止": "已停止",
"已加载判别器预训练模型:%s": "已載入判别器预訓練模型:%s",
"已加载生成器预训练模型:%s": "已載入生成器预訓練模型:%s",
"已启用索引检索": "已启用索引检索",
"已完成": "已完成",
"已完成阶段": "已完成階段",
"已恢复判别器检查点": "已恢复判别器检查点",
"已成功": "已成功",
"常见问题解答": "常見問題解答",
"常规设置": "一般設定",
"底层模型": "底層模型",
"开始音频转换": "開始音訊轉換",
"当前": "目前",
"当前设备:%s | 推理精度:%s": "目前裝置:%s | 推理精度:%s",
"当前阶段": "目前阶段",
"很遗憾您这没有能用的显卡来支持您训练": "很遗憾您这没有能用的显卡来支持您训练",
"性别因子/声线粗细": "性別因子/聲線粗細",
"性能设置": "效能設定",
"总训练轮数total_epoch": "總訓練輪數total_epoch",
"成功": "成功",
"执行命令": "执行命令",
"批量推理": "批量推理",
"批量转换, 输入待转换音频文件夹, 或上传多个音频文件, 在指定文件夹(默认opt)下输出转换的音频. ": "批量轉換,輸入待轉換音頻資料夾,或上傳多個音頻檔案,在指定資料夾(默認opt)下輸出轉換的音頻。",
"拖拽或点击上传待处理音频": "拖放或按一下上載待處理音訊",
"指定输出文件夹": "指定輸出資料夾",
"推理时间(ms):": "推理時間(ms):",
"推理耗时:%.2f秒": "推理耗时:%.2f秒",
"推理音色": "推理音色",
"提交训练集清单": "提交训练集清单",
"提取": "提取",
"提取音高和处理数据使用的CPU进程数": "提取音高和處理數據使用的CPU進程數",
"数据切分": "數據切分",
"数据切分没有生成16k音频已停止后续特征提取和训练": "資料切分沒有產生16k音訊已停止後續特徵提取和訓練",
"数据切分没有生成有效训练音频,请检查训练集和数据切分日志": "資料切分沒有產生有效訓練音訊,請檢查訓練集和資料切分日誌",
"数据切分输出文件不匹配,已停止后续特征提取和训练": "資料切分輸出檔案不匹配,已停止後續特徵提取和訓練",
"数据提取开始start_time=%.6f,请求并行数=%s实际并行数上限=%s": "資料擷取開始start_time=%.6f,請求並行數=%s實際並行數上限=%s",
"数据提取结束end_time=%.6f,总耗时=%.3f秒": "資料擷取結束end_time=%.6f,總耗時=%.3f秒",
"新增一行": "新增一行",
"无法停止": "無法停止",
"是": "是",
"是否仅保存最新的ckpt文件以节省硬盘空间": "是否僅保存最新的ckpt檔案以節省硬碟空間",
"是否在每次保存时间点将最终小模型保存至weights文件夹": "是否在每次保存時間點將最終小模型保存至weights檔夾",
"是否缓存所有训练集至显存. 10min以下小数据可缓存以加速训练, 大数据缓存会炸显存也加不了多少速": "是否緩存所有訓練集至 VRAM。小於10分鐘的小數據可緩存以加速訓練大數據緩存會爆 VRAM 也加不了多少速度",
"显卡信息": "顯示卡資訊",
"未使用": "未使用",
"未使用判别器预训练模型": "未使用判别器预訓練模型",
"未使用生成器预训练模型": "未使用生成器预訓練模型",
"未检测到可用显卡将使用CPU训练耗时可能较长": "未偵測到可用顯示卡将使用CPU訓練耗时可能较长",
"未运行": "未运行",
"本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责. <br>如不认可该条款, 则不能使用或引用软件包内任何代码和文件. 详见根目录<b>LICENSE</b>.": "本軟體以MIT協議開源作者不對軟體具備任何控制力使用軟體者、傳播軟體導出的聲音者自負全責。<br>如不認可該條款,則不能使用或引用軟體包內任何程式碼和檔案。詳見根目錄<b>使用需遵守的協議-LICENSE.txt</b>。",
"查看": "查看",
"查看模型信息(仅支持weights文件夹下提取的小模型文件)": "查看模型資訊(僅支援weights資料夾下提取的小模型檔案)",
"检索特征占比": "檢索特徵佔比",
"模型信息:%s\n采样率%s\n是否使用音高引导%s\n版本%s": "模型資訊:%s\n采样率%s\n是否使用音高引导%s\n版本%s",
"模型推理": "模型推理",
"模型提取(输入logs文件夹下大文件模型路径),适用于训一半不想训了模型没有自动提取保存小文件模型,或者想测试中间模型的情况": "模型提取(輸入logs資料夾下大檔案模型路徑),適用於訓一半不想訓了模型沒有自動提取儲存小檔案模型,或者想測試中間模型的情況",
"模型是否带音高指导": "模型是否帶音高指導",
"模型是否带音高指导(唱歌一定要, 语音可以不要)": "模型是否帶音高指導(唱歌一定要,語音可以不要)",
"模型是否带音高指导,1是0否": "模型是否帶音高指導1是0否",
"模型版本型号": "模型版本型號",
"模型融合, 可用于测试音色融合": "模型融合,可用於測試音色融合",
"模型融合失败:两个模型的结构不一致": "模型融合失敗:两个模型的结构不一致",
"模型训练": "模型訓練",
"模型路径": "模型路徑",
"正在保存最终检查点:%s": "正在儲存最终检查点:%s",
"正在保存检查点 %s_e%s%s": "正在儲存检查点 %s_e%s%s",
"正在加载RMVPE模型": "正在載入RMVPE模型",
"正在加载模型": "正在載入模型",
"正在启动": "正在启动",
"正在收尾": "正在收尾",
"正在预热CUDA Graph": "正在預熱 CUDA Graph",
"每张显卡的batch_size": "每张显卡的batch_size",
"没有可用于训练的有效音频,请先完成数据切分和特征提取": "沒有可用於訓練的有效音訊,請先完成資料切分和特徵提取",
"没有有效的多说话人训练集行": "没有有效的多说话人训练集行",
"淡入淡出长度": "淡入淡出長度",
"清理模型缓存": "清理模型缓存",
"版本": "版本",
"特征": "特徵",
"特征提取": "特徵提取",
"特征检索库文件路径(选择模型后自动匹配,可手动修改)": "特徵索引庫檔案路徑(選擇模型後自動配對,可手動修改)",
"状态": "状态",
"独占 WASAPI 设备": "独占 WASAPI 设备",
"生成器预训练模型不存在将不使用assets/pretrained%s/%sG%s.pth": "生成器预訓練模型不存在将不使用assets/pretrained%s/%sG%s.pth",
"留空则使用辅助页已提交的清单": "留空则使用辅助页已提交的清单",
"目标采样率": "目標取樣率",
"第%s/%s页共%s行": "第%s/%s页共%s行",
"等待中": "等待中",
"等待输入": "等待輸入",
"算法延迟(ms):": "算法延迟(ms):",
"索引": "索引",
"索引文件不存在,将不使用索引继续推理:%s": "索引檔案不存在,將不使用索引繼續推理:%s",
"索引无效必须使用added_xxxx.index不能使用trained_xxxx.index": "索引無效必须使用added_xxxx.index不能使用trained_xxxx.index",
"索引检索失败": "索引检索失敗",
"索引检索失败或未启用": "索引检索失敗或未启用",
"索引训练": "索引訓練",
"耗时": "耗时",
"耗时:特征=%.3f秒,索引=%.3f秒,音高=%.3f秒,模型=%.3f秒": "耗时:特徵=%.3f秒,索引=%.3f秒,音高=%.3f秒,模型=%.3f秒",
"融合": "融合",
"要改的模型信息": "要改的模型資訊",
"要置入的模型信息": "要置入的模型資訊",
"训练": "訓練",
"训练已完成,正在保存最终模型": "訓練已完成,正在儲存最终模型",
"训练文件列表写入完成": "訓練檔案列表写入完成",
"训练模型": "訓練模型",
"训练特征索引": "訓練特徵索引",
"训练设备规则选择的精度:%s": "訓練设备规则选择的精度:%s",
"训练轮次:{} [{:.0f}%]": "訓練輪次:{} [{:.0f}%]",
"训练集子音频文件夹目录路径": "训练集子音频文件夹目录路径",
"训练集类型": "训练集类型",
"设备类型": "设备类型",
"说话人ID0~109": "说话人ID0~109",
"说话人名称": "说话人名称",
"说话人:%sID%s": "说话人:%sID%s",
"请上传音频文件": "请上传音頻檔案",
"请填写输出文件夹路径": "请填写輸出資料夾路径",
"请指定说话人id": "請指定說話人id",
"请选择index文件": "请选择index文件",
"请选择pth文件": "请选择pth文件",
"请选择说话人id": "請選擇說話人ID",
"转换": "轉換",
"输入实验名": "輸入實驗名稱",
"输入实验名例如test": "輸入實驗名稱例如test",
"输入待处理音频文件夹路径": "輸入待處理音頻資料夾路徑",
"输入待处理音频文件夹路径(去文件管理器地址栏拷就行了)": "輸入待處理音頻資料夾路徑(去檔案管理器地址欄拷貝即可)",
"输入源音量包络替换输出音量包络融合比例越靠近1越使用输出包络": "輸入源音量包絡替換輸出音量包絡融合比例越靠近1越使用輸出包絡",
"输入监听": "输入监听",
"输入训练文件夹路径": "輸入訓練檔案夾路徑",
"输入设备": "輸入設備",
"输入设备:%s:%s": "輸入设备:%s:%s",
"输入降噪": "輸入降噪",
"输出信息": "輸出訊息",
"输出变声": "输出变声",
"输出设备": "輸出設備",
"输出设备:%s:%s": "輸出设备:%s:%s",
"输出降噪": "輸出降噪",
"输出音频(右下角三个点,点了可以下载)": "輸出音頻(右下角三個點,點了可以下載)",
"运行中": "运行中",
"进度": "進度",
"选择.index文件": "選擇 .index 檔案",
"选择.pth文件": "選擇 .pth 檔案",
"选择多说话人音色": "选择多说话人音色",
"选择模型": "选择模型",
"选择索引": "选择索引",
"选择音高提取算法": "選擇音高擷取演算法",
"采样率:": "采样率:",
"采样长度": "取樣長度",
"重复次数": "重复次数",
"重载设备列表": "重載設備列表",
"音调设置": "音調設定",
"音频设备": "音訊設備",
"音高全部为0该音频无意义跳过%s": "音高全部為0该音頻無意义跳過%s",
"音高算法": "音高演算法",
"额外推理时长": "額外推理時長"
}

View File

@@ -1,270 +1,286 @@
{ {
"人声提取激进程度": "人声提取激进程度", "%s运行中请先停止该任务": "%s运行中请先停止该任务",
"%s → 成功": "%s → 成功", "====> 轮次:{} {}": "====> 轮次:{} {}",
"%s运行中请先停止该任务": "%s运行中请先停止该任务", "A模型权重": "A模型權重",
"%s进程已终止": "%s进程已终止", "A模型路径": "A模型路徑",
"====> 轮次:{} {}": "====> 轮次:{} {}", "B模型路径": "B模型路徑",
"A模型权重": "A模型權重", "CUDA Graph预热完成": "CUDA Graph预热完成",
"A模型路径": "A模型路徑", "CUDA可用%s": "CUDA可用%s",
"B模型路径": "B模型路徑", "输入训练文件夹路径例如E:\\我的训练集": "输入训练文件夹路径例如E:\\我的训练集",
"CUDA可用%s": "CUDA可用%s", "F0与HuBERT特征提取": "F0与HuBERT特征提取",
"E:\\语音音频+标注\\米津玄师\\src": "E:\\语音音频+标注\\米津玄师\\src", "F0提取": "F0提取",
"F0与HuBERT特征提取": "F0与HuBERT特征提取", "F0提取没有生成有效结果,已停止训练": "F0提取没有生成有效结果已停止训练",
"F0提取": "F0提取", "HuBERT特征": "HuBERT特征",
"F0曲线文件, 可选, 一行一个音高, 代替默认F0及升降调": "F0曲線檔案可選一行一個音高代替預設的F0及升降調", "HuBERT特征提取没有生成有效结果已停止训练": "HuBERT特征提取没有生成有效结果已停止训练",
"HuBERT特征": "HuBERT特征", "Index Rate": "Index Rate",
"Index Rate": "Index Rate", "SOLA偏移%d": "SOLA偏移%d",
"RVC模型路径": "RVC模型路径", "[F0提取] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[F0提取] 完成 | 成功:%s | 跳过:%s | 失败:%s",
"SOLA偏移%d": "SOLA偏移%d", "[F0提取] 待处理%s": "[F0提取] 待处理%s",
"[F0提取] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[F0提取] 完成 | 成功:%s | 跳过:%s | 失败:%s", "[F0提取] 无待处理音频,已全部跳过": "[F0提取] 无待处理音频,已全部跳过",
"[F0提取] 待处理:%s": "[F0提取] 待处理:%s", "[F0提取] 进度:%s/%s | 成功:%s | 跳过:%s | %s": "[F0提取] 进度:%s/%s | 成功:%s | 跳过:%s | %s",
"[F0提取] 无待处理音频,已全部跳过": "[F0提取] 无待处理音频,已全部跳过", "[F0提取][失败] %s": "[F0提取][失败] %s",
"[F0提取] 进度:%s/%s | 成功:%s | 跳过:%s | %s": "[F0提取] 进度:%s/%s | 成功:%s | 跳过:%s | %s", "[F0提取][失败] %s\n%s": "[F0提取][失败] %s\n%s",
"[F0提取][失败] %s": "[F0提取][失败] %s", "[HuBERT特征] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[HuBERT特征] 完成 | 成功:%s | 跳过:%s | 失败:%s",
"[F0提取][失败] %s\n%s": "[F0提取][失败] %s\n%s", "[HuBERT特征] 无待处理音频,已全部跳过:%s": "[HuBERT特征] 无待处理音频,已全部跳过:%s",
"[HuBERT特征] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[HuBERT特征] 完成 | 成功:%s | 跳过:%s | 失败%s", "[HuBERT特征] 正在加载模型:%s": "[HuBERT特征] 正在加载模型%s",
"[HuBERT特征] 无待处理音频,已全部跳过:%s": "[HuBERT特征] 无待处理音频,已全部跳过:%s", "[HuBERT特征] 设备:%s | 待处理:%s | 已跳过:%s": "[HuBERT特征] 设备:%s | 待处理:%s | 已跳过:%s",
"[HuBERT特征] 正在加载模型:%s": "[HuBERT特征] 正在加载模型:%s", "[HuBERT特征] 进度:%s/%s | 成功:%s | 失败:%s | %s | %s": "[HuBERT特征] 进度:%s/%s | 成功:%s | 失败:%s | %s | %s",
"[HuBERT特征] 设备:%s | 待处理:%s | 已跳过:%s": "[HuBERT特征] 设备:%s | 待处理:%s | 已跳过:%s", "[HuBERT特征][失败] %s\n%s": "[HuBERT特征][失败] %s\n%s",
"[HuBERT特征] 进度:%s/%s | 成功:%s | 失败:%s | %s | %s": "[HuBERT特征] 进度:%s/%s | 成功:%s | 失败:%s | %s | %s", "[HuBERT特征][失败] %s 包含NaN": "[HuBERT特征][失败] %s 包含NaN",
"[HuBERT特征][失败] %s\n%s": "[HuBERT特征][失败] %s\n%s", "[HuBERT特征][失败] 模型不存在:%s": "[HuBERT特征][失败] 模型不存在:%s",
"[HuBERT特征][失败] %s 包含NaN": "[HuBERT特征][失败] %s 包含NaN", "[数据切分] 多说话人待处理:%s | 进程数:%s": "[数据切分] 多说话人待处理:%s | 进程数:%s",
"[HuBERT特征][失败] 模型不存在:%s": "[HuBERT特征][失败] 模型不存在%s", "[数据切分] 子任务完成 | 成功:%s | 失败:%s": "[数据切分] 子任务完成 | 成功:%s | 失败%s",
"[数据切分] 子任务完成 | 成功:%s | 失败:%s": "[数据切分] 子任务完成 | 成功:%s | 失败:%s", "[数据切分] 完成": "[数据切分] 完成",
"[数据切分] 完成": "[数据切分] 完成", "[数据切分] 开始": "[数据切分] 开始",
"[数据切分] 开始": "[数据切分] 开始", "[数据切分] 待处理:%s | 进程数:%s": "[数据切分] 待处理:%s | 进程数:%s",
"[数据切分] 待处理:%s | 进程数:%s": "[数据切分] 待处理:%s | 进程数:%s", "[数据切分] 进度:%s/%s | %s": "[数据切分] 进度:%s/%s | %s",
"[数据切分] 进度:%s/%s | %s": "[数据切分] 进度:%s/%s | %s", "[数据切分][失败] %s": "[数据切分][失败] %s",
"[数据切分][失败] %s": "[数据切分][失败] %s", "[数据切分][失败] %s\n%s": "[数据切分][失败] %s\n%s",
"[数据切分][失败] %s\n%s": "[数据切分][失败] %s\n%s", "[数据切分][跳过] 无效或异常音频片段:%s_%s | 峰值:%s": "[数据切分][跳过] 无效或异常音频片段:%s_%s | 峰值:%s",
"[数据切分][跳过] 无效或异常音频片段:%s_%s | 峰值:%s": "[数据切分][跳过] 无效或异常音频片段:%s_%s | 峰值:%s", "[索引训练] 写入进度:%s/%s": "[索引训练] 写入进度:%s/%s",
"[索引训练] 写入进度:%s/%s": "[索引训练] 写入进度:%s/%s", "[索引训练] 外部索引链接已存在:%s": "[索引训练] 外部索引链接已存在:%s",
"[索引训练] 已链接索引到外部目录:%s": "[索引训练] 已链接索引到外部目录:%s", "[索引训练] 已链接索引到外部目录:%s": "[索引训练] 已链接索引到外部目录:%s",
"[索引训练] 成功构建索引:%s": "[索引训练] 成功构建索引:%s", "[索引训练] 成功构建索引:%s": "[索引训练] 成功构建索引:%s",
"[索引训练] 正在写入特征向量": "[索引训练] 正在写入特征向量", "[索引训练] 正在写入特征向量": "[索引训练] 正在写入特征向量",
"[索引训练] 正在将%s条特征聚类为10000个中心": "[索引训练] 正在将%s条特征聚类为10000个中心", "[索引训练] 正在将%s条特征聚类为10000个中心": "[索引训练] 正在将%s条特征聚类为10000个中心",
"[索引训练] 正在训练索引": "[索引训练] 正在训练索引", "[索引训练] 正在训练索引": "[索引训练] 正在训练索引",
"[索引训练] 特征形状:%s | IVF数量%s": "[索引训练] 特征形状:%s | IVF数量%s", "[索引训练] 特征形状:%s | IVF数量%s": "[索引训练] 特征形状:%s | IVF数量%s",
"[索引训练][失败] 无法链接索引到外部目录:%s\n%s": "[索引训练][失败] 无法链接索引到外部目录:%s\n%s", "[索引训练][失败] 无法链接索引到外部目录:%s\n%s": "[索引训练][失败] 无法链接索引到外部目录:%s\n%s",
"[索引训练][失败] 聚类失败,将使用原始特征继续\n%s": "[索引训练][失败] 聚类失败,将使用原始特征继续\n%s", "[索引训练][失败] 聚类失败,将使用原始特征继续\n%s": "[索引训练][失败] 聚类失败,将使用原始特征继续\n%s",
"[索引训练][失败] 请先进行特征提取": "[索引训练][失败] 请先进行特征提取", "[索引训练][失败] 请先进行特征提取": "[索引训练][失败] 请先进行特征提取",
"ckpt处理": "ckpt處理", "[索引训练][跳过] added索引已存在%s": "[索引训练][跳过] added索引已存在%s",
"index文件路径不可包含中文": "index文件路径不可包含中文", "[索引训练][跳过] trained索引已存在%s": "[索引训练][跳过] trained索引已存在%s",
"pth文件路径不可包含中文": "pth文件路径不可包含中文", "ckpt处理": "ckpt處理",
"rmvpe卡号配置以-分隔输入使用的不同进程卡号,例如0-0-1使用卡0上跑2个进程并在卡1上跑1个进程": "rmvpe卡號配置以-分隔入使用的不同進程卡號,例如0-0-1使用卡0上跑2個進程並在卡1上跑1個進程", "hubert:以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2": "hubert:以-分隔入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2",
"step1: 填写实验配置. 实验数据放在logs下, 每个实验一个文件夹, 需手工输入实验名路径, 内含实验配置, 日志, 训练得到的模型文件. ": "step1填寫實驗配置。實驗數據放在logs下每個實驗一個資料夾需手動輸入實驗名路徑內含實驗配置、日誌、訓練得到的模型檔案。", "index文件路径不可包含中文": "index文件路径不可包含中文",
"step1:正在处理数据": "step1:正在处理数据", "pth文件路径不可包含中文": "pth文件路径不可包含中文",
"step2:正在提取音高&正在提取特征": "step2:正在提取音高&正在提取特征", "rmvpe卡号配置以-分隔输入使用的不同进程卡号,例如0-0-1使用在卡0上跑2个进程并在卡1上跑1个进程": "rmvpe卡號配置以-分隔輸入使用的不同進程卡號,例如0-0-1使用在卡0上跑2個進程並在卡1上跑1個進程",
"step2a: 自动遍历训练文件夹下所有可解码成音频的文件并进行切片归一化, 在实验目录下生成2个wav文件夹; 暂时只支持单人训练. ": "step2a自動遍歷訓練資料夾下所有可解碼成音頻的檔案並進行切片歸一化在實驗目錄下生成2個wav資料夾暫時只支援單人訓練。", "step1: 填写实验配置. 实验数据放在logs下, 每个实验一个文件夹, 需手工输入实验名路径, 内含实验配置, 日志, 训练得到的模型文件. ": "step1填寫實驗配置。實驗數據放在logs下每個實驗一個資料夾需手動輸入實驗名路徑內含實驗配置、日誌、訓練得到的模型檔案。",
"step2b: 使用CPU提取音高(如果模型带音高), 使用GPU提取特征(选择卡号)": "步驟2b: 使用CPU提取音高(如果模型帶音高), 使用GPU提取特徵(選擇卡號)", "step2a: 扫描训练音频并进行切片归一化在实验目录下生成训练wav文件。": "step2a: 扫描训练音频并进行切片归一化在实验目录下生成训练wav文件。",
"step3: 填写训练设置, 开始训练模型和索引": "步驟3: 填寫訓練設定, 開始訓練模型和索引", "step2b: 音高与hubert语义特征提取": "step2b: 音高与hubert语义特征提取",
"step3a:正在训练模型": "step3a:正在训练模型", "step3: 填写训练设置, 开始训练模型和索引": "步驟3: 填寫訓練設定, 開始訓練模型和索引",
"step3b:正在训练索引": "step3b:正在训练索引", "……仅显示最近10条失败记录": "……仅显示最近10条失败记录",
"……仅显示最近10条失败记录": "……仅显示最近10条失败记录", "……已省略前%s行仅显示最新状态": "……已省略前%s行仅显示最新状态",
"……已省略前%s行仅显示最新状态": "……已省略前%s行仅显示最新状态", "一键训练": "一鍵訓練",
"一键训练": "一鍵訓練", "上一页": "上一页",
"也可批量输入音频文件, 二选一, 优先读文件夹": "也可批量输入音频文件, 二选一, 优先读文件夹", "下一页": "下一页",
"仅支持pm和rmvpe音高提取算法": "仅支持pm和rmvpe音高提取算法", "为多说话人训练集建立清单。空行会被忽略路径、说话人名称、说话人ID或重复次数填写不全的行会在提交时提示。": "为多说话人训练集建立清单。空行会被忽略路径、说话人名称、说话人ID或重复次数填写不全的行会在提交时提示。",
"从训练检查点提取的模型": "从训练检查点提取的模型", "主结果文件夹": "主结果文件夹",
"以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2": "以-分隔輸入使用的卡號, 例如 0-1-2 使用卡0和卡1和卡2", "也可批量输入音频文件, 二选一, 优先读文件夹": "也可批量输入音频文件, 二选一, 优先读文件夹",
"任务": "任务", "人声、伴奏与混响批量处理使用pymss/MSST模型。": "人声、伴奏与混响批量处理使用pymss/MSST模型。",
"使用显卡:%s": "使用显卡:%s", "人声伴奏分离&去混响": "人声伴奏分离&去混响",
"使用模型采样率": "使用模型采样率", "仅支持pm和rmvpe音高提取算法": "仅支持pm和rmvpe音高提取算法",
"使用设备采样率": "使用设备采样率", "从训练检查点提取的模型": "从训练检查点提取的模型",
"保存名": "儲存名", "以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2": "以-分隔輸入使用的卡號, 例如 0-1-2 使用卡0和卡1和卡2",
"保存的文件名, 默认空为和源文件同名": "儲存的檔案名,預設空為與來源檔案同名", "以下行填写不完整或无效,已忽略:%s": "以下行填写不完整或无效,已忽略:%s",
"保存的模型名不带后缀": "儲存的模型名不帶副檔名", "任务": "任务",
"保存频率save_every_epoch": "保存頻率save_every_epoch", "使用显卡:%s": "使用显卡:%s",
"保护清辅音和呼吸声防止电音撕裂等artifact拉满0.5不开启,调低加大保护力度但可能降低索引效果": "保護清輔音和呼吸聲防止電音撕裂等artifact拉滿0.5不開啟,調低加大保護力度但可能降低索引效果", "使用模型采样率": "使用模型采样率",
"修改": "修改", "使用设备采样率": "使用设备采样率",
"修改模型信息(仅支持weights文件夹下提取的小模型文件)": "修改模型資訊(僅支援weights資料夾下提取的小模型檔案)", "保存名": "儲存名",
"停止一键训练": "停止一键训练", "保存的文件名, 默认空为和源文件同名": "儲存的檔案名,預設空為與來源檔案同名",
"停止处理数据": "停止处理数据", "保存的模型名不带后缀": "儲存的模型名不帶副檔名",
"停止特征提取": "停止特征提取", "保存频率save_every_epoch": "保存頻率save_every_epoch",
"停止训练模型": "停止训练模型", "保护清辅音和呼吸声防止电音撕裂等artifact拉满0.5不开启,调低加大保护力度但可能降低索引效果": "保護清輔音和呼吸聲防止電音撕裂等artifact拉滿0.5不開啟,調低加大保護力度但可能降低索引效果",
"停止训练索引": "停止训练索引", "修改": "修改",
"停止音频转换": "停止音訊轉換", "修改模型信息(仅支持weights文件夹下提取的小模型文件)": "修改模型資訊(僅支援weights資料夾下提取的小模型檔案)",
"全流程结束!": "全流程结束!", "停止一键训练": "停止一键训练",
"判别器预训练模型不存在将不使用assets/pretrained%s/%sD%s.pth": "判别器预训练模型不存在将不使用assets/pretrained%s/%sD%s.pth", "停止分离": "停止分离",
"加载模型": "載入模型", "停止处理数据": "停止处理数据",
"加载预训练底模D路径": "加載預訓練底模D路徑", "停止特征提取": "停止特征提取",
"加载预训练底模G路径": "加載預訓練底模G路徑", "停止训练模型": "停止训练模型",
"单次推理": "单次推理", "停止训练索引": "停止训练索引",
"卸载音色省显存": "卸載音色節省 VRAM", "停止音频转换": "停止音訊轉換",
"变调(整数, 半音数量, 升八度12降八度-12)": "變調(整數、半音數量、升八度12降八度-12)",
"合成": "合成",
"后处理重采样至最终采样率0为不进行重采样": "後處理重採樣至最終採樣率0為不進行重採樣",
"否": "否",
"响应阈值": "響應閾值",
"响度因子": "響度因子",
"处理中": "处理中",
"处理数据": "處理資料",
"失败": "失败",
"失败记录": "失败记录",
"子进程执行失败,返回码:%s": "子进程执行失败,返回码:%s",
"导出文件格式": "導出檔格式",
"已停止": "已停止",
"已加载判别器预训练模型:%s": "已加载判别器预训练模型:%s",
"已加载生成器预训练模型:%s": "已加载生成器预训练模型:%s",
"已启用索引检索": "已启用索引检索",
"已完成": "已完成",
"已恢复判别器检查点": "已恢复判别器检查点",
"常见问题解答": "常見問題解答",
"常规设置": "一般設定",
"开始音频转换": "開始音訊轉換",
"当前": "当前",
"当前阶段": "当前阶段",
"很遗憾您这没有能用的显卡来支持您训练": "很遗憾您这没有能用的显卡来支持您训练",
"性别因子/声线粗细": "性别因子/声线粗细",
"性能设置": "效能設定",
"总训练轮数total_epoch": "總訓練輪數total_epoch",
"成功": "成功",
"执行命令": "执行命令",
"批量推理": "批量推理",
"批量转换, 输入待转换音频文件夹, 或上传多个音频文件, 在指定文件夹(默认opt)下输出转换的音频. ": "批量轉換,輸入待轉換音頻資料夾,或上傳多個音頻檔案,在指定資料夾(默認opt)下輸出轉換的音頻。",
"拖拽或点击上传待处理音频": "拖拽或点击上传待处理音频",
"指定输出主人声文件夹": "指定输出主人声文件夹",
"指定输出文件夹": "指定輸出資料夾",
"指定输出非主人声文件夹": "指定输出非主人声文件夹",
"推理时间(ms):": "推理時間(ms):",
"推理耗时:%.2f秒": "推理耗时:%.2f秒",
"推理音色": "推理音色",
"提取": "提取",
"提取音高和处理数据使用的CPU进程数": "提取音高和處理數據使用的CPU進程數",
"数据切分": "数据切分",
"无法停止": "无法停止",
"无法读取音频:%s": "无法读取音频:%s",
"是": "是",
"是否仅保存最新的ckpt文件以节省硬盘空间": "是否僅保存最新的ckpt檔案以節省硬碟空間",
"是否在每次保存时间点将最终小模型保存至weights文件夹": "是否在每次保存時間點將最終小模型保存至weights檔夾",
"是否缓存所有训练集至显存. 10min以下小数据可缓存以加速训练, 大数据缓存会炸显存也加不了多少速": "是否緩存所有訓練集至 VRAM。小於10分鐘的小數據可緩存以加速訓練大數據緩存會爆 VRAM 也加不了多少速度",
"显卡信息": "顯示卡資訊",
"未使用": "未使用",
"未使用判别器预训练模型": "未使用判别器预训练模型",
"未使用生成器预训练模型": "未使用生成器预训练模型",
"未找到Roformer模型配置文件正在使用内置默认配置": "未找到Roformer模型配置文件正在使用内置默认配置",
"未检测到可用显卡将使用CPU训练耗时可能较长": "未检测到可用显卡将使用CPU训练耗时可能较长",
"未运行": "未运行",
"本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责. <br>如不认可该条款, 则不能使用或引用软件包内任何代码和文件. 详见根目录<b>LICENSE</b>.": "本軟體以MIT協議開源作者不對軟體具備任何控制力使用軟體者、傳播軟體導出的聲音者自負全責。<br>如不認可該條款,則不能使用或引用軟體包內任何程式碼和檔案。詳見根目錄<b>使用需遵守的協議-LICENSE.txt</b>。",
"查看": "查看",
"查看模型信息(仅支持weights文件夹下提取的小模型文件)": "查看模型資訊(僅支援weights資料夾下提取的小模型檔案)",
"检测到模型类型:%s": "检测到模型类型:%s",
"检索特征占比": "檢索特徵佔比",
"模型": "模型",
"模型信息:%s\n采样率%s\n是否使用音高引导%s\n版本%s": "模型信息:%s\n采样率%s\n是否使用音高引导%s\n版本%s",
"模型推理": "模型推理",
"模型提取(输入logs文件夹下大文件模型路径),适用于训一半不想训了模型没有自动提取保存小文件模型,或者想测试中间模型的情况": "模型提取(輸入logs資料夾下大檔案模型路徑),適用於訓一半不想訓了模型沒有自動提取儲存小檔案模型,或者想測試中間模型的情況",
"模型是否带音高指导": "模型是否帶音高指導",
"模型是否带音高指导(唱歌一定要, 语音可以不要)": "模型是否帶音高指導(唱歌一定要,語音可以不要)",
"模型是否带音高指导,1是0否": "模型是否帶音高指導1是0否",
"模型版本型号": "模型版本型號",
"模型融合, 可用于测试音色融合": "模型融合,可用於測試音色融合",
"模型融合失败:两个模型的结构不一致": "模型融合失败:两个模型的结构不一致",
"模型训练": "模型训练",
"模型路径": "模型路徑",
"正在保存最终检查点:%s": "正在保存最终检查点:%s",
"正在保存检查点 %s_e%s%s": "正在保存检查点 %s_e%s%s",
"正在加载RMVPE模型": "正在加载RMVPE模型",
"正在加载模型": "正在加载模型",
"正在启动": "正在启动",
"正在收尾": "正在收尾",
"每张显卡的batch_size": "每张显卡的batch_size",
"淡入淡出长度": "淡入淡出長度",
"清理模型缓存": "清理模型缓存",
"版本": "版本",
"特征": "特征",
"特征提取": "特徵提取",
"状态": "状态",
"独占 WASAPI 设备": "独占 WASAPI 设备",
"生成器预训练模型不存在将不使用assets/pretrained%s/%sG%s.pth": "生成器预训练模型不存在将不使用assets/pretrained%s/%sG%s.pth",
"男转女推荐+12key, 女转男推荐-12key, 如果音域爆炸导致音色失真也可以自己调整到合适音域. ": "男性轉女性推薦+12key女性轉男性推薦-12key如果音域爆炸導致音色失真也可以自己調整到合適音域。",
"目标采样率": "目標取樣率",
"等待中": "等待中",
"等待输入": "等待输入",
"算法延迟(ms):": "算法延迟(ms):",
"索引": "索引",
"索引无效必须使用added_xxxx.index不能使用trained_xxxx.index": "索引无效必须使用added_xxxx.index不能使用trained_xxxx.index",
"索引检索失败": "索引检索失败",
"索引检索失败或未启用": "索引检索失败或未启用",
"索引训练": "索引训练",
"耗时": "耗时",
"耗时:特征=%.3f秒,索引=%.3f秒,音高=%.3f秒,模型=%.3f秒": "耗时:特征=%.3f秒,索引=%.3f秒,音高=%.3f秒,模型=%.3f秒",
"融合": "融合",
"要改的模型信息": "要改的模型資訊",
"要置入的模型信息": "要置入的模型資訊",
"训练": "訓練",
"训练已完成,正在保存最终模型": "训练已完成,正在保存最终模型",
"训练文件列表写入完成": "训练文件列表写入完成",
"训练模型": "訓練模型",
"训练特征索引": "訓練特徵索引",
"训练结束, 您可查看控制台训练日志或实验文件夹下的train.log": "训练结束, 您可查看控制台训练日志或实验文件夹下的train.log",
"训练设备规则选择的精度:%s": "训练设备规则选择的精度:%s",
"训练轮次:{} [{:.0f}%]": "训练轮次:{} [{:.0f}%]",
"设备类型": "设备类型",
"请上传音频文件": "请上传音频文件",
"请填写输出文件夹路径": "请填写输出文件夹路径",
"请指定说话人id": "請指定說話人id",
"请选择index文件": "请选择index文件",
"请选择pth文件": "请选择pth文件",
"请选择说话人id": "請選擇說話人ID",
"转换": "轉換",
"输入实验名": "輸入實驗名稱",
"输入待处理音频文件夹路径": "輸入待處理音頻資料夾路徑",
"输入待处理音频文件夹路径(去文件管理器地址栏拷就行了)": "輸入待處理音頻資料夾路徑(去檔案管理器地址欄拷貝即可)",
"输入待处理音频文件路径(默认是正确格式示例)": "輸入待處理音頻檔案路徑(預設是正確格式示例)",
"输入源音量包络替换输出音量包络融合比例越靠近1越使用输出包络": "輸入源音量包絡替換輸出音量包絡融合比例越靠近1越使用輸出包絡",
"输入监听": "输入监听",
"输入训练文件夹路径": "輸入訓練檔案夾路徑",
"输入设备": "輸入設備",
"输入设备:%s:%s": "输入设备:%s:%s",
"输入降噪": "輸入降噪",
"输出信息": "輸出訊息",
"输出变声": "输出变声",
"输出设备": "輸出設備",
"输出设备:%s:%s": "输出设备:%s:%s",
"输出降噪": "輸出降噪",
"输出音频(右下角三个点,点了可以下载)": "輸出音頻(右下角三個點,點了可以下載)",
"运行中": "运行中",
"进度": "进度",
"选择.index文件": "選擇 .index 檔案",
"选择.pth文件": "選擇 .pth 檔案",
"选择模型": "选择模型",
"选择索引": "选择索引",
"选择音高提取算法": "选择音高提取算法",
"采样率:": "采样率:",
"采样长度": "取樣長度",
"重载设备列表": "重載設備列表",
"错误信息:%s": "错误信息:%s",
"错误:未知模型:%s": "错误:未知模型:%s",
"音调设置": "音調設定",
"音频包含多个声道,但模型仅支持单声道,将对所有声道取平均值": "音频包含多个声道,但模型仅支持单声道,将对所有声道取平均值",
"音频设备": "音訊設備",
"音高全部为0该音频无意义跳过%s": "音高全部为0该音频无意义跳过%s",
"音高算法": "音高演算法",
"额外推理时长": "額外推理時長",
"数据切分没有生成有效训练音频,请检查训练集和数据切分日志": "数据切分没有生成有效训练音频,请检查训练集和数据切分日志",
"数据切分没有生成16k音频已停止后续特征提取和训练": "数据切分没有生成16k音频已停止后续特征提取和训练",
"数据切分输出文件不匹配,已停止后续特征提取和训练": "数据切分输出文件不匹配,已停止后续特征提取和训练",
"HuBERT特征提取没有生成有效结果已停止训练": "HuBERT特征提取没有生成有效结果已停止训练",
"F0提取没有生成有效结果已停止训练": "F0提取没有生成有效结果已停止训练",
"没有可用于训练的有效音频,请先完成数据切分和特征提取": "没有可用于训练的有效音频,请先完成数据切分和特征提取",
"已完成阶段": "已完成阶段",
"已成功": "已成功",
"刷新音色列表": "刷新音色列表",
"特征检索库文件路径(选择模型后自动匹配,可手动修改)": "特征检索库文件路径(选择模型后自动匹配,可手动修改)",
"[索引训练] 外部索引链接已存在:%s": "[索引训练] 外部索引链接已存在:%s",
"[索引训练][跳过] added索引已存在%s": "[索引训练][跳过] added索引已存在%s",
"[索引训练][跳过] trained索引已存在%s": "[索引训练][跳过] trained索引已存在%s",
"当前设备:%s | 推理精度:%s": "当前设备:%s | 推理精度:%s",
"正在预热CUDA Graph": "正在预热CUDA Graph",
"CUDA Graph预热完成": "CUDA Graph预热完成",
"数据提取开始start_time=%.6f,请求并行数=%s实际并行数上限=%s": "数据提取开始start_time=%.6f,请求并行数=%s实际并行数上限=%s",
"数据提取结束end_time=%.6f,总耗时=%.3f秒": "数据提取结束end_time=%.6f,总耗时=%.3f秒",
"人声伴奏分离&去混响": "人声伴奏分离&去混响",
"人声、伴奏与混响批量处理使用pymss/MSST模型。": "人声、伴奏与混响批量处理使用pymss/MSST模型。",
"处理方式": "处理方式",
"底层模型": "底层模型",
"主结果文件夹": "主结果文件夹",
"分离残余文件夹": "分离残余文件夹", "分离残余文件夹": "分离残余文件夹",
"停止分离": "停止分离" "删除末行": "删除末行",
} "判别器预训练模型不存在将不使用assets/pretrained%s/%sD%s.pth": "判别器预训练模型不存在将不使用assets/pretrained%s/%sD%s.pth",
"刷新音色列表": "刷新音色列表",
"加载模型": "載入模型",
"加载预训练底模D路径": "加載預訓練底模D路徑",
"加载预训练底模G路径": "加載預訓練底模G路徑",
"单次推理": "单次推理",
"单说话人": "单说话人",
"卸载音色省显存": "卸載音色節省 VRAM",
"变调(整数, 半音数量, 升八度12降八度-12)": "變調(整數、半音數量、升八度12降八度-12)",
"合成": "合成",
"后处理重采样至最终采样率0为不进行重采样": "後處理重採樣至最終採樣率0為不進行重採樣",
"否": "否",
"响应阈值": "響應閾值",
"响度因子": "響度因子",
"处理中": "处理中",
"处理数据": "處理資料",
"处理方式": "处理方式",
"多说话人": "多说话人",
"注意:多说话人训练音色还原度不一定有单说话人分开训练好!": "注意:多说话人训练音色还原度不一定有单说话人分开训练好!",
"多说话人子文件夹无效格式应为名称_ID_重复次数、ID为0~109、重复次数为正整数、同一ID的名称需一致且目录需有音频%s": "多说话人子文件夹无效格式应为名称_ID_重复次数、ID为0~109、重复次数为正整数、同一ID的名称需一致且目录需有音频%s",
"多说话人总文件夹只扫描根目录下的直接子文件夹,根目录文件会被忽略。\n子文件夹必须命名为x_y_zx是说话人名称y是说话人ID0~109共110个z是训练集重复次数。\n也可以到右侧“多说话人训练集辅助”编辑并提交训练集清单。": "多说话人总文件夹只扫描根目录下的直接子文件夹,根目录文件会被忽略。\n子文件夹必须命名为x_y_zx是说话人名称y是说话人ID0~109共110个z是训练集重复次数。\n也可以到右侧“多说话人训练集辅助”编辑并提交训练集清单。",
"多说话人训练集总文件夹不存在:%s": "多说话人训练集总文件夹不存在:%s",
"多说话人训练集总文件夹中没有有效音频": "多说话人训练集总文件夹中没有有效音频",
"多说话人训练集总文件夹中没有直接子文件夹": "多说话人训练集总文件夹中没有直接子文件夹",
"多说话人训练集总文件夹路径": "多说话人训练集总文件夹路径",
"多说话人训练集清单不存在,请先提交辅助清单或填写总文件夹": "多说话人训练集清单不存在,请先提交辅助清单或填写总文件夹",
"多说话人训练集清单包含无效条目:%s": "多说话人训练集清单包含无效条目:%s",
"多说话人训练集清单存在重复输出标识:%s": "多说话人训练集清单存在重复输出标识:%s",
"多说话人训练集清单已保存:%s有效音频%s个": "多说话人训练集清单已保存:%s有效音频%s个",
"多说话人训练集清单格式错误": "多说话人训练集清单格式错误",
"多说话人训练集清单没有有效音频": "多说话人训练集清单没有有效音频",
"多说话人训练集辅助": "多说话人训练集辅助",
"失败": "失败",
"失败记录": "失败记录",
"子进程执行失败,返回码:%s": "子进程执行失败,返回码:%s",
"实验名不能为空": "实验名不能为空",
"导出文件格式": "導出檔格式",
"已停止": "已停止",
"已加载判别器预训练模型:%s": "已加载判别器预训练模型:%s",
"已加载生成器预训练模型:%s": "已加载生成器预训练模型:%s",
"已启用索引检索": "已启用索引检索",
"已完成": "已完成",
"已完成阶段": "已完成阶段",
"已恢复判别器检查点": "已恢复判别器检查点",
"已成功": "已成功",
"常见问题解答": "常見問題解答",
"常规设置": "一般設定",
"底层模型": "底层模型",
"开始音频转换": "開始音訊轉換",
"当前": "当前",
"当前设备:%s | 推理精度:%s": "当前设备:%s | 推理精度:%s",
"当前阶段": "当前阶段",
"很遗憾您这没有能用的显卡来支持您训练": "很遗憾您这没有能用的显卡来支持您训练",
"性别因子/声线粗细": "性别因子/声线粗细",
"性能设置": "效能設定",
"总训练轮数total_epoch": "總訓練輪數total_epoch",
"成功": "成功",
"执行命令": "执行命令",
"批量推理": "批量推理",
"批量转换, 输入待转换音频文件夹, 或上传多个音频文件, 在指定文件夹(默认opt)下输出转换的音频. ": "批量轉換,輸入待轉換音頻資料夾,或上傳多個音頻檔案,在指定資料夾(默認opt)下輸出轉換的音頻。",
"拖拽或点击上传待处理音频": "拖拽或点击上传待处理音频",
"指定输出文件夹": "指定輸出資料夾",
"推理时间(ms):": "推理時間(ms):",
"推理耗时:%.2f秒": "推理耗时:%.2f秒",
"推理音色": "推理音色",
"提交训练集清单": "提交训练集清单",
"提取": "提取",
"提取音高和处理数据使用的CPU进程数": "提取音高和處理數據使用的CPU進程數",
"数据切分": "数据切分",
"数据切分没有生成16k音频已停止后续特征提取和训练": "数据切分没有生成16k音频已停止后续特征提取和训练",
"数据切分没有生成有效训练音频,请检查训练集和数据切分日志": "数据切分没有生成有效训练音频,请检查训练集和数据切分日志",
"数据切分输出文件不匹配,已停止后续特征提取和训练": "数据切分输出文件不匹配,已停止后续特征提取和训练",
"数据提取开始start_time=%.6f,请求并行数=%s实际并行数上限=%s": "数据提取开始start_time=%.6f,请求并行数=%s实际并行数上限=%s",
"数据提取结束end_time=%.6f,总耗时=%.3f秒": "数据提取结束end_time=%.6f,总耗时=%.3f秒",
"新增一行": "新增一行",
"无法停止": "无法停止",
"是": "是",
"是否仅保存最新的ckpt文件以节省硬盘空间": "是否僅保存最新的ckpt檔案以節省硬碟空間",
"是否在每次保存时间点将最终小模型保存至weights文件夹": "是否在每次保存時間點將最終小模型保存至weights檔夾",
"是否缓存所有训练集至显存. 10min以下小数据可缓存以加速训练, 大数据缓存会炸显存也加不了多少速": "是否緩存所有訓練集至 VRAM。小於10分鐘的小數據可緩存以加速訓練大數據緩存會爆 VRAM 也加不了多少速度",
"显卡信息": "顯示卡資訊",
"未使用": "未使用",
"未使用判别器预训练模型": "未使用判别器预训练模型",
"未使用生成器预训练模型": "未使用生成器预训练模型",
"未检测到可用显卡将使用CPU训练耗时可能较长": "未检测到可用显卡将使用CPU训练耗时可能较长",
"未运行": "未运行",
"本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责. <br>如不认可该条款, 则不能使用或引用软件包内任何代码和文件. 详见根目录<b>LICENSE</b>.": "本軟體以MIT協議開源作者不對軟體具備任何控制力使用軟體者、傳播軟體導出的聲音者自負全責。<br>如不認可該條款,則不能使用或引用軟體包內任何程式碼和檔案。詳見根目錄<b>使用需遵守的協議-LICENSE.txt</b>。",
"查看": "查看",
"查看模型信息(仅支持weights文件夹下提取的小模型文件)": "查看模型資訊(僅支援weights資料夾下提取的小模型檔案)",
"检索特征占比": "檢索特徵佔比",
"模型信息:%s\n采样率%s\n是否使用音高引导%s\n版本%s": "模型信息:%s\n采样率%s\n是否使用音高引导%s\n版本%s",
"模型推理": "模型推理",
"模型提取(输入logs文件夹下大文件模型路径),适用于训一半不想训了模型没有自动提取保存小文件模型,或者想测试中间模型的情况": "模型提取(輸入logs資料夾下大檔案模型路徑),適用於訓一半不想訓了模型沒有自動提取儲存小檔案模型,或者想測試中間模型的情況",
"模型是否带音高指导": "模型是否帶音高指導",
"模型是否带音高指导(唱歌一定要, 语音可以不要)": "模型是否帶音高指導(唱歌一定要,語音可以不要)",
"模型是否带音高指导,1是0否": "模型是否帶音高指導1是0否",
"模型版本型号": "模型版本型號",
"模型融合, 可用于测试音色融合": "模型融合,可用於測試音色融合",
"模型融合失败:两个模型的结构不一致": "模型融合失败:两个模型的结构不一致",
"模型训练": "模型训练",
"模型路径": "模型路徑",
"正在保存最终检查点:%s": "正在保存最终检查点:%s",
"正在保存检查点 %s_e%s%s": "正在保存检查点 %s_e%s%s",
"正在加载RMVPE模型": "正在加载RMVPE模型",
"正在加载模型": "正在加载模型",
"正在启动": "正在启动",
"正在收尾": "正在收尾",
"正在预热CUDA Graph": "正在预热CUDA Graph",
"每张显卡的batch_size": "每张显卡的batch_size",
"没有可用于训练的有效音频,请先完成数据切分和特征提取": "没有可用于训练的有效音频,请先完成数据切分和特征提取",
"没有有效的多说话人训练集行": "没有有效的多说话人训练集行",
"淡入淡出长度": "淡入淡出長度",
"清理模型缓存": "清理模型缓存",
"版本": "版本",
"特征": "特征",
"特征提取": "特徵提取",
"特征检索库文件路径(选择模型后自动匹配,可手动修改)": "特征检索库文件路径(选择模型后自动匹配,可手动修改)",
"状态": "状态",
"独占 WASAPI 设备": "独占 WASAPI 设备",
"生成器预训练模型不存在将不使用assets/pretrained%s/%sG%s.pth": "生成器预训练模型不存在将不使用assets/pretrained%s/%sG%s.pth",
"留空则使用辅助页已提交的清单": "留空则使用辅助页已提交的清单",
"目标采样率": "目標取樣率",
"第%s/%s页共%s行": "第%s/%s页共%s行",
"等待中": "等待中",
"等待输入": "等待输入",
"算法延迟(ms):": "算法延迟(ms):",
"索引": "索引",
"索引文件不存在,将不使用索引继续推理:%s": "索引文件不存在,将不使用索引继续推理:%s",
"索引无效必须使用added_xxxx.index不能使用trained_xxxx.index": "索引无效必须使用added_xxxx.index不能使用trained_xxxx.index",
"索引检索失败": "索引检索失败",
"索引检索失败或未启用": "索引检索失败或未启用",
"索引训练": "索引训练",
"耗时": "耗时",
"耗时:特征=%.3f秒,索引=%.3f秒,音高=%.3f秒,模型=%.3f秒": "耗时:特征=%.3f秒,索引=%.3f秒,音高=%.3f秒,模型=%.3f秒",
"融合": "融合",
"要改的模型信息": "要改的模型資訊",
"要置入的模型信息": "要置入的模型資訊",
"训练": "訓練",
"训练已完成,正在保存最终模型": "训练已完成,正在保存最终模型",
"训练文件列表写入完成": "训练文件列表写入完成",
"训练模型": "訓練模型",
"训练特征索引": "訓練特徵索引",
"训练设备规则选择的精度:%s": "训练设备规则选择的精度:%s",
"训练轮次:{} [{:.0f}%]": "训练轮次:{} [{:.0f}%]",
"训练集子音频文件夹目录路径": "训练集子音频文件夹目录路径",
"训练集类型": "训练集类型",
"设备类型": "设备类型",
"说话人ID0~109": "说话人ID0~109",
"说话人名称": "说话人名称",
"说话人:%sID%s": "说话人:%sID%s",
"请上传音频文件": "请上传音频文件",
"请填写输出文件夹路径": "请填写输出文件夹路径",
"请指定说话人id": "請指定說話人id",
"请选择index文件": "请选择index文件",
"请选择pth文件": "请选择pth文件",
"请选择说话人id": "請選擇說話人ID",
"转换": "轉換",
"输入实验名": "輸入實驗名稱",
"输入实验名例如test": "输入实验名例如test",
"输入待处理音频文件夹路径": "輸入待處理音頻資料夾路徑",
"输入待处理音频文件夹路径(去文件管理器地址栏拷就行了)": "輸入待處理音頻資料夾路徑(去檔案管理器地址欄拷貝即可)",
"输入源音量包络替换输出音量包络融合比例越靠近1越使用输出包络": "輸入源音量包絡替換輸出音量包絡融合比例越靠近1越使用輸出包絡",
"输入监听": "输入监听",
"输入训练文件夹路径": "輸入訓練檔案夾路徑",
"输入设备": "輸入設備",
"输入设备:%s:%s": "输入设备:%s:%s",
"输入降噪": "輸入降噪",
"输出信息": "輸出訊息",
"输出变声": "输出变声",
"输出设备": "輸出設備",
"输出设备:%s:%s": "输出设备:%s:%s",
"输出降噪": "輸出降噪",
"输出音频(右下角三个点,点了可以下载)": "輸出音頻(右下角三個點,點了可以下載)",
"运行中": "运行中",
"进度": "进度",
"选择.index文件": "選擇 .index 檔案",
"选择.pth文件": "選擇 .pth 檔案",
"选择多说话人音色": "选择多说话人音色",
"选择模型": "选择模型",
"选择索引": "选择索引",
"选择音高提取算法": "选择音高提取算法",
"采样率:": "采样率:",
"采样长度": "取樣長度",
"重复次数": "重复次数",
"重载设备列表": "重載設備列表",
"音调设置": "音調設定",
"音频设备": "音訊設備",
"音高全部为0该音频无意义跳过%s": "音高全部为0该音频无意义跳过%s",
"音高算法": "音高演算法",
"额外推理时长": "額外推理時長"
}

View File

@@ -1,270 +1,286 @@
{ {
"人声提取激进程度": "人聲提取激進程度", "%s运行中请先停止该任务": "%s运行中请先停止该任务",
"%s → 成功": "%s → 成功", "====> 轮次:{} {}": "====> 輪次:{} {}",
"%s运行中请先停止该任务": "%s运行中请先停止该任务", "A模型权重": "A模型權重",
"%s进程已终止": "%s進程已终止", "A模型路径": "A模型路徑",
"====> 轮次:{} {}": "====> 輪次:{} {}", "B模型路径": "B模型路徑",
"A模型权重": "A模型權重", "CUDA Graph预热完成": "CUDA Graph 預熱完成",
"A模型路径": "A模型路徑", "CUDA可用%s": "CUDA可用%s",
"B模型路径": "B模型路徑", "输入训练文件夹路径例如E:\\我的训练集": "輸入訓練資料夾路徑例如E:\\我的訓練集",
"CUDA可用%s": "CUDA可用%s", "F0与HuBERT特征提取": "F0與HuBERT特徵提取",
"E:\\语音音频+标注\\米津玄师\\src": "E:\\语音音频+标注\\米津玄师\\src", "F0提取": "F0提取",
"F0与HuBERT特征提取": "F0與HuBERT特徵提取", "F0提取没有生成有效结果,已停止训练": "F0提取沒有產生有效結果已停止訓練",
"F0提取": "F0提取", "HuBERT特征": "HuBERT特徵",
"F0曲线文件, 可选, 一行一个音高, 代替默认F0及升降调": "F0曲線檔案可選一行一個音高代替預設的F0及升降調", "HuBERT特征提取没有生成有效结果已停止训练": "HuBERT特徵提取沒有產生有效結果已停止訓練",
"HuBERT特征": "HuBERT特徵", "Index Rate": "Index Rate",
"Index Rate": "Index Rate", "SOLA偏移%d": "SOLA偏移%d",
"RVC模型路径": "RVC模型路径", "[F0提取] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[F0提取] 完成 | 成功:%s | 跳過:%s | 失敗:%s",
"SOLA偏移%d": "SOLA偏移%d", "[F0提取] 待处理%s": "[F0提取] 待处理%s",
"[F0提取] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[F0提取] 完成 | 成功:%s | 跳過:%s | 失敗:%s", "[F0提取] 无待处理音频,已全部跳过": "[F0提取] 無待处理音頻,已全部跳過",
"[F0提取] 待处理:%s": "[F0提取] 待处理:%s", "[F0提取] 进度:%s/%s | 成功:%s | 跳过:%s | %s": "[F0提取] 進度:%s/%s | 成功:%s | 跳過:%s | %s",
"[F0提取] 无待处理音频,已全部跳过": "[F0提取] 無待处理音頻,已全部跳過", "[F0提取][失败] %s": "[F0提取][失敗] %s",
"[F0提取] 进度:%s/%s | 成功:%s | 跳过:%s | %s": "[F0提取] 進度:%s/%s | 成功:%s | 跳過:%s | %s", "[F0提取][失败] %s\n%s": "[F0提取][失敗] %s\n%s",
"[F0提取][失败] %s": "[F0提取][失敗] %s", "[HuBERT特征] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[HuBERT特徵] 完成 | 成功:%s | 跳過:%s | 失敗:%s",
"[F0提取][失败] %s\n%s": "[F0提取][失敗] %s\n%s", "[HuBERT特征] 无待处理音频,已全部跳过:%s": "[HuBERT特徵] 無待处理音頻,已全部跳過:%s",
"[HuBERT特征] 完成 | 成功:%s | 跳过:%s | 失败:%s": "[HuBERT特徵] 完成 | 成功:%s | 跳過:%s | 失敗%s", "[HuBERT特征] 正在加载模型:%s": "[HuBERT特徵] 正在載入模型%s",
"[HuBERT特征] 无待处理音频,已全部跳过:%s": "[HuBERT特徵] 無待处理音頻,已全部跳過:%s", "[HuBERT特征] 设备:%s | 待处理:%s | 已跳过:%s": "[HuBERT特徵] 设备:%s | 待处理:%s | 已跳過:%s",
"[HuBERT特征] 正在加载模型:%s": "[HuBERT特徵] 正在載入模型:%s", "[HuBERT特征] 进度:%s/%s | 成功:%s | 失败:%s | %s | %s": "[HuBERT特徵] 進度:%s/%s | 成功:%s | 失敗:%s | %s | %s",
"[HuBERT特征] 设备:%s | 待处理:%s | 已跳过:%s": "[HuBERT特徵] 设备:%s | 待处理:%s | 已跳過:%s", "[HuBERT特征][失败] %s\n%s": "[HuBERT特徵][失敗] %s\n%s",
"[HuBERT特征] 进度:%s/%s | 成功:%s | 失败:%s | %s | %s": "[HuBERT特徵] 進度:%s/%s | 成功:%s | 失敗:%s | %s | %s", "[HuBERT特征][失败] %s 包含NaN": "[HuBERT特徵][失敗] %s 包含NaN",
"[HuBERT特征][失败] %s\n%s": "[HuBERT特徵][失敗] %s\n%s", "[HuBERT特征][失败] 模型不存在:%s": "[HuBERT特徵][失敗] 模型不存在:%s",
"[HuBERT特征][失败] %s 包含NaN": "[HuBERT特徵][失敗] %s 包含NaN", "[数据切分] 多说话人待处理:%s | 进程数:%s": "[数据切分] 多说话人待处理:%s | 进程数:%s",
"[HuBERT特征][失败] 模型不存在:%s": "[HuBERT特徵][失敗] 模型不存在%s", "[数据切分] 子任务完成 | 成功:%s | 失败:%s": "[數據切分] 子任务完成 | 成功:%s | 失敗%s",
"[数据切分] 子任务完成 | 成功:%s | 失败:%s": "[數據切分] 子任务完成 | 成功:%s | 失敗:%s", "[数据切分] 完成": "[數據切分] 完成",
"[数据切分] 完成": "[數據切分] 完成", "[数据切分] 开始": "[數據切分] 开始",
"[数据切分] 开始": "[數據切分] 开始", "[数据切分] 待处理:%s | 进程数:%s": "[數據切分] 待处理:%s | 進程数:%s",
"[数据切分] 待处理:%s | 进程数:%s": "[數據切分] 待处理:%s | 進程数:%s", "[数据切分] 进度:%s/%s | %s": "[數據切分] 進度:%s/%s | %s",
"[数据切分] 进度:%s/%s | %s": "[數據切分] 進度:%s/%s | %s", "[数据切分][失败] %s": "[數據切分][失敗] %s",
"[数据切分][失败] %s": "[數據切分][失敗] %s", "[数据切分][失败] %s\n%s": "[數據切分][失敗] %s\n%s",
"[数据切分][失败] %s\n%s": "[數據切分][失敗] %s\n%s", "[数据切分][跳过] 无效或异常音频片段:%s_%s | 峰值:%s": "[數據切分][跳過] 無效或異常音頻片段:%s_%s | 峰值:%s",
"[数据切分][跳过] 无效或异常音频片段:%s_%s | 峰值:%s": "[數據切分][跳過] 無效或異常音頻片段:%s_%s | 峰值:%s", "[索引训练] 写入进度:%s/%s": "[索引訓練] 写入進度:%s/%s",
"[索引训练] 写入进度:%s/%s": "[索引訓練] 写入進度:%s/%s", "[索引训练] 外部索引链接已存在:%s": "[索引訓練] 外部索引連結已存在:%s",
"[索引训练] 已链接索引到外部目录:%s": "[索引訓練] 已連結索引到外部目录:%s", "[索引训练] 已链接索引到外部目录:%s": "[索引訓練] 已連結索引到外部目录:%s",
"[索引训练] 成功构建索引:%s": "[索引訓練] 成功构建索引:%s", "[索引训练] 成功构建索引:%s": "[索引訓練] 成功构建索引:%s",
"[索引训练] 正在写入特征向量": "[索引訓練] 正在写入特徵向量", "[索引训练] 正在写入特征向量": "[索引訓練] 正在写入特徵向量",
"[索引训练] 正在将%s条特征聚类为10000个中心": "[索引訓練] 正在将%s條特徵聚类為10000个中心", "[索引训练] 正在将%s条特征聚类为10000个中心": "[索引訓練] 正在将%s條特徵聚类為10000个中心",
"[索引训练] 正在训练索引": "[索引訓練] 正在訓練索引", "[索引训练] 正在训练索引": "[索引訓練] 正在訓練索引",
"[索引训练] 特征形状:%s | IVF数量%s": "[索引訓練] 特徵形状:%s | IVF數量%s", "[索引训练] 特征形状:%s | IVF数量%s": "[索引訓練] 特徵形状:%s | IVF數量%s",
"[索引训练][失败] 无法链接索引到外部目录:%s\n%s": "[索引訓練][失敗] 無法連結索引到外部目录:%s\n%s", "[索引训练][失败] 无法链接索引到外部目录:%s\n%s": "[索引訓練][失敗] 無法連結索引到外部目录:%s\n%s",
"[索引训练][失败] 聚类失败,将使用原始特征继续\n%s": "[索引訓練][失敗] 聚类失敗,将使用原始特徵繼續\n%s", "[索引训练][失败] 聚类失败,将使用原始特征继续\n%s": "[索引訓練][失敗] 聚类失敗,将使用原始特徵繼續\n%s",
"[索引训练][失败] 请先进行特征提取": "[索引訓練][失敗] 请先進行特徵提取", "[索引训练][失败] 请先进行特征提取": "[索引訓練][失敗] 请先進行特徵提取",
"ckpt处理": "ckpt處理", "[索引训练][跳过] added索引已存在%s": "[索引訓練][跳過] added索引已存在%s",
"index文件路径不可包含中文": "index文件路径不可包含中文", "[索引训练][跳过] trained索引已存在%s": "[索引訓練][跳過] trained索引已存在%s",
"pth文件路径不可包含中文": "pth文件路径不可包含中文", "ckpt处理": "ckpt處理",
"rmvpe卡号配置以-分隔输入使用的不同进程卡号,例如0-0-1使用卡0上跑2个进程并在卡1上跑1个进程": "rmvpe卡號配置以-分隔入使用的不同進程卡號,例如0-0-1使用卡0上跑2個進程並在卡1上跑1個進程", "hubert:以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2": "hubert:以-分隔入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2",
"step1: 填写实验配置. 实验数据放在logs下, 每个实验一个文件夹, 需手工输入实验名路径, 内含实验配置, 日志, 训练得到的模型文件. ": "step1填寫實驗配置。實驗數據放在logs下每個實驗一個資料夾需手動輸入實驗名路徑內含實驗配置、日誌、訓練得到的模型檔案。", "index文件路径不可包含中文": "index文件路径不可包含中文",
"step1:正在处理数据": "step1:正在处理数据", "pth文件路径不可包含中文": "pth文件路径不可包含中文",
"step2:正在提取音高&正在提取特征": "step2:正在提取音高&正在提取特征", "rmvpe卡号配置以-分隔输入使用的不同进程卡号,例如0-0-1使用在卡0上跑2个进程并在卡1上跑1个进程": "rmvpe卡號配置以-分隔輸入使用的不同進程卡號,例如0-0-1使用在卡0上跑2個進程並在卡1上跑1個進程",
"step2a: 自动遍历训练文件夹下所有可解码成音频的文件并进行切片归一化, 在实验目录下生成2个wav文件夹; 暂时只支持单人训练. ": "step2a自動遍歷訓練資料夾下所有可解碼成音頻的檔案並進行切片歸一化在實驗目錄下生成2個wav資料夾暫時只支援單人訓練。", "step1: 填写实验配置. 实验数据放在logs下, 每个实验一个文件夹, 需手工输入实验名路径, 内含实验配置, 日志, 训练得到的模型文件. ": "step1填寫實驗配置。實驗數據放在logs下每個實驗一個資料夾需手動輸入實驗名路徑內含實驗配置、日誌、訓練得到的模型檔案。",
"step2b: 使用CPU提取音高(如果模型带音高), 使用GPU提取特征(选择卡号)": "步驟2b: 使用CPU提取音高(如果模型帶音高), 使用GPU提取特徵(選擇卡號)", "step2a: 扫描训练音频并进行切片归一化在实验目录下生成训练wav文件。": "step2a: 扫描训练音频并进行切片归一化在实验目录下生成训练wav文件。",
"step3: 填写训练设置, 开始训练模型和索引": "步驟3: 填寫訓練設定, 開始訓練模型和索引", "step2b: 音高与hubert语义特征提取": "步驟2b: 音高與hubert語義特徵提取",
"step3a:正在训练模型": "step3a:正在训练模型", "step3: 填写训练设置, 开始训练模型和索引": "步驟3: 填寫訓練設定, 開始訓練模型和索引",
"step3b:正在训练索引": "step3b正在訓練索引", "……仅显示最近10条失败记录": "……僅顯示最近10條失敗記錄",
"……仅显示最近10条失败记录": "……僅顯示最近10條失敗記錄", "……已省略前%s行仅显示最新状态": "……已省略前%s行僅顯示最新状态",
"……已省略前%s行仅显示最新状态": "……已省略前%s行僅顯示最新状态", "一键训练": "一鍵訓練",
"一键训练": "一鍵訓練", "上一页": "上一页",
"也可批量输入音频文件, 二选一, 优先读文件夹": "也可批量输入音频文件, 二选一, 优先读文件夹", "下一页": "下一页",
"仅支持pm和rmvpe音高提取算法": "僅支援pm和rmvpe音高提取算法", "为多说话人训练集建立清单。空行会被忽略路径、说话人名称、说话人ID或重复次数填写不全的行会在提交时提示。": "为多说话人训练集建立清单。空行会被忽略路径、说话人名称、说话人ID或重复次数填写不全的行会在提交时提示。",
"从训练检查点提取的模型": "从訓練检查点提取的模型", "主结果文件夹": "主要結果資料夾",
"以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2": "以-分隔輸入使用的卡號, 例如 0-1-2 使用卡0和卡1和卡2", "也可批量输入音频文件, 二选一, 优先读文件夹": "也可批量输入音频文件, 二选一, 优先读文件夹",
"任务": "任务", "人声、伴奏与混响批量处理使用pymss/MSST模型。": "使用 pymss/MSST 模型批次處理人聲、伴奏與混響。",
"使用显卡:%s": "使用顯示卡:%s", "人声伴奏分离&去混响": "人聲伴奏分離&去混響",
"使用模型采样率": "使用模型采样率", "仅支持pm和rmvpe音高提取算法": "僅支援pm和rmvpe音高提取算法",
"使用设备采样率": "使用设备采样率", "从训练检查点提取的模型": "从訓練检查点提取的模型",
"保存名": "儲存名", "以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2": "以-分隔輸入使用的卡號, 例如 0-1-2 使用卡0和卡1和卡2",
"保存的文件名, 默认空为和源文件同名": "儲存的檔案名,預設空為與來源檔案同名", "以下行填写不完整或无效,已忽略:%s": "以下行填写不完整或无效,已忽略:%s",
"保存的模型名不带后缀": "儲存的模型名不帶副檔名", "任务": "任务",
"保存频率save_every_epoch": "保存頻率save_every_epoch", "使用显卡:%s": "使用顯示卡:%s",
"保护清辅音和呼吸声防止电音撕裂等artifact拉满0.5不开启,调低加大保护力度但可能降低索引效果": "保護清輔音和呼吸聲防止電音撕裂等artifact拉滿0.5不開啟,調低加大保護力度但可能降低索引效果", "使用模型采样率": "使用模型采样率",
"修改": "修改", "使用设备采样率": "使用设备采样率",
"修改模型信息(仅支持weights文件夹下提取的小模型文件)": "修改模型資訊(僅支援weights資料夾下提取的小模型檔案)", "保存名": "儲存名",
"停止一键训练": "停止一鍵訓練", "保存的文件名, 默认空为和源文件同名": "儲存的檔案名,預設空為與來源檔案同名",
"停止处理数据": "停止處理資料", "保存的模型名不带后缀": "儲存的模型名不帶副檔名",
"停止特征提取": "停止特徵擷取", "保存频率save_every_epoch": "保存頻率save_every_epoch",
"停止训练模型": "停止訓練模型", "保护清辅音和呼吸声防止电音撕裂等artifact拉满0.5不开启,调低加大保护力度但可能降低索引效果": "保護清輔音和呼吸聲防止電音撕裂等artifact拉滿0.5不開啟,調低加大保護力度但可能降低索引效果",
"停止训练索引": "停止訓練索引", "修改": "修改",
"停止音频转换": "停止音訊轉換", "修改模型信息(仅支持weights文件夹下提取的小模型文件)": "修改模型資訊(僅支援weights資料夾下提取的小模型檔案)",
"全流程结束!": "全流程结束!", "停止一键训练": "停止一鍵訓練",
"判别器预训练模型不存在将不使用assets/pretrained%s/%sD%s.pth": "判别器预訓練模型不存在将不使用assets/pretrained%s/%sD%s.pth", "停止分离": "停止分離",
"加载模型": "載入模型", "停止处理数据": "停止處理資料",
"加载预训练底模D路径": "加載預訓練底模D路徑", "停止特征提取": "停止特徵擷取",
"加载预训练底模G路径": "加載預訓練底模G路徑", "停止训练模型": "停止訓練模型",
"单次推理": "单次推理", "停止训练索引": "停止訓練索引",
"卸载音色省显存": "卸載音色節省 VRAM", "停止音频转换": "停止音訊轉換",
"变调(整数, 半音数量, 升八度12降八度-12)": "變調(整數、半音數量、升八度12降八度-12)",
"合成": "合成",
"后处理重采样至最终采样率0为不进行重采样": "後處理重採樣至最終採樣率0為不進行重採樣",
"否": "否",
"响应阈值": "響應閾值",
"响度因子": "響度因子",
"处理中": "處理中",
"处理数据": "處理資料",
"失败": "失敗",
"失败记录": "失敗記錄",
"子进程执行失败,返回码:%s": "子進程执行失敗,返回码:%s",
"导出文件格式": "導出檔格式",
"已停止": "已停止",
"已加载判别器预训练模型:%s": "已載入判别器预訓練模型:%s",
"已加载生成器预训练模型:%s": "已載入生成器预訓練模型:%s",
"已启用索引检索": "已启用索引检索",
"已完成": "已完成",
"已恢复判别器检查点": "已恢复判别器检查点",
"常见问题解答": "常見問題解答",
"常规设置": "一般設定",
"开始音频转换": "開始音訊轉換",
"当前": "目前",
"当前阶段": "目前阶段",
"很遗憾您这没有能用的显卡来支持您训练": "很遗憾您这没有能用的显卡来支持您训练",
"性别因子/声线粗细": "性別因子/聲線粗細",
"性能设置": "效能設定",
"总训练轮数total_epoch": "總訓練輪數total_epoch",
"成功": "成功",
"执行命令": "执行命令",
"批量推理": "批量推理",
"批量转换, 输入待转换音频文件夹, 或上传多个音频文件, 在指定文件夹(默认opt)下输出转换的音频. ": "批量轉換,輸入待轉換音頻資料夾,或上傳多個音頻檔案,在指定資料夾(默認opt)下輸出轉換的音頻。",
"拖拽或点击上传待处理音频": "拖放或點擊上傳待處理音訊",
"指定输出主人声文件夹": "指定输出主人声文件夹",
"指定输出文件夹": "指定輸出資料夾",
"指定输出非主人声文件夹": "指定输出非主人声文件夹",
"推理时间(ms):": "推理時間(ms):",
"推理耗时:%.2f秒": "推理耗时:%.2f秒",
"推理音色": "推理音色",
"提取": "提取",
"提取音高和处理数据使用的CPU进程数": "提取音高和處理數據使用的CPU進程數",
"数据切分": "數據切分",
"无法停止": "無法停止",
"无法读取音频:%s": "無法读取音頻:%s",
"是": "是",
"是否仅保存最新的ckpt文件以节省硬盘空间": "是否僅保存最新的ckpt檔案以節省硬碟空間",
"是否在每次保存时间点将最终小模型保存至weights文件夹": "是否在每次保存時間點將最終小模型保存至weights檔夾",
"是否缓存所有训练集至显存. 10min以下小数据可缓存以加速训练, 大数据缓存会炸显存也加不了多少速": "是否緩存所有訓練集至 VRAM。小於10分鐘的小數據可緩存以加速訓練大數據緩存會爆 VRAM 也加不了多少速度",
"显卡信息": "顯示卡資訊",
"未使用": "未使用",
"未使用判别器预训练模型": "未使用判别器预訓練模型",
"未使用生成器预训练模型": "未使用生成器预訓練模型",
"未找到Roformer模型配置文件正在使用内置默认配置": "未找到Roformer模型配置檔案正在使用内置預設配置",
"未检测到可用显卡将使用CPU训练耗时可能较长": "未偵測到可用顯示卡将使用CPU訓練耗时可能较长",
"未运行": "未运行",
"本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责. <br>如不认可该条款, 则不能使用或引用软件包内任何代码和文件. 详见根目录<b>LICENSE</b>.": "本軟體以MIT協議開源作者不對軟體具備任何控制力使用軟體者、傳播軟體導出的聲音者自負全責。<br>如不認可該條款,則不能使用或引用軟體包內任何程式碼和檔案。詳見根目錄<b>使用需遵守的協議-LICENSE.txt</b>。",
"查看": "查看",
"查看模型信息(仅支持weights文件夹下提取的小模型文件)": "查看模型資訊(僅支援weights資料夾下提取的小模型檔案)",
"检测到模型类型:%s": "偵測到模型类型:%s",
"检索特征占比": "檢索特徵佔比",
"模型": "模型",
"模型信息:%s\n采样率%s\n是否使用音高引导%s\n版本%s": "模型資訊:%s\n采样率%s\n是否使用音高引导%s\n版本%s",
"模型推理": "模型推理",
"模型提取(输入logs文件夹下大文件模型路径),适用于训一半不想训了模型没有自动提取保存小文件模型,或者想测试中间模型的情况": "模型提取(輸入logs資料夾下大檔案模型路徑),適用於訓一半不想訓了模型沒有自動提取儲存小檔案模型,或者想測試中間模型的情況",
"模型是否带音高指导": "模型是否帶音高指導",
"模型是否带音高指导(唱歌一定要, 语音可以不要)": "模型是否帶音高指導(唱歌一定要,語音可以不要)",
"模型是否带音高指导,1是0否": "模型是否帶音高指導1是0否",
"模型版本型号": "模型版本型號",
"模型融合, 可用于测试音色融合": "模型融合,可用於測試音色融合",
"模型融合失败:两个模型的结构不一致": "模型融合失敗:两个模型的结构不一致",
"模型训练": "模型訓練",
"模型路径": "模型路徑",
"正在保存最终检查点:%s": "正在儲存最终检查点:%s",
"正在保存检查点 %s_e%s%s": "正在儲存检查点 %s_e%s%s",
"正在加载RMVPE模型": "正在載入RMVPE模型",
"正在加载模型": "正在載入模型",
"正在启动": "正在启动",
"正在收尾": "正在收尾",
"每张显卡的batch_size": "每张显卡的batch_size",
"淡入淡出长度": "淡入淡出長度",
"清理模型缓存": "清理模型缓存",
"版本": "版本",
"特征": "特徵",
"特征提取": "特徵提取",
"状态": "状态",
"独占 WASAPI 设备": "独占 WASAPI 设备",
"生成器预训练模型不存在将不使用assets/pretrained%s/%sG%s.pth": "生成器预訓練模型不存在将不使用assets/pretrained%s/%sG%s.pth",
"男转女推荐+12key, 女转男推荐-12key, 如果音域爆炸导致音色失真也可以自己调整到合适音域. ": "男性轉女性推薦+12key女性轉男性推薦-12key如果音域爆炸導致音色失真也可以自己調整到合適音域。",
"目标采样率": "目標取樣率",
"等待中": "等待中",
"等待输入": "等待輸入",
"算法延迟(ms):": "算法延迟(ms):",
"索引": "索引",
"索引无效必须使用added_xxxx.index不能使用trained_xxxx.index": "索引無效必须使用added_xxxx.index不能使用trained_xxxx.index",
"索引检索失败": "索引检索失敗",
"索引检索失败或未启用": "索引检索失敗或未启用",
"索引训练": "索引訓練",
"耗时": "耗时",
"耗时:特征=%.3f秒,索引=%.3f秒,音高=%.3f秒,模型=%.3f秒": "耗时:特徵=%.3f秒,索引=%.3f秒,音高=%.3f秒,模型=%.3f秒",
"融合": "融合",
"要改的模型信息": "要改的模型資訊",
"要置入的模型信息": "要置入的模型資訊",
"训练": "訓練",
"训练已完成,正在保存最终模型": "訓練已完成,正在儲存最终模型",
"训练文件列表写入完成": "訓練檔案列表写入完成",
"训练模型": "訓練模型",
"训练特征索引": "訓練特徵索引",
"训练结束, 您可查看控制台训练日志或实验文件夹下的train.log": "训练结束, 您可查看控制台训练日志或实验文件夹下的train.log",
"训练设备规则选择的精度:%s": "訓練设备规则选择的精度:%s",
"训练轮次:{} [{:.0f}%]": "訓練輪次:{} [{:.0f}%]",
"设备类型": "设备类型",
"请上传音频文件": "请上传音頻檔案",
"请填写输出文件夹路径": "请填写輸出資料夾路径",
"请指定说话人id": "請指定說話人id",
"请选择index文件": "请选择index文件",
"请选择pth文件": "请选择pth文件",
"请选择说话人id": "請選擇說話人ID",
"转换": "轉換",
"输入实验名": "輸入實驗名稱",
"输入待处理音频文件夹路径": "輸入待處理音頻資料夾路徑",
"输入待处理音频文件夹路径(去文件管理器地址栏拷就行了)": "輸入待處理音頻資料夾路徑(去檔案管理器地址欄拷貝即可)",
"输入待处理音频文件路径(默认是正确格式示例)": "輸入待處理音頻檔案路徑(預設是正確格式示例)",
"输入源音量包络替换输出音量包络融合比例越靠近1越使用输出包络": "輸入源音量包絡替換輸出音量包絡融合比例越靠近1越使用輸出包絡",
"输入监听": "输入监听",
"输入训练文件夹路径": "輸入訓練檔案夾路徑",
"输入设备": "輸入設備",
"输入设备:%s:%s": "輸入设备:%s:%s",
"输入降噪": "輸入降噪",
"输出信息": "輸出訊息",
"输出变声": "输出变声",
"输出设备": "輸出設備",
"输出设备:%s:%s": "輸出设备:%s:%s",
"输出降噪": "輸出降噪",
"输出音频(右下角三个点,点了可以下载)": "輸出音頻(右下角三個點,點了可以下載)",
"运行中": "运行中",
"进度": "進度",
"选择.index文件": "選擇 .index 檔案",
"选择.pth文件": "選擇 .pth 檔案",
"选择模型": "选择模型",
"选择索引": "选择索引",
"选择音高提取算法": "選擇音高擷取演算法",
"采样率:": "采样率:",
"采样长度": "取樣長度",
"重载设备列表": "重載設備列表",
"错误信息:%s": "錯誤資訊:%s",
"错误:未知模型:%s": "錯誤:未知模型:%s",
"音调设置": "音調設定",
"音频包含多个声道,但模型仅支持单声道,将对所有声道取平均值": "音頻包含多个声道,但模型僅支援单声道,将对所有声道取平均值",
"音频设备": "音訊設備",
"音高全部为0该音频无意义跳过%s": "音高全部為0该音頻無意义跳過%s",
"音高算法": "音高演算法",
"额外推理时长": "額外推理時長",
"数据切分没有生成有效训练音频,请检查训练集和数据切分日志": "資料切分沒有產生有效訓練音訊,請檢查訓練集和資料切分日誌",
"数据切分没有生成16k音频已停止后续特征提取和训练": "資料切分沒有產生16k音訊已停止後續特徵提取和訓練",
"数据切分输出文件不匹配,已停止后续特征提取和训练": "資料切分輸出檔案不匹配,已停止後續特徵提取和訓練",
"HuBERT特征提取没有生成有效结果已停止训练": "HuBERT特徵提取沒有產生有效結果已停止訓練",
"F0提取没有生成有效结果已停止训练": "F0提取沒有產生有效結果已停止訓練",
"没有可用于训练的有效音频,请先完成数据切分和特征提取": "沒有可用於訓練的有效音訊,請先完成資料切分和特徵提取",
"已完成阶段": "已完成階段",
"已成功": "已成功",
"刷新音色列表": "重新整理音色列表",
"特征检索库文件路径(选择模型后自动匹配,可手动修改)": "特徵索引庫檔案路徑(選擇模型後自動配對,可手動修改)",
"[索引训练] 外部索引链接已存在:%s": "[索引訓練] 外部索引連結已存在:%s",
"[索引训练][跳过] added索引已存在%s": "[索引訓練][跳過] added索引已存在%s",
"[索引训练][跳过] trained索引已存在%s": "[索引訓練][跳過] trained索引已存在%s",
"当前设备:%s | 推理精度:%s": "目前裝置:%s | 推論精度:%s",
"正在预热CUDA Graph": "正在預熱 CUDA Graph",
"CUDA Graph预热完成": "CUDA Graph 預熱完成",
"数据提取开始start_time=%.6f,请求并行数=%s实际并行数上限=%s": "資料擷取開始start_time=%.6f,請求並行數=%s實際並行數上限=%s",
"数据提取结束end_time=%.6f,总耗时=%.3f秒": "資料擷取結束end_time=%.6f,總耗時=%.3f秒",
"人声伴奏分离&去混响": "人聲伴奏分離&去混響",
"人声、伴奏与混响批量处理使用pymss/MSST模型。": "使用 pymss/MSST 模型批次處理人聲、伴奏與混響。",
"处理方式": "處理方式",
"底层模型": "底層模型",
"主结果文件夹": "主要結果資料夾",
"分离残余文件夹": "分離殘餘資料夾", "分离残余文件夹": "分離殘餘資料夾",
"停止分离": "停止分離" "删除末行": "删除末行",
} "判别器预训练模型不存在将不使用assets/pretrained%s/%sD%s.pth": "判别器预訓練模型不存在将不使用assets/pretrained%s/%sD%s.pth",
"刷新音色列表": "重新整理音色列表",
"加载模型": "載入模型",
"加载预训练底模D路径": "加載預訓練底模D路徑",
"加载预训练底模G路径": "加載預訓練底模G路徑",
"单次推理": "单次推理",
"单说话人": "单说话人",
"卸载音色省显存": "卸載音色節省 VRAM",
"变调(整数, 半音数量, 升八度12降八度-12)": "變調(整數、半音數量、升八度12降八度-12)",
"合成": "合成",
"后处理重采样至最终采样率0为不进行重采样": "後處理重採樣至最終採樣率0為不進行重採樣",
"否": "否",
"响应阈值": "響應閾值",
"响度因子": "響度因子",
"处理中": "處理中",
"处理数据": "處理資料",
"处理方式": "處理方式",
"多说话人": "多说话人",
"注意:多说话人训练音色还原度不一定有单说话人分开训练好!": "注意:多說話人訓練的音色還原度不一定比各說話人分開訓練好!",
"多说话人子文件夹无效格式应为名称_ID_重复次数、ID为0~109、重复次数为正整数、同一ID的名称需一致且目录需有音频%s": "多说话人子文件夹无效格式应为名称_ID_重复次数、ID为0~109、重复次数为正整数、同一ID的名称需一致且目录需有音频%s",
"多说话人总文件夹只扫描根目录下的直接子文件夹,根目录文件会被忽略。\n子文件夹必须命名为x_y_zx是说话人名称y是说话人ID0~109共110个z是训练集重复次数。\n也可以到右侧“多说话人训练集辅助”编辑并提交训练集清单。": "多说话人总文件夹只扫描根目录下的直接子文件夹,根目录文件会被忽略。\n子文件夹必须命名为x_y_zx是说话人名称y是说话人ID0~109共110个z是训练集重复次数。\n也可以到右侧“多说话人训练集辅助”编辑并提交训练集清单。",
"多说话人训练集总文件夹不存在:%s": "多说话人训练集总文件夹不存在:%s",
"多说话人训练集总文件夹中没有有效音频": "多说话人训练集总文件夹中没有有效音频",
"多说话人训练集总文件夹中没有直接子文件夹": "多说话人训练集总文件夹中没有直接子文件夹",
"多说话人训练集总文件夹路径": "多说话人训练集总文件夹路径",
"多说话人训练集清单不存在,请先提交辅助清单或填写总文件夹": "多说话人训练集清单不存在,请先提交辅助清单或填写总文件夹",
"多说话人训练集清单包含无效条目:%s": "多说话人训练集清单包含无效条目:%s",
"多说话人训练集清单存在重复输出标识:%s": "多说话人训练集清单存在重复输出标识:%s",
"多说话人训练集清单已保存:%s有效音频%s个": "多说话人训练集清单已保存:%s有效音频%s个",
"多说话人训练集清单格式错误": "多说话人训练集清单格式错误",
"多说话人训练集清单没有有效音频": "多说话人训练集清单没有有效音频",
"多说话人训练集辅助": "多说话人训练集辅助",
"失败": "失敗",
"失败记录": "失敗記錄",
"子进程执行失败,返回码:%s": "子進程执行失敗,返回码:%s",
"实验名不能为空": "实验名不能为空",
"导出文件格式": "導出檔格式",
"已停止": "已停止",
"已加载判别器预训练模型:%s": "已載入判别器预訓練模型:%s",
"已加载生成器预训练模型:%s": "已載入生成器预訓練模型:%s",
"已启用索引检索": "已启用索引检索",
"已完成": "已完成",
"已完成阶段": "已完成階段",
"已恢复判别器检查点": "已恢复判别器检查点",
"已成功": "已成功",
"常见问题解答": "常見問題解答",
"常规设置": "一般設定",
"底层模型": "底層模型",
"开始音频转换": "開始音訊轉換",
"当前": "目前",
"当前设备:%s | 推理精度:%s": "目前裝置:%s | 推論精度:%s",
"当前阶段": "目前阶段",
"很遗憾您这没有能用的显卡来支持您训练": "很遗憾您这没有能用的显卡来支持您训练",
"性别因子/声线粗细": "性別因子/聲線粗細",
"性能设置": "效能設定",
"总训练轮数total_epoch": "總訓練輪數total_epoch",
"成功": "成功",
"执行命令": "执行命令",
"批量推理": "批量推理",
"批量转换, 输入待转换音频文件夹, 或上传多个音频文件, 在指定文件夹(默认opt)下输出转换的音频. ": "批量轉換,輸入待轉換音頻資料夾,或上傳多個音頻檔案,在指定資料夾(默認opt)下輸出轉換的音頻。",
"拖拽或点击上传待处理音频": "拖放或點擊上傳待處理音訊",
"指定输出文件夹": "指定輸出資料夾",
"推理时间(ms):": "推理時間(ms):",
"推理耗时:%.2f秒": "推理耗时:%.2f秒",
"推理音色": "推理音色",
"提交训练集清单": "提交训练集清单",
"提取": "提取",
"提取音高和处理数据使用的CPU进程数": "提取音高和處理數據使用的CPU進程數",
"数据切分": "數據切分",
"数据切分没有生成16k音频已停止后续特征提取和训练": "資料切分沒有產生16k音訊已停止後續特徵提取和訓練",
"数据切分没有生成有效训练音频,请检查训练集和数据切分日志": "資料切分沒有產生有效訓練音訊,請檢查訓練集和資料切分日誌",
"数据切分输出文件不匹配,已停止后续特征提取和训练": "資料切分輸出檔案不匹配,已停止後續特徵提取和訓練",
"数据提取开始start_time=%.6f,请求并行数=%s实际并行数上限=%s": "資料擷取開始start_time=%.6f,請求並行數=%s實際並行數上限=%s",
"数据提取结束end_time=%.6f,总耗时=%.3f秒": "資料擷取結束end_time=%.6f,總耗時=%.3f秒",
"新增一行": "新增一行",
"无法停止": "無法停止",
"是": "是",
"是否仅保存最新的ckpt文件以节省硬盘空间": "是否僅保存最新的ckpt檔案以節省硬碟空間",
"是否在每次保存时间点将最终小模型保存至weights文件夹": "是否在每次保存時間點將最終小模型保存至weights檔夾",
"是否缓存所有训练集至显存. 10min以下小数据可缓存以加速训练, 大数据缓存会炸显存也加不了多少速": "是否緩存所有訓練集至 VRAM。小於10分鐘的小數據可緩存以加速訓練大數據緩存會爆 VRAM 也加不了多少速度",
"显卡信息": "顯示卡資訊",
"未使用": "未使用",
"未使用判别器预训练模型": "未使用判别器预訓練模型",
"未使用生成器预训练模型": "未使用生成器预訓練模型",
"未检测到可用显卡将使用CPU训练耗时可能较长": "未偵測到可用顯示卡将使用CPU訓練耗时可能较长",
"未运行": "未运行",
"本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责. <br>如不认可该条款, 则不能使用或引用软件包内任何代码和文件. 详见根目录<b>LICENSE</b>.": "本軟體以MIT協議開源作者不對軟體具備任何控制力使用軟體者、傳播軟體導出的聲音者自負全責。<br>如不認可該條款,則不能使用或引用軟體包內任何程式碼和檔案。詳見根目錄<b>使用需遵守的協議-LICENSE.txt</b>。",
"查看": "查看",
"查看模型信息(仅支持weights文件夹下提取的小模型文件)": "查看模型資訊(僅支援weights資料夾下提取的小模型檔案)",
"检索特征占比": "檢索特徵佔比",
"模型信息:%s\n采样率%s\n是否使用音高引导%s\n版本%s": "模型資訊:%s\n采样率%s\n是否使用音高引导%s\n版本%s",
"模型推理": "模型推理",
"模型提取(输入logs文件夹下大文件模型路径),适用于训一半不想训了模型没有自动提取保存小文件模型,或者想测试中间模型的情况": "模型提取(輸入logs資料夾下大檔案模型路徑),適用於訓一半不想訓了模型沒有自動提取儲存小檔案模型,或者想測試中間模型的情況",
"模型是否带音高指导": "模型是否帶音高指導",
"模型是否带音高指导(唱歌一定要, 语音可以不要)": "模型是否帶音高指導(唱歌一定要,語音可以不要)",
"模型是否带音高指导,1是0否": "模型是否帶音高指導1是0否",
"模型版本型号": "模型版本型號",
"模型融合, 可用于测试音色融合": "模型融合,可用於測試音色融合",
"模型融合失败:两个模型的结构不一致": "模型融合失敗:两个模型的结构不一致",
"模型训练": "模型訓練",
"模型路径": "模型路徑",
"正在保存最终检查点:%s": "正在儲存最终检查点:%s",
"正在保存检查点 %s_e%s%s": "正在儲存检查点 %s_e%s%s",
"正在加载RMVPE模型": "正在載入RMVPE模型",
"正在加载模型": "正在載入模型",
"正在启动": "正在启动",
"正在收尾": "正在收尾",
"正在预热CUDA Graph": "正在預熱 CUDA Graph",
"每张显卡的batch_size": "每张显卡的batch_size",
"没有可用于训练的有效音频,请先完成数据切分和特征提取": "沒有可用於訓練的有效音訊,請先完成資料切分和特徵提取",
"没有有效的多说话人训练集行": "没有有效的多说话人训练集行",
"淡入淡出长度": "淡入淡出長度",
"清理模型缓存": "清理模型缓存",
"版本": "版本",
"特征": "特徵",
"特征提取": "特徵提取",
"特征检索库文件路径(选择模型后自动匹配,可手动修改)": "特徵索引庫檔案路徑(選擇模型後自動配對,可手動修改)",
"状态": "状态",
"独占 WASAPI 设备": "独占 WASAPI 设备",
"生成器预训练模型不存在将不使用assets/pretrained%s/%sG%s.pth": "生成器预訓練模型不存在将不使用assets/pretrained%s/%sG%s.pth",
"留空则使用辅助页已提交的清单": "留空则使用辅助页已提交的清单",
"目标采样率": "目標取樣率",
"第%s/%s页共%s行": "第%s/%s页共%s行",
"等待中": "等待中",
"等待输入": "等待輸入",
"算法延迟(ms):": "算法延迟(ms):",
"索引": "索引",
"索引文件不存在,将不使用索引继续推理:%s": "索引檔案不存在,將不使用索引繼續推理:%s",
"索引无效必须使用added_xxxx.index不能使用trained_xxxx.index": "索引無效必须使用added_xxxx.index不能使用trained_xxxx.index",
"索引检索失败": "索引检索失敗",
"索引检索失败或未启用": "索引检索失敗或未启用",
"索引训练": "索引訓練",
"耗时": "耗时",
"耗时:特征=%.3f秒,索引=%.3f秒,音高=%.3f秒,模型=%.3f秒": "耗时:特徵=%.3f秒,索引=%.3f秒,音高=%.3f秒,模型=%.3f秒",
"融合": "融合",
"要改的模型信息": "要改的模型資訊",
"要置入的模型信息": "要置入的模型資訊",
"训练": "訓練",
"训练已完成,正在保存最终模型": "訓練已完成,正在儲存最终模型",
"训练文件列表写入完成": "訓練檔案列表写入完成",
"训练模型": "訓練模型",
"训练特征索引": "訓練特徵索引",
"训练设备规则选择的精度:%s": "訓練设备规则选择的精度:%s",
"训练轮次:{} [{:.0f}%]": "訓練輪次:{} [{:.0f}%]",
"训练集子音频文件夹目录路径": "训练集子音频文件夹目录路径",
"训练集类型": "训练集类型",
"设备类型": "设备类型",
"说话人ID0~109": "说话人ID0~109",
"说话人名称": "说话人名称",
"说话人:%sID%s": "说话人:%sID%s",
"请上传音频文件": "请上传音頻檔案",
"请填写输出文件夹路径": "请填写輸出資料夾路径",
"请指定说话人id": "請指定說話人id",
"请选择index文件": "请选择index文件",
"请选择pth文件": "请选择pth文件",
"请选择说话人id": "請選擇說話人ID",
"转换": "轉換",
"输入实验名": "輸入實驗名稱",
"输入实验名例如test": "輸入實驗名稱例如test",
"输入待处理音频文件夹路径": "輸入待處理音頻資料夾路徑",
"输入待处理音频文件夹路径(去文件管理器地址栏拷就行了)": "輸入待處理音頻資料夾路徑(去檔案管理器地址欄拷貝即可)",
"输入源音量包络替换输出音量包络融合比例越靠近1越使用输出包络": "輸入源音量包絡替換輸出音量包絡融合比例越靠近1越使用輸出包絡",
"输入监听": "输入监听",
"输入训练文件夹路径": "輸入訓練檔案夾路徑",
"输入设备": "輸入設備",
"输入设备:%s:%s": "輸入设备:%s:%s",
"输入降噪": "輸入降噪",
"输出信息": "輸出訊息",
"输出变声": "输出变声",
"输出设备": "輸出設備",
"输出设备:%s:%s": "輸出设备:%s:%s",
"输出降噪": "輸出降噪",
"输出音频(右下角三个点,点了可以下载)": "輸出音頻(右下角三個點,點了可以下載)",
"运行中": "运行中",
"进度": "進度",
"选择.index文件": "選擇 .index 檔案",
"选择.pth文件": "選擇 .pth 檔案",
"选择多说话人音色": "选择多说话人音色",
"选择模型": "选择模型",
"选择索引": "选择索引",
"选择音高提取算法": "選擇音高擷取演算法",
"采样率:": "采样率:",
"采样长度": "取樣長度",
"重复次数": "重复次数",
"重载设备列表": "重載設備列表",
"音调设置": "音調設定",
"音频设备": "音訊設備",
"音高全部为0该音频无意义跳过%s": "音高全部為0该音頻無意义跳過%s",
"音高算法": "音高演算法",
"额外推理时长": "額外推理時長"
}

299
infer/cli.py Normal file
View File

@@ -0,0 +1,299 @@
import argparse
import os
import sys
import warnings
from io import BytesIO
from pathlib import Path
warnings.filterwarnings(
"ignore",
message=r"`torch\.nn\.utils\.weight_norm` is deprecated.*",
category=FutureWarning,
)
PROJECT_ROOT = Path(__file__).resolve().parent.parent
os.chdir(PROJECT_ROOT)
os.environ.setdefault("OPENBLAS_NUM_THREADS", "1")
os.environ.setdefault("weight_root", str(PROJECT_ROOT / "assets" / "weights"))
os.environ.setdefault("index_root", str(PROJECT_ROOT / "logs"))
os.environ.setdefault("outside_index_root", str(PROJECT_ROOT / "assets" / "indices"))
os.environ.setdefault("rmvpe_root", str(PROJECT_ROOT / "assets" / "rmvpe"))
AUDIO_EXTENSIONS = {
".wav",
".flac",
".mp3",
".m4a",
".ogg",
".opus",
".aac",
".wma",
".mp4",
".mkv",
".webm",
}
OUTPUT_FORMATS = {"wav", "flac", "mp3", "m4a"}
def build_parser():
parser = argparse.ArgumentParser(
description="Offline RVC inference for single-speaker and multi-speaker models."
)
parser.add_argument("--model", required=True, help="Model filename or .pth path.")
parser.add_argument("--input", help="Input audio file or directory.")
parser.add_argument("--output", help="Output audio file or directory.")
parser.add_argument(
"--speaker-id",
type=int,
help="Speaker ID. Multi-speaker models default to their smallest declared ID.",
)
parser.add_argument(
"--list-speakers",
action="store_true",
help="List the model's speaker metadata and exit.",
)
parser.add_argument("--pitch", type=int, default=0, help="Pitch shift in semitones.")
parser.add_argument(
"--f0-method", choices=["pm", "rmvpe"], default="rmvpe"
)
parser.add_argument(
"--index",
help="Explicit added index path. The matching speaker index is selected automatically when omitted.",
)
parser.add_argument("--index-rate", type=float, default=0.75)
parser.add_argument("--resample-sr", type=int, default=0)
parser.add_argument("--rms-mix-rate", type=float, default=1.0)
parser.add_argument("--protect", type=float, default=0.33)
parser.add_argument(
"--format", dest="output_format", choices=sorted(OUTPUT_FORMATS)
)
parser.add_argument(
"--recursive", action="store_true", help="Scan input subdirectories."
)
parser.add_argument("--overwrite", action="store_true")
return parser
def resolve_model(value):
candidate = Path(value).expanduser()
if not candidate.is_absolute():
candidate = (PROJECT_ROOT / candidate).resolve()
if not candidate.is_file():
candidate = (Path(os.environ["weight_root"]) / value).resolve()
if not candidate.is_file():
raise FileNotFoundError("Model not found: %s" % value)
if candidate.suffix.lower() != ".pth":
raise ValueError("Model must be a .pth file: %s" % candidate)
return candidate
def load_model_metadata(model_path):
import torch
checkpoint = torch.load(str(model_path), map_location="cpu")
weight = checkpoint.get("weight", {}) if isinstance(checkpoint, dict) else {}
embedding = weight.get("emb_g.weight")
if embedding is None:
raise ValueError("Model does not contain weight/emb_g.weight")
speaker_count = int(embedding.shape[0])
speakers = []
seen = set()
for item in checkpoint.get("speaker_info", []):
try:
speaker_id = int(item["id"])
speaker_name = str(item["name"])
except (KeyError, TypeError, ValueError):
continue
if (
0 <= speaker_id < speaker_count
and speaker_name
and speaker_id not in seen
):
speakers.append({"id": speaker_id, "name": speaker_name})
seen.add(speaker_id)
speakers.sort(key=lambda item: item["id"])
return speaker_count, speakers
def select_speaker(speaker_count, speakers, requested_id):
if speakers:
valid_ids = {item["id"] for item in speakers}
speaker_id = speakers[0]["id"] if requested_id is None else requested_id
if speaker_id not in valid_ids:
raise ValueError(
"Speaker ID %s is not declared by this multi-speaker model; available IDs: %s"
% (speaker_id, ", ".join(str(value) for value in sorted(valid_ids)))
)
return speaker_id
speaker_id = 0 if requested_id is None else requested_id
if speaker_id < 0 or speaker_id >= speaker_count:
raise ValueError(
"Speaker ID must be between 0 and %s for this model" % (speaker_count - 1)
)
return speaker_id
def resolve_index(value, model_name, speaker_id, index_rate):
from infer.vc.utils import get_index_path_from_model
if index_rate == 0:
return ""
if value:
candidate = Path(value).expanduser()
if not candidate.is_absolute():
candidate = (PROJECT_ROOT / candidate).resolve()
if "trained" in candidate.name:
candidate = candidate.with_name(candidate.name.replace("trained", "added"))
index_path = str(candidate)
else:
index_path = get_index_path_from_model(model_name, speaker_id)
if not index_path or not Path(index_path).is_file():
raise FileNotFoundError(
"No usable added index for speaker ID %s. Supply --index or use --index-rate 0."
% speaker_id
)
return str(Path(index_path).resolve())
def collect_jobs(input_value, output_value, output_format, recursive):
input_path = Path(input_value).expanduser().resolve()
output_path = Path(output_value).expanduser().resolve()
if not input_path.exists():
raise FileNotFoundError("Input not found: %s" % input_path)
if input_path.is_file():
suffix_format = output_path.suffix.lower().lstrip(".")
if output_path.suffix and suffix_format not in OUTPUT_FORMATS:
raise ValueError("Unsupported output suffix: %s" % output_path.suffix)
selected_format = output_format or suffix_format or "wav"
if output_path.suffix:
output_file = output_path.with_suffix(".%s" % selected_format)
else:
output_path.mkdir(parents=True, exist_ok=True)
output_file = output_path / (input_path.stem + "." + selected_format)
return [(input_path, output_file, selected_format)]
selected_format = output_format or "wav"
output_path.mkdir(parents=True, exist_ok=True)
iterator = input_path.rglob("*") if recursive else input_path.iterdir()
jobs = []
for path in sorted(iterator):
if not path.is_file() or path.suffix.lower() not in AUDIO_EXTENSIONS:
continue
relative_parent = path.relative_to(input_path).parent if recursive else Path()
output_file = output_path / relative_parent / (path.stem + "." + selected_format)
jobs.append((path, output_file, selected_format))
if not jobs:
raise ValueError("No supported audio files found in: %s" % input_path)
return jobs
def write_audio(path, audio, sample_rate, output_format):
import soundfile as sf
from infer.audio import wav2
path.parent.mkdir(parents=True, exist_ok=True)
if output_format in ("wav", "flac"):
sf.write(str(path), audio, sample_rate)
return
with BytesIO() as wav_file:
sf.write(wav_file, audio, sample_rate, format="wav")
wav_file.seek(0)
with open(path, "wb") as output_file:
wav2(wav_file, output_file, output_format)
def create_config():
from configs.config import Config
original_argv = sys.argv[:]
sys.argv = [sys.argv[0]]
try:
return Config()
finally:
sys.argv = original_argv
def main(argv=None):
parser = build_parser()
args = parser.parse_args(argv)
if not args.list_speakers and (not args.input or not args.output):
parser.error("--input and --output are required unless --list-speakers is used")
if not 0 <= args.index_rate <= 1:
parser.error("--index-rate must be between 0 and 1")
if not 0 <= args.rms_mix_rate <= 1:
parser.error("--rms-mix-rate must be between 0 and 1")
if not 0 <= args.protect <= 0.5:
parser.error("--protect must be between 0 and 0.5")
if args.resample_sr and args.resample_sr < 16000:
parser.error("--resample-sr must be 0 or at least 16000")
model_path = resolve_model(args.model)
os.environ["weight_root"] = str(model_path.parent)
model_name = model_path.name
speaker_count, speakers = load_model_metadata(model_path)
if args.list_speakers:
if speakers:
for item in speakers:
print("%s\t%s" % (item["id"], item["name"]))
else:
print("0-%s" % (speaker_count - 1))
return 0
speaker_id = select_speaker(speaker_count, speakers, args.speaker_id)
index_path = resolve_index(
args.index, model_name, speaker_id, args.index_rate
)
jobs = collect_jobs(
args.input, args.output, args.output_format, args.recursive
)
existing = [str(output) for _, output, _ in jobs if output.exists()]
if existing and not args.overwrite:
raise FileExistsError(
"Output already exists; use --overwrite: %s" % existing[0]
)
from i18n.i18n import I18nAuto
from infer.vc.modules import VC
i18n = I18nAuto()
config = create_config()
print(i18n("当前设备:%s | 推理精度:%s") % (config.device, config.dtype))
print("%s: %s" % (i18n("选择模型"), model_name))
print("%s: %s" % (i18n("说话人ID0~109"), speaker_id))
print("%s: %s" % (i18n("选择索引"), index_path or i18n("未使用")))
vc = VC(config)
vc.get_vc(model_name)
failed = 0
for input_path, output_path, output_format in jobs:
status, result = vc.vc_single(
speaker_id,
str(input_path),
args.pitch,
args.f0_method,
index_path,
args.index_rate,
args.resample_sr,
args.rms_mix_rate,
args.protect,
)
print(status)
if not result or result[0] is None or result[1] is None:
failed += 1
continue
write_audio(output_path, result[1], result[0], output_format)
print(str(output_path))
return 1 if failed else 0
if __name__ == "__main__":
try:
raise SystemExit(main())
except KeyboardInterrupt:
raise SystemExit(130)
except Exception as error:
print("rvc-cli: error: %s" % error, file=sys.stderr)
raise SystemExit(1)

View File

@@ -305,6 +305,24 @@ class SineGen(torch.nn.Module):
uv = uv.float() uv = uv.float()
return uv return uv
### @yxlllc
def _f02sine(self, f0, upp):
rad = f0 / self.sampling_rate * torch.arange(
1, upp + 1, device=f0.device
)
rad2 = torch.fmod(rad[..., -1:].float() + 0.5, 1.0) - 0.5
rad_acc = rad2.cumsum(dim=1).fmod(1.0).to(f0)
rad += F.pad(rad_acc, (0, 0, 1, -1))
rad = rad.reshape(f0.shape[0], -1, 1)
rad = torch.multiply(
rad,
torch.arange(1, self.dim + 1, device=f0.device).reshape(1, 1, -1),
)
rand_ini = torch.rand(1, 1, self.dim, device=f0.device)
rand_ini[..., 0] = 0
rad += rand_ini
return torch.sin(2 * np.pi * rad)
def forward(self, f0, upp): def forward(self, f0, upp):
"""sine_tensor, uv = forward(f0) """sine_tensor, uv = forward(f0)
input F0: tensor(batchsize=1, length, dim=1) input F0: tensor(batchsize=1, length, dim=1)
@@ -314,44 +332,7 @@ class SineGen(torch.nn.Module):
""" """
with torch.no_grad(): with torch.no_grad():
f0 = f0[:, None].transpose(1, 2) f0 = f0[:, None].transpose(1, 2)
f0_buf = torch.zeros(f0.shape[0], f0.shape[1], self.dim, device=f0.device) sine_waves = self._f02sine(f0, upp) * self.sine_amp
# fundamental component
f0_buf[:, :, 0] = f0[:, :, 0]
for idx in range(self.harmonic_num):
f0_buf[:, :, idx + 1] = f0_buf[:, :, 0] * (
idx + 2
) # idx + 2: the (idx+1)-th overtone, (idx+2)-th harmonic
rad_values = (
f0_buf / self.sampling_rate
) % 1 ###%1意味着n_har的乘积无法后处理优化
rand_ini = torch.rand(
f0_buf.shape[0], f0_buf.shape[2], device=f0_buf.device
)
rand_ini[:, 0] = 0
rad_values[:, 0, :] = rad_values[:, 0, :] + rand_ini
tmp_over_one = torch.cumsum(
rad_values, 1
) # % 1 #####%1意味着后面的cumsum无法再优化
tmp_over_one *= upp
tmp_over_one = F.interpolate(
tmp_over_one.transpose(2, 1),
scale_factor=float(upp),
mode="linear",
align_corners=True,
).transpose(2, 1)
rad_values = F.interpolate(
rad_values.transpose(2, 1), scale_factor=float(upp), mode="nearest"
).transpose(
2, 1
) #######
tmp_over_one %= 1
tmp_over_one_idx = (tmp_over_one[:, 1:, :] - tmp_over_one[:, :-1, :]) < 0
cumsum_shift = torch.zeros_like(rad_values)
cumsum_shift[:, 1:, :] = tmp_over_one_idx * -1.0
sine_waves = torch.sin(
torch.cumsum(rad_values + cumsum_shift, dim=1) * 2 * torch.pi
)
sine_waves = sine_waves * self.sine_amp
uv = self._f02uv(f0) uv = self._f02uv(f0)
uv = F.interpolate( uv = F.interpolate(
uv.transpose(2, 1), scale_factor=float(upp), mode="nearest" uv.transpose(2, 1), scale_factor=float(upp), mode="nearest"

View File

@@ -32,6 +32,58 @@ def inference_status(title, state, detail=""):
return "\n".join(lines) return "\n".join(lines)
def normalized_speaker_info(checkpoint, n_spk):
speaker_info = []
seen = set()
for item in checkpoint.get("speaker_info", []):
try:
speaker_id = int(item["id"])
speaker_name = str(item["name"])
except (KeyError, TypeError, ValueError):
continue
if (
speaker_id < 0
or speaker_id >= n_spk
or not speaker_name
or speaker_id in seen
):
continue
seen.add(speaker_id)
speaker_info.append({"id": speaker_id, "name": speaker_name})
speaker_info.sort(key=lambda item: item["id"])
return speaker_info
def speaker_selector_updates(checkpoint, n_spk):
speaker_info = normalized_speaker_info(checkpoint, n_spk)
if speaker_info:
choices = [
i18n("说话人:%sID%s") % (item["name"], item["id"])
for item in speaker_info
]
return (
{
"visible": False,
"value": speaker_info[0]["id"],
"__type__": "update",
},
{
"visible": True,
"choices": choices,
"value": choices[0],
"__type__": "update",
},
)
return (
{
"visible": True,
"maximum": max(n_spk - 1, 0),
"__type__": "update",
},
{"visible": False, "value": None, "__type__": "update"},
)
class VC: class VC:
def __init__(self, config): def __init__(self, config):
self.n_spk = None self.n_spk = None
@@ -99,6 +151,7 @@ class VC:
torch.cuda.empty_cache() torch.cuda.empty_cache()
return ( return (
{"visible": False, "__type__": "update"}, {"visible": False, "__type__": "update"},
{"visible": False, "value": None, "__type__": "update"},
{ {
"visible": True, "visible": True,
"value": to_return_protect0, "value": to_return_protect0,
@@ -146,19 +199,28 @@ class VC:
self.pipeline = Pipeline(self.tgt_sr, self.config) self.pipeline = Pipeline(self.tgt_sr, self.config)
n_spk = self.cpt["config"][-3] n_spk = self.cpt["config"][-3]
index = {"value": get_index_path_from_model(sid), "__type__": "update"} speaker_info = normalized_speaker_info(self.cpt, n_spk)
speaker_slider_update, speaker_dropdown_update = speaker_selector_updates(
self.cpt, n_spk
)
default_speaker_id = speaker_info[0]["id"] if speaker_info else 0
index = {
"value": get_index_path_from_model(sid, default_speaker_id),
"__type__": "update",
}
logger.info("%s: %s", i18n("选择索引"), index["value"]) logger.info("%s: %s", i18n("选择索引"), index["value"])
return ( return (
( (
{"visible": True, "maximum": n_spk, "__type__": "update"}, speaker_slider_update,
speaker_dropdown_update,
to_return_protect0, to_return_protect0,
to_return_protect1, to_return_protect1,
index, index,
index, index,
) )
if to_return_protect if to_return_protect
else {"visible": True, "maximum": n_spk, "__type__": "update"} else speaker_slider_update
) )
def vc_single( def vc_single(

View File

@@ -4,12 +4,16 @@ import re
from infer.hubert import load_hubert_model from infer.hubert import load_hubert_model
def get_index_path_from_model(sid): def get_index_path_from_model(sid, speaker_id=None):
model_stem = os.path.splitext(os.path.basename(str(sid or "")))[0] model_stem = os.path.splitext(os.path.basename(str(sid or "")))[0]
experiment_name = re.sub(r"_e\d+_s\d+$", "", model_stem, flags=re.IGNORECASE) experiment_name = re.sub(r"_e\d+_s\d+$", "", model_stem, flags=re.IGNORECASE)
if not experiment_name: if not experiment_name:
return "" return ""
try:
target_speaker_id = None if speaker_id is None else int(speaker_id)
except (TypeError, ValueError):
target_speaker_id = None
candidates = [] candidates = []
roots = [os.getenv("outside_index_root"), os.getenv("index_root")] roots = [os.getenv("outside_index_root"), os.getenv("index_root")]
for index_root in roots: for index_root in roots:
@@ -22,6 +26,18 @@ def get_index_path_from_model(sid):
index_stem = os.path.splitext(name)[0] index_stem = os.path.splitext(name)[0]
lower_index = index_stem.lower() lower_index = index_stem.lower()
lower_experiment = experiment_name.lower() lower_experiment = experiment_name.lower()
speaker_match = re.search(r"_spkid(\d+)$", index_stem, re.IGNORECASE)
indexed_speaker_id = (
int(speaker_match.group(1)) if speaker_match else None
)
if target_speaker_id is None and indexed_speaker_id is not None:
continue
if (
target_speaker_id is not None
and indexed_speaker_id is not None
and indexed_speaker_id != target_speaker_id
):
continue
standard_match = ( standard_match = (
lower_index.startswith(lower_experiment + "_added_") lower_index.startswith(lower_experiment + "_added_")
or ("_" + lower_experiment + "_v1") in lower_index or ("_" + lower_experiment + "_v1") in lower_index
@@ -31,6 +47,7 @@ def get_index_path_from_model(sid):
if standard_match or exact_model_match: if standard_match or exact_model_match:
path = os.path.abspath(os.path.join(root, name)) path = os.path.abspath(os.path.join(root, name))
score = ( score = (
0 if indexed_speaker_id == target_speaker_id else 1,
0 if standard_match else 1, 0 if standard_match else 1,
0 if os.path.abspath(index_root) == os.path.abspath(roots[0]) else 1, 0 if os.path.abspath(index_root) == os.path.abspath(roots[0]) else 1,
-os.path.getmtime(path), -os.path.getmtime(path),

253
tools/multispeaker.py Normal file
View File

@@ -0,0 +1,253 @@
import hashlib
import json
import os
import re
AUDIO_EXTENSIONS = {
".wav",
".flac",
".mp3",
".m4a",
".ogg",
".opus",
".aac",
".wma",
".mp4",
".mkv",
".webm",
}
SPEAKER_ID_MIN = 0
SPEAKER_ID_MAX = 109
MANIFEST_VERSION = 1
SPEAKER_DIR_RE = re.compile(r"^(.+)_(\d+)_(\d+)$")
class ManifestError(Exception):
def __init__(self, key, *values):
self.key = key
self.values = values
super().__init__(key, *values)
def audio_files(folder):
result = []
if not os.path.isdir(folder):
return result
for root, dirs, files in os.walk(folder):
dirs.sort()
for name in sorted(files):
if os.path.splitext(name)[1].lower() in AUDIO_EXTENSIONS:
result.append(os.path.abspath(os.path.join(root, name)))
return result
def _manifest_entry(path, speaker_name, speaker_id, repeat, index):
digest = hashlib.sha1(
os.path.normcase(os.path.abspath(path)).encode("utf8")
).hexdigest()[:10]
return {
"path": os.path.abspath(path),
"speaker_name": speaker_name,
"speaker_id": int(speaker_id),
"repeat": int(repeat),
"output_key": "ms%04d_s%03d_%s" % (index, int(speaker_id), digest),
}
def build_manifest_from_root(root):
root = os.path.abspath(str(root or "").strip())
if not os.path.isdir(root):
raise ManifestError("多说话人训练集总文件夹不存在:%s", root)
entries = []
invalid = []
names_by_id = {}
child_dirs = [
os.path.join(root, name)
for name in sorted(os.listdir(root))
if os.path.isdir(os.path.join(root, name))
]
if not child_dirs:
raise ManifestError("多说话人训练集总文件夹中没有直接子文件夹")
for child in child_dirs:
name = os.path.basename(child)
match = SPEAKER_DIR_RE.match(name)
if not match:
invalid.append(name)
continue
speaker_name = match.group(1).strip()
speaker_id = int(match.group(2))
repeat = int(match.group(3))
files = audio_files(child)
invalid_name = (
not speaker_name
or "|" in speaker_name
or "\n" in speaker_name
or "\r" in speaker_name
)
inconsistent = (
speaker_id in names_by_id and names_by_id[speaker_id] != speaker_name
)
if (
invalid_name
or speaker_id < SPEAKER_ID_MIN
or speaker_id > SPEAKER_ID_MAX
or repeat < 1
or not files
or inconsistent
):
invalid.append(name)
continue
names_by_id[speaker_id] = speaker_name
for path in files:
entries.append(
_manifest_entry(
path, speaker_name, speaker_id, repeat, len(entries)
)
)
if invalid:
raise ManifestError(
"多说话人子文件夹无效格式应为名称_ID_重复次数、ID为0~109、重复次数为正整数、同一ID的名称需一致且目录需有音频%s",
", ".join(invalid),
)
if not entries:
raise ManifestError("多说话人训练集总文件夹中没有有效音频")
return {
"version": MANIFEST_VERSION,
"source": "folder_scan",
"root": root,
"speakers": [
{"id": speaker_id, "name": names_by_id[speaker_id]}
for speaker_id in sorted(names_by_id)
],
"entries": entries,
}
def build_manifest_from_rows(rows, root=""):
entries = []
valid_rows = []
invalid_rows = []
names_by_id = {}
for row_index, row in enumerate(rows, 1):
path, speaker_name, speaker_id, repeat = [
"" if value is None else str(value).strip() for value in row
]
if not path and not speaker_name and not speaker_id and not repeat:
continue
try:
speaker_id_int = int(float(speaker_id))
repeat_int = int(float(repeat))
if str(speaker_id_int) != speaker_id and str(float(speaker_id_int)) != speaker_id:
raise ValueError
if str(repeat_int) != repeat and str(float(repeat_int)) != repeat:
raise ValueError
if speaker_id_int < SPEAKER_ID_MIN or speaker_id_int > SPEAKER_ID_MAX or repeat_int < 1:
raise ValueError
except (TypeError, ValueError):
invalid_rows.append(row_index)
continue
invalid_name = (
not speaker_name
or "|" in speaker_name
or "\n" in speaker_name
or "\r" in speaker_name
)
inconsistent = (
speaker_id_int in names_by_id
and names_by_id[speaker_id_int] != speaker_name
)
path = os.path.abspath(path)
files = audio_files(path)
if invalid_name or inconsistent or not files:
invalid_rows.append(row_index)
continue
names_by_id[speaker_id_int] = speaker_name
valid_rows.append(
{
"path": path,
"speaker_name": speaker_name,
"speaker_id": speaker_id_int,
"repeat": repeat_int,
}
)
for file_path in files:
entries.append(
_manifest_entry(
file_path,
speaker_name,
speaker_id_int,
repeat_int,
len(entries),
)
)
if not entries:
raise ManifestError("没有有效的多说话人训练集行")
manifest = {
"version": MANIFEST_VERSION,
"source": "helper",
"root": os.path.abspath(root) if root else "",
"rows": valid_rows,
"speakers": [
{"id": speaker_id, "name": names_by_id[speaker_id]}
for speaker_id in sorted(names_by_id)
],
"entries": entries,
}
return manifest, invalid_rows
def write_manifest(exp_dir, manifest):
os.makedirs(exp_dir, exist_ok=True)
path = os.path.join(exp_dir, "multispeaker_manifest.json")
with open(path, "w", encoding="utf8") as file:
json.dump(manifest, file, ensure_ascii=False, indent=2)
file.write("\n")
return path
def load_manifest(exp_dir):
path = os.path.join(exp_dir, "multispeaker_manifest.json")
if not os.path.isfile(path):
raise ManifestError("多说话人训练集清单不存在,请先提交辅助清单或填写总文件夹")
with open(path, "r", encoding="utf8") as file:
manifest = json.load(file)
entries = manifest.get("entries") if isinstance(manifest, dict) else None
if not isinstance(entries, list) or not entries:
raise ManifestError("多说话人训练集清单没有有效音频")
seen = set()
names_by_id = {}
for entry in entries:
try:
path_value = os.path.abspath(str(entry["path"]))
speaker_name = str(entry["speaker_name"]).strip()
speaker_id = int(entry["speaker_id"])
repeat = int(entry["repeat"])
output_key = str(entry["output_key"])
except (KeyError, TypeError, ValueError):
raise ManifestError("多说话人训练集清单格式错误")
inconsistent = (
speaker_id in names_by_id and names_by_id[speaker_id] != speaker_name
)
if (
not os.path.isfile(path_value)
or not speaker_name
or "|" in speaker_name
or "\n" in speaker_name
or "\r" in speaker_name
or speaker_id < 0
or speaker_id > 109
or repeat < 1
or not output_key
or inconsistent
):
raise ManifestError("多说话人训练集清单包含无效条目:%s", path_value)
if output_key in seen:
raise ManifestError("多说话人训练集清单存在重复输出标识:%s", output_key)
seen.add(output_key)
names_by_id[speaker_id] = speaker_name
manifest["speakers"] = [
{"id": speaker_id, "name": names_by_id[speaker_id]}
for speaker_id in sorted(names_by_id)
]
return manifest

View File

@@ -40,7 +40,8 @@ class TextAudioLoaderMultiNSFsid(torch.utils.data.Dataset):
# spec_length = wav_length // hop_length # spec_length = wav_length // hop_length
audiopaths_and_text_new = [] audiopaths_and_text_new = []
lengths = [] lengths = []
for audiopath, text, pitch, pitchf, dv in self.audiopaths_and_text: for record in self.audiopaths_and_text:
audiopath, text, pitch, pitchf, dv = record[:5]
if self.min_text_len <= len(text) and len(text) <= self.max_text_len: if self.min_text_len <= len(text) and len(text) <= self.max_text_len:
audiopaths_and_text_new.append([audiopath, text, pitch, pitchf, dv]) audiopaths_and_text_new.append([audiopath, text, pitch, pitchf, dv])
lengths.append(os.path.getsize(audiopath) // (3 * self.hop_length)) lengths.append(os.path.getsize(audiopath) // (3 * self.hop_length))
@@ -248,7 +249,8 @@ class TextAudioLoader(torch.utils.data.Dataset):
# spec_length = wav_length // hop_length # spec_length = wav_length // hop_length
audiopaths_and_text_new = [] audiopaths_and_text_new = []
lengths = [] lengths = []
for audiopath, text, dv in self.audiopaths_and_text: for record in self.audiopaths_and_text:
audiopath, text, dv = record[:3]
if self.min_text_len <= len(text) and len(text) <= self.max_text_len: if self.min_text_len <= len(text) and len(text) <= self.max_text_len:
audiopaths_and_text_new.append([audiopath, text, dv]) audiopaths_and_text_new.append([audiopath, text, dv])
lengths.append(os.path.getsize(audiopath) // (3 * self.hop_length)) lengths.append(os.path.getsize(audiopath) // (3 * self.hop_length))

View File

@@ -10,6 +10,7 @@ n_p = int(sys.argv[3])
exp_dir = sys.argv[4] exp_dir = sys.argv[4]
noparallel = sys.argv[5] == "True" noparallel = sys.argv[5] == "True"
per = float(sys.argv[6]) per = float(sys.argv[6])
manifest_path = sys.argv[7] if len(sys.argv) > 7 else ""
import traceback import traceback
import librosa import librosa
@@ -21,6 +22,7 @@ from infer.audio import load_audio
from train.dataset.slicer2 import Slicer from train.dataset.slicer2 import Slicer
from i18n.i18n import I18nAuto from i18n.i18n import I18nAuto
from tools.progress import should_report from tools.progress import should_report
from tools.multispeaker import ManifestError, load_manifest
i18n = I18nAuto() i18n = I18nAuto()
@@ -57,19 +59,19 @@ class PreProcess:
os.makedirs(self.gt_wavs_dir, exist_ok=True) os.makedirs(self.gt_wavs_dir, exist_ok=True)
os.makedirs(self.wavs16k_dir, exist_ok=True) os.makedirs(self.wavs16k_dir, exist_ok=True)
def norm_write(self, tmp_audio, idx0, idx1): def norm_write(self, tmp_audio, output_key, idx1):
tmp_max = np.abs(tmp_audio).max() tmp_max = np.abs(tmp_audio).max()
if not np.isfinite(tmp_max) or tmp_max <= 0 or tmp_max > 2.5: if not np.isfinite(tmp_max) or tmp_max <= 0 or tmp_max > 2.5:
println( println(
i18n("[数据切分][跳过] 无效或异常音频片段:%s_%s | 峰值:%s") i18n("[数据切分][跳过] 无效或异常音频片段:%s_%s | 峰值:%s")
% (idx0, idx1, tmp_max) % (output_key, idx1, tmp_max)
) )
return False return False
tmp_audio = (tmp_audio / tmp_max * (self.max * self.alpha)) + ( tmp_audio = (tmp_audio / tmp_max * (self.max * self.alpha)) + (
1 - self.alpha 1 - self.alpha
) * tmp_audio ) * tmp_audio
wavfile.write( wavfile.write(
"%s/%s_%s.wav" % (self.gt_wavs_dir, idx0, idx1), "%s/%s_%s.wav" % (self.gt_wavs_dir, output_key, idx1),
self.sr, self.sr,
tmp_audio.astype(np.float32), tmp_audio.astype(np.float32),
) )
@@ -77,13 +79,13 @@ class PreProcess:
tmp_audio, orig_sr=self.sr, target_sr=16000 tmp_audio, orig_sr=self.sr, target_sr=16000
).astype(np.float32) ).astype(np.float32)
wavfile.write( wavfile.write(
"%s/%s_%s.wav" % (self.wavs16k_dir, idx0, idx1), "%s/%s_%s.wav" % (self.wavs16k_dir, output_key, idx1),
16000, 16000,
audio_16k, audio_16k,
) )
return True return True
def pipeline(self, path, idx0, total): def pipeline(self, path, output_key, progress_index, total):
try: try:
audio = load_audio(path, self.sr) audio = load_audio(path, self.sr)
# zero phased digital filter cause pre-ringing noise... # zero phased digital filter cause pre-ringing noise...
@@ -98,17 +100,17 @@ class PreProcess:
i += 1 i += 1
if len(audio[start:]) > self.tail * self.sr: if len(audio[start:]) > self.tail * self.sr:
tmp_audio = audio[start : start + int(self.per * self.sr)] tmp_audio = audio[start : start + int(self.per * self.sr)]
self.norm_write(tmp_audio, idx0, idx1) self.norm_write(tmp_audio, output_key, idx1)
idx1 += 1 idx1 += 1
else: else:
tmp_audio = audio[start:] tmp_audio = audio[start:]
idx1 += 1 idx1 += 1
break break
self.norm_write(tmp_audio, idx0, idx1) self.norm_write(tmp_audio, output_key, idx1)
if should_report(idx0, total): if should_report(progress_index, total):
println( println(
i18n("[数据切分] 进度:%s/%s | %s") i18n("[数据切分] 进度:%s/%s | %s")
% (idx0 + 1, total, os.path.basename(path)) % (progress_index + 1, total, os.path.basename(path))
) )
return True return True
except Exception: except Exception:
@@ -121,8 +123,8 @@ class PreProcess:
def pipeline_mp(self, infos): def pipeline_mp(self, infos):
success = 0 success = 0
failed = 0 failed = 0
for path, idx0, total in infos: for path, output_key, progress_index, total in infos:
if self.pipeline(path, idx0, total): if self.pipeline(path, output_key, progress_index, total):
success += 1 success += 1
else: else:
failed += 1 failed += 1
@@ -134,10 +136,13 @@ class PreProcess:
def pipeline_mp_inp_dir(self, inp_root, n_p): def pipeline_mp_inp_dir(self, inp_root, n_p):
try: try:
names = sorted(os.listdir(inp_root)) names = sorted(
name for name in os.listdir(inp_root)
if os.path.isfile(os.path.join(inp_root, name))
)
total = len(names) total = len(names)
infos = [ infos = [
("%s/%s" % (inp_root, name), idx, total) ("%s/%s" % (inp_root, name), str(idx), idx, total)
for idx, name in enumerate(names) for idx, name in enumerate(names)
] ]
worker_count = max(n_p, 1) worker_count = max(n_p, 1)
@@ -162,11 +167,59 @@ class PreProcess:
except Exception: except Exception:
println(i18n("[数据切分][失败] %s") % traceback.format_exc()) println(i18n("[数据切分][失败] %s") % traceback.format_exc())
def pipeline_mp_manifest(self, manifest_entries, n_p):
infos = [
(entry["path"], entry["output_key"], idx, len(manifest_entries))
for idx, entry in enumerate(manifest_entries)
]
total = len(infos)
worker_count = max(n_p, 1)
worker_count = min(worker_count, max(total, 1))
println(
i18n("[数据切分] 多说话人待处理:%s | 进程数:%s")
% (total, worker_count)
)
if noparallel:
for i in range(worker_count):
self.pipeline_mp(infos[i::worker_count])
return
ps = []
for i in range(worker_count):
p = multiprocessing.Process(
target=self.pipeline_mp, args=(infos[i::worker_count],)
)
ps.append(p)
p.start()
for p in ps:
p.join()
def preprocess_trainset(inp_root, sr, n_p, exp_dir, per): def preprocess_trainset(inp_root, sr, n_p, exp_dir, per):
pp = PreProcess(sr, exp_dir, per) pp = PreProcess(sr, exp_dir, per)
println(i18n("[数据切分] 开始")) println(i18n("[数据切分] 开始"))
pp.pipeline_mp_inp_dir(inp_root, n_p) if manifest_path:
try:
manifest = load_manifest(exp_dir)
for output_dir in (pp.gt_wavs_dir, pp.wavs16k_dir):
for name in os.listdir(output_dir):
if name.startswith("ms") and name.endswith(".wav"):
try:
os.remove(os.path.join(output_dir, name))
except OSError:
pass
pp.pipeline_mp_manifest(manifest["entries"], n_p)
except ManifestError as error:
println(i18n(error.key) % error.values)
raise
else:
for output_dir in (pp.gt_wavs_dir, pp.wavs16k_dir):
for name in os.listdir(output_dir):
if name.startswith("ms") and name.endswith(".wav"):
try:
os.remove(os.path.join(output_dir, name))
except OSError:
pass
pp.pipeline_mp_inp_dir(inp_root, n_p)
println(i18n("[数据切分] 完成")) println(i18n("[数据切分] 完成"))

View File

@@ -1,15 +1,33 @@
import os import os
import sys import sys
import traceback import traceback
import json
from collections import OrderedDict from collections import OrderedDict
import torch import torch
from i18n.i18n import I18nAuto from i18n.i18n import I18nAuto
from tools.file_io import read_text
i18n = I18nAuto() i18n = I18nAuto()
def normalize_speaker_info(speaker_info):
result = []
seen = set()
for item in speaker_info or []:
try:
speaker_id = int(item["id"])
speaker_name = str(item["name"])
except (KeyError, TypeError, ValueError):
continue
if speaker_id < 0 or speaker_id > 109 or not speaker_name or speaker_id in seen:
continue
seen.add(speaker_id)
result.append({"id": speaker_id, "name": speaker_name})
return sorted(result, key=lambda item: item["id"])
def savee(ckpt, sr, if_f0, name, epoch, version, hps): def savee(ckpt, sr, if_f0, name, epoch, version, hps):
try: try:
opt = OrderedDict() opt = OrderedDict()
@@ -42,6 +60,9 @@ def savee(ckpt, sr, if_f0, name, epoch, version, hps):
opt["sr"] = sr opt["sr"] = sr
opt["f0"] = if_f0 opt["f0"] = if_f0
opt["version"] = version opt["version"] = version
speaker_info = normalize_speaker_info(getattr(hps, "speaker_info", []))
if speaker_info:
opt["speaker_info"] = speaker_info
torch.save(opt, "assets/weights/%s.pth" % name) torch.save(opt, "assets/weights/%s.pth" % name)
return i18n("成功") return i18n("成功")
except: except:
@@ -63,6 +84,11 @@ def show_info(path):
def extract_small_model(path, name, sr, if_f0, info, version): def extract_small_model(path, name, sr, if_f0, info, version):
try: try:
speaker_info = []
config_path = os.path.join(os.path.dirname(os.path.abspath(path)), "config.json")
if os.path.isfile(config_path):
config_data = json.loads(read_text(config_path))
speaker_info = normalize_speaker_info(config_data.get("speaker_info", []))
ckpt = torch.load(path, map_location="cpu") ckpt = torch.load(path, map_location="cpu")
if "model" in ckpt: if "model" in ckpt:
ckpt = ckpt["model"] ckpt = ckpt["model"]
@@ -185,6 +211,8 @@ def extract_small_model(path, name, sr, if_f0, info, version):
opt["version"] = version opt["version"] = version
opt["sr"] = sr opt["sr"] = sr
opt["f0"] = int(if_f0) opt["f0"] = int(if_f0)
if speaker_info:
opt["speaker_info"] = speaker_info
torch.save(opt, "assets/weights/%s.pth" % name) torch.save(opt, "assets/weights/%s.pth" % name)
return i18n("成功") return i18n("成功")
except: except:
@@ -218,6 +246,8 @@ def merge(path1, path2, alpha1, sr, f0, info, name, version):
ckpt1 = torch.load(path1, map_location="cpu") ckpt1 = torch.load(path1, map_location="cpu")
ckpt2 = torch.load(path2, map_location="cpu") ckpt2 = torch.load(path2, map_location="cpu")
speaker_info1 = normalize_speaker_info(ckpt1.get("speaker_info", []))
speaker_info2 = normalize_speaker_info(ckpt2.get("speaker_info", []))
cfg = ckpt1["config"] cfg = ckpt1["config"]
if "model" in ckpt1: if "model" in ckpt1:
ckpt1 = extract(ckpt1) ckpt1 = extract(ckpt1)
@@ -255,6 +285,8 @@ def merge(path1, path2, alpha1, sr, f0, info, name, version):
opt["f0"] = 1 if f0 == i18n("") else 0 opt["f0"] = 1 if f0 == i18n("") else 0
opt["version"] = version opt["version"] = version
opt["info"] = info opt["info"] = info
if speaker_info1 and speaker_info1 == speaker_info2:
opt["speaker_info"] = speaker_info1
torch.save(opt, "assets/weights/%s.pth" % name) torch.save(opt, "assets/weights/%s.pth" % name)
return i18n("成功") return i18n("成功")
except: except:

View File

@@ -106,6 +106,27 @@ class EpochRecorder:
return f"[{current_time}] | ({elapsed_time_str})" return f"[{current_time}] | ({elapsed_time_str})"
def load_pretrained_generator(model, path):
target = model.module if hasattr(model, "module") else model
saved_state = torch.load(path, map_location="cpu")["model"]
current_state = target.state_dict()
embedding_key = "emb_g.weight"
if embedding_key in saved_state and embedding_key in current_state:
saved_embedding = saved_state[embedding_key]
current_embedding = current_state[embedding_key]
if saved_embedding.shape != current_embedding.shape:
compatible = (
saved_embedding.dim() == current_embedding.dim()
and saved_embedding.shape[1:] == current_embedding.shape[1:]
)
if compatible:
expanded = current_embedding.clone()
rows = min(saved_embedding.shape[0], current_embedding.shape[0])
expanded[:rows].copy_(saved_embedding[:rows])
saved_state[embedding_key] = expanded
return target.load_state_dict(saved_state)
def main(): def main():
n_gpus = torch.cuda.device_count() n_gpus = torch.cuda.device_count()
single_cuda = torch.cuda.is_available() and n_gpus == 1 single_cuda = torch.cuda.is_available() and n_gpus == 1
@@ -242,18 +263,7 @@ def run(rank, n_gpus, hps, logger, use_ddp):
if hps.pretrainG != "": if hps.pretrainG != "":
if rank == 0: if rank == 0:
logger.info(i18n("已加载生成器预训练模型:%s") % hps.pretrainG) logger.info(i18n("已加载生成器预训练模型:%s") % hps.pretrainG)
if hasattr(net_g, "module"): logger.info(load_pretrained_generator(net_g, hps.pretrainG))
logger.info(
net_g.module.load_state_dict(
torch.load(hps.pretrainG, map_location="cpu")["model"]
)
) ##测试不加载优化器
else:
logger.info(
net_g.load_state_dict(
torch.load(hps.pretrainG, map_location="cpu")["model"]
)
) ##测试不加载优化器
if hps.pretrainD != "": if hps.pretrainD != "":
if rank == 0: if rank == 0:
logger.info(i18n("已加载判别器预训练模型:%s") % hps.pretrainD) logger.info(i18n("已加载判别器预训练模型:%s") % hps.pretrainD)

View File

@@ -3,6 +3,7 @@ import platform
import sys import sys
import traceback import traceback
import glob import glob
import json
import faiss import faiss
import numpy as np import numpy as np
@@ -18,6 +19,7 @@ exp_name = sys.argv[1]
version = sys.argv[2] version = sys.argv[2]
outside_index_root = sys.argv[3] outside_index_root = sys.argv[3]
n_cpu = int(sys.argv[4]) n_cpu = int(sys.argv[4])
index_mode = sys.argv[5] if len(sys.argv) > 5 else "auto"
exp_dir = os.path.join("logs", exp_name) exp_dir = os.path.join("logs", exp_name)
feature_dir = os.path.join( feature_dir = os.path.join(
exp_dir, "3_feature256" if version == "v1" else "3_feature768" exp_dir, "3_feature256" if version == "v1" else "3_feature768"
@@ -41,14 +43,20 @@ def newest_index(pattern):
return max(paths, key=os.path.getmtime) if paths else "" return max(paths, key=os.path.getmtime) if paths else ""
def link_added_index(added_path): def speaker_scope(message, speaker_id):
if speaker_id is None:
return message
return "%s%s | %s" % (i18n("说话人ID0~109"), speaker_id, message)
def link_added_index(added_path, speaker_id=None):
added_name = os.path.basename(added_path) added_name = os.path.basename(added_path)
try: try:
os.makedirs(outside_index_root, exist_ok=True) os.makedirs(outside_index_root, exist_ok=True)
source = os.path.abspath(added_path) source = os.path.abspath(added_path)
outside_root = os.path.abspath(outside_index_root) outside_root = os.path.abspath(outside_index_root)
if os.path.commonpath([source, outside_root]) == outside_root: if os.path.commonpath([source, outside_root]) == outside_root:
log(i18n("[索引训练] 外部索引链接已存在:%s") % source) log(speaker_scope(i18n("[索引训练] 外部索引链接已存在:%s") % source, speaker_id))
return return
target = os.path.abspath( target = os.path.abspath(
os.path.join(outside_index_root, "%s_%s" % (exp_name, added_name)) os.path.join(outside_index_root, "%s_%s" % (exp_name, added_name))
@@ -56,7 +64,7 @@ def link_added_index(added_path):
if os.path.lexists(target): if os.path.lexists(target):
try: try:
if os.path.samefile(source, target): if os.path.samefile(source, target):
log(i18n("[索引训练] 外部索引链接已存在:%s") % target) log(speaker_scope(i18n("[索引训练] 外部索引链接已存在:%s") % target, speaker_id))
return return
except (FileNotFoundError, OSError): except (FileNotFoundError, OSError):
pass pass
@@ -65,110 +73,177 @@ def link_added_index(added_path):
os.link(source, target) os.link(source, target)
else: else:
os.symlink(source, target) os.symlink(source, target)
log(i18n("[索引训练] 已链接索引到外部目录:%s") % outside_index_root) log(speaker_scope(i18n("[索引训练] 已链接索引到外部目录:%s") % outside_index_root, speaker_id))
except Exception: except Exception:
log( log(
i18n("[索引训练][失败] 无法链接索引到外部目录:%s\n%s") speaker_scope(
% (outside_index_root, traceback.format_exc()) i18n("[索引训练][失败] 无法链接索引到外部目录:%s\n%s")
% (outside_index_root, traceback.format_exc()),
speaker_id,
)
) )
existing_trained_path = newest_index(
os.path.join(
exp_dir,
"trained_IVF*_Flat_nprobe_*_%s_%s.index" % (exp_name, version),
)
)
existing_added_path = newest_index(
os.path.join(exp_dir, "added_IVF*_Flat_nprobe_*_%s_%s.index" % (exp_name, version))
)
if not existing_added_path:
existing_added_path = newest_index(
os.path.join(
outside_index_root,
"%s_*added_IVF*_Flat_nprobe_*_%s_%s.index"
% (exp_name, exp_name, version),
)
)
if existing_added_path:
if existing_trained_path:
log(
i18n("[索引训练][跳过] trained索引已存在%s")
% os.path.basename(existing_trained_path)
)
log(
i18n("[索引训练][跳过] added索引已存在%s")
% os.path.basename(existing_added_path)
)
link_added_index(existing_added_path)
raise SystemExit(0)
if not os.path.isdir(feature_dir) or not os.listdir(feature_dir): if not os.path.isdir(feature_dir) or not os.listdir(feature_dir):
log(i18n("[索引训练][失败] 请先进行特征提取")) log(i18n("[索引训练][失败] 请先进行特征提取"))
raise SystemExit(1) raise SystemExit(1)
features = [] manifest_path = os.path.join(exp_dir, "multispeaker_manifest.json")
for name in sorted(os.listdir(feature_dir)): manifest_by_key = {}
features.append(np.load(os.path.join(feature_dir, name))) if index_mode != "single" and os.path.isfile(manifest_path):
big_npy = np.concatenate(features, 0)
big_npy = big_npy[np.random.permutation(big_npy.shape[0])]
if big_npy.shape[0] > 200000:
log(i18n("[索引训练] 正在将%s条特征聚类为10000个中心") % big_npy.shape[0])
try: try:
big_npy = MiniBatchKMeans( with open(manifest_path, "r", encoding="utf8") as file:
n_clusters=10000, manifest = json.load(file)
verbose=False, entries = manifest.get("entries", []) if isinstance(manifest, dict) else []
batch_size=256 * n_cpu, manifest_by_key = {
compute_labels=False, str(entry["output_key"]): int(entry["speaker_id"])
init="random", for entry in entries
).fit(big_npy).cluster_centers_ }
except Exception: except (KeyError, TypeError, ValueError, OSError, json.JSONDecodeError):
log(i18n("[索引训练][失败] 聚类失败,将使用原始特征继续\n%s") % traceback.format_exc()) manifest_by_key = {}
n_ivf = max(1, min(int(16 * np.sqrt(big_npy.shape[0])), big_npy.shape[0] // 39)) feature_paths = [
log(i18n("[索引训练] 特征形状:%s | IVF数量%s") % (big_npy.shape, n_ivf)) os.path.join(feature_dir, name)
if existing_trained_path: for name in sorted(os.listdir(feature_dir))
trained_path = existing_trained_path if name.lower().endswith(".npy")
index = faiss.read_index(trained_path) ]
index_ivf = faiss.extract_index_ivf(index) feature_groups = {}
index_ivf.nprobe = 1 if manifest_by_key:
log( for path in feature_paths:
i18n("[索引训练][跳过] trained索引已存在%s") stem = os.path.splitext(os.path.basename(path))[0]
% os.path.basename(trained_path) output_key = stem if stem in manifest_by_key else stem.rsplit("_", 1)[0]
) speaker_id = manifest_by_key.get(output_key)
if speaker_id is not None:
feature_groups.setdefault(speaker_id, []).append(path)
else: else:
index = faiss.index_factory( feature_groups[None] = feature_paths
256 if version == "v1" else 768, "IVF%s,Flat" % n_ivf
) if not feature_groups or not any(feature_groups.values()):
index_ivf = faiss.extract_index_ivf(index) log(i18n("[索引训练][失败] 请先进行特征提取"))
index_ivf.nprobe = 1 raise SystemExit(1)
trained_path = os.path.join(
def train_one_speaker(speaker_id, paths):
scope = lambda message: speaker_scope(message, speaker_id)
features = [np.load(path) for path in paths]
big_npy = np.concatenate(features, 0)
big_npy = big_npy[np.random.permutation(big_npy.shape[0])]
suffix = "" if speaker_id is None else "_spkid%s" % speaker_id
total_path = os.path.join(exp_dir, "total_fea%s.npy" % suffix)
np.save(total_path, big_npy)
trained_pattern = os.path.join(
exp_dir, exp_dir,
"trained_IVF%s_Flat_nprobe_%s_%s_%s.index" "trained_IVF*_Flat_nprobe_*_%s_%s%s.index"
% (n_ivf, index_ivf.nprobe, exp_name, version), % (exp_name, version, suffix),
) )
log(i18n("[索引训练] 正在训练索引")) added_pattern = os.path.join(
index.train(big_npy) exp_dir,
faiss.write_index(index, trained_path) "added_IVF*_Flat_nprobe_*_%s_%s%s.index"
% (exp_name, version, suffix),
log(i18n("[索引训练] 正在写入特征向量")) )
starts = list(range(0, big_npy.shape[0], 8192)) existing_trained_path = newest_index(trained_pattern)
for batch_index, start in enumerate(starts): existing_added_path = newest_index(added_pattern)
index.add(big_npy[start : start + 8192]) if not existing_added_path:
if should_report(batch_index, len(starts), 10): existing_added_path = newest_index(
log( os.path.join(
i18n("[索引训练] 写入进度:%s/%s") outside_index_root,
% (batch_index + 1, len(starts)) "%s_*added_IVF*_Flat_nprobe_*_%s_%s%s.index"
% (exp_name, exp_name, version, suffix),
)
) )
if existing_added_path:
if existing_trained_path:
log(
scope(
i18n("[索引训练][跳过] trained索引已存在%s")
% os.path.basename(existing_trained_path)
)
)
log(
scope(
i18n("[索引训练][跳过] added索引已存在%s")
% os.path.basename(existing_added_path)
)
)
link_added_index(existing_added_path, speaker_id)
return
added_name = "added_IVF%s_Flat_nprobe_%s_%s_%s.index" % ( if big_npy.shape[0] > 200000:
n_ivf, log(
index_ivf.nprobe, scope(
exp_name, i18n("[索引训练] 正在将%s条特征聚类为10000个中心")
version, % big_npy.shape[0]
) )
added_path = os.path.join(exp_dir, added_name) )
faiss.write_index(index, added_path) try:
log(i18n("[索引训练] 成功构建索引:%s") % added_name) big_npy = MiniBatchKMeans(
link_added_index(added_path) n_clusters=10000,
verbose=False,
batch_size=256 * n_cpu,
compute_labels=False,
init="random",
).fit(big_npy).cluster_centers_
except Exception:
log(
scope(
i18n("[索引训练][失败] 聚类失败,将使用原始特征继续\n%s")
% traceback.format_exc()
)
)
n_ivf = max(1, min(int(16 * np.sqrt(big_npy.shape[0])), big_npy.shape[0] // 39))
log(scope(i18n("[索引训练] 特征形状:%s | IVF数量%s") % (big_npy.shape, n_ivf)))
if existing_trained_path:
trained_path = existing_trained_path
index = faiss.read_index(trained_path)
index_ivf = faiss.extract_index_ivf(index)
index_ivf.nprobe = 1
log(
scope(
i18n("[索引训练][跳过] trained索引已存在%s")
% os.path.basename(trained_path)
)
)
else:
index = faiss.index_factory(
256 if version == "v1" else 768, "IVF%s,Flat" % n_ivf
)
index_ivf = faiss.extract_index_ivf(index)
index_ivf.nprobe = 1
trained_path = os.path.join(
exp_dir,
"trained_IVF%s_Flat_nprobe_%s_%s_%s%s.index"
% (n_ivf, index_ivf.nprobe, exp_name, version, suffix),
)
log(scope(i18n("[索引训练] 正在训练索引")))
index.train(big_npy)
faiss.write_index(index, trained_path)
log(scope(i18n("[索引训练] 正在写入特征向量")))
starts = list(range(0, big_npy.shape[0], 8192))
for batch_index, start in enumerate(starts):
index.add(big_npy[start : start + 8192])
if should_report(batch_index, len(starts), 10):
log(
scope(
i18n("[索引训练] 写入进度:%s/%s")
% (batch_index + 1, len(starts))
)
)
added_name = "added_IVF%s_Flat_nprobe_%s_%s_%s%s.index" % (
n_ivf,
index_ivf.nprobe,
exp_name,
version,
suffix,
)
added_path = os.path.join(exp_dir, added_name)
faiss.write_index(index, added_path)
log(scope(i18n("[索引训练] 成功构建索引:%s") % added_name))
link_added_index(added_path, speaker_id)
for speaker_id in sorted(feature_groups, key=lambda value: -1 if value is None else value):
train_one_speaker(speaker_id, feature_groups[speaker_id])

View File

@@ -105,14 +105,25 @@ def load_checkpoint(checkpoint_path, model, optimizer=None, load_opt=1):
saved_state_dict = checkpoint_dict["model"] saved_state_dict = checkpoint_dict["model"]
if hasattr(model, "module"): if hasattr(model, "module"):
state_dict = model.module.state_dict() state_dict = model.module.state_dict()
else: else:
state_dict = model.state_dict() state_dict = model.state_dict()
new_state_dict = {} new_state_dict = {}
embedding_resized = False
for k, v in state_dict.items(): # 模型需要的shape for k, v in state_dict.items(): # 模型需要的shape
try: try:
new_state_dict[k] = saved_state_dict[k] new_state_dict[k] = saved_state_dict[k]
if saved_state_dict[k].shape != state_dict[k].shape: if saved_state_dict[k].shape != state_dict[k].shape:
logger.warning( if (
k == "emb_g.weight"
and saved_state_dict[k].dim() == state_dict[k].dim()
and saved_state_dict[k].shape[1:] == state_dict[k].shape[1:]
):
new_state_dict[k] = v.clone()
rows = min(saved_state_dict[k].shape[0], state_dict[k].shape[0])
new_state_dict[k][:rows].copy_(saved_state_dict[k][:rows])
embedding_resized = True
continue
logger.warning(
"shape-%s-mismatch|need-%s|get-%s", "shape-%s-mismatch|need-%s|get-%s",
k, k,
state_dict[k].shape, state_dict[k].shape,
@@ -131,9 +142,9 @@ def load_checkpoint(checkpoint_path, model, optimizer=None, load_opt=1):
iteration = checkpoint_dict["iteration"] iteration = checkpoint_dict["iteration"]
learning_rate = checkpoint_dict["learning_rate"] learning_rate = checkpoint_dict["learning_rate"]
if ( if (
optimizer is not None and load_opt == 1 optimizer is not None and load_opt == 1 and not embedding_resized
): ###加载不了如果是空的的话重新初始化可能还会影响lr时间表的更新因此在train文件最外围catch ): ###加载不了如果是空的的话重新初始化可能还会影响lr时间表的更新因此在train文件最外围catch
# try: # try:
optimizer.load_state_dict(checkpoint_dict["optimizer"]) optimizer.load_state_dict(checkpoint_dict["optimizer"])
# except: # except:

859
webui.py

File diff suppressed because it is too large Load Diff