From 6fb458a7547b430ea79687589f22956dbbc77cea Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=94=90=E6=BE=A4=20=E5=85=8B=E5=B9=B8?=
<4ranci0ne@gmail.com>
Date: Sun, 16 Apr 2023 15:29:01 +0900
Subject: [PATCH] =?UTF-8?q?optimize:=20=E4=BC=98=E5=8C=96=E4=BB=A3?=
=?UTF-8?q?=E7=A0=81=E7=BB=93=E6=9E=84=20(#66)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* update
* 纠正了多余的内容
* update
* Change the location of the comments (or revert) to improve readability.
* revert
* Update extract_locale.py
* Update i18n.py
* fix HK & SG
---------
Co-authored-by: 源文雨 <41315874+fumiama@users.noreply.github.com>
---
.github/workflows/genlocale.yml | 3 +-
README.md | 2 +-
README.en.md => docs/README.en.md | 2 +-
README.ja.md => docs/README.ja.md | 24 +++---
小白简易教程.doc => docs/小白简易教程.doc | Bin
extract_locale.py | 2 +-
gui.py | 2 +-
webui_locale.py => i18n.py | 0
{locale => i18n}/en_US.json | 0
{locale => i18n}/ja_JP.json | 6 +-
{locale => i18n}/locale_diff.py | 12 +--
{locale => i18n}/zh_CN.json | 0
locale/zh_TW.json => i18n/zh_HK.json | 0
i18n/zh_SG.json | 99 ++++++++++++++++++++++
i18n/zh_TW.json | 99 ++++++++++++++++++++++
infer-web.py | 2 +-
locale/zh_HK.json | 1 -
locale/zh_SG.json | 1 -
18 files changed, 225 insertions(+), 30 deletions(-)
rename README.en.md => docs/README.en.md (97%)
rename README.ja.md => docs/README.ja.md (78%)
rename 小白简易教程.doc => docs/小白简易教程.doc (100%)
rename webui_locale.py => i18n.py (100%)
rename {locale => i18n}/en_US.json (100%)
rename {locale => i18n}/ja_JP.json (98%)
rename {locale => i18n}/locale_diff.py (81%)
rename {locale => i18n}/zh_CN.json (100%)
rename locale/zh_TW.json => i18n/zh_HK.json (100%)
create mode 100644 i18n/zh_SG.json
create mode 100644 i18n/zh_TW.json
delete mode 120000 locale/zh_HK.json
delete mode 120000 locale/zh_SG.json
diff --git a/.github/workflows/genlocale.yml b/.github/workflows/genlocale.yml
index fd5034e..966ccd3 100644
--- a/.github/workflows/genlocale.yml
+++ b/.github/workflows/genlocale.yml
@@ -14,8 +14,7 @@ jobs:
- name: Run locale generation
run: |
python3 extract_locale.py
- cd locale
- python3 locale_diff.py
+ cd i18n && python3 locale_diff.py
- name: Commit back
if: ${{ !github.head_ref }}
diff --git a/README.md b/README.md
index bfd5042..c904a52 100644
--- a/README.md
+++ b/README.md
@@ -19,7 +19,7 @@
[**更新日志**](https://github.com/liujing04/Retrieval-based-Voice-Conversion-WebUI/blob/main/Changelog_CN.md)
-[**English**](./README.en.md) | [**中文简体**](./README.md) | [**日本語**](./README.ja.md)
+[**English**](./docs/README.en.md) | [**中文简体**](./README.md) | [**日本語**](./docs/README.ja.md)
> 点此查看我们的[演示视频](https://www.bilibili.com/video/BV1pm4y1z7Gm/) !
diff --git a/README.en.md b/docs/README.en.md
similarity index 97%
rename from README.en.md
rename to docs/README.en.md
index e6998f3..a97e1df 100644
--- a/README.en.md
+++ b/docs/README.en.md
@@ -18,7 +18,7 @@ An easy-to-use SVC framework based on VITS.
------
[**Changelog**](https://github.com/liujing04/Retrieval-based-Voice-Conversion-WebUI/blob/main/Changelog_CN.md)
-[**English**](./README.en.md) | [**中文简体**](./README.md) | [**日本語**](./README.ja.md)
+[**English**](./README.en.md) | [**中文简体**](../README.md) | [**日本語**](./README.ja.md)
> Check our [Demo Video](https://www.bilibili.com/video/BV1pm4y1z7Gm/) here!
diff --git a/README.ja.md b/docs/README.ja.md
similarity index 78%
rename from README.ja.md
rename to docs/README.ja.md
index 33a096d..cd953ff 100644
--- a/README.ja.md
+++ b/docs/README.ja.md
@@ -19,21 +19,21 @@ VITSに基づく使いやすい音声変換(voice changer)framework
[**更新日誌**](https://github.com/liujing04/Retrieval-based-Voice-Conversion-WebUI/blob/main/Changelog_CN.md)
-[**English**](./README.en.md) | [**中文简体**](./README.md) | [**日本語**](./README.ja.md)
+[**English**](./README.en.md) | [**中文简体**](../README.md) | [**日本語**](./README.ja.md)
-> demo動画は[こちら](https://www.bilibili.com/video/BV1pm4y1z7Gm/)でご覧してくでさい
+> デモ動画は[こちら](https://www.bilibili.com/video/BV1pm4y1z7Gm/)でご覧ください
-> RVCによる実時間音声変換: [w-okada/voice-changer](https://github.com/w-okada/voice-changer)
+> RVCによるリアルタイム音声変換: [w-okada/voice-changer](https://github.com/w-okada/voice-changer)
-> 基底modelを訓練(training)したのは、約50時間の高品質開源(open source)資料集(dataset)VCTK。著作権侵害を心配することなく使用できるように。
+> 基底modelを訓練(training)したのは、約50時間の高品質なオープンソースのデータセット。著作権侵害を心配することなく使用できるように。
> 今後は次々と使用許可のある高品質歌声資料集を追加し、基底modelを訓練する。
## はじめに
-本repoは下記の特性があります
+本repoは下記の特徴があります
-+ 調子(tone)の漏洩が下がれるためtop1検索で源特徴量を訓練集特徴量に置換
-+ 古い又は安いGPUにでも高速に訓練できる
++ 調子(tone)の漏洩が下がれるためtop1検索で源特徴量を訓練集特徴量に置換
++ 古い又は安いGPUでも高速に訓練できる
+ 小さい訓練集でもかなりいいmodelを得られる(10分以上の低noise音声を推奨)
+ modelを融合し音色をmergeできる(ckpt processing->ckpt mergeで使用)
+ 使いやすいWebUI
@@ -68,9 +68,9 @@ pip install -r requirements.txt
```
## 基底modelsを準備
-RVCは推理・訓練のために色んな事前訓練した基底modelsが必要。
+RVCは推論/訓練のために、様々な事前訓練を行った基底modelsが必要です。
-modelsは[Hugging Face space](https://huggingface.co/lj1995/VoiceConversionWebUI/tree/main/)からdownloadできる。
+modelsは[Hugging Face space](https://huggingface.co/lj1995/VoiceConversionWebUI/tree/main/)からダウンロードできます。
以下は、RVCに必要な基底modelsやその他のfilesの一覧です。
```bash
@@ -87,11 +87,11 @@ hubert_base.pt
```bash
python infer-web.py
```
-Windowsをお使いの方は、直接に`RVC-beta.7z`をdownload・解凍して、`go-web.bat`をclickでWebUIを起動できる。
+Windowsをお使いの方は、直接に`RVC-beta.7z`をダウンロード後に展開し、`go-web.bat`をclickでWebUIを起動。(7zipが必要です)
また、repoに[小白简易教程.doc](./小白简易教程.doc)がありますので、参考にしてください(中国語版のみ)。
-## 参考したprojects
+## 参考プロジェクト
+ [ContentVec](https://github.com/auspicious3000/contentvec/)
+ [VITS](https://github.com/jaywalnut310/vits)
+ [HIFIGAN](https://github.com/jik876/hifi-gan)
@@ -100,7 +100,7 @@ Windowsをお使いの方は、直接に`RVC-beta.7z`をdownload・解凍して
+ [Ultimate Vocal Remover](https://github.com/Anjok07/ultimatevocalremovergui)
+ [audio-slicer](https://github.com/openvpi/audio-slicer)
-## 貢献者(contributer)皆様のご協力を感謝して致します
+## 貢献者(contributer)の皆様の尽力に感謝します
diff --git a/小白简易教程.doc b/docs/小白简易教程.doc
similarity index 100%
rename from 小白简易教程.doc
rename to docs/小白简易教程.doc
diff --git a/extract_locale.py b/extract_locale.py
index bd64cd9..546335b 100644
--- a/extract_locale.py
+++ b/extract_locale.py
@@ -26,5 +26,5 @@ print("processing gui.py")
process("gui.py")
# Save as a JSON file
-with open("./locale/zh_CN.json", "w", encoding="utf-8") as f:
+with open("./i18n/zh_CN.json", "w", encoding="utf-8") as f:
json.dump(data, f, ensure_ascii=False, indent=4)
diff --git a/gui.py b/gui.py
index 2647121..19b8fed 100644
--- a/gui.py
+++ b/gui.py
@@ -9,7 +9,7 @@ import torchaudio.transforms as tat
# import matplotlib.pyplot as plt
from infer_pack.models import SynthesizerTrnMs256NSFsid, SynthesizerTrnMs256NSFsid_nono
-from webui_locale import I18nAuto
+from i18n import I18nAuto
i18n = I18nAuto()
diff --git a/webui_locale.py b/i18n.py
similarity index 100%
rename from webui_locale.py
rename to i18n.py
diff --git a/locale/en_US.json b/i18n/en_US.json
similarity index 100%
rename from locale/en_US.json
rename to i18n/en_US.json
diff --git a/locale/ja_JP.json b/i18n/ja_JP.json
similarity index 98%
rename from locale/ja_JP.json
rename to i18n/ja_JP.json
index 9319581..270f464 100644
--- a/locale/ja_JP.json
+++ b/i18n/ja_JP.json
@@ -90,10 +90,10 @@
"采样长度": "サンプル長",
"淡入淡出长度": "フェードイン/フェードアウト長",
"额外推理时长": "追加推論時間",
- "输入降噪": "输入降噪",
- "输出降噪": "输出降噪",
+ "输入降噪": "入力ノイズの低減",
+ "输出降噪": "出力ノイズの低減",
"性能设置": "パフォーマンス設定",
"开始音频转换": "音声変換を開始する",
"停止音频转换": "音声変換を停止する",
- "推理时间(ms):": "推理时间(ms):"
+ "推理时间(ms):": "推論時間(ms):"
}
\ No newline at end of file
diff --git a/locale/locale_diff.py b/i18n/locale_diff.py
similarity index 81%
rename from locale/locale_diff.py
rename to i18n/locale_diff.py
index b2f6af8..e9f8861 100644
--- a/locale/locale_diff.py
+++ b/i18n/locale_diff.py
@@ -1,13 +1,13 @@
import json
+import os
from collections import OrderedDict
# Define the standard file name
standard_file = "zh_CN.json"
-# Define the list of supported languages
-# zh_HK.json and zh_SG.json is not included in the list
-# because they are symbolinks to zh_TW.json
-languages = ["zh_TW.json", "ja_JP.json", "en_US.json"]
+# Find all JSON files in the directory
+dir_path = "./"
+languages = [f for f in os.listdir(dir_path) if f.endswith(".json") and f != standard_file]
# Load the standard file
with open(standard_file, "r", encoding="utf-8") as f:
@@ -35,8 +35,8 @@ for lang_file in languages:
# Sort the keys of the language file to match the order of the standard file
lang_data = OrderedDict(
sorted(lang_data.items(), key=lambda x: list(standard_data.keys()).index(x[0]))
- )
+ )
# Save the updated language file
with open(lang_file, "w", encoding="utf-8") as f:
- json.dump(lang_data, f, ensure_ascii=False, indent=4)
+ json.dump(lang_data, f, ensure_ascii=False, indent=4)
\ No newline at end of file
diff --git a/locale/zh_CN.json b/i18n/zh_CN.json
similarity index 100%
rename from locale/zh_CN.json
rename to i18n/zh_CN.json
diff --git a/locale/zh_TW.json b/i18n/zh_HK.json
similarity index 100%
rename from locale/zh_TW.json
rename to i18n/zh_HK.json
diff --git a/i18n/zh_SG.json b/i18n/zh_SG.json
new file mode 100644
index 0000000..338f05f
--- /dev/null
+++ b/i18n/zh_SG.json
@@ -0,0 +1,99 @@
+{
+ "本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责.
如不认可该条款, 则不能使用或引用软件包内任何代码和文件. 详见根目录使用需遵守的协议-LICENSE.txt.": "本軟體以MIT協議開源,作者不對軟體具備任何控制力,使用軟體者、傳播軟體導出的聲音者自負全責。
如不認可該條款,則不能使用或引用軟體包內任何程式碼和檔案。詳見根目錄使用需遵守的協議-LICENSE.txt。",
+ "模型推理": "模型推理",
+ "推理音色": "推理音色",
+ "刷新音色列表": "重新整理音色列表",
+ "卸载音色省显存": "卸載音色節省 VRAM",
+ "请选择说话人id": "請選擇說話人ID",
+ "男转女推荐+12key, 女转男推荐-12key, 如果音域爆炸导致音色失真也可以自己调整到合适音域. ": "男性轉女性推薦+12key,女性轉男性推薦-12key,如果音域爆炸導致音色失真也可以自己調整到合適音域。",
+ "变调(整数, 半音数量, 升八度12降八度-12)": "變調(整數、半音數量、升八度12降八度-12)",
+ "输入待处理音频文件路径(默认是正确格式示例)": "輸入待處理音頻檔案路徑(預設是正確格式示例)",
+ "选择音高提取算法,输入歌声可用pm提速,harvest低音好但巨慢无比": "選擇音高提取演算法,輸入歌聲可用 pm 提速,harvest 低音好但巨慢無比",
+ "特征检索库文件路径": "特徵檢索庫檔案路徑",
+ "特征文件路径": "特徵檔案路徑",
+ "F0曲线文件, 可选, 一行一个音高, 代替默认F0及升降调": "F0曲線檔案,可選,一行一個音高,代替預設的F0及升降調",
+ "转换": "轉換",
+ "输出信息": "輸出訊息",
+ "输出音频(右下角三个点,点了可以下载)": "輸出音頻(右下角三個點,點了可以下載)",
+ "批量转换, 输入待转换音频文件夹, 或上传多个音频文件, 在指定文件夹(默认opt)下输出转换的音频. ": "批量轉換,輸入待轉換音頻資料夾,或上傳多個音頻檔案,在指定資料夾(默認opt)下輸出轉換的音頻。",
+ "指定输出文件夹": "指定輸出資料夾",
+ "检索特征占比": "檢索特徵佔比",
+ "输入待处理音频文件夹路径(去文件管理器地址栏拷就行了)": "輸入待處理音頻資料夾路徑(去檔案管理器地址欄拷貝即可)",
+ "也可批量输入音频文件, 二选一, 优先读文件夹": "也可批量輸入音頻檔案,二選一,優先讀資料夾",
+ "伴奏人声分离": "伴奏人聲分離",
+ "人声伴奏分离批量处理, 使用UVR5模型.
不带和声用HP2, 带和声且提取的人声不需要和声用HP5
合格的文件夹路径格式举例: E:\\codes\\py39\\vits_vc_gpu\\白鹭霜华测试样例(去文件管理器地址栏拷就行了)": "人聲伴奏分離批量處理,使用UVR5模型。
不帶和聲用HP2,帶和聲且提取的人聲不需要和聲用HP5
合格的資料夾路徑格式舉例:E:\\codes\\py39\\vits_vc_gpu\\白鷺霜華測試樣例(去檔案管理員地址欄複製就行了)",
+ "输入待处理音频文件夹路径": "輸入待處理音頻資料夾路徑",
+ "模型": "模型",
+ "指定输出人声文件夹": "指定輸出人聲資料夾",
+ "指定输出乐器文件夹": "指定輸出樂器資料夾",
+ "训练": "訓練",
+ "step1: 填写实验配置. 实验数据放在logs下, 每个实验一个文件夹, 需手工输入实验名路径, 内含实验配置, 日志, 训练得到的模型文件. ": "step1:填寫實驗配置。實驗數據放在logs下,每個實驗一個資料夾,需手動輸入實驗名路徑,內含實驗配置、日誌、訓練得到的模型檔案。",
+ "输入实验名": "輸入實驗名稱",
+ "目标采样率": "目標取樣率",
+ "模型是否带音高指导(唱歌一定要, 语音可以不要)": "模型是否帶音高指導(唱歌一定要,語音可以不要)",
+ "step2a: 自动遍历训练文件夹下所有可解码成音频的文件并进行切片归一化, 在实验目录下生成2个wav文件夹; 暂时只支持单人训练. ": "step2a:自動遍歷訓練資料夾下所有可解碼成音頻的檔案並進行切片歸一化,在實驗目錄下生成2個wav資料夾;暫時只支援單人訓練。",
+ "输入训练文件夹路径": "輸入訓練檔案夾路徑",
+ "请指定说话人id": "請指定說話人id",
+ "处理数据": "處理資料",
+ "step2b: 使用CPU提取音高(如果模型带音高), 使用GPU提取特征(选择卡号)": "步驟2b: 使用CPU提取音高(如果模型帶音高), 使用GPU提取特徵(選擇卡號)",
+ "以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2": "以-分隔輸入使用的卡號, 例如 0-1-2 使用卡0和卡1和卡2",
+ "显卡信息": "顯示卡資訊",
+ "提取音高使用的CPU进程数": "提取音高使用的CPU進程數",
+ "选择音高提取算法:输入歌声可用pm提速,高质量语音但CPU差可用dio提速,harvest质量更好但慢": "選擇音高提取算法:輸入歌聲可用pm提速,高品質語音但CPU差可用dio提速,harvest品質更好但較慢",
+ "特征提取": "特徵提取",
+ "step3: 填写训练设置, 开始训练模型和索引": "步驟3: 填寫訓練設定, 開始訓練模型和索引",
+ "保存频率save_every_epoch": "保存頻率save_every_epoch",
+ "总训练轮数total_epoch": "總訓練輪數total_epoch",
+ "是否仅保存最新的ckpt文件以节省硬盘空间": "是否僅保存最新的ckpt檔案以節省硬碟空間",
+ "是否缓存所有训练集至显存. 10min以下小数据可缓存以加速训练, 大数据缓存会炸显存也加不了多少速": "是否緩存所有訓練集至 VRAM。小於10分鐘的小數據可緩存以加速訓練,大數據緩存會爆 VRAM 也加不了多少速度",
+ "加载预训练底模G路径": "加載預訓練底模G路徑",
+ "加载预训练底模D路径": "加載預訓練底模D路徑",
+ "训练模型": "訓練模型",
+ "训练特征索引": "訓練特徵索引",
+ "一键训练": "一鍵訓練",
+ "ckpt处理": "ckpt處理",
+ "模型融合, 可用于测试音色融合": "模型融合,可用於測試音色融合",
+ "A模型路径": "A模型路徑",
+ "B模型路径": "B模型路徑",
+ "A模型权重": "A模型權重",
+ "模型是否带音高指导": "模型是否帶音高指導",
+ "要置入的模型信息": "要置入的模型資訊",
+ "保存的模型名不带后缀": "儲存的模型名不帶副檔名",
+ "融合": "融合",
+ "修改模型信息(仅支持weights文件夹下提取的小模型文件)": "修改模型資訊(僅支援weights資料夾下提取的小模型檔案)",
+ "模型路径": "模型路徑",
+ "要改的模型信息": "要改的模型資訊",
+ "保存的文件名, 默认空为和源文件同名": "儲存的檔案名,預設空為與來源檔案同名",
+ "修改": "修改",
+ "查看模型信息(仅支持weights文件夹下提取的小模型文件)": "查看模型資訊(僅支援weights資料夾下提取的小模型檔案)",
+ "查看": "查看",
+ "模型提取(输入logs文件夹下大文件模型路径),适用于训一半不想训了模型没有自动提取保存小文件模型,或者想测试中间模型的情况": "模型提取(輸入logs資料夾下大檔案模型路徑),適用於訓一半不想訓了模型沒有自動提取儲存小檔案模型,或者想測試中間模型的情況",
+ "保存名": "儲存名",
+ "模型是否带音高指导,1是0否": "模型是否帶音高指導,1是0否",
+ "提取": "提取",
+ "招募音高曲线前端编辑器": "招募音高曲線前端編輯器",
+ "加开发群联系我xxxxx": "加開發群聯繫我xxxxx",
+ "点击查看交流、问题反馈群号": "點擊查看交流、問題反饋群號",
+ "xxxxx": "xxxxx",
+ "加载模型": "載入模型",
+ "Hubert模型": "Hubert 模型",
+ "选择.pth文件": "選擇 .pth 檔案",
+ "选择.index文件": "選擇 .index 檔案",
+ "选择.npy文件": "選擇 .npy 檔案",
+ "输入设备": "輸入設備",
+ "输出设备": "輸出設備",
+ "音频设备(请使用同种类驱动)": "音訊設備 (請使用同種類驅動)",
+ "响应阈值": "響應閾值",
+ "音调设置": "音調設定",
+ "Index Rate": "Index Rate",
+ "常规设置": "一般設定",
+ "采样长度": "取樣長度",
+ "淡入淡出长度": "淡入淡出長度",
+ "额外推理时长": "額外推理時長",
+ "输入降噪": "輸入降噪",
+ "输出降噪": "輸出降噪",
+ "性能设置": "效能設定",
+ "开始音频转换": "開始音訊轉換",
+ "停止音频转换": "停止音訊轉換",
+ "推理时间(ms):": "推理時間(ms):"
+}
\ No newline at end of file
diff --git a/i18n/zh_TW.json b/i18n/zh_TW.json
new file mode 100644
index 0000000..338f05f
--- /dev/null
+++ b/i18n/zh_TW.json
@@ -0,0 +1,99 @@
+{
+ "本软件以MIT协议开源, 作者不对软件具备任何控制力, 使用软件者、传播软件导出的声音者自负全责.
如不认可该条款, 则不能使用或引用软件包内任何代码和文件. 详见根目录使用需遵守的协议-LICENSE.txt.": "本軟體以MIT協議開源,作者不對軟體具備任何控制力,使用軟體者、傳播軟體導出的聲音者自負全責。
如不認可該條款,則不能使用或引用軟體包內任何程式碼和檔案。詳見根目錄使用需遵守的協議-LICENSE.txt。",
+ "模型推理": "模型推理",
+ "推理音色": "推理音色",
+ "刷新音色列表": "重新整理音色列表",
+ "卸载音色省显存": "卸載音色節省 VRAM",
+ "请选择说话人id": "請選擇說話人ID",
+ "男转女推荐+12key, 女转男推荐-12key, 如果音域爆炸导致音色失真也可以自己调整到合适音域. ": "男性轉女性推薦+12key,女性轉男性推薦-12key,如果音域爆炸導致音色失真也可以自己調整到合適音域。",
+ "变调(整数, 半音数量, 升八度12降八度-12)": "變調(整數、半音數量、升八度12降八度-12)",
+ "输入待处理音频文件路径(默认是正确格式示例)": "輸入待處理音頻檔案路徑(預設是正確格式示例)",
+ "选择音高提取算法,输入歌声可用pm提速,harvest低音好但巨慢无比": "選擇音高提取演算法,輸入歌聲可用 pm 提速,harvest 低音好但巨慢無比",
+ "特征检索库文件路径": "特徵檢索庫檔案路徑",
+ "特征文件路径": "特徵檔案路徑",
+ "F0曲线文件, 可选, 一行一个音高, 代替默认F0及升降调": "F0曲線檔案,可選,一行一個音高,代替預設的F0及升降調",
+ "转换": "轉換",
+ "输出信息": "輸出訊息",
+ "输出音频(右下角三个点,点了可以下载)": "輸出音頻(右下角三個點,點了可以下載)",
+ "批量转换, 输入待转换音频文件夹, 或上传多个音频文件, 在指定文件夹(默认opt)下输出转换的音频. ": "批量轉換,輸入待轉換音頻資料夾,或上傳多個音頻檔案,在指定資料夾(默認opt)下輸出轉換的音頻。",
+ "指定输出文件夹": "指定輸出資料夾",
+ "检索特征占比": "檢索特徵佔比",
+ "输入待处理音频文件夹路径(去文件管理器地址栏拷就行了)": "輸入待處理音頻資料夾路徑(去檔案管理器地址欄拷貝即可)",
+ "也可批量输入音频文件, 二选一, 优先读文件夹": "也可批量輸入音頻檔案,二選一,優先讀資料夾",
+ "伴奏人声分离": "伴奏人聲分離",
+ "人声伴奏分离批量处理, 使用UVR5模型.
不带和声用HP2, 带和声且提取的人声不需要和声用HP5
合格的文件夹路径格式举例: E:\\codes\\py39\\vits_vc_gpu\\白鹭霜华测试样例(去文件管理器地址栏拷就行了)": "人聲伴奏分離批量處理,使用UVR5模型。
不帶和聲用HP2,帶和聲且提取的人聲不需要和聲用HP5
合格的資料夾路徑格式舉例:E:\\codes\\py39\\vits_vc_gpu\\白鷺霜華測試樣例(去檔案管理員地址欄複製就行了)",
+ "输入待处理音频文件夹路径": "輸入待處理音頻資料夾路徑",
+ "模型": "模型",
+ "指定输出人声文件夹": "指定輸出人聲資料夾",
+ "指定输出乐器文件夹": "指定輸出樂器資料夾",
+ "训练": "訓練",
+ "step1: 填写实验配置. 实验数据放在logs下, 每个实验一个文件夹, 需手工输入实验名路径, 内含实验配置, 日志, 训练得到的模型文件. ": "step1:填寫實驗配置。實驗數據放在logs下,每個實驗一個資料夾,需手動輸入實驗名路徑,內含實驗配置、日誌、訓練得到的模型檔案。",
+ "输入实验名": "輸入實驗名稱",
+ "目标采样率": "目標取樣率",
+ "模型是否带音高指导(唱歌一定要, 语音可以不要)": "模型是否帶音高指導(唱歌一定要,語音可以不要)",
+ "step2a: 自动遍历训练文件夹下所有可解码成音频的文件并进行切片归一化, 在实验目录下生成2个wav文件夹; 暂时只支持单人训练. ": "step2a:自動遍歷訓練資料夾下所有可解碼成音頻的檔案並進行切片歸一化,在實驗目錄下生成2個wav資料夾;暫時只支援單人訓練。",
+ "输入训练文件夹路径": "輸入訓練檔案夾路徑",
+ "请指定说话人id": "請指定說話人id",
+ "处理数据": "處理資料",
+ "step2b: 使用CPU提取音高(如果模型带音高), 使用GPU提取特征(选择卡号)": "步驟2b: 使用CPU提取音高(如果模型帶音高), 使用GPU提取特徵(選擇卡號)",
+ "以-分隔输入使用的卡号, 例如 0-1-2 使用卡0和卡1和卡2": "以-分隔輸入使用的卡號, 例如 0-1-2 使用卡0和卡1和卡2",
+ "显卡信息": "顯示卡資訊",
+ "提取音高使用的CPU进程数": "提取音高使用的CPU進程數",
+ "选择音高提取算法:输入歌声可用pm提速,高质量语音但CPU差可用dio提速,harvest质量更好但慢": "選擇音高提取算法:輸入歌聲可用pm提速,高品質語音但CPU差可用dio提速,harvest品質更好但較慢",
+ "特征提取": "特徵提取",
+ "step3: 填写训练设置, 开始训练模型和索引": "步驟3: 填寫訓練設定, 開始訓練模型和索引",
+ "保存频率save_every_epoch": "保存頻率save_every_epoch",
+ "总训练轮数total_epoch": "總訓練輪數total_epoch",
+ "是否仅保存最新的ckpt文件以节省硬盘空间": "是否僅保存最新的ckpt檔案以節省硬碟空間",
+ "是否缓存所有训练集至显存. 10min以下小数据可缓存以加速训练, 大数据缓存会炸显存也加不了多少速": "是否緩存所有訓練集至 VRAM。小於10分鐘的小數據可緩存以加速訓練,大數據緩存會爆 VRAM 也加不了多少速度",
+ "加载预训练底模G路径": "加載預訓練底模G路徑",
+ "加载预训练底模D路径": "加載預訓練底模D路徑",
+ "训练模型": "訓練模型",
+ "训练特征索引": "訓練特徵索引",
+ "一键训练": "一鍵訓練",
+ "ckpt处理": "ckpt處理",
+ "模型融合, 可用于测试音色融合": "模型融合,可用於測試音色融合",
+ "A模型路径": "A模型路徑",
+ "B模型路径": "B模型路徑",
+ "A模型权重": "A模型權重",
+ "模型是否带音高指导": "模型是否帶音高指導",
+ "要置入的模型信息": "要置入的模型資訊",
+ "保存的模型名不带后缀": "儲存的模型名不帶副檔名",
+ "融合": "融合",
+ "修改模型信息(仅支持weights文件夹下提取的小模型文件)": "修改模型資訊(僅支援weights資料夾下提取的小模型檔案)",
+ "模型路径": "模型路徑",
+ "要改的模型信息": "要改的模型資訊",
+ "保存的文件名, 默认空为和源文件同名": "儲存的檔案名,預設空為與來源檔案同名",
+ "修改": "修改",
+ "查看模型信息(仅支持weights文件夹下提取的小模型文件)": "查看模型資訊(僅支援weights資料夾下提取的小模型檔案)",
+ "查看": "查看",
+ "模型提取(输入logs文件夹下大文件模型路径),适用于训一半不想训了模型没有自动提取保存小文件模型,或者想测试中间模型的情况": "模型提取(輸入logs資料夾下大檔案模型路徑),適用於訓一半不想訓了模型沒有自動提取儲存小檔案模型,或者想測試中間模型的情況",
+ "保存名": "儲存名",
+ "模型是否带音高指导,1是0否": "模型是否帶音高指導,1是0否",
+ "提取": "提取",
+ "招募音高曲线前端编辑器": "招募音高曲線前端編輯器",
+ "加开发群联系我xxxxx": "加開發群聯繫我xxxxx",
+ "点击查看交流、问题反馈群号": "點擊查看交流、問題反饋群號",
+ "xxxxx": "xxxxx",
+ "加载模型": "載入模型",
+ "Hubert模型": "Hubert 模型",
+ "选择.pth文件": "選擇 .pth 檔案",
+ "选择.index文件": "選擇 .index 檔案",
+ "选择.npy文件": "選擇 .npy 檔案",
+ "输入设备": "輸入設備",
+ "输出设备": "輸出設備",
+ "音频设备(请使用同种类驱动)": "音訊設備 (請使用同種類驅動)",
+ "响应阈值": "響應閾值",
+ "音调设置": "音調設定",
+ "Index Rate": "Index Rate",
+ "常规设置": "一般設定",
+ "采样长度": "取樣長度",
+ "淡入淡出长度": "淡入淡出長度",
+ "额外推理时长": "額外推理時長",
+ "输入降噪": "輸入降噪",
+ "输出降噪": "輸出降噪",
+ "性能设置": "效能設定",
+ "开始音频转换": "開始音訊轉換",
+ "停止音频转换": "停止音訊轉換",
+ "推理时间(ms):": "推理時間(ms):"
+}
\ No newline at end of file
diff --git a/infer-web.py b/infer-web.py
index 1c312d0..54a1c4d 100644
--- a/infer-web.py
+++ b/infer-web.py
@@ -16,7 +16,7 @@ os.makedirs(os.path.join(now_dir, "weights"), exist_ok=True)
os.environ["TEMP"] = tmp
warnings.filterwarnings("ignore")
torch.manual_seed(114514)
-from webui_locale import I18nAuto
+from i18n import I18nAuto
i18n = I18nAuto()
# 判断是否有能用来训练和加速推理的N卡
diff --git a/locale/zh_HK.json b/locale/zh_HK.json
deleted file mode 120000
index 2e019ea..0000000
--- a/locale/zh_HK.json
+++ /dev/null
@@ -1 +0,0 @@
-zh_TW.json
\ No newline at end of file
diff --git a/locale/zh_SG.json b/locale/zh_SG.json
deleted file mode 120000
index 2e019ea..0000000
--- a/locale/zh_SG.json
+++ /dev/null
@@ -1 +0,0 @@
-zh_TW.json
\ No newline at end of file