Spaces:
Sleeping
Sleeping
update
Browse filesThis view is limited to 50 files because it contains too many changes.
See raw diff
- .env +0 -8
- .gitattributes +2 -1
- .gitignore +128 -48
- Applio-RVC-Fork/utils/README.md +0 -6
- Applio-RVC-Fork/utils/backups.py +0 -141
- Applio-RVC-Fork/utils/backups_test.py +0 -138
- Applio-RVC-Fork/utils/clonerepo_experimental.py +0 -253
- Applio-RVC-Fork/utils/dependency.py +0 -170
- Applio-RVC-Fork/utils/i18n.py +0 -28
- Applio_(Mangio_RVC_Fork).ipynb +0 -169
- Dockerfile +0 -29
- Fixes/local_fixes.py +0 -136
- Fixes/tensor-launch.py +0 -15
- LICENSE +7 -59
- LazyImport.py +0 -13
- MDX-Net_Colab.ipynb +0 -524
- MDXNet.py +0 -272
- Makefile +0 -63
- README.md +139 -7
- app.py +0 -0
- assets/Applio.ipynb +450 -0
- assets/Applio_NoUI.ipynb +702 -0
- assets/ICON.ico +0 -0
- {audios → assets/audios/audio-others}/.gitignore +0 -0
- assets/config.json +15 -0
- assets/delete_models.py +30 -0
- assets/discord_presence.py +49 -0
- assets/flask/routes.py +32 -0
- assets/flask/server.py +62 -0
- assets/hubert/.gitignore +0 -2
- assets/i18n/i18n.py +52 -0
- assets/i18n/languages/ar_AR.json +175 -0
- assets/i18n/languages/bn_BN.json +175 -0
- assets/i18n/languages/de_DE.json +175 -0
- assets/i18n/languages/en_US.json +224 -0
- assets/i18n/languages/es_ES.json +205 -0
- assets/i18n/languages/fa_FA.json +175 -0
- assets/i18n/languages/fr_FR.json +175 -0
- assets/i18n/languages/gu_GU.json +175 -0
- assets/i18n/languages/hi_HI.json +113 -0
- assets/i18n/languages/hi_IN.json +215 -0
- assets/i18n/languages/hu_HU.json +175 -0
- assets/i18n/languages/id_ID.json +148 -0
- assets/i18n/languages/it_IT.json +175 -0
- assets/i18n/languages/ja_JA.json +175 -0
- assets/i18n/languages/jv_JV.json +1 -0
- assets/i18n/languages/ko_KO.json +175 -0
- assets/i18n/languages/ml_IN.json +204 -0
- assets/i18n/languages/mr_MR.json +175 -0
- assets/i18n/languages/ms_MS.json +175 -0
.env
DELETED
@@ -1,8 +0,0 @@
|
|
1 |
-
OPENBLAS_NUM_THREADS = 1
|
2 |
-
no_proxy = localhost, 127.0.0.1, ::1
|
3 |
-
|
4 |
-
# You can change the location of the model, etc. by changing here
|
5 |
-
weight_root = weights
|
6 |
-
weight_uvr5_root = uvr5_weights
|
7 |
-
index_root = logs
|
8 |
-
rmvpe_root = assets/rmvpe
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.gitattributes
CHANGED
@@ -33,4 +33,5 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
36 |
-
|
|
|
|
33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
36 |
+
ffmpeg.exe filter=lfs diff=lfs merge=lfs -text
|
37 |
+
ffprobe.exe filter=lfs diff=lfs merge=lfs -text
|
.gitignore
CHANGED
@@ -1,49 +1,129 @@
|
|
1 |
-
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
*.
|
7 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
.venv
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
.
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
LOCAL_CREPE_FIX.bat
|
34 |
-
local_fixes.py
|
35 |
-
oldinfer.py
|
36 |
-
onnx_inference_demo.py
|
37 |
-
Praat.exe
|
38 |
-
requirementsNEW.txt
|
39 |
-
rmvpe.pt
|
40 |
-
rmvpe.onnx
|
41 |
-
run_easiergui.bat
|
42 |
-
tensor-launch.py
|
43 |
-
values1.json
|
44 |
-
使用需遵守的协议-LICENSE.txt
|
45 |
-
!logs/
|
46 |
-
|
47 |
-
logs/*
|
48 |
-
logs/mute/0_gt_wavs/mute40k.spec.pt
|
49 |
-
!logs/mute/
|
|
|
1 |
+
# Applio
|
2 |
+
logs
|
3 |
+
*.exe
|
4 |
+
*.pt
|
5 |
+
*.pth
|
6 |
+
*.index
|
7 |
+
*.wav
|
8 |
+
|
9 |
+
# Byte-compiled / optimized / DLL files
|
10 |
+
__pycache__/
|
11 |
+
*.py[cod]
|
12 |
+
*$py.class
|
13 |
+
|
14 |
+
# C extensions
|
15 |
+
*.so
|
16 |
+
|
17 |
+
# Distribution / packaging
|
18 |
+
.Python
|
19 |
+
build/
|
20 |
+
develop-eggs/
|
21 |
+
dist/
|
22 |
+
downloads/
|
23 |
+
eggs/
|
24 |
+
.eggs/
|
25 |
+
lib/
|
26 |
+
lib64/
|
27 |
+
parts/
|
28 |
+
sdist/
|
29 |
+
var/
|
30 |
+
wheels/
|
31 |
+
share/python-wheels/
|
32 |
+
*.egg-info/
|
33 |
+
.installed.cfg
|
34 |
+
*.egg
|
35 |
+
MANIFEST
|
36 |
+
|
37 |
+
# PyInstaller
|
38 |
+
*.manifest
|
39 |
+
*.spec
|
40 |
+
|
41 |
+
# Installer logs
|
42 |
+
pip-log.txt
|
43 |
+
pip-delete-this-directory.txt
|
44 |
+
|
45 |
+
# Unit test / coverage reports
|
46 |
+
htmlcov/
|
47 |
+
.tox/
|
48 |
+
.nox/
|
49 |
+
.coverage
|
50 |
+
.coverage.*
|
51 |
+
.cache
|
52 |
+
nosetests.xml
|
53 |
+
coverage.xml
|
54 |
+
*.cover
|
55 |
+
*.py,cover
|
56 |
+
.hypothesis/
|
57 |
+
.pytest_cache/
|
58 |
+
cover/
|
59 |
+
|
60 |
+
# Translations
|
61 |
+
*.mo
|
62 |
+
*.pot
|
63 |
+
|
64 |
+
# Django stuff:
|
65 |
+
*.log
|
66 |
+
local_settings.py
|
67 |
+
db.sqlite3
|
68 |
+
db.sqlite3-journal
|
69 |
+
|
70 |
+
# Flask stuff:
|
71 |
+
instance/
|
72 |
+
.webassets-cache
|
73 |
+
|
74 |
+
# Scrapy stuff:
|
75 |
+
.scrapy
|
76 |
+
|
77 |
+
# Sphinx documentation
|
78 |
+
docs/_build/
|
79 |
+
|
80 |
+
# PyBuilder
|
81 |
+
.pybuilder/
|
82 |
+
target/
|
83 |
+
|
84 |
+
# Jupyter Notebook
|
85 |
+
.ipynb_checkpoints
|
86 |
+
|
87 |
+
# IPython
|
88 |
+
profile_default/
|
89 |
+
ipython_config.py
|
90 |
+
|
91 |
+
.pdm.toml
|
92 |
+
|
93 |
+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
|
94 |
+
__pypackages__/
|
95 |
+
|
96 |
+
# Celery stuff
|
97 |
+
celerybeat-schedule
|
98 |
+
celerybeat.pid
|
99 |
+
|
100 |
+
# SageMath parsed files
|
101 |
+
*.sage.py
|
102 |
+
|
103 |
+
# Environments
|
104 |
+
.env
|
105 |
.venv
|
106 |
+
env/
|
107 |
+
venv/
|
108 |
+
ENV/
|
109 |
+
env.bak/
|
110 |
+
venv.bak/
|
111 |
+
|
112 |
+
# Spyder project settings
|
113 |
+
.spyderproject
|
114 |
+
.spyproject
|
115 |
+
|
116 |
+
# Rope project settings
|
117 |
+
.ropeproject
|
118 |
+
|
119 |
+
# mkdocs documentation
|
120 |
+
/site
|
121 |
+
|
122 |
+
# Pyre type checker
|
123 |
+
.pyre/
|
124 |
+
|
125 |
+
# pytype static type analyzer
|
126 |
+
.pytype/
|
127 |
+
|
128 |
+
# Cython debug symbols
|
129 |
+
cython_debug/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Applio-RVC-Fork/utils/README.md
DELETED
@@ -1,6 +0,0 @@
|
|
1 |
-
# External Colab Code
|
2 |
-
Code used to make Google Colab work correctly
|
3 |
-
- Repo link: https://github.com/IAHispano/Applio-RVC-Fork/
|
4 |
-
|
5 |
-
Thanks to https://github.com/kalomaze/externalcolabcode
|
6 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Applio-RVC-Fork/utils/backups.py
DELETED
@@ -1,141 +0,0 @@
|
|
1 |
-
import os
|
2 |
-
import shutil
|
3 |
-
import hashlib
|
4 |
-
import time
|
5 |
-
import base64
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
LOGS_FOLDER = '/content/Applio-RVC-Fork/logs'
|
11 |
-
WEIGHTS_FOLDER = '/content/Applio-RVC-Fork/weights'
|
12 |
-
GOOGLE_DRIVE_PATH = '/content/drive/MyDrive/RVC_Backup'
|
13 |
-
|
14 |
-
def import_google_drive_backup():
|
15 |
-
print("Importing Google Drive backup...")
|
16 |
-
weights_exist = False
|
17 |
-
for root, dirs, files in os.walk(GOOGLE_DRIVE_PATH):
|
18 |
-
for filename in files:
|
19 |
-
filepath = os.path.join(root, filename)
|
20 |
-
if os.path.isfile(filepath) and not filepath.startswith(os.path.join(GOOGLE_DRIVE_PATH, 'weights')):
|
21 |
-
backup_filepath = os.path.join(LOGS_FOLDER, os.path.relpath(filepath, GOOGLE_DRIVE_PATH))
|
22 |
-
backup_folderpath = os.path.dirname(backup_filepath)
|
23 |
-
if not os.path.exists(backup_folderpath):
|
24 |
-
os.makedirs(backup_folderpath)
|
25 |
-
print(f'Created backup folder: {backup_folderpath}', flush=True)
|
26 |
-
shutil.copy2(filepath, backup_filepath) # copy file with metadata
|
27 |
-
print(f'Imported file from Google Drive backup: {filename}')
|
28 |
-
elif filepath.startswith(os.path.join(GOOGLE_DRIVE_PATH, 'weights')) and filename.endswith('.pth'):
|
29 |
-
weights_exist = True
|
30 |
-
weights_filepath = os.path.join(WEIGHTS_FOLDER, os.path.relpath(filepath, os.path.join(GOOGLE_DRIVE_PATH, 'weights')))
|
31 |
-
weights_folderpath = os.path.dirname(weights_filepath)
|
32 |
-
if not os.path.exists(weights_folderpath):
|
33 |
-
os.makedirs(weights_folderpath)
|
34 |
-
print(f'Created weights folder: {weights_folderpath}', flush=True)
|
35 |
-
shutil.copy2(filepath, weights_filepath) # copy file with metadata
|
36 |
-
print(f'Imported file from weights: {filename}')
|
37 |
-
if weights_exist:
|
38 |
-
print("Copied weights from Google Drive backup to local weights folder.")
|
39 |
-
else:
|
40 |
-
print("No weights found in Google Drive backup.")
|
41 |
-
print("Google Drive backup import completed.")
|
42 |
-
|
43 |
-
def get_md5_hash(file_path):
|
44 |
-
hash_md5 = hashlib.md5()
|
45 |
-
with open(file_path, "rb") as f:
|
46 |
-
for chunk in iter(lambda: f.read(4096), b""):
|
47 |
-
hash_md5.update(chunk)
|
48 |
-
return hash_md5.hexdigest()
|
49 |
-
|
50 |
-
def copy_weights_folder_to_drive():
|
51 |
-
destination_folder = os.path.join(GOOGLE_DRIVE_PATH, 'weights')
|
52 |
-
try:
|
53 |
-
if not os.path.exists(destination_folder):
|
54 |
-
os.makedirs(destination_folder)
|
55 |
-
|
56 |
-
num_copied = 0
|
57 |
-
for filename in os.listdir(WEIGHTS_FOLDER):
|
58 |
-
if filename.endswith('.pth'):
|
59 |
-
source_file = os.path.join(WEIGHTS_FOLDER, filename)
|
60 |
-
destination_file = os.path.join(destination_folder, filename)
|
61 |
-
if not os.path.exists(destination_file):
|
62 |
-
shutil.copy2(source_file, destination_file)
|
63 |
-
num_copied += 1
|
64 |
-
print(f"Copied {filename} to Google Drive!")
|
65 |
-
|
66 |
-
if num_copied == 0:
|
67 |
-
print("No new finished models found for copying.")
|
68 |
-
else:
|
69 |
-
print(f"Finished copying {num_copied} files to Google Drive!")
|
70 |
-
|
71 |
-
except Exception as e:
|
72 |
-
print(f"An error occurred while copying weights: {str(e)}")
|
73 |
-
# You can log the error or take appropriate actions here.
|
74 |
-
|
75 |
-
def backup_files():
|
76 |
-
print("\nStarting backup loop...")
|
77 |
-
last_backup_timestamps_path = os.path.join(LOGS_FOLDER, 'last_backup_timestamps.txt')
|
78 |
-
fully_updated = False # boolean to track if all files are up to date
|
79 |
-
|
80 |
-
while True:
|
81 |
-
try:
|
82 |
-
updated = False # flag to check if any files were updated
|
83 |
-
last_backup_timestamps = {}
|
84 |
-
|
85 |
-
try:
|
86 |
-
with open(last_backup_timestamps_path, 'r') as f:
|
87 |
-
last_backup_timestamps = dict(line.strip().split(':') for line in f)
|
88 |
-
except FileNotFoundError:
|
89 |
-
pass # File does not exist yet, which is fine
|
90 |
-
|
91 |
-
for root, dirs, files in os.walk(LOGS_FOLDER):
|
92 |
-
for filename in files:
|
93 |
-
if filename != 'last_backup_timestamps.txt':
|
94 |
-
filepath = os.path.join(root, filename)
|
95 |
-
if os.path.isfile(filepath):
|
96 |
-
backup_filepath = os.path.join(GOOGLE_DRIVE_PATH, os.path.relpath(filepath, LOGS_FOLDER))
|
97 |
-
backup_folderpath = os.path.dirname(backup_filepath)
|
98 |
-
if not os.path.exists(backup_folderpath):
|
99 |
-
os.makedirs(backup_folderpath)
|
100 |
-
print(f'Created backup folder: {backup_folderpath}', flush=True)
|
101 |
-
# check if file has changed since last backup
|
102 |
-
last_backup_timestamp = last_backup_timestamps.get(filepath)
|
103 |
-
current_timestamp = os.path.getmtime(filepath)
|
104 |
-
if last_backup_timestamp is None or float(last_backup_timestamp) < current_timestamp:
|
105 |
-
shutil.copy2(filepath, backup_filepath) # copy file with metadata
|
106 |
-
last_backup_timestamps[filepath] = str(current_timestamp) # update last backup timestamp
|
107 |
-
if last_backup_timestamp is None:
|
108 |
-
print(f'Backed up file: {filename}')
|
109 |
-
else:
|
110 |
-
print(f'Updating backed up file: {filename}')
|
111 |
-
updated = True
|
112 |
-
fully_updated = False # if a file is updated, all files are not up to date
|
113 |
-
|
114 |
-
# check if any files were deleted in Colab and delete them from the backup drive
|
115 |
-
for filepath in list(last_backup_timestamps.keys()):
|
116 |
-
if not os.path.exists(filepath):
|
117 |
-
backup_filepath = os.path.join(GOOGLE_DRIVE_PATH, os.path.relpath(filepath, LOGS_FOLDER))
|
118 |
-
if os.path.exists(backup_filepath):
|
119 |
-
os.remove(backup_filepath)
|
120 |
-
print(f'Deleted file: {filepath}')
|
121 |
-
del last_backup_timestamps[filepath]
|
122 |
-
updated = True
|
123 |
-
fully_updated = False # if a file is deleted, all files are not up to date
|
124 |
-
|
125 |
-
if not updated and not fully_updated:
|
126 |
-
print("Files are up to date.")
|
127 |
-
fully_updated = True # if all files are up to date, set the boolean to True
|
128 |
-
copy_weights_folder_to_drive()
|
129 |
-
sleep_time = 15
|
130 |
-
else:
|
131 |
-
sleep_time = 0.1
|
132 |
-
|
133 |
-
with open(last_backup_timestamps_path, 'w') as f:
|
134 |
-
for filepath, timestamp in last_backup_timestamps.items():
|
135 |
-
f.write(f'{filepath}:{timestamp}\n')
|
136 |
-
|
137 |
-
time.sleep(sleep_time) # wait for 15 seconds before checking again, or 0.1s if not fully up to date to speed up backups
|
138 |
-
|
139 |
-
except Exception as e:
|
140 |
-
print(f"An error occurred: {str(e)}")
|
141 |
-
# You can log the error or take appropriate actions here.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Applio-RVC-Fork/utils/backups_test.py
DELETED
@@ -1,138 +0,0 @@
|
|
1 |
-
|
2 |
-
import os
|
3 |
-
import shutil
|
4 |
-
import hashlib
|
5 |
-
import time
|
6 |
-
|
7 |
-
LOGS_FOLDER = '/content/Applio-RVC-Fork/logs'
|
8 |
-
WEIGHTS_FOLDER = '/content/Applio-RVC-Fork/weights'
|
9 |
-
GOOGLE_DRIVE_PATH = '/content/drive/MyDrive/RVC_Backup'
|
10 |
-
|
11 |
-
def import_google_drive_backup():
|
12 |
-
print("Importing Google Drive backup...")
|
13 |
-
GOOGLE_DRIVE_PATH = '/content/drive/MyDrive/RVC_Backup' # change this to your Google Drive path
|
14 |
-
LOGS_FOLDER = '/content/Applio-RVC-Fork/logs'
|
15 |
-
WEIGHTS_FOLDER = '/content/Applio-RVC-Fork/weights'
|
16 |
-
weights_exist = False
|
17 |
-
files_to_copy = []
|
18 |
-
weights_to_copy = []
|
19 |
-
|
20 |
-
def handle_files(root, files, is_weight_files=False):
|
21 |
-
for filename in files:
|
22 |
-
filepath = os.path.join(root, filename)
|
23 |
-
if filename.endswith('.pth') and is_weight_files:
|
24 |
-
weights_exist = True
|
25 |
-
backup_filepath = os.path.join(WEIGHTS_FOLDER, os.path.relpath(filepath, GOOGLE_DRIVE_PATH))
|
26 |
-
else:
|
27 |
-
backup_filepath = os.path.join(LOGS_FOLDER, os.path.relpath(filepath, GOOGLE_DRIVE_PATH))
|
28 |
-
backup_folderpath = os.path.dirname(backup_filepath)
|
29 |
-
if not os.path.exists(backup_folderpath):
|
30 |
-
os.makedirs(backup_folderpath)
|
31 |
-
print(f'Created folder: {backup_folderpath}', flush=True)
|
32 |
-
if is_weight_files:
|
33 |
-
weights_to_copy.append((filepath, backup_filepath))
|
34 |
-
else:
|
35 |
-
files_to_copy.append((filepath, backup_filepath))
|
36 |
-
|
37 |
-
for root, dirs, files in os.walk(os.path.join(GOOGLE_DRIVE_PATH, 'logs')):
|
38 |
-
handle_files(root, files)
|
39 |
-
|
40 |
-
for root, dirs, files in os.walk(os.path.join(GOOGLE_DRIVE_PATH, 'weights')):
|
41 |
-
handle_files(root, files, True)
|
42 |
-
|
43 |
-
# Copy files in batches
|
44 |
-
total_files = len(files_to_copy)
|
45 |
-
start_time = time.time()
|
46 |
-
for i, (source, dest) in enumerate(files_to_copy, start=1):
|
47 |
-
with open(source, 'rb') as src, open(dest, 'wb') as dst:
|
48 |
-
shutil.copyfileobj(src, dst, 1024*1024) # 1MB buffer size
|
49 |
-
# Report progress every 5 seconds or after every 100 files, whichever is less frequent
|
50 |
-
if time.time() - start_time > 5 or i % 100 == 0:
|
51 |
-
print(f'\rCopying file {i} of {total_files} ({i * 100 / total_files:.2f}%)', end="")
|
52 |
-
start_time = time.time()
|
53 |
-
print(f'\nImported {len(files_to_copy)} files from Google Drive backup')
|
54 |
-
|
55 |
-
# Copy weights in batches
|
56 |
-
total_weights = len(weights_to_copy)
|
57 |
-
start_time = time.time()
|
58 |
-
for i, (source, dest) in enumerate(weights_to_copy, start=1):
|
59 |
-
with open(source, 'rb') as src, open(dest, 'wb') as dst:
|
60 |
-
shutil.copyfileobj(src, dst, 1024*1024) # 1MB buffer size
|
61 |
-
# Report progress every 5 seconds or after every 100 files, whichever is less frequent
|
62 |
-
if time.time() - start_time > 5 or i % 100 == 0:
|
63 |
-
print(f'\rCopying weight file {i} of {total_weights} ({i * 100 / total_weights:.2f}%)', end="")
|
64 |
-
start_time = time.time()
|
65 |
-
if weights_exist:
|
66 |
-
print(f'\nImported {len(weights_to_copy)} weight files')
|
67 |
-
print("Copied weights from Google Drive backup to local weights folder.")
|
68 |
-
else:
|
69 |
-
print("\nNo weights found in Google Drive backup.")
|
70 |
-
print("Google Drive backup import completed.")
|
71 |
-
|
72 |
-
def backup_files():
|
73 |
-
print("\n Starting backup loop...")
|
74 |
-
last_backup_timestamps_path = os.path.join(LOGS_FOLDER, 'last_backup_timestamps.txt')
|
75 |
-
fully_updated = False # boolean to track if all files are up to date
|
76 |
-
try:
|
77 |
-
with open(last_backup_timestamps_path, 'r') as f:
|
78 |
-
last_backup_timestamps = dict(line.strip().split(':') for line in f)
|
79 |
-
except:
|
80 |
-
last_backup_timestamps = {}
|
81 |
-
|
82 |
-
while True:
|
83 |
-
updated = False
|
84 |
-
files_to_copy = []
|
85 |
-
files_to_delete = []
|
86 |
-
|
87 |
-
for root, dirs, files in os.walk(LOGS_FOLDER):
|
88 |
-
for filename in files:
|
89 |
-
if filename != 'last_backup_timestamps.txt':
|
90 |
-
filepath = os.path.join(root, filename)
|
91 |
-
if os.path.isfile(filepath):
|
92 |
-
backup_filepath = os.path.join(GOOGLE_DRIVE_PATH, os.path.relpath(filepath, LOGS_FOLDER))
|
93 |
-
backup_folderpath = os.path.dirname(backup_filepath)
|
94 |
-
|
95 |
-
if not os.path.exists(backup_folderpath):
|
96 |
-
os.makedirs(backup_folderpath)
|
97 |
-
print(f'Created backup folder: {backup_folderpath}', flush=True)
|
98 |
-
|
99 |
-
# check if file has changed since last backup
|
100 |
-
last_backup_timestamp = last_backup_timestamps.get(filepath)
|
101 |
-
current_timestamp = os.path.getmtime(filepath)
|
102 |
-
if last_backup_timestamp is None or float(last_backup_timestamp) < current_timestamp:
|
103 |
-
files_to_copy.append((filepath, backup_filepath)) # add to list of files to copy
|
104 |
-
last_backup_timestamps[filepath] = str(current_timestamp) # update last backup timestamp
|
105 |
-
updated = True
|
106 |
-
fully_updated = False # if a file is updated, all files are not up to date
|
107 |
-
|
108 |
-
# check if any files were deleted in Colab and delete them from the backup drive
|
109 |
-
for filepath in list(last_backup_timestamps.keys()):
|
110 |
-
if not os.path.exists(filepath):
|
111 |
-
backup_filepath = os.path.join(GOOGLE_DRIVE_PATH, os.path.relpath(filepath, LOGS_FOLDER))
|
112 |
-
if os.path.exists(backup_filepath):
|
113 |
-
files_to_delete.append(backup_filepath) # add to list of files to delete
|
114 |
-
del last_backup_timestamps[filepath]
|
115 |
-
updated = True
|
116 |
-
fully_updated = False # if a file is deleted, all files are not up to date
|
117 |
-
|
118 |
-
# Copy files in batches
|
119 |
-
if files_to_copy:
|
120 |
-
for source, dest in files_to_copy:
|
121 |
-
shutil.copy2(source, dest)
|
122 |
-
print(f'Copied or updated {len(files_to_copy)} files')
|
123 |
-
|
124 |
-
# Delete files in batches
|
125 |
-
if files_to_delete:
|
126 |
-
for file in files_to_delete:
|
127 |
-
os.remove(file)
|
128 |
-
print(f'Deleted {len(files_to_delete)} files')
|
129 |
-
|
130 |
-
if not updated and not fully_updated:
|
131 |
-
print("Files are up to date.")
|
132 |
-
fully_updated = True # if all files are up to date, set the boolean to True
|
133 |
-
copy_weights_folder_to_drive()
|
134 |
-
|
135 |
-
with open(last_backup_timestamps_path, 'w') as f:
|
136 |
-
for filepath, timestamp in last_backup_timestamps.items():
|
137 |
-
f.write(f'{filepath}:{timestamp}\n')
|
138 |
-
time.sleep(15) # wait for 15 seconds before checking again
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Applio-RVC-Fork/utils/clonerepo_experimental.py
DELETED
@@ -1,253 +0,0 @@
|
|
1 |
-
import os
|
2 |
-
import subprocess
|
3 |
-
import shutil
|
4 |
-
from concurrent.futures import ThreadPoolExecutor, as_completed
|
5 |
-
from tqdm.notebook import tqdm
|
6 |
-
from pathlib import Path
|
7 |
-
import requests
|
8 |
-
|
9 |
-
def run_script():
|
10 |
-
def run_cmd(cmd):
|
11 |
-
process = subprocess.run(cmd, shell=True, check=True, text=True)
|
12 |
-
return process.stdout
|
13 |
-
|
14 |
-
# Change the current directory to /content/
|
15 |
-
os.chdir('/content/')
|
16 |
-
print("Changing dir to /content/")
|
17 |
-
|
18 |
-
# Your function to edit the file
|
19 |
-
def edit_file(file_path):
|
20 |
-
temp_file_path = "/tmp/temp_file.py"
|
21 |
-
changes_made = False
|
22 |
-
with open(file_path, "r") as file, open(temp_file_path, "w") as temp_file:
|
23 |
-
previous_line = ""
|
24 |
-
second_previous_line = ""
|
25 |
-
for line in file:
|
26 |
-
new_line = line.replace("value=160", "value=128")
|
27 |
-
if new_line != line:
|
28 |
-
print("Replaced 'value=160' with 'value=128'")
|
29 |
-
changes_made = True
|
30 |
-
line = new_line
|
31 |
-
|
32 |
-
new_line = line.replace("crepe hop length: 160", "crepe hop length: 128")
|
33 |
-
if new_line != line:
|
34 |
-
print("Replaced 'crepe hop length: 160' with 'crepe hop length: 128'")
|
35 |
-
changes_made = True
|
36 |
-
line = new_line
|
37 |
-
|
38 |
-
new_line = line.replace("value=0.88", "value=0.75")
|
39 |
-
if new_line != line:
|
40 |
-
print("Replaced 'value=0.88' with 'value=0.75'")
|
41 |
-
changes_made = True
|
42 |
-
line = new_line
|
43 |
-
|
44 |
-
if "label=i18n(\"输入源音量包络替换输出音量包络融合比例,越靠近1越使用输出包络\")" in previous_line and "value=1," in line:
|
45 |
-
new_line = line.replace("value=1,", "value=0.25,")
|
46 |
-
if new_line != line:
|
47 |
-
print("Replaced 'value=1,' with 'value=0.25,' based on the condition")
|
48 |
-
changes_made = True
|
49 |
-
line = new_line
|
50 |
-
|
51 |
-
if "label=i18n(\"总训练轮数total_epoch\")" in previous_line and "value=20," in line:
|
52 |
-
new_line = line.replace("value=20,", "value=500,")
|
53 |
-
if new_line != line:
|
54 |
-
print("Replaced 'value=20,' with 'value=500,' based on the condition for DEFAULT EPOCH")
|
55 |
-
changes_made = True
|
56 |
-
line = new_line
|
57 |
-
|
58 |
-
if 'choices=["pm", "harvest", "dio", "crepe", "crepe-tiny", "mangio-crepe", "mangio-crepe-tiny"], # Fork Feature. Add Crepe-Tiny' in previous_line:
|
59 |
-
if 'value="pm",' in line:
|
60 |
-
new_line = line.replace('value="pm",', 'value="mangio-crepe",')
|
61 |
-
if new_line != line:
|
62 |
-
print("Replaced 'value=\"pm\",' with 'value=\"mangio-crepe\",' based on the condition")
|
63 |
-
changes_made = True
|
64 |
-
line = new_line
|
65 |
-
|
66 |
-
new_line = line.replace('label=i18n("输入训练文件夹路径"), value="E:\\\\语音音频+标注\\\\米津玄师\\\\src"', 'label=i18n("输入训练文件夹路径"), value="/content/dataset/"')
|
67 |
-
if new_line != line:
|
68 |
-
print("Replaced 'label=i18n(\"输入训练文件夹路径\"), value=\"E:\\\\语音音频+标注\\\\米津玄师\\\\src\"' with 'label=i18n(\"输入训练文件夹路径\"), value=\"/content/dataset/\"'")
|
69 |
-
changes_made = True
|
70 |
-
line = new_line
|
71 |
-
|
72 |
-
if 'label=i18n("是否仅保存最新的ckpt文件以节省硬盘空间"),' in second_previous_line:
|
73 |
-
if 'value=i18n("否"),' in line:
|
74 |
-
new_line = line.replace('value=i18n("否"),', 'value=i18n("是"),')
|
75 |
-
if new_line != line:
|
76 |
-
print("Replaced 'value=i18n(\"否\"),' with 'value=i18n(\"是\"),' based on the condition for SAVE ONLY LATEST")
|
77 |
-
changes_made = True
|
78 |
-
line = new_line
|
79 |
-
|
80 |
-
if 'label=i18n("是否在每次保存时间点将最终小模型保存至weights文件夹"),' in second_previous_line:
|
81 |
-
if 'value=i18n("否"),' in line:
|
82 |
-
new_line = line.replace('value=i18n("否"),', 'value=i18n("是"),')
|
83 |
-
if new_line != line:
|
84 |
-
print("Replaced 'value=i18n(\"否\"),' with 'value=i18n(\"是\"),' based on the condition for SAVE SMALL WEIGHTS")
|
85 |
-
changes_made = True
|
86 |
-
line = new_line
|
87 |
-
|
88 |
-
temp_file.write(line)
|
89 |
-
second_previous_line = previous_line
|
90 |
-
previous_line = line
|
91 |
-
|
92 |
-
# After finished, we replace the original file with the temp one
|
93 |
-
import shutil
|
94 |
-
shutil.move(temp_file_path, file_path)
|
95 |
-
|
96 |
-
if changes_made:
|
97 |
-
print("Changes made and file saved successfully.")
|
98 |
-
else:
|
99 |
-
print("No changes were needed.")
|
100 |
-
|
101 |
-
# Define the repo path
|
102 |
-
repo_path = '/content/Applio-RVC-Fork'
|
103 |
-
|
104 |
-
def copy_all_files_in_directory(src_dir, dest_dir):
|
105 |
-
# Iterate over all files in source directory
|
106 |
-
for item in Path(src_dir).glob('*'):
|
107 |
-
if item.is_file():
|
108 |
-
# Copy each file to destination directory
|
109 |
-
shutil.copy(item, dest_dir)
|
110 |
-
else:
|
111 |
-
# If it's a directory, make a new directory in the destination and copy the files recursively
|
112 |
-
new_dest = Path(dest_dir) / item.name
|
113 |
-
new_dest.mkdir(exist_ok=True)
|
114 |
-
copy_all_files_in_directory(str(item), str(new_dest))
|
115 |
-
|
116 |
-
def clone_and_copy_repo(repo_path):
|
117 |
-
# New repository link
|
118 |
-
new_repo_link = "https://github.com/IAHispano/Applio-RVC-Fork/"
|
119 |
-
# Temporary path to clone the repository
|
120 |
-
temp_repo_path = "/content/temp_Applio-RVC-Fork"
|
121 |
-
# New folder name
|
122 |
-
new_folder_name = "Applio-RVC-Fork"
|
123 |
-
|
124 |
-
# Clone the latest code from the new repository to a temporary location
|
125 |
-
run_cmd(f"git clone {new_repo_link} {temp_repo_path}")
|
126 |
-
os.chdir(temp_repo_path)
|
127 |
-
|
128 |
-
run_cmd(f"git checkout 3fa4dad3d8961e5ca2522e9e12c0b4ddb71ad402")
|
129 |
-
run_cmd(f"git checkout f9e606c279cb49420597519b0a83b92be81e42e4")
|
130 |
-
run_cmd(f"git checkout 9e305588844c5442d58add1061b29beeca89d679")
|
131 |
-
run_cmd(f"git checkout bf92dc1eb54b4f28d6396a4d1820a25896cc9af8")
|
132 |
-
run_cmd(f"git checkout c3810e197d3cb98039973b2f723edf967ecd9e61")
|
133 |
-
run_cmd(f"git checkout a33159efd134c2413b0afe26a76b7dc87926d2de")
|
134 |
-
run_cmd(f"git checkout 24e251fb62c662e39ac5cf9253cc65deb9be94ec")
|
135 |
-
run_cmd(f"git checkout ad5667d3017e93232dba85969cddac1322ba2902")
|
136 |
-
run_cmd(f"git checkout ce9715392cf52dd5a0e18e00d1b5e408f08dbf27")
|
137 |
-
run_cmd(f"git checkout 7c7da3f2ac68f3bd8f3ad5ca5c700f18ab9f90eb")
|
138 |
-
run_cmd(f"git checkout 4ac395eab101955e8960b50d772c26f592161764")
|
139 |
-
run_cmd(f"git checkout b15b358702294c7375761584e5276c811ffab5e8")
|
140 |
-
run_cmd(f"git checkout 1501793dc490982db9aca84a50647764caa66e51")
|
141 |
-
run_cmd(f"git checkout 21f7faf57219c75e6ba837062350391a803e9ae2")
|
142 |
-
run_cmd(f"git checkout b5eb689fbc409b49f065a431817f822f554cebe7")
|
143 |
-
run_cmd(f"git checkout 7e02fae1ebf24cb151bf6cbe787d06734aa65862")
|
144 |
-
run_cmd(f"git checkout 6aea5ea18ed0b9a1e03fa5d268d6bc3c616672a9")
|
145 |
-
run_cmd(f"git checkout f0f9b25717e59116473fb42bd7f9252cfc32b398")
|
146 |
-
run_cmd(f"git checkout b394de424088a81fc081224bc27338a8651ad3b2")
|
147 |
-
run_cmd(f"git checkout f1999406a88b80c965d2082340f5ea2bfa9ab67a")
|
148 |
-
run_cmd(f"git checkout d98a0fa8dc715308dfc73eac5c553b69c6ee072b")
|
149 |
-
run_cmd(f"git checkout d73267a415fb0eba98477afa43ef71ffd82a7157")
|
150 |
-
run_cmd(f"git checkout 1a03d01356ae79179e1fb8d8915dc9cc79925742")
|
151 |
-
run_cmd(f"git checkout 81497bb3115e92c754300c9b3992df428886a3e9")
|
152 |
-
run_cmd(f"git checkout c5af1f8edcf79cb70f065c0110e279e78e48caf9")
|
153 |
-
run_cmd(f"git checkout cdb3c90109387fa4dfa92f53c3864c71170ffc77")
|
154 |
-
|
155 |
-
# Edit the file here, before copying
|
156 |
-
#edit_file(f"{temp_repo_path}/infer-web.py")
|
157 |
-
|
158 |
-
# Copy all files from the cloned repository to the existing path
|
159 |
-
copy_all_files_in_directory(temp_repo_path, repo_path)
|
160 |
-
print(f"Copying all {new_folder_name} files from GitHub.")
|
161 |
-
|
162 |
-
# Change working directory back to /content/
|
163 |
-
os.chdir('/content/')
|
164 |
-
print("Changed path back to /content/")
|
165 |
-
|
166 |
-
# Remove the temporary cloned repository
|
167 |
-
shutil.rmtree(temp_repo_path)
|
168 |
-
|
169 |
-
# Call the function
|
170 |
-
clone_and_copy_repo(repo_path)
|
171 |
-
|
172 |
-
# Download the credentials file for RVC archive sheet
|
173 |
-
os.makedirs('/content/Applio-RVC-Fork/stats/', exist_ok=True)
|
174 |
-
run_cmd("wget -q https://cdn.discordapp.com/attachments/945486970883285045/1114717554481569802/peppy-generator-388800-07722f17a188.json -O /content/Applio-RVC-Fork/stats/peppy-generator-388800-07722f17a188.json")
|
175 |
-
|
176 |
-
# Forcefully delete any existing torchcrepe dependencies downloaded from an earlier run just in case
|
177 |
-
shutil.rmtree('/content/Applio-RVC-Fork/torchcrepe', ignore_errors=True)
|
178 |
-
shutil.rmtree('/content/torchcrepe', ignore_errors=True)
|
179 |
-
|
180 |
-
# Download the torchcrepe folder from the maxrmorrison/torchcrepe repository
|
181 |
-
run_cmd("git clone https://github.com/maxrmorrison/torchcrepe.git")
|
182 |
-
shutil.move('/content/torchcrepe/torchcrepe', '/content/Applio-RVC-Fork/')
|
183 |
-
shutil.rmtree('/content/torchcrepe', ignore_errors=True) # Delete the torchcrepe repository folder
|
184 |
-
|
185 |
-
# Change the current directory to /content/Applio-RVC-Fork
|
186 |
-
os.chdir('/content/Applio-RVC-Fork')
|
187 |
-
os.makedirs('pretrained', exist_ok=True)
|
188 |
-
os.makedirs('uvr5_weights', exist_ok=True)
|
189 |
-
|
190 |
-
def download_file(url, filepath):
|
191 |
-
response = requests.get(url, stream=True)
|
192 |
-
response.raise_for_status()
|
193 |
-
|
194 |
-
with open(filepath, "wb") as file:
|
195 |
-
for chunk in response.iter_content(chunk_size=8192):
|
196 |
-
if chunk:
|
197 |
-
file.write(chunk)
|
198 |
-
|
199 |
-
def download_pretrained_models():
|
200 |
-
pretrained_models = {
|
201 |
-
"pretrained": [
|
202 |
-
"D40k.pth",
|
203 |
-
"G40k.pth",
|
204 |
-
"f0D40k.pth",
|
205 |
-
"f0G40k.pth"
|
206 |
-
],
|
207 |
-
"pretrained_v2": [
|
208 |
-
"D40k.pth",
|
209 |
-
"G40k.pth",
|
210 |
-
"f0D40k.pth",
|
211 |
-
"f0G40k.pth",
|
212 |
-
"f0G48k.pth",
|
213 |
-
"f0D48k.pth"
|
214 |
-
],
|
215 |
-
"uvr5_weights": [
|
216 |
-
"HP2-人声vocals+非人声instrumentals.pth",
|
217 |
-
"HP5-主旋律人声vocals+其他instrumentals.pth",
|
218 |
-
"VR-DeEchoNormal.pth",
|
219 |
-
"VR-DeEchoDeReverb.pth",
|
220 |
-
"VR-DeEchoAggressive.pth",
|
221 |
-
"HP5_only_main_vocal.pth",
|
222 |
-
"HP3_all_vocals.pth",
|
223 |
-
"HP2_all_vocals.pth"
|
224 |
-
]
|
225 |
-
}
|
226 |
-
part2 = "I"
|
227 |
-
base_url = "https://huggingface.co/lj1995/VoiceConversionWebU" + part2 + "/resolve/main/"
|
228 |
-
base_path = "/content/Applio-RVC-Fork/"
|
229 |
-
base_pathm = base_path
|
230 |
-
|
231 |
-
# Calculate total number of files to download
|
232 |
-
total_files = sum(len(files) for files in pretrained_models.values()) + 1 # +1 for hubert_base.pt
|
233 |
-
|
234 |
-
with tqdm(total=total_files, desc="Downloading files") as pbar:
|
235 |
-
for folder, models in pretrained_models.items():
|
236 |
-
folder_path = os.path.join(base_path, folder)
|
237 |
-
os.makedirs(folder_path, exist_ok=True)
|
238 |
-
for model in models:
|
239 |
-
url = base_url + folder + "/" + model
|
240 |
-
filepath = os.path.join(folder_path, model)
|
241 |
-
download_file(url, filepath)
|
242 |
-
pbar.update()
|
243 |
-
|
244 |
-
# Download hubert_base.pt to the base path
|
245 |
-
hubert_url = base_url + "hubert_base.pt"
|
246 |
-
hubert_filepath = os.path.join(base_pathm, "hubert_base.pt")
|
247 |
-
download_file(hubert_url, hubert_filepath)
|
248 |
-
pbar.update()
|
249 |
-
def clone_repository(run_download):
|
250 |
-
with ThreadPoolExecutor(max_workers=2) as executor:
|
251 |
-
executor.submit(run_script)
|
252 |
-
if run_download:
|
253 |
-
executor.submit(download_pretrained_models)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Applio-RVC-Fork/utils/dependency.py
DELETED
@@ -1,170 +0,0 @@
|
|
1 |
-
import os
|
2 |
-
import csv
|
3 |
-
import shutil
|
4 |
-
import tarfile
|
5 |
-
import subprocess
|
6 |
-
from pathlib import Path
|
7 |
-
from datetime import datetime
|
8 |
-
|
9 |
-
def install_packages_but_jank_af():
|
10 |
-
packages = ['build-essential', 'python3-dev', 'ffmpeg', 'aria2']
|
11 |
-
pip_packages = ['pip', 'setuptools', 'wheel', 'httpx==0.23.0', 'faiss-gpu', 'fairseq', 'gradio==3.34.0',
|
12 |
-
'ffmpeg', 'ffmpeg-python', 'praat-parselmouth', 'pyworld', 'numpy==1.23.5',
|
13 |
-
'numba==0.56.4', 'librosa==0.9.2', 'mega.py', 'gdown', 'onnxruntime', 'pyngrok==4.1.12',
|
14 |
-
'gTTS', 'elevenlabs', 'wget', 'tensorboardX', 'unidecode', 'huggingface-hub', 'stftpitchshift==1.5.1',
|
15 |
-
'yt-dlp', 'pedalboard', 'pathvalidate', 'nltk', 'edge-tts', 'git+https://github.com/suno-ai/bark.git', 'python-dotenv' , 'av']
|
16 |
-
|
17 |
-
print("Updating and installing system packages...")
|
18 |
-
for package in packages:
|
19 |
-
print(f"Installing {package}...")
|
20 |
-
subprocess.check_call(['apt-get', 'install', '-qq', '-y', package])
|
21 |
-
|
22 |
-
print("Updating and installing pip packages...")
|
23 |
-
subprocess.check_call(['pip', 'install', '--upgrade'] + pip_packages)
|
24 |
-
|
25 |
-
print('Packages up to date.')
|
26 |
-
|
27 |
-
|
28 |
-
def setup_environment(ForceUpdateDependencies, ForceTemporaryStorage):
|
29 |
-
# Mounting Google Drive
|
30 |
-
if not ForceTemporaryStorage:
|
31 |
-
from google.colab import drive
|
32 |
-
|
33 |
-
if not os.path.exists('/content/drive'):
|
34 |
-
drive.mount('/content/drive')
|
35 |
-
else:
|
36 |
-
print('Drive is already mounted. Proceeding...')
|
37 |
-
|
38 |
-
# Function to install dependencies with progress
|
39 |
-
def install_packages():
|
40 |
-
packages = ['build-essential', 'python3-dev', 'ffmpeg', 'aria2']
|
41 |
-
pip_packages = ['pip', 'setuptools', 'wheel', 'httpx==0.23.0', 'faiss-gpu', 'fairseq', 'gradio==3.34.0',
|
42 |
-
'ffmpeg', 'ffmpeg-python', 'praat-parselmouth', 'pyworld', 'numpy==1.23.5',
|
43 |
-
'numba==0.56.4', 'librosa==0.9.2', 'mega.py', 'gdown', 'onnxruntime', 'pyngrok==4.1.12',
|
44 |
-
'gTTS', 'elevenlabs', 'wget', 'tensorboardX', 'unidecode', 'huggingface-hub', 'stftpitchshift==1.5.1',
|
45 |
-
'yt-dlp', 'pedalboard', 'pathvalidate', 'nltk', 'edge-tts', 'git+https://github.com/suno-ai/bark.git', 'python-dotenv' , 'av']
|
46 |
-
|
47 |
-
print("Updating and installing system packages...")
|
48 |
-
for package in packages:
|
49 |
-
print(f"Installing {package}...")
|
50 |
-
subprocess.check_call(['apt-get', 'install', '-qq', '-y', package])
|
51 |
-
|
52 |
-
print("Updating and installing pip packages...")
|
53 |
-
subprocess.check_call(['pip', 'install', '--upgrade'] + pip_packages)
|
54 |
-
|
55 |
-
|
56 |
-
print('Packages up to date.')
|
57 |
-
|
58 |
-
# Function to scan a directory and writes filenames and timestamps
|
59 |
-
def scan_and_write(base_path, output_file):
|
60 |
-
with open(output_file, 'w', newline='') as f:
|
61 |
-
writer = csv.writer(f)
|
62 |
-
for dirpath, dirs, files in os.walk(base_path):
|
63 |
-
for filename in files:
|
64 |
-
fname = os.path.join(dirpath, filename)
|
65 |
-
try:
|
66 |
-
mtime = os.path.getmtime(fname)
|
67 |
-
writer.writerow([fname, mtime])
|
68 |
-
except Exception as e:
|
69 |
-
print(f'Skipping irrelevant nonexistent file {fname}: {str(e)}')
|
70 |
-
print(f'Finished recording filesystem timestamps to {output_file}.')
|
71 |
-
|
72 |
-
# Function to compare files
|
73 |
-
def compare_files(old_file, new_file):
|
74 |
-
old_files = {}
|
75 |
-
new_files = {}
|
76 |
-
|
77 |
-
with open(old_file, 'r') as f:
|
78 |
-
reader = csv.reader(f)
|
79 |
-
old_files = {rows[0]:rows[1] for rows in reader}
|
80 |
-
|
81 |
-
with open(new_file, 'r') as f:
|
82 |
-
reader = csv.reader(f)
|
83 |
-
new_files = {rows[0]:rows[1] for rows in reader}
|
84 |
-
|
85 |
-
removed_files = old_files.keys() - new_files.keys()
|
86 |
-
added_files = new_files.keys() - old_files.keys()
|
87 |
-
unchanged_files = old_files.keys() & new_files.keys()
|
88 |
-
|
89 |
-
changed_files = {f for f in unchanged_files if old_files[f] != new_files[f]}
|
90 |
-
|
91 |
-
for file in removed_files:
|
92 |
-
print(f'File has been removed: {file}')
|
93 |
-
|
94 |
-
for file in changed_files:
|
95 |
-
print(f'File has been updated: {file}')
|
96 |
-
|
97 |
-
return list(added_files) + list(changed_files)
|
98 |
-
|
99 |
-
# Check if CachedRVC.tar.gz exists
|
100 |
-
if ForceTemporaryStorage:
|
101 |
-
file_path = '/content/CachedRVC.tar.gz'
|
102 |
-
else:
|
103 |
-
file_path = '/content/drive/MyDrive/RVC_Cached/CachedRVC.tar.gz'
|
104 |
-
|
105 |
-
content_file_path = '/content/CachedRVC.tar.gz'
|
106 |
-
extract_path = '/'
|
107 |
-
|
108 |
-
if not os.path.exists(file_path):
|
109 |
-
folder_path = os.path.dirname(file_path)
|
110 |
-
os.makedirs(folder_path, exist_ok=True)
|
111 |
-
print('No cached dependency install found. Attempting to download GitHub backup..')
|
112 |
-
|
113 |
-
try:
|
114 |
-
download_url = "https://github.com/kalomaze/QuickMangioFixes/releases/download/release3/CachedRVC.tar.gz"
|
115 |
-
subprocess.run(["wget", "-O", file_path, download_url])
|
116 |
-
print('Download completed successfully!')
|
117 |
-
except Exception as e:
|
118 |
-
print('Download failed:', str(e))
|
119 |
-
|
120 |
-
# Delete the failed download file
|
121 |
-
if os.path.exists(file_path):
|
122 |
-
os.remove(file_path)
|
123 |
-
print('Failed download file deleted. Continuing manual backup..')
|
124 |
-
|
125 |
-
if Path(file_path).exists():
|
126 |
-
if ForceTemporaryStorage:
|
127 |
-
print('Finished downloading CachedRVC.tar.gz.')
|
128 |
-
else:
|
129 |
-
print('CachedRVC.tar.gz found on Google Drive. Proceeding to copy and extract...')
|
130 |
-
|
131 |
-
# Check if ForceTemporaryStorage is True and skip copying if it is
|
132 |
-
if ForceTemporaryStorage:
|
133 |
-
pass
|
134 |
-
else:
|
135 |
-
shutil.copy(file_path, content_file_path)
|
136 |
-
|
137 |
-
print('Beginning backup copy operation...')
|
138 |
-
|
139 |
-
with tarfile.open(content_file_path, 'r:gz') as tar:
|
140 |
-
for member in tar.getmembers():
|
141 |
-
target_path = os.path.join(extract_path, member.name)
|
142 |
-
try:
|
143 |
-
tar.extract(member, extract_path)
|
144 |
-
except Exception as e:
|
145 |
-
print('Failed to extract a file (this isn\'t normal)... forcing an update to compensate')
|
146 |
-
ForceUpdateDependencies = True
|
147 |
-
print(f'Extraction of {content_file_path} to {extract_path} completed.')
|
148 |
-
|
149 |
-
if ForceUpdateDependencies:
|
150 |
-
install_packages()
|
151 |
-
ForceUpdateDependencies = False
|
152 |
-
else:
|
153 |
-
print('CachedRVC.tar.gz not found. Proceeding to create an index of all current files...')
|
154 |
-
scan_and_write('/usr/', '/content/usr_files.csv')
|
155 |
-
|
156 |
-
install_packages()
|
157 |
-
|
158 |
-
scan_and_write('/usr/', '/content/usr_files_new.csv')
|
159 |
-
changed_files = compare_files('/content/usr_files.csv', '/content/usr_files_new.csv')
|
160 |
-
|
161 |
-
with tarfile.open('/content/CachedRVC.tar.gz', 'w:gz') as new_tar:
|
162 |
-
for file in changed_files:
|
163 |
-
new_tar.add(file)
|
164 |
-
print(f'Added to tar: {file}')
|
165 |
-
|
166 |
-
os.makedirs('/content/drive/MyDrive/RVC_Cached', exist_ok=True)
|
167 |
-
shutil.copy('/content/CachedRVC.tar.gz', '/content/drive/MyDrive/RVC_Cached/CachedRVC.tar.gz')
|
168 |
-
print('Updated CachedRVC.tar.gz copied to Google Drive.')
|
169 |
-
print('Dependencies fully up to date; future runs should be faster.')
|
170 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Applio-RVC-Fork/utils/i18n.py
DELETED
@@ -1,28 +0,0 @@
|
|
1 |
-
import locale
|
2 |
-
import json
|
3 |
-
import os
|
4 |
-
|
5 |
-
|
6 |
-
def load_language_list(language):
|
7 |
-
with open(f"./i18n/{language}.json", "r", encoding="utf-8") as f:
|
8 |
-
language_list = json.load(f)
|
9 |
-
return language_list
|
10 |
-
|
11 |
-
|
12 |
-
class I18nAuto:
|
13 |
-
def __init__(self, language=None):
|
14 |
-
if language in ["Auto", None]:
|
15 |
-
language = "es_ES"
|
16 |
-
if not os.path.exists(f"./i18n/{language}.json"):
|
17 |
-
language = "es_ES"
|
18 |
-
language = "es_ES"
|
19 |
-
self.language = language
|
20 |
-
# print("Use Language:", language)
|
21 |
-
self.language_map = load_language_list(language)
|
22 |
-
|
23 |
-
def __call__(self, key):
|
24 |
-
return self.language_map.get(key, key)
|
25 |
-
|
26 |
-
def print(self):
|
27 |
-
# print("Use Language:", self.language)
|
28 |
-
print("")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Applio_(Mangio_RVC_Fork).ipynb
DELETED
@@ -1,169 +0,0 @@
|
|
1 |
-
{
|
2 |
-
"cells": [
|
3 |
-
{
|
4 |
-
"cell_type": "code",
|
5 |
-
"execution_count": null,
|
6 |
-
"metadata": {
|
7 |
-
"cellView": "form",
|
8 |
-
"id": "izLwNF_8T1TK"
|
9 |
-
},
|
10 |
-
"outputs": [],
|
11 |
-
"source": [
|
12 |
-
"#@title <font color='#06ae56'>**🍏 Applio (Mangio-RVC-Fork)**</font>\n",
|
13 |
-
"import time\n",
|
14 |
-
"import os\n",
|
15 |
-
"import subprocess\n",
|
16 |
-
"import shutil\n",
|
17 |
-
"import threading\n",
|
18 |
-
"import base64\n",
|
19 |
-
"import threading\n",
|
20 |
-
"import time\n",
|
21 |
-
"from IPython.display import HTML, clear_output\n",
|
22 |
-
"\n",
|
23 |
-
"nosv_name1 = base64.b64decode(('ZXh0ZXJuYWxj').encode('ascii')).decode('ascii')\n",
|
24 |
-
"nosv_name2 = base64.b64decode(('b2xhYmNvZGU=').encode('ascii')).decode('ascii')\n",
|
25 |
-
"guebui = base64.b64decode(('V2U=').encode('ascii')).decode('ascii')\n",
|
26 |
-
"guebui2 = base64.b64decode(('YlVJ').encode('ascii')).decode('ascii')\n",
|
27 |
-
"pbestm = base64.b64decode(('cm12cGU=').encode('ascii')).decode('ascii')\n",
|
28 |
-
"tryre = base64.b64decode(('UmV0cmlldmFs').encode('ascii')).decode('ascii')\n",
|
29 |
-
"\n",
|
30 |
-
"xdsame = '/content/'+ tryre +'-based-Voice-Conversion-' + guebui + guebui2 +'/'\n",
|
31 |
-
"\n",
|
32 |
-
"collapsible_section = \"\"\"\n",
|
33 |
-
"<br>\n",
|
34 |
-
"<br>\n",
|
35 |
-
"<details style=\"border: 1px solid #ddd; border-radius: 5px; padding: 10px; margin-bottom: 10px;\">\n",
|
36 |
-
" <summary open style=\"font-weight: bold; cursor: pointer;\">🚀 Click to learn more about Applio</summary>\n",
|
37 |
-
" <div style=\"margin-left: 20px;\">\n",
|
38 |
-
" <ul>\n",
|
39 |
-
" <li><a href=\"https://github.com/Mangio621/Mangio-RVC-Fork\" style=\"color: #06ae56;\">Mangio-RVC-Fork</a> - Source of inspiration and base for this improved code, special thanks to the developers.</li>\n",
|
40 |
-
" <li><a href=\"https://github.com/Anjok07/ultimatevocalremovergui\" style=\"color: #06ae56;\">UltimateVocalRemover</a> - Used for voice and instrument separation.</li>\n",
|
41 |
-
" <li>Vidal, Blaise & Aitron - Contributors to the Applio version.</li>\n",
|
42 |
-
" <li>kalomaze - Creator of external scripts that help the functioning of Applio.</li>\n",
|
43 |
-
" </ul>\n",
|
44 |
-
" <p style=\"color: #fff;\">Join and contribute to the project on <a href=\"https://github.com/IAHispano/Applio-RVC-Fork\" style=\"color: #06ae56;\">our GitHub repository</a>.</p>\n",
|
45 |
-
" </div>\n",
|
46 |
-
"</details>\n",
|
47 |
-
"<br>\n",
|
48 |
-
"<button style=\"font-weight: bold; cursor: pointer; background-color: #06ae56; color: white; border: 1px solid #fff; border-radius: 4px; padding: 10px 20px; text-decoration: none;\" onclick=\"window.open('https://discord.gg/IAHispano', '_blank')\">🍏 Join our support Discord server (IA Hispano)</button>\n",
|
49 |
-
"<br>\n",
|
50 |
-
"<br>\n",
|
51 |
-
"\"\"\"\n",
|
52 |
-
"#@markdown **Settings:**\n",
|
53 |
-
"ForceUpdateDependencies = True\n",
|
54 |
-
"ForceNoMountDrive = False\n",
|
55 |
-
"#@markdown Restore your backup from Google Drive.\n",
|
56 |
-
"LoadBackupDrive = False #@param{type:\"boolean\"}\n",
|
57 |
-
"#@markdown Make regular backups of your model's training.\n",
|
58 |
-
"AutoBackups = True #@param{type:\"boolean\"}\n",
|
59 |
-
"if not os.path.exists(xdsame):\n",
|
60 |
-
" current_path = os.getcwd()\n",
|
61 |
-
" shutil.rmtree('/content/')\n",
|
62 |
-
" os.makedirs('/content/', exist_ok=True)\n",
|
63 |
-
"\n",
|
64 |
-
" os.chdir(current_path)\n",
|
65 |
-
" !git clone https://github.com/IAHispano/$nosv_name1$nosv_name2 /content/$tryre-based-Voice-Conversion-$guebui$guebui2/utils\n",
|
66 |
-
" clear_output()\n",
|
67 |
-
"\n",
|
68 |
-
" os.chdir(xdsame)\n",
|
69 |
-
" from utils.dependency import *\n",
|
70 |
-
" from utils.clonerepo_experimental import *\n",
|
71 |
-
" os.chdir(\"..\")\n",
|
72 |
-
"\n",
|
73 |
-
"\n",
|
74 |
-
"\n",
|
75 |
-
" setup_environment(ForceUpdateDependencies, ForceNoMountDrive)\n",
|
76 |
-
" clone_repository(True)\n",
|
77 |
-
"\n",
|
78 |
-
" !wget https://huggingface.co/lj1995/VoiceConversion$guebui$guebui2/resolve/main/rmvpe.pt -P /content/Retrieval-based-Voice-Conversion-$guebui$guebui2/\n",
|
79 |
-
" clear_output()\n",
|
80 |
-
"\n",
|
81 |
-
"base_path = \"/content/Retrieval-based-Voice-Conversion-$guebui$guebui2/\"\n",
|
82 |
-
"clear_output()\n",
|
83 |
-
"\n",
|
84 |
-
"\n",
|
85 |
-
"\n",
|
86 |
-
"from utils import backups\n",
|
87 |
-
"\n",
|
88 |
-
"LOGS_FOLDER = xdsame + '/logs'\n",
|
89 |
-
"if not os.path.exists(LOGS_FOLDER):\n",
|
90 |
-
" os.makedirs(LOGS_FOLDER)\n",
|
91 |
-
" clear_output()\n",
|
92 |
-
"\n",
|
93 |
-
"WEIGHTS_FOLDER = xdsame + '/logs' + '/weights'\n",
|
94 |
-
"if not os.path.exists(WEIGHTS_FOLDER):\n",
|
95 |
-
" os.makedirs(WEIGHTS_FOLDER)\n",
|
96 |
-
" clear_output()\n",
|
97 |
-
"\n",
|
98 |
-
"others_FOLDER = xdsame + '/audio-others'\n",
|
99 |
-
"if not os.path.exists(others_FOLDER):\n",
|
100 |
-
" os.makedirs(others_FOLDER)\n",
|
101 |
-
" clear_output()\n",
|
102 |
-
"\n",
|
103 |
-
"audio_outputs_FOLDER = xdsame + '/audio-outputs'\n",
|
104 |
-
"if not os.path.exists(audio_outputs_FOLDER):\n",
|
105 |
-
" os.makedirs(audio_outputs_FOLDER)\n",
|
106 |
-
" clear_output()\n",
|
107 |
-
"\n",
|
108 |
-
"if LoadBackupDrive:\n",
|
109 |
-
" backups.import_google_drive_backup()\n",
|
110 |
-
" clear_output()\n",
|
111 |
-
"\n",
|
112 |
-
"#@markdown Choose the language in which you want the interface to be available.\n",
|
113 |
-
"i18n_path = xdsame + 'i18n.py'\n",
|
114 |
-
"i18n_new_path = xdsame + 'utils/i18n.py'\n",
|
115 |
-
"try:\n",
|
116 |
-
" if os.path.exists(i18n_path) and os.path.exists(i18n_new_path):\n",
|
117 |
-
" shutil.move(i18n_new_path, i18n_path)\n",
|
118 |
-
"\n",
|
119 |
-
" SelectedLanguage = \"en_US\" #@param [\"es_ES\", \"en_US\", \"zh_CN\", \"ar_AR\", \"id_ID\", \"pt_PT\", \"ru_RU\", \"ur_UR\", \"tr_TR\", \"it_IT\", \"de_DE\"]\n",
|
120 |
-
" new_language_line = ' language = \"' + SelectedLanguage + '\"\\n'\n",
|
121 |
-
"#@markdown <a href=\"https://discord.gg/iahispano\"><font>If you need more help, feel free to join our official Discord server!</font></a>\n",
|
122 |
-
" with open(i18n_path, 'r') as file:\n",
|
123 |
-
" lines = file.readlines()\n",
|
124 |
-
"\n",
|
125 |
-
" with open(i18n_path, 'w') as file:\n",
|
126 |
-
" for index, line in enumerate(lines):\n",
|
127 |
-
" if index == 14:\n",
|
128 |
-
" file.write(new_language_line)\n",
|
129 |
-
" else:\n",
|
130 |
-
" file.write(line)\n",
|
131 |
-
"\n",
|
132 |
-
"except FileNotFoundError:\n",
|
133 |
-
" print(\"Translation couldn't be applied successfully. Please restart the environment and run the cell again.\")\n",
|
134 |
-
"\n",
|
135 |
-
"def start_web_server():\n",
|
136 |
-
" %cd /content/$tryre-based-Voice-Conversion-$guebui$guebui2\n",
|
137 |
-
" %load_ext tensorboard\n",
|
138 |
-
" clear_output()\n",
|
139 |
-
" %tensorboard --logdir /content/$tryre-based-Voice-Conversion-$guebui$guebui2/logs\n",
|
140 |
-
" !mkdir -p /content/$tryre-based-Voice-Conversion-$guebui$guebui2/audios\n",
|
141 |
-
" display(HTML(collapsible_section))\n",
|
142 |
-
" !python3 infer-web.py --colab --pycmd python3\n",
|
143 |
-
"\n",
|
144 |
-
"if AutoBackups:\n",
|
145 |
-
" web_server_thread = threading.Thread(target=start_web_server)\n",
|
146 |
-
" web_server_thread.start()\n",
|
147 |
-
" backups.backup_files()\n",
|
148 |
-
"\n",
|
149 |
-
"else:\n",
|
150 |
-
" start_web_server()"
|
151 |
-
]
|
152 |
-
}
|
153 |
-
],
|
154 |
-
"metadata": {
|
155 |
-
"accelerator": "GPU",
|
156 |
-
"colab": {
|
157 |
-
"provenance": []
|
158 |
-
},
|
159 |
-
"kernelspec": {
|
160 |
-
"display_name": "Python 3",
|
161 |
-
"name": "python3"
|
162 |
-
},
|
163 |
-
"language_info": {
|
164 |
-
"name": "python"
|
165 |
-
}
|
166 |
-
},
|
167 |
-
"nbformat": 4,
|
168 |
-
"nbformat_minor": 0
|
169 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dockerfile
DELETED
@@ -1,29 +0,0 @@
|
|
1 |
-
# syntax=docker/dockerfile:1
|
2 |
-
|
3 |
-
FROM python:3.10-bullseye
|
4 |
-
|
5 |
-
EXPOSE 7865
|
6 |
-
|
7 |
-
WORKDIR /app
|
8 |
-
|
9 |
-
COPY . .
|
10 |
-
|
11 |
-
RUN apt update && apt install -y -qq ffmpeg aria2 && apt clean
|
12 |
-
|
13 |
-
RUN pip3 install --no-cache-dir -r requirements.txt
|
14 |
-
|
15 |
-
RUN aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained_v2/D40k.pth -d assets/pretrained_v2/ -o D40k.pth
|
16 |
-
RUN aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained_v2/G40k.pth -d assets/pretrained_v2/ -o G40k.pth
|
17 |
-
RUN aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained_v2/f0D40k.pth -d assets/pretrained_v2/ -o f0D40k.pth
|
18 |
-
RUN aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained_v2/f0G40k.pth -d assets/pretrained_v2/ -o f0G40k.pth
|
19 |
-
|
20 |
-
RUN aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/uvr5_weights/HP2-人声vocals+非人声instrumentals.pth -d assets/uvr5_weights/ -o HP2-人声vocals+非人声instrumentals.pth
|
21 |
-
RUN aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/uvr5_weights/HP5-主旋律人声vocals+其他instrumentals.pth -d assets/uvr5_weights/ -o HP5-主旋律人声vocals+其他instrumentals.pth
|
22 |
-
|
23 |
-
RUN aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/hubert_base.pt -d assets/hubert -o hubert_base.pt
|
24 |
-
|
25 |
-
RUN aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/rmvpe.pt -d assets/hubert -o rmvpe.pt
|
26 |
-
|
27 |
-
VOLUME [ "/app/weights", "/app/opt" ]
|
28 |
-
|
29 |
-
CMD ["python3", "infer-web.py"]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fixes/local_fixes.py
DELETED
@@ -1,136 +0,0 @@
|
|
1 |
-
import os
|
2 |
-
import sys
|
3 |
-
import time
|
4 |
-
import shutil
|
5 |
-
import requests
|
6 |
-
import zipfile
|
7 |
-
|
8 |
-
def insert_new_line(file_name, line_to_find, text_to_insert):
|
9 |
-
lines = []
|
10 |
-
with open(file_name, 'r', encoding='utf-8') as read_obj:
|
11 |
-
lines = read_obj.readlines()
|
12 |
-
already_exists = False
|
13 |
-
with open(file_name + '.tmp', 'w', encoding='utf-8') as write_obj:
|
14 |
-
for i in range(len(lines)):
|
15 |
-
write_obj.write(lines[i])
|
16 |
-
if lines[i].strip() == line_to_find:
|
17 |
-
# If next line exists and starts with sys.path.append, skip
|
18 |
-
if i+1 < len(lines) and lines[i+1].strip().startswith("sys.path.append"):
|
19 |
-
print('It was already fixed! Skip adding a line...')
|
20 |
-
already_exists = True
|
21 |
-
break
|
22 |
-
else:
|
23 |
-
write_obj.write(text_to_insert + '\n')
|
24 |
-
# If no existing sys.path.append line was found, replace the original file
|
25 |
-
if not already_exists:
|
26 |
-
os.replace(file_name + '.tmp', file_name)
|
27 |
-
return True
|
28 |
-
else:
|
29 |
-
# If existing line was found, delete temporary file
|
30 |
-
os.remove(file_name + '.tmp')
|
31 |
-
return False
|
32 |
-
|
33 |
-
def replace_in_file(file_name, old_text, new_text):
|
34 |
-
with open(file_name, 'r', encoding='utf-8') as file:
|
35 |
-
file_contents = file.read()
|
36 |
-
|
37 |
-
if old_text in file_contents:
|
38 |
-
file_contents = file_contents.replace(old_text, new_text)
|
39 |
-
with open(file_name, 'w', encoding='utf-8') as file:
|
40 |
-
file.write(file_contents)
|
41 |
-
return True
|
42 |
-
|
43 |
-
return False
|
44 |
-
|
45 |
-
if __name__ == "__main__":
|
46 |
-
current_path = os.getcwd()
|
47 |
-
file_name = os.path.join(current_path, "infer", "modules", "train", "extract", "extract_f0_print.py")
|
48 |
-
line_to_find = 'import numpy as np, logging'
|
49 |
-
text_to_insert = "sys.path.append(r'" + current_path + "')"
|
50 |
-
|
51 |
-
|
52 |
-
success_1 = insert_new_line(file_name, line_to_find, text_to_insert)
|
53 |
-
if success_1:
|
54 |
-
print('The first operation was successful!')
|
55 |
-
else:
|
56 |
-
print('He skipped the first operation because it was already fixed!')
|
57 |
-
|
58 |
-
file_name = 'infer-web.py'
|
59 |
-
old_text = 'with gr.Blocks(theme=gr.themes.Soft()) as app:'
|
60 |
-
new_text = 'with gr.Blocks() as app:'
|
61 |
-
|
62 |
-
success_2 = replace_in_file(file_name, old_text, new_text)
|
63 |
-
if success_2:
|
64 |
-
print('The second operation was successful!')
|
65 |
-
else:
|
66 |
-
print('The second operation was omitted because it was already fixed!')
|
67 |
-
|
68 |
-
print('Local corrections successful! You should now be able to infer and train locally in Applio RVC Fork.')
|
69 |
-
|
70 |
-
time.sleep(5)
|
71 |
-
|
72 |
-
def find_torchcrepe_directory(directory):
|
73 |
-
"""
|
74 |
-
Recursively searches for the topmost folder named 'torchcrepe' within a directory.
|
75 |
-
Returns the path of the directory found or None if none is found.
|
76 |
-
"""
|
77 |
-
for root, dirs, files in os.walk(directory):
|
78 |
-
if 'torchcrepe' in dirs:
|
79 |
-
return os.path.join(root, 'torchcrepe')
|
80 |
-
return None
|
81 |
-
|
82 |
-
def download_and_extract_torchcrepe():
|
83 |
-
url = 'https://github.com/maxrmorrison/torchcrepe/archive/refs/heads/master.zip'
|
84 |
-
temp_dir = 'temp_torchcrepe'
|
85 |
-
destination_dir = os.getcwd()
|
86 |
-
|
87 |
-
try:
|
88 |
-
torchcrepe_dir_path = os.path.join(destination_dir, 'torchcrepe')
|
89 |
-
|
90 |
-
if os.path.exists(torchcrepe_dir_path):
|
91 |
-
print("Skipping the torchcrepe download. The folder already exists.")
|
92 |
-
return
|
93 |
-
|
94 |
-
# Download the file
|
95 |
-
print("Starting torchcrepe download...")
|
96 |
-
response = requests.get(url)
|
97 |
-
|
98 |
-
# Raise an error if the GET request was unsuccessful
|
99 |
-
response.raise_for_status()
|
100 |
-
print("Download completed.")
|
101 |
-
|
102 |
-
# Save the downloaded file
|
103 |
-
zip_file_path = os.path.join(temp_dir, 'master.zip')
|
104 |
-
os.makedirs(temp_dir, exist_ok=True)
|
105 |
-
with open(zip_file_path, 'wb') as file:
|
106 |
-
file.write(response.content)
|
107 |
-
print(f"Zip file saved to {zip_file_path}")
|
108 |
-
|
109 |
-
# Extract the zip file
|
110 |
-
print("Extracting content...")
|
111 |
-
with zipfile.ZipFile(zip_file_path, 'r') as zip_file:
|
112 |
-
zip_file.extractall(temp_dir)
|
113 |
-
print("Extraction completed.")
|
114 |
-
|
115 |
-
# Locate the torchcrepe folder and move it to the destination directory
|
116 |
-
torchcrepe_dir = find_torchcrepe_directory(temp_dir)
|
117 |
-
if torchcrepe_dir:
|
118 |
-
shutil.move(torchcrepe_dir, destination_dir)
|
119 |
-
print(f"Moved the torchcrepe directory to {destination_dir}!")
|
120 |
-
else:
|
121 |
-
print("The torchcrepe directory could not be located.")
|
122 |
-
|
123 |
-
except Exception as e:
|
124 |
-
print("Torchcrepe not successfully downloaded", e)
|
125 |
-
|
126 |
-
# Clean up temporary directory
|
127 |
-
if os.path.exists(temp_dir):
|
128 |
-
shutil.rmtree(temp_dir)
|
129 |
-
|
130 |
-
# Run the function
|
131 |
-
download_and_extract_torchcrepe()
|
132 |
-
|
133 |
-
temp_dir = 'temp_torchcrepe'
|
134 |
-
|
135 |
-
if os.path.exists(temp_dir):
|
136 |
-
shutil.rmtree(temp_dir)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fixes/tensor-launch.py
DELETED
@@ -1,15 +0,0 @@
|
|
1 |
-
import threading
|
2 |
-
import time
|
3 |
-
from tensorboard import program
|
4 |
-
import os
|
5 |
-
|
6 |
-
log_path = "logs"
|
7 |
-
|
8 |
-
if __name__ == "__main__":
|
9 |
-
tb = program.TensorBoard()
|
10 |
-
tb.configure(argv=[None, '--logdir', log_path])
|
11 |
-
url = tb.launch()
|
12 |
-
print(f'Tensorboard can be accessed at: {url}')
|
13 |
-
|
14 |
-
while True:
|
15 |
-
time.sleep(600) # Keep the main thread running
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
LICENSE
CHANGED
@@ -1,59 +1,7 @@
|
|
1 |
-
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
in the Software without restriction, including without limitation the rights
|
9 |
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
10 |
-
copies of the Software, and to permit persons to whom the Software is
|
11 |
-
furnished to do so, subject to the following conditions:
|
12 |
-
|
13 |
-
The above copyright notice and this permission notice shall be included in all
|
14 |
-
copies or substantial portions of the Software.
|
15 |
-
|
16 |
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
17 |
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
18 |
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
19 |
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
20 |
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
21 |
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
22 |
-
SOFTWARE.
|
23 |
-
|
24 |
-
The licenses for related libraries are as follows:
|
25 |
-
|
26 |
-
ContentVec
|
27 |
-
https://github.com/auspicious3000/contentvec/blob/main/LICENSE
|
28 |
-
MIT License
|
29 |
-
|
30 |
-
VITS
|
31 |
-
https://github.com/jaywalnut310/vits/blob/main/LICENSE
|
32 |
-
MIT License
|
33 |
-
|
34 |
-
HIFIGAN
|
35 |
-
https://github.com/jik876/hifi-gan/blob/master/LICENSE
|
36 |
-
MIT License
|
37 |
-
|
38 |
-
gradio
|
39 |
-
https://github.com/gradio-app/gradio/blob/main/LICENSE
|
40 |
-
Apache License 2.0
|
41 |
-
|
42 |
-
ffmpeg
|
43 |
-
https://github.com/FFmpeg/FFmpeg/blob/master/COPYING.LGPLv3
|
44 |
-
https://github.com/BtbN/FFmpeg-Builds/releases/download/autobuild-2021-02-28-12-32/ffmpeg-n4.3.2-160-gfbb9368226-win64-lgpl-4.3.zip
|
45 |
-
LPGLv3 License
|
46 |
-
MIT License
|
47 |
-
|
48 |
-
ultimatevocalremovergui
|
49 |
-
https://github.com/Anjok07/ultimatevocalremovergui/blob/master/LICENSE
|
50 |
-
https://github.com/yang123qwe/vocal_separation_by_uvr5
|
51 |
-
MIT License
|
52 |
-
|
53 |
-
audio-slicer
|
54 |
-
https://github.com/openvpi/audio-slicer/blob/main/LICENSE
|
55 |
-
MIT License
|
56 |
-
|
57 |
-
PySimpleGUI
|
58 |
-
https://github.com/PySimpleGUI/PySimpleGUI/blob/master/license.txt
|
59 |
-
LPGLv3 License
|
|
|
1 |
+
Copyright 2024 AI Hispano
|
2 |
+
|
3 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
4 |
+
|
5 |
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
6 |
+
|
7 |
+
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
LazyImport.py
DELETED
@@ -1,13 +0,0 @@
|
|
1 |
-
from importlib.util import find_spec, LazyLoader, module_from_spec
|
2 |
-
from sys import modules
|
3 |
-
|
4 |
-
def lazyload(name):
|
5 |
-
if name in modules:
|
6 |
-
return modules[name]
|
7 |
-
else:
|
8 |
-
spec = find_spec(name)
|
9 |
-
loader = LazyLoader(spec.loader)
|
10 |
-
module = module_from_spec(spec)
|
11 |
-
modules[name] = module
|
12 |
-
loader.exec_module(module)
|
13 |
-
return module
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MDX-Net_Colab.ipynb
DELETED
@@ -1,524 +0,0 @@
|
|
1 |
-
{
|
2 |
-
"cells": [
|
3 |
-
{
|
4 |
-
"cell_type": "markdown",
|
5 |
-
"metadata": {
|
6 |
-
"id": "wX9xzLur4tus"
|
7 |
-
},
|
8 |
-
"source": [
|
9 |
-
"# MDX-Net Colab\n",
|
10 |
-
"<div style=\"display:flex; align-items:center; font-size: 16px;\">\n",
|
11 |
-
" <img src=\"https://github.githubassets.com/pinned-octocat.svg\" alt=\"icon1\" style=\"margin-right:10px; height: 20px;\" width=\"1.5%\">\n",
|
12 |
-
" <span>Trained models provided in this notebook are from <a href=\"https://github.com/Anjok07\">UVR-GUI</a>.</span>\n",
|
13 |
-
"</div>\n",
|
14 |
-
"<div style=\"display:flex; align-items:center; font-size: 16px;\">\n",
|
15 |
-
" <img src=\"https://github.com/Anjok07/ultimatevocalremovergui/raw/master/gui_data/img/GUI-Icon.ico\" alt=\"icon2\" style=\"margin-right:10px; height: 20px;margin-top:10px\" width=\"1.5%\">\n",
|
16 |
-
" <span>OFFICIAL UVR GITHUB PAGE: <a href=\"https://github.com/Anjok07/ultimatevocalremovergui\">here</a>.</span>\n",
|
17 |
-
"</div>\n",
|
18 |
-
"<div style=\"display:flex; align-items:center; font-size: 16px;\">\n",
|
19 |
-
" <img src=\"https://avatars.githubusercontent.com/u/24620594\" alt=\"icon3\" style=\"margin-right:10px; height: 20px;\" width=\"1.5%\">\n",
|
20 |
-
" <span>OFFICIAL CLI Version: <a href=\"https://github.com/tsurumeso/vocal-remover\">here</a>.</span>\n",
|
21 |
-
"</div>\n",
|
22 |
-
"<div style=\"display:flex; align-items:center; font-size: 16px;\">\n",
|
23 |
-
" <img src=\"https://icons.getbootstrap.com/assets/icons/discord.svg\" alt=\"icon4\" style=\"margin-right:10px; height: 20px;\" width=\"1.5%\">\n",
|
24 |
-
" <span>Join our <a href=\"https://cutt.ly/0TcDjmo\">Discord server</a>!</span>\n",
|
25 |
-
"</div>\n",
|
26 |
-
"<sup><br>Ultimate Vocal Remover (unofficial)</sup>\n",
|
27 |
-
"<sup><br>MDX-Net by <a href=\"https://github.com/kuielab\">kuielab</a> and adapted for Colaboratory by <a href=\"https://www.youtube.com/channel/UC0NiSV1jLMH-9E09wiDVFYw\">AudioHacker</a>.</sup>\n",
|
28 |
-
"\n",
|
29 |
-
"<sup><br>Your support means a lot to me. If you enjoy my work, please consider buying me a ko-fi:<br></sup>\n",
|
30 |
-
"[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/X8X6M8FR0)"
|
31 |
-
]
|
32 |
-
},
|
33 |
-
{
|
34 |
-
"cell_type": "code",
|
35 |
-
"execution_count": null,
|
36 |
-
"metadata": {
|
37 |
-
"id": "3J69RV7G8ocb",
|
38 |
-
"cellView": "form"
|
39 |
-
},
|
40 |
-
"outputs": [],
|
41 |
-
"source": [
|
42 |
-
"import json\n",
|
43 |
-
"import os\n",
|
44 |
-
"import os.path\n",
|
45 |
-
"import gc\n",
|
46 |
-
"import psutil\n",
|
47 |
-
"import requests\n",
|
48 |
-
"import subprocess\n",
|
49 |
-
"import glob\n",
|
50 |
-
"import time\n",
|
51 |
-
"import logging\n",
|
52 |
-
"import sys\n",
|
53 |
-
"from bs4 import BeautifulSoup\n",
|
54 |
-
"from google.colab import drive, files, output\n",
|
55 |
-
"from IPython.display import Audio, display\n",
|
56 |
-
"\n",
|
57 |
-
"if \"first_cell_ran\" in locals():\n",
|
58 |
-
" print(\"You've ran this cell for this session. No need to run it again.\\nif you think something went wrong or you want to change mounting path, restart the runtime.\")\n",
|
59 |
-
"else:\n",
|
60 |
-
" print('Setting up... please wait around 1-2 minute(s).')\n",
|
61 |
-
"\n",
|
62 |
-
" branch = \"https://github.com/NaJeongMo/Colab-for-MDX_B\"\n",
|
63 |
-
"\n",
|
64 |
-
" model_params = \"https://raw.githubusercontent.com/TRvlvr/application_data/main/mdx_model_data/model_data.json\"\n",
|
65 |
-
" _Models = \"https://github.com/TRvlvr/model_repo/releases/download/all_public_uvr_models/\"\n",
|
66 |
-
" # _models = \"https://pastebin.com/raw/jBzYB8vz\"\n",
|
67 |
-
" _models = \"https://raw.githubusercontent.com/TRvlvr/application_data/main/filelists/download_checks.json\"\n",
|
68 |
-
" stem_naming = \"https://pastebin.com/raw/mpH4hRcF\"\n",
|
69 |
-
" arl_check_endpoint = 'https://dz.doubledouble.top/check' # param: arl?=<>\n",
|
70 |
-
"\n",
|
71 |
-
" file_folder = \"Colab-for-MDX_B\"\n",
|
72 |
-
"\n",
|
73 |
-
" model_ids = requests.get(_models).json()\n",
|
74 |
-
" model_ids = model_ids[\"mdx_download_list\"].values()\n",
|
75 |
-
"\n",
|
76 |
-
" model_params = requests.get(model_params).json()\n",
|
77 |
-
" stem_naming = requests.get(stem_naming).json()\n",
|
78 |
-
"\n",
|
79 |
-
" os.makedirs(\"tmp_models\", exist_ok=True)\n",
|
80 |
-
"\n",
|
81 |
-
" # @markdown If you don't wish to mount google drive, uncheck this box.\n",
|
82 |
-
" MountDrive = True # @param{type:\"boolean\"}\n",
|
83 |
-
" # @markdown The path for the drive to be mounted: Please be cautious when modifying this as it can cause issues if not done properly.\n",
|
84 |
-
" mounting_path = \"/content/drive/MyDrive\" # @param [\"snippets:\",\"/content/drive/MyDrive\",\"/content/drive/Shareddrives/<your shared drive name>\", \"/content/drive/Shareddrives/Shared Drive\"]{allow-input: true}\n",
|
85 |
-
" # @markdown Force update and disregard local changes: discards all local modifications in your repository, effectively replacing all files with the versions from the original commit.\n",
|
86 |
-
" force_update = False # @param{type:\"boolean\"}\n",
|
87 |
-
" # @markdown Auto Update (does not discard your changes)\n",
|
88 |
-
" auto_update = True # @param{type:\"boolean\"}\n",
|
89 |
-
"\n",
|
90 |
-
"\n",
|
91 |
-
" reqs_apt = [] # !sudo apt-get install\n",
|
92 |
-
" reqs_pip = [\"librosa>=0.6.3,<0.9\", \"onnxruntime_gpu\", \"deemix\", \"yt_dlp\"] # pip3 install\n",
|
93 |
-
"\n",
|
94 |
-
" class hide_opt: # hide outputs\n",
|
95 |
-
" def __enter__(self):\n",
|
96 |
-
" self._original_stdout = sys.stdout\n",
|
97 |
-
" sys.stdout = open(os.devnull, \"w\")\n",
|
98 |
-
"\n",
|
99 |
-
" def __exit__(self, exc_type, exc_val, exc_tb):\n",
|
100 |
-
" sys.stdout.close()\n",
|
101 |
-
" sys.stdout = self._original_stdout\n",
|
102 |
-
"\n",
|
103 |
-
" def get_size(bytes, suffix=\"B\"): # read ram\n",
|
104 |
-
" global svmem\n",
|
105 |
-
" factor = 1024\n",
|
106 |
-
" for unit in [\"\", \"K\", \"M\", \"G\", \"T\", \"P\"]:\n",
|
107 |
-
" if bytes < factor:\n",
|
108 |
-
" return f\"{bytes:.2f}{unit}{suffix}\"\n",
|
109 |
-
" bytes /= factor\n",
|
110 |
-
" svmem = psutil.virtual_memory()\n",
|
111 |
-
"\n",
|
112 |
-
"\n",
|
113 |
-
" print('installing requirements...',end=' ')\n",
|
114 |
-
" with hide_opt():\n",
|
115 |
-
" for x in reqs_apt:\n",
|
116 |
-
" subprocess.run([\"sudo\", \"apt-get\", \"install\", x])\n",
|
117 |
-
" for x in reqs_pip:\n",
|
118 |
-
" subprocess.run([\"python3\", \"-m\", \"pip\", \"install\", x])\n",
|
119 |
-
" print('done')\n",
|
120 |
-
"\n",
|
121 |
-
" def install_or_mount_drive():\n",
|
122 |
-
" print(\n",
|
123 |
-
" \"Please log in to your account by following the prompts in the pop-up tab.\\nThis step is necessary to install the files to your Google Drive.\\nIf you have any concerns about the safety of this notebook, you can choose not to mount your drive by unchecking the \\\"MountDrive\\\" checkbox.\"\n",
|
124 |
-
" )\n",
|
125 |
-
" drive.mount(\"/content/drive\", force_remount=True)\n",
|
126 |
-
" os.chdir(mounting_path)\n",
|
127 |
-
" # check if previous installation is done\n",
|
128 |
-
" if os.path.exists(os.path.join(mounting_path, file_folder)):\n",
|
129 |
-
" # update checking\n",
|
130 |
-
" os.chdir(file_folder)\n",
|
131 |
-
"\n",
|
132 |
-
" if force_update:\n",
|
133 |
-
" print('Force updating...')\n",
|
134 |
-
"\n",
|
135 |
-
" commands = [\n",
|
136 |
-
" [\"git\", \"pull\"],\n",
|
137 |
-
" [\"git\", \"checkout\", \"--\", \".\"],\n",
|
138 |
-
" ]\n",
|
139 |
-
"\n",
|
140 |
-
" for cmd in commands:\n",
|
141 |
-
" subprocess.run(cmd)\n",
|
142 |
-
"\n",
|
143 |
-
" elif auto_update:\n",
|
144 |
-
" print('Checking for updates...')\n",
|
145 |
-
" commands = [\n",
|
146 |
-
" [\"git\", \"pull\"],\n",
|
147 |
-
" ]\n",
|
148 |
-
"\n",
|
149 |
-
" for cmd in commands:\n",
|
150 |
-
" subprocess.run(cmd)\n",
|
151 |
-
" else:\n",
|
152 |
-
" subprocess.run([\"git\", \"clone\", \"https://github.com/NaJeongMo/Colab-for-MDX_B.git\"])\n",
|
153 |
-
" os.chdir(file_folder)\n",
|
154 |
-
"\n",
|
155 |
-
" def use_uvr_without_saving():\n",
|
156 |
-
" global mounting_path\n",
|
157 |
-
" print(\"Notice: files won't be saved to personal drive.\")\n",
|
158 |
-
" print(f\"Downloading {file_folder}...\", end=\" \")\n",
|
159 |
-
" mounting_path = \"/content\"\n",
|
160 |
-
" with hide_opt():\n",
|
161 |
-
" os.chdir(mounting_path)\n",
|
162 |
-
" subprocess.run([\"git\", \"clone\", \"https://github.com/NaJeongMo/Colab-for-MDX_B.git\"])\n",
|
163 |
-
" os.chdir(file_folder)\n",
|
164 |
-
"\n",
|
165 |
-
" if MountDrive:\n",
|
166 |
-
" install_or_mount_drive()\n",
|
167 |
-
" else:\n",
|
168 |
-
" use_uvr_without_saving()\n",
|
169 |
-
" print(\"done!\")\n",
|
170 |
-
" if not os.path.exists(\"tracks\"):\n",
|
171 |
-
" os.mkdir(\"tracks\")\n",
|
172 |
-
"\n",
|
173 |
-
" print('Importing required libraries...',end=' ')\n",
|
174 |
-
"\n",
|
175 |
-
" import os\n",
|
176 |
-
" import mdx\n",
|
177 |
-
" import librosa\n",
|
178 |
-
" import torch\n",
|
179 |
-
" import soundfile as sf\n",
|
180 |
-
" import numpy as np\n",
|
181 |
-
" import yt_dlp\n",
|
182 |
-
"\n",
|
183 |
-
" from deezer import Deezer\n",
|
184 |
-
" from deezer import TrackFormats\n",
|
185 |
-
" import deemix\n",
|
186 |
-
" from deemix.settings import load as loadSettings\n",
|
187 |
-
" from deemix.downloader import Downloader\n",
|
188 |
-
" from deemix import generateDownloadObject\n",
|
189 |
-
"\n",
|
190 |
-
" logger = logging.getLogger(\"yt_dlp\")\n",
|
191 |
-
" logger.setLevel(logging.ERROR)\n",
|
192 |
-
"\n",
|
193 |
-
" def id_to_ptm(mkey):\n",
|
194 |
-
" if mkey in model_ids:\n",
|
195 |
-
" mpath = f\"/content/tmp_models/{mkey}\"\n",
|
196 |
-
" if not os.path.exists(f'/content/tmp_models/{mkey}'):\n",
|
197 |
-
" print('Downloading model...',end=' ')\n",
|
198 |
-
" subprocess.run(\n",
|
199 |
-
" [\"wget\", _Models+mkey, \"-O\", mpath]\n",
|
200 |
-
" )\n",
|
201 |
-
" print(f'saved to {mpath}')\n",
|
202 |
-
" # get_ipython().system(f'gdown {model_id} -O /content/tmp_models/{mkey}')\n",
|
203 |
-
" return mpath\n",
|
204 |
-
" else:\n",
|
205 |
-
" return mpath\n",
|
206 |
-
" else:\n",
|
207 |
-
" mpath = f'models/{mkey}'\n",
|
208 |
-
" return mpath\n",
|
209 |
-
"\n",
|
210 |
-
" def prepare_mdx(custom_param=False, dim_f=None, dim_t=None, n_fft=None, stem_name=None, compensation=None):\n",
|
211 |
-
" device = torch.device('cuda:0') if torch.cuda.is_available() else torch.device('cpu')\n",
|
212 |
-
" if custom_param:\n",
|
213 |
-
" assert not (dim_f is None or dim_t is None or n_fft is None or compensation is None), 'Custom parameter selected, but incomplete parameters are provided.'\n",
|
214 |
-
" mdx_model = mdx.MDX_Model(\n",
|
215 |
-
" device,\n",
|
216 |
-
" dim_f = dim_f,\n",
|
217 |
-
" dim_t = dim_t,\n",
|
218 |
-
" n_fft = n_fft,\n",
|
219 |
-
" stem_name=stem_name,\n",
|
220 |
-
" compensation=compensation\n",
|
221 |
-
" )\n",
|
222 |
-
" else:\n",
|
223 |
-
" model_hash = mdx.MDX.get_hash(onnx)\n",
|
224 |
-
" if model_hash in model_params:\n",
|
225 |
-
" mp = model_params.get(model_hash)\n",
|
226 |
-
" mdx_model = mdx.MDX_Model(\n",
|
227 |
-
" device,\n",
|
228 |
-
" dim_f = mp[\"mdx_dim_f_set\"],\n",
|
229 |
-
" dim_t = 2**mp[\"mdx_dim_t_set\"],\n",
|
230 |
-
" n_fft = mp[\"mdx_n_fft_scale_set\"],\n",
|
231 |
-
" stem_name=mp[\"primary_stem\"],\n",
|
232 |
-
" compensation=compensation if not custom_param and compensation is not None else mp[\"compensate\"]\n",
|
233 |
-
" )\n",
|
234 |
-
" return mdx_model\n",
|
235 |
-
"\n",
|
236 |
-
" def run_mdx(onnx, mdx_model,filename,diff=False,suffix=None,diff_suffix=None, denoise=False, m_threads=1):\n",
|
237 |
-
" mdx_sess = mdx.MDX(onnx,mdx_model)\n",
|
238 |
-
" print(f\"Processing: {filename}\")\n",
|
239 |
-
" wave, sr = librosa.load(filename,mono=False, sr=44100)\n",
|
240 |
-
" # normalizing input wave gives better output\n",
|
241 |
-
" peak = max(np.max(wave), abs(np.min(wave)))\n",
|
242 |
-
" wave /= peak\n",
|
243 |
-
" if denoise:\n",
|
244 |
-
" wave_processed = -(mdx_sess.process_wave(-wave, m_threads)) + (mdx_sess.process_wave(wave, m_threads))\n",
|
245 |
-
" wave_processed *= 0.5\n",
|
246 |
-
" else:\n",
|
247 |
-
" wave_processed = mdx_sess.process_wave(wave, m_threads)\n",
|
248 |
-
" # return to previous peak\n",
|
249 |
-
" wave_processed *= peak\n",
|
250 |
-
"\n",
|
251 |
-
" stem_name = mdx_model.stem_name if suffix is None else suffix # use suffix if provided\n",
|
252 |
-
" save_path = f\"{os.path.basename(os.path.splitext(filename)[0])}_{stem_name}.wav\"\n",
|
253 |
-
" save_path = os.path.join(\n",
|
254 |
-
" 'separated',\n",
|
255 |
-
" save_path\n",
|
256 |
-
" )\n",
|
257 |
-
" sf.write(\n",
|
258 |
-
" save_path,\n",
|
259 |
-
" wave_processed.T,\n",
|
260 |
-
" sr\n",
|
261 |
-
" )\n",
|
262 |
-
"\n",
|
263 |
-
" print(f'done, saved to: {save_path}')\n",
|
264 |
-
"\n",
|
265 |
-
" if diff:\n",
|
266 |
-
" diff_stem_name = stem_naming.get(stem_name) if diff_suffix is None else diff_suffix # use suffix if provided\n",
|
267 |
-
" stem_name = f\"{stem_name}_diff\" if diff_stem_name is None else diff_stem_name\n",
|
268 |
-
" save_path = f\"{os.path.basename(os.path.splitext(filename)[0])}_{stem_name}.wav\"\n",
|
269 |
-
" save_path = os.path.join(\n",
|
270 |
-
" 'separated',\n",
|
271 |
-
" save_path\n",
|
272 |
-
" )\n",
|
273 |
-
" sf.write(\n",
|
274 |
-
" save_path,\n",
|
275 |
-
" (-wave_processed.T*mdx_model.compensation)+wave.T,\n",
|
276 |
-
" sr\n",
|
277 |
-
" )\n",
|
278 |
-
" print(f'invert done, saved to: {save_path}')\n",
|
279 |
-
" del mdx_sess, wave_processed, wave\n",
|
280 |
-
" gc.collect()\n",
|
281 |
-
"\n",
|
282 |
-
" def is_valid_url(url):\n",
|
283 |
-
" import re\n",
|
284 |
-
" regex = re.compile(\n",
|
285 |
-
" r'^https?://'\n",
|
286 |
-
" r'(?:(?:[A-Z0-9](?:[A-Z0-9-]{0,61}[A-Z0-9])?\\.)+[A-Z]{2,6}\\.?|'\n",
|
287 |
-
" r'localhost|'\n",
|
288 |
-
" r'\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})'\n",
|
289 |
-
" r'(?::\\d+)?'\n",
|
290 |
-
" r'(?:/?|[/?]\\S+)$', re.IGNORECASE)\n",
|
291 |
-
" return url is not None and regex.search(url)\n",
|
292 |
-
"\n",
|
293 |
-
" def download_deezer(link, arl, fmt='FLAC'):\n",
|
294 |
-
" match fmt:\n",
|
295 |
-
" case 'FLAC':\n",
|
296 |
-
" bitrate = TrackFormats.FLAC\n",
|
297 |
-
" case 'MP3_320':\n",
|
298 |
-
" bitrate = TrackFormats.MP3_320\n",
|
299 |
-
" case 'MP3_128':\n",
|
300 |
-
" bitrate = TrackFormats.MP3_128\n",
|
301 |
-
" case _:\n",
|
302 |
-
" bitrate = TrackFormats.MP3_128\n",
|
303 |
-
"\n",
|
304 |
-
" dz = Deezer()\n",
|
305 |
-
" settings = loadSettings('dz_config')\n",
|
306 |
-
" settings['downloadLocation'] = './tracks'\n",
|
307 |
-
" if not dz.login_via_arl(arl.strip()):\n",
|
308 |
-
" raise Exception('Error while logging in with provided ARL.')\n",
|
309 |
-
" downloadObject = generateDownloadObject(dz, link, bitrate)\n",
|
310 |
-
" print(f'Downloading {downloadObject.type}: \"{downloadObject.title}\" by {downloadObject.artist}...',end=' ',flush=True)\n",
|
311 |
-
" Downloader(dz, downloadObject, settings).start()\n",
|
312 |
-
" print(f'done.')\n",
|
313 |
-
"\n",
|
314 |
-
" path_to_audio = []\n",
|
315 |
-
" for file in downloadObject.files:\n",
|
316 |
-
" path_to_audio.append(file[\"path\"])\n",
|
317 |
-
"\n",
|
318 |
-
" return path_to_audio\n",
|
319 |
-
"\n",
|
320 |
-
" def download_link(url):\n",
|
321 |
-
" ydl_opts = {\n",
|
322 |
-
" 'format': 'bestvideo+bestaudio/best',\n",
|
323 |
-
" 'outtmpl': '%(title)s.%(ext)s',\n",
|
324 |
-
" 'nocheckcertificate': True,\n",
|
325 |
-
" 'ignoreerrors': True,\n",
|
326 |
-
" 'no_warnings': True,\n",
|
327 |
-
" 'extractaudio': True,\n",
|
328 |
-
" }\n",
|
329 |
-
" with yt_dlp.YoutubeDL(ydl_opts) as ydl:\n",
|
330 |
-
" result = ydl.extract_info(url, download=True)\n",
|
331 |
-
" download_path = ydl.prepare_filename(result)\n",
|
332 |
-
" return download_path\n",
|
333 |
-
"\n",
|
334 |
-
" print('finished setting up!')\n",
|
335 |
-
" first_cell_ran = True"
|
336 |
-
]
|
337 |
-
},
|
338 |
-
{
|
339 |
-
"cell_type": "code",
|
340 |
-
"execution_count": null,
|
341 |
-
"metadata": {
|
342 |
-
"id": "4hd1TzEGCiRo",
|
343 |
-
"cellView": "form"
|
344 |
-
},
|
345 |
-
"outputs": [],
|
346 |
-
"source": [
|
347 |
-
"if 'first_cell_ran' in locals():\n",
|
348 |
-
" os.chdir(mounting_path + '/' + file_folder + '/')\n",
|
349 |
-
" #parameter markdowns-----------------\n",
|
350 |
-
" #@markdown ### Input files\n",
|
351 |
-
" #@markdown track filename: Upload your songs to the \"tracks\" folder. You may provide multiple links/files by spliting them with ;\n",
|
352 |
-
" filename = \"https://deezer.com/album/281108671\" #@param {type:\"string\"}\n",
|
353 |
-
" #@markdown onnx model (if you have your own model, upload it in models folder)\n",
|
354 |
-
" onnx = \"UVR-MDX-NET-Inst_HQ_3.onnx\" #@param [\"Kim_Inst.onnx\", \"Kim_Vocal_1.onnx\", \"Kim_Vocal_2.onnx\", \"kuielab_a_bass.onnx\", \"kuielab_a_drums.onnx\", \"kuielab_a_other.onnx\", \"kuielab_a_vocals.onnx\", \"kuielab_b_bass.onnx\", \"kuielab_b_drums.onnx\", \"kuielab_b_other.onnx\", \"kuielab_b_vocals.onnx\", \"Reverb_HQ_By_FoxJoy.onnx\", \"UVR-MDX-NET-Inst_1.onnx\", \"UVR-MDX-NET-Inst_2.onnx\", \"UVR-MDX-NET-Inst_3.onnx\", \"UVR-MDX-NET-Inst_HQ_1.onnx\", \"UVR-MDX-NET-Inst_HQ_2.onnx\", \"UVR-MDX-NET-Inst_Main.onnx\", \"UVR_MDXNET_1_9703.onnx\", \"UVR_MDXNET_2_9682.onnx\", \"UVR_MDXNET_3_9662.onnx\", \"UVR_MDXNET_9482.onnx\", \"UVR_MDXNET_KARA.onnx\", \"UVR_MDXNET_KARA_2.onnx\", \"UVR_MDXNET_Main.onnx\", \"UVR-MDX-NET-Inst_HQ_3.onnx\", \"UVR-MDX-NET-Voc_FT.onnx\"]{allow-input: true}\n",
|
355 |
-
" #@markdown process all: processes all tracks inside tracks/ folder instead. (filename will be ignored!)\n",
|
356 |
-
" process_all = False # @param{type:\"boolean\"}\n",
|
357 |
-
"\n",
|
358 |
-
"\n",
|
359 |
-
" #@markdown ### Settings\n",
|
360 |
-
" #@markdown invert: get difference between input and output (e.g get Instrumental out of Vocals)\n",
|
361 |
-
" invert = True # @param{type:\"boolean\"}\n",
|
362 |
-
" #@markdown denoise: get rid of MDX noise. (This processes input track twice)\n",
|
363 |
-
" denoise = True # @param{type:\"boolean\"}\n",
|
364 |
-
" #@markdown m_threads: like batch size, processes input wave in n threads. (beneficial for CPU)\n",
|
365 |
-
" m_threads = 2 #@param {type:\"slider\", min:1, max:8, step:1}\n",
|
366 |
-
"\n",
|
367 |
-
" #@markdown ### Custom model parameters (Only use this if you're using new/unofficial/custom models)\n",
|
368 |
-
" #@markdown Use custom model parameters. (Default: unchecked, or auto)\n",
|
369 |
-
" use_custom_parameter = False # @param{type:\"boolean\"}\n",
|
370 |
-
" #@markdown Output file suffix (usually the stem name e.g Vocals)\n",
|
371 |
-
" suffix = \"Vocals_custom\" #@param [\"Vocals\", \"Drums\", \"Bass\", \"Other\"]{allow-input: true}\n",
|
372 |
-
" suffix_invert = \"Instrumental_custom\" #@param [\"Instrumental\", \"Drumless\", \"Bassless\", \"Instruments\"]{allow-input: true}\n",
|
373 |
-
" #@markdown Model parameters\n",
|
374 |
-
" dim_f = 3072 #@param {type: \"integer\"}\n",
|
375 |
-
" dim_t = 256 #@param {type: \"integer\"}\n",
|
376 |
-
" n_fft = 6144 #@param {type: \"integer\"}\n",
|
377 |
-
" #@markdown use custom compensation: only if you have your own compensation value for your model. this still apply even if you don't have use_custom_parameter checked (Default: unchecked, or auto)\n",
|
378 |
-
" use_custom_compensation = False # @param{type:\"boolean\"}\n",
|
379 |
-
" compensation = 1.000 #@param {type: \"number\"}\n",
|
380 |
-
"\n",
|
381 |
-
" #@markdown ### Extras\n",
|
382 |
-
" #@markdown Deezer arl: paste your ARL here for deezer tracks directly!\n",
|
383 |
-
" arl = \"\" #@param {type:\"string\"}\n",
|
384 |
-
" #@markdown Track format: select track quality/format\n",
|
385 |
-
" track_format = \"FLAC\" #@param [\"FLAC\",\"MP3_320\",\"MP3_128\"]\n",
|
386 |
-
" #@markdown Print settings being used in the run\n",
|
387 |
-
" print_settings = True # @param{type:\"boolean\"}\n",
|
388 |
-
"\n",
|
389 |
-
"\n",
|
390 |
-
"\n",
|
391 |
-
" onnx = id_to_ptm(onnx)\n",
|
392 |
-
" compensation = compensation if use_custom_compensation or use_custom_parameter else None\n",
|
393 |
-
" mdx_model = prepare_mdx(use_custom_parameter, dim_f, dim_t, n_fft, compensation=compensation)\n",
|
394 |
-
"\n",
|
395 |
-
" filename_split = filename.split(';')\n",
|
396 |
-
"\n",
|
397 |
-
" usable_files = []\n",
|
398 |
-
"\n",
|
399 |
-
" if not process_all:\n",
|
400 |
-
" for fn in filename_split:\n",
|
401 |
-
" fn = fn.strip()\n",
|
402 |
-
" if is_valid_url(fn):\n",
|
403 |
-
" dm, ltype, lid = deemix.parseLink(fn)\n",
|
404 |
-
" if ltype and lid:\n",
|
405 |
-
" usable_files += download_deezer(fn, arl, track_format)\n",
|
406 |
-
" else:\n",
|
407 |
-
" print('downloading link...',end=' ')\n",
|
408 |
-
" usable_files+=[download_link(fn)]\n",
|
409 |
-
" print('done')\n",
|
410 |
-
" else:\n",
|
411 |
-
" usable_files.append(os.path.join('tracks',fn))\n",
|
412 |
-
" else:\n",
|
413 |
-
" for fn in glob.glob('tracks/*'):\n",
|
414 |
-
" usable_files.append(fn)\n",
|
415 |
-
" for filename in usable_files:\n",
|
416 |
-
" suffix_naming = suffix if use_custom_parameter else None\n",
|
417 |
-
" diff_suffix_naming = suffix_invert if use_custom_parameter else None\n",
|
418 |
-
" run_mdx(onnx, mdx_model, filename, diff=invert,suffix=suffix_naming,diff_suffix=diff_suffix_naming,denoise=denoise)\n",
|
419 |
-
"\n",
|
420 |
-
" if print_settings:\n",
|
421 |
-
" print()\n",
|
422 |
-
" print('[MDX-Net_Colab settings used]')\n",
|
423 |
-
" print(f'Model used: {onnx}')\n",
|
424 |
-
" print(f'Model MD5: {mdx.MDX.get_hash(onnx)}')\n",
|
425 |
-
" print(f'Using de-noise: {denoise}')\n",
|
426 |
-
" print(f'Model parameters:')\n",
|
427 |
-
" print(f' -dim_f: {mdx_model.dim_f}')\n",
|
428 |
-
" print(f' -dim_t: {mdx_model.dim_t}')\n",
|
429 |
-
" print(f' -n_fft: {mdx_model.n_fft}')\n",
|
430 |
-
" print(f' -compensation: {mdx_model.compensation}')\n",
|
431 |
-
" print()\n",
|
432 |
-
" print('[Input file]')\n",
|
433 |
-
" print('filename(s): ')\n",
|
434 |
-
" for filename in usable_files:\n",
|
435 |
-
" print(f' -{filename}')\n",
|
436 |
-
"\n",
|
437 |
-
" del mdx_model"
|
438 |
-
]
|
439 |
-
},
|
440 |
-
{
|
441 |
-
"cell_type": "markdown",
|
442 |
-
"source": [
|
443 |
-
"# Guide\n",
|
444 |
-
"\n",
|
445 |
-
"This tutorial guide will walk you through the steps to use the features of this Colab notebook.\n",
|
446 |
-
"\n",
|
447 |
-
"## Mount Drive\n",
|
448 |
-
"\n",
|
449 |
-
"To mount your Google Drive, follow these steps:\n",
|
450 |
-
"\n",
|
451 |
-
"1. Check the box next to \"MountDrive\" if you want to mount Google Drive.\n",
|
452 |
-
"2. Modify the \"mounting_path\" if you want to specify a different path for the drive to be mounted. **Note:** Be cautious when modifying this path as it can cause issues if not done properly.\n",
|
453 |
-
"3. Check the box next to \"Force update and disregard local changes\" if you want to discard all local modifications in your repository and replace the files with the versions from the original commit.\n",
|
454 |
-
"4. Check the box next to \"Auto Update\" if you want to automatically update without discarding your changes. Leave it unchecked if you want to manually update.\n",
|
455 |
-
"\n",
|
456 |
-
"## Input Files\n",
|
457 |
-
"\n",
|
458 |
-
"To upload your songs, follow these steps:\n",
|
459 |
-
"\n",
|
460 |
-
"1. Specify the \"track filename\" for your songs. You can provide multiple links or files by separating them with a semicolon (;).\n",
|
461 |
-
"2. Upload your songs to the \"tracks\" folder.\n",
|
462 |
-
"\n",
|
463 |
-
"## ONNX Model\n",
|
464 |
-
"\n",
|
465 |
-
"If you have your own ONNX model, follow these steps:\n",
|
466 |
-
"\n",
|
467 |
-
"1. Upload your model to the \"models\" folder.\n",
|
468 |
-
"2. Specify the \"onnx\" filename for your model.\n",
|
469 |
-
"\n",
|
470 |
-
"## Processing\n",
|
471 |
-
"\n",
|
472 |
-
"To process your tracks, follow these steps:\n",
|
473 |
-
"\n",
|
474 |
-
"1. If you want to process all tracks inside the \"tracks\" folder, check the box next to \"process_all\" and ignore the \"filename\" field.\n",
|
475 |
-
"2. Specify any additional settings you want:\n",
|
476 |
-
" - Check the box next to \"invert\" to get the difference between input and output (e.g., get Instrumental out of Vocals).\n",
|
477 |
-
" - Check the box next to \"denoise\" to get rid of MDX noise. This processes the input track twice.\n",
|
478 |
-
" - Specify custom model parameters only if you're using new/unofficial/custom models. Use the \"use_custom_parameter\" checkbox to enable this feature.\n",
|
479 |
-
" - Specify the output file suffix, which is usually the stem name (e.g., Vocals). Use the \"suffix\" field to specify the suffix for normal processing and the \"suffix_invert\" field for inverted processing.\n",
|
480 |
-
"\n",
|
481 |
-
"## Model Parameters\n",
|
482 |
-
"\n",
|
483 |
-
"Specify the following custom model parameters if applicable:\n",
|
484 |
-
"\n",
|
485 |
-
"- \"dim_f\": The value for the `dim_f` parameter.\n",
|
486 |
-
"- \"dim_t\": The value for the `dim_t` parameter.\n",
|
487 |
-
"- \"n_fft\": The value for the `n_fft` parameter.\n",
|
488 |
-
"- Check the box next to \"use_custom_compensation\" if you have your own compensation value for your model. Specify the compensation value in the \"compensation\" field.\n",
|
489 |
-
"\n",
|
490 |
-
"## Extras\n",
|
491 |
-
"\n",
|
492 |
-
"If you're working with Deezer tracks, paste your ARL (Authentication Request Library) in the \"arl\" field to directly access the tracks.\n",
|
493 |
-
"\n",
|
494 |
-
"Specify the \"Track format\" by selecting the desired quality/format for the track.\n",
|
495 |
-
"\n",
|
496 |
-
"To print the settings being used in the run, check the box next to \"print_settings\".\n",
|
497 |
-
"\n",
|
498 |
-
"That's it! You're now ready to use this Colab notebook. Enjoy!\n",
|
499 |
-
"\n",
|
500 |
-
"## For more detailed guide, proceed to this <a href=\"https://docs.google.com/document/d/17fjNvJzj8ZGSer7c7OFe_CNfUKbAxEh_OBv94ZdRG5c\">link</a>.\n",
|
501 |
-
"credits: (discord) deton24"
|
502 |
-
],
|
503 |
-
"metadata": {
|
504 |
-
"id": "tMVwX5RhZSRP"
|
505 |
-
}
|
506 |
-
}
|
507 |
-
],
|
508 |
-
"metadata": {
|
509 |
-
"accelerator": "GPU",
|
510 |
-
"colab": {
|
511 |
-
"gpuType": "T4",
|
512 |
-
"provenance": []
|
513 |
-
},
|
514 |
-
"kernelspec": {
|
515 |
-
"display_name": "Python 3",
|
516 |
-
"name": "python3"
|
517 |
-
},
|
518 |
-
"language_info": {
|
519 |
-
"name": "python"
|
520 |
-
}
|
521 |
-
},
|
522 |
-
"nbformat": 4,
|
523 |
-
"nbformat_minor": 0
|
524 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MDXNet.py
DELETED
@@ -1,272 +0,0 @@
|
|
1 |
-
import soundfile as sf
|
2 |
-
import torch, pdb, os, warnings, librosa
|
3 |
-
import numpy as np
|
4 |
-
import onnxruntime as ort
|
5 |
-
from tqdm import tqdm
|
6 |
-
import torch
|
7 |
-
|
8 |
-
dim_c = 4
|
9 |
-
|
10 |
-
|
11 |
-
class Conv_TDF_net_trim:
|
12 |
-
def __init__(
|
13 |
-
self, device, model_name, target_name, L, dim_f, dim_t, n_fft, hop=1024
|
14 |
-
):
|
15 |
-
super(Conv_TDF_net_trim, self).__init__()
|
16 |
-
|
17 |
-
self.dim_f = dim_f
|
18 |
-
self.dim_t = 2**dim_t
|
19 |
-
self.n_fft = n_fft
|
20 |
-
self.hop = hop
|
21 |
-
self.n_bins = self.n_fft // 2 + 1
|
22 |
-
self.chunk_size = hop * (self.dim_t - 1)
|
23 |
-
self.window = torch.hann_window(window_length=self.n_fft, periodic=True).to(
|
24 |
-
device
|
25 |
-
)
|
26 |
-
self.target_name = target_name
|
27 |
-
self.blender = "blender" in model_name
|
28 |
-
|
29 |
-
out_c = dim_c * 4 if target_name == "*" else dim_c
|
30 |
-
self.freq_pad = torch.zeros(
|
31 |
-
[1, out_c, self.n_bins - self.dim_f, self.dim_t]
|
32 |
-
).to(device)
|
33 |
-
|
34 |
-
self.n = L // 2
|
35 |
-
|
36 |
-
def stft(self, x):
|
37 |
-
x = x.reshape([-1, self.chunk_size])
|
38 |
-
x = torch.stft(
|
39 |
-
x,
|
40 |
-
n_fft=self.n_fft,
|
41 |
-
hop_length=self.hop,
|
42 |
-
window=self.window,
|
43 |
-
center=True,
|
44 |
-
return_complex=True,
|
45 |
-
)
|
46 |
-
x = torch.view_as_real(x)
|
47 |
-
x = x.permute([0, 3, 1, 2])
|
48 |
-
x = x.reshape([-1, 2, 2, self.n_bins, self.dim_t]).reshape(
|
49 |
-
[-1, dim_c, self.n_bins, self.dim_t]
|
50 |
-
)
|
51 |
-
return x[:, :, : self.dim_f]
|
52 |
-
|
53 |
-
def istft(self, x, freq_pad=None):
|
54 |
-
freq_pad = (
|
55 |
-
self.freq_pad.repeat([x.shape[0], 1, 1, 1])
|
56 |
-
if freq_pad is None
|
57 |
-
else freq_pad
|
58 |
-
)
|
59 |
-
x = torch.cat([x, freq_pad], -2)
|
60 |
-
c = 4 * 2 if self.target_name == "*" else 2
|
61 |
-
x = x.reshape([-1, c, 2, self.n_bins, self.dim_t]).reshape(
|
62 |
-
[-1, 2, self.n_bins, self.dim_t]
|
63 |
-
)
|
64 |
-
x = x.permute([0, 2, 3, 1])
|
65 |
-
x = x.contiguous()
|
66 |
-
x = torch.view_as_complex(x)
|
67 |
-
x = torch.istft(
|
68 |
-
x, n_fft=self.n_fft, hop_length=self.hop, window=self.window, center=True
|
69 |
-
)
|
70 |
-
return x.reshape([-1, c, self.chunk_size])
|
71 |
-
|
72 |
-
|
73 |
-
def get_models(device, dim_f, dim_t, n_fft):
|
74 |
-
return Conv_TDF_net_trim(
|
75 |
-
device=device,
|
76 |
-
model_name="Conv-TDF",
|
77 |
-
target_name="vocals",
|
78 |
-
L=11,
|
79 |
-
dim_f=dim_f,
|
80 |
-
dim_t=dim_t,
|
81 |
-
n_fft=n_fft,
|
82 |
-
)
|
83 |
-
|
84 |
-
|
85 |
-
warnings.filterwarnings("ignore")
|
86 |
-
cpu = torch.device("cpu")
|
87 |
-
if torch.cuda.is_available():
|
88 |
-
device = torch.device("cuda:0")
|
89 |
-
elif torch.backends.mps.is_available():
|
90 |
-
device = torch.device("mps")
|
91 |
-
else:
|
92 |
-
device = torch.device("cpu")
|
93 |
-
|
94 |
-
|
95 |
-
class Predictor:
|
96 |
-
def __init__(self, args):
|
97 |
-
self.args = args
|
98 |
-
self.model_ = get_models(
|
99 |
-
device=cpu, dim_f=args.dim_f, dim_t=args.dim_t, n_fft=args.n_fft
|
100 |
-
)
|
101 |
-
self.model = ort.InferenceSession(
|
102 |
-
os.path.join(args.onnx, self.model_.target_name + ".onnx"),
|
103 |
-
providers=["CUDAExecutionProvider", "CPUExecutionProvider"],
|
104 |
-
)
|
105 |
-
print("onnx load done")
|
106 |
-
|
107 |
-
def demix(self, mix):
|
108 |
-
samples = mix.shape[-1]
|
109 |
-
margin = self.args.margin
|
110 |
-
chunk_size = self.args.chunks * 44100
|
111 |
-
assert not margin == 0, "margin cannot be zero!"
|
112 |
-
if margin > chunk_size:
|
113 |
-
margin = chunk_size
|
114 |
-
|
115 |
-
segmented_mix = {}
|
116 |
-
|
117 |
-
if self.args.chunks == 0 or samples < chunk_size:
|
118 |
-
chunk_size = samples
|
119 |
-
|
120 |
-
counter = -1
|
121 |
-
for skip in range(0, samples, chunk_size):
|
122 |
-
counter += 1
|
123 |
-
|
124 |
-
s_margin = 0 if counter == 0 else margin
|
125 |
-
end = min(skip + chunk_size + margin, samples)
|
126 |
-
|
127 |
-
start = skip - s_margin
|
128 |
-
|
129 |
-
segmented_mix[skip] = mix[:, start:end].copy()
|
130 |
-
if end == samples:
|
131 |
-
break
|
132 |
-
|
133 |
-
sources = self.demix_base(segmented_mix, margin_size=margin)
|
134 |
-
"""
|
135 |
-
mix:(2,big_sample)
|
136 |
-
segmented_mix:offset->(2,small_sample)
|
137 |
-
sources:(1,2,big_sample)
|
138 |
-
"""
|
139 |
-
return sources
|
140 |
-
|
141 |
-
def demix_base(self, mixes, margin_size):
|
142 |
-
chunked_sources = []
|
143 |
-
progress_bar = tqdm(total=len(mixes))
|
144 |
-
progress_bar.set_description("Processing")
|
145 |
-
for mix in mixes:
|
146 |
-
cmix = mixes[mix]
|
147 |
-
sources = []
|
148 |
-
n_sample = cmix.shape[1]
|
149 |
-
model = self.model_
|
150 |
-
trim = model.n_fft // 2
|
151 |
-
gen_size = model.chunk_size - 2 * trim
|
152 |
-
pad = gen_size - n_sample % gen_size
|
153 |
-
mix_p = np.concatenate(
|
154 |
-
(np.zeros((2, trim)), cmix, np.zeros((2, pad)), np.zeros((2, trim))), 1
|
155 |
-
)
|
156 |
-
mix_waves = []
|
157 |
-
i = 0
|
158 |
-
while i < n_sample + pad:
|
159 |
-
waves = np.array(mix_p[:, i : i + model.chunk_size])
|
160 |
-
mix_waves.append(waves)
|
161 |
-
i += gen_size
|
162 |
-
mix_waves = torch.tensor(mix_waves, dtype=torch.float32).to(cpu)
|
163 |
-
with torch.no_grad():
|
164 |
-
_ort = self.model
|
165 |
-
spek = model.stft(mix_waves)
|
166 |
-
if self.args.denoise:
|
167 |
-
spec_pred = (
|
168 |
-
-_ort.run(None, {"input": -spek.cpu().numpy()})[0] * 0.5
|
169 |
-
+ _ort.run(None, {"input": spek.cpu().numpy()})[0] * 0.5
|
170 |
-
)
|
171 |
-
tar_waves = model.istft(torch.tensor(spec_pred))
|
172 |
-
else:
|
173 |
-
tar_waves = model.istft(
|
174 |
-
torch.tensor(_ort.run(None, {"input": spek.cpu().numpy()})[0])
|
175 |
-
)
|
176 |
-
tar_signal = (
|
177 |
-
tar_waves[:, :, trim:-trim]
|
178 |
-
.transpose(0, 1)
|
179 |
-
.reshape(2, -1)
|
180 |
-
.numpy()[:, :-pad]
|
181 |
-
)
|
182 |
-
|
183 |
-
start = 0 if mix == 0 else margin_size
|
184 |
-
end = None if mix == list(mixes.keys())[::-1][0] else -margin_size
|
185 |
-
if margin_size == 0:
|
186 |
-
end = None
|
187 |
-
sources.append(tar_signal[:, start:end])
|
188 |
-
|
189 |
-
progress_bar.update(1)
|
190 |
-
|
191 |
-
chunked_sources.append(sources)
|
192 |
-
_sources = np.concatenate(chunked_sources, axis=-1)
|
193 |
-
# del self.model
|
194 |
-
progress_bar.close()
|
195 |
-
return _sources
|
196 |
-
|
197 |
-
def prediction(self, m, vocal_root, others_root, format):
|
198 |
-
os.makedirs(vocal_root, exist_ok=True)
|
199 |
-
os.makedirs(others_root, exist_ok=True)
|
200 |
-
basename = os.path.basename(m)
|
201 |
-
mix, rate = librosa.load(m, mono=False, sr=44100)
|
202 |
-
if mix.ndim == 1:
|
203 |
-
mix = np.asfortranarray([mix, mix])
|
204 |
-
mix = mix.T
|
205 |
-
sources = self.demix(mix.T)
|
206 |
-
opt = sources[0].T
|
207 |
-
if format in ["wav", "flac"]:
|
208 |
-
sf.write(
|
209 |
-
"%s/%s_main_vocal.%s" % (vocal_root, basename, format), mix - opt, rate
|
210 |
-
)
|
211 |
-
sf.write("%s/%s_others.%s" % (others_root, basename, format), opt, rate)
|
212 |
-
else:
|
213 |
-
path_vocal = "%s/%s_main_vocal.wav" % (vocal_root, basename)
|
214 |
-
path_other = "%s/%s_others.wav" % (others_root, basename)
|
215 |
-
sf.write(path_vocal, mix - opt, rate)
|
216 |
-
sf.write(path_other, opt, rate)
|
217 |
-
if os.path.exists(path_vocal):
|
218 |
-
os.system(
|
219 |
-
"ffmpeg -i %s -vn %s -q:a 2 -y"
|
220 |
-
% (path_vocal, path_vocal[:-4] + ".%s" % format)
|
221 |
-
)
|
222 |
-
if os.path.exists(path_other):
|
223 |
-
os.system(
|
224 |
-
"ffmpeg -i %s -vn %s -q:a 2 -y"
|
225 |
-
% (path_other, path_other[:-4] + ".%s" % format)
|
226 |
-
)
|
227 |
-
|
228 |
-
|
229 |
-
class MDXNetDereverb:
|
230 |
-
def __init__(self, chunks):
|
231 |
-
self.onnx = "uvr5_weights/onnx_dereverb_By_FoxJoy"
|
232 |
-
self.shifts = 10 #'Predict with randomised equivariant stabilisation'
|
233 |
-
self.mixing = "min_mag" # ['default','min_mag','max_mag']
|
234 |
-
self.chunks = chunks
|
235 |
-
self.margin = 44100
|
236 |
-
self.dim_t = 9
|
237 |
-
self.dim_f = 3072
|
238 |
-
self.n_fft = 6144
|
239 |
-
self.denoise = True
|
240 |
-
self.pred = Predictor(self)
|
241 |
-
|
242 |
-
def _path_audio_(self, input, vocal_root, others_root, format):
|
243 |
-
self.pred.prediction(input, vocal_root, others_root, format)
|
244 |
-
|
245 |
-
|
246 |
-
if __name__ == "__main__":
|
247 |
-
dereverb = MDXNetDereverb(15)
|
248 |
-
from time import time as ttime
|
249 |
-
|
250 |
-
t0 = ttime()
|
251 |
-
dereverb._path_audio_(
|
252 |
-
"雪雪伴奏对消HP5.wav",
|
253 |
-
"vocal",
|
254 |
-
"others",
|
255 |
-
)
|
256 |
-
t1 = ttime()
|
257 |
-
print(t1 - t0)
|
258 |
-
|
259 |
-
|
260 |
-
"""
|
261 |
-
|
262 |
-
runtime\python.exe MDXNet.py
|
263 |
-
|
264 |
-
6G:
|
265 |
-
15/9:0.8G->6.8G
|
266 |
-
14:0.8G->6.5G
|
267 |
-
25:炸
|
268 |
-
|
269 |
-
half15:0.7G->6.6G,22.69s
|
270 |
-
fp32-15:0.7G->6.6G,20.85s
|
271 |
-
|
272 |
-
"""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Makefile
DELETED
@@ -1,63 +0,0 @@
|
|
1 |
-
.PHONY:
|
2 |
-
.ONESHELL:
|
3 |
-
|
4 |
-
help: ## Show this help and exit
|
5 |
-
@grep -hE '^[A-Za-z0-9_ \-]*?:.*##.*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
|
6 |
-
|
7 |
-
install: ## Install dependencies (Do everytime you start up a paperspace machine)
|
8 |
-
apt-get -y install build-essential python3-dev ffmpeg
|
9 |
-
pip install --upgrade setuptools wheel
|
10 |
-
pip install --upgrade pip
|
11 |
-
pip install faiss-gpu fairseq gradio ffmpeg ffmpeg-python praat-parselmouth pyworld numpy==1.23.5 numba==0.56.4 librosa==0.9.1
|
12 |
-
pip install -r requirements.txt
|
13 |
-
pip install --upgrade lxml
|
14 |
-
apt-get update
|
15 |
-
apt -y install -qq aria2
|
16 |
-
|
17 |
-
basev1: ## Download version 1 pre-trained models (Do only once after cloning the fork)
|
18 |
-
mkdir -p pretrained uvr5_weights
|
19 |
-
git pull
|
20 |
-
aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained/D32k.pth -d pretrained -o D32k.pth
|
21 |
-
aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained/D40k.pth -d pretrained -o D40k.pth
|
22 |
-
aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained/D48k.pth -d pretrained -o D48k.pth
|
23 |
-
aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained/G32k.pth -d pretrained -o G32k.pth
|
24 |
-
aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained/G40k.pth -d pretrained -o G40k.pth
|
25 |
-
aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained/G48k.pth -d pretrained -o G48k.pth
|
26 |
-
aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained/f0D32k.pth -d pretrained -o f0D32k.pth
|
27 |
-
aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained/f0D40k.pth -d pretrained -o f0D40k.pth
|
28 |
-
aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained/f0D48k.pth -d pretrained -o f0D48k.pth
|
29 |
-
aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained/f0G32k.pth -d pretrained -o f0G32k.pth
|
30 |
-
aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained/f0G40k.pth -d pretrained -o f0G40k.pth
|
31 |
-
aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained/f0G48k.pth -d pretrained -o f0G48k.pth
|
32 |
-
aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/uvr5_weights/HP2-人声vocals+非人声instrumentals.pth -d uvr5_weights -o HP2-人声vocals+非人声instrumentals.pth
|
33 |
-
aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/uvr5_weights/HP5-主旋律人声vocals+其他instrumentals.pth -d uvr5_weights -o HP5-主旋律人声vocals+其他instrumentals.pth
|
34 |
-
aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/hubert_base.pt -d ./ -o hubert_base.pt
|
35 |
-
|
36 |
-
basev2: ## Download version 2 pre-trained models (Do only once after cloning the fork)
|
37 |
-
mkdir -p pretrained_v2 uvr5_weights
|
38 |
-
git pull
|
39 |
-
aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained_v2/D32k.pth -d pretrained_v2 -o D32k.pth
|
40 |
-
aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained_v2/D40k.pth -d pretrained_v2 -o D40k.pth
|
41 |
-
aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained_v2/D48k.pth -d pretrained_v2 -o D48k.pth
|
42 |
-
aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained_v2/G32k.pth -d pretrained_v2 -o G32k.pth
|
43 |
-
aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained_v2/G40k.pth -d pretrained_v2 -o G40k.pth
|
44 |
-
aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained_v2/G48k.pth -d pretrained_v2 -o G48k.pth
|
45 |
-
aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained_v2/f0D32k.pth -d pretrained_v2 -o f0D32k.pth
|
46 |
-
aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained_v2/f0D40k.pth -d pretrained_v2 -o f0D40k.pth
|
47 |
-
aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained_v2/f0D48k.pth -d pretrained_v2 -o f0D48k.pth
|
48 |
-
aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained_v2/f0G32k.pth -d pretrained_v2 -o f0G32k.pth
|
49 |
-
aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained_v2/f0G40k.pth -d pretrained_v2 -o f0G40k.pth
|
50 |
-
aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained_v2/f0G48k.pth -d pretrained_v2 -o f0G48k.pth
|
51 |
-
aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/uvr5_weights/HP2-人声vocals+非人声instrumentals.pth -d uvr5_weights -o HP2-人声vocals+非人声instrumentals.pth
|
52 |
-
aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/uvr5_weights/HP5-主旋律人声vocals+其他instrumentals.pth -d uvr5_weights -o HP5-主旋律人声vocals+其他instrumentals.pth
|
53 |
-
aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/hubert_base.pt -d ./ -o hubert_base.pt
|
54 |
-
|
55 |
-
run-ui: ## Run the python GUI
|
56 |
-
python infer-web.py --paperspace --pycmd python
|
57 |
-
|
58 |
-
run-cli: ## Run the python CLI
|
59 |
-
python infer-web.py --pycmd python --is_cli
|
60 |
-
|
61 |
-
tensorboard: ## Start the tensorboard (Run on separate terminal)
|
62 |
-
echo https://tensorboard-$$(hostname).clg07azjl.paperspacegradient.com
|
63 |
-
tensorboard --logdir logs --bind_all
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
README.md
CHANGED
@@ -1,10 +1,142 @@
|
|
1 |
---
|
2 |
-
|
3 |
-
|
|
|
4 |
colorFrom: green
|
5 |
colorTo: green
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
---
|
2 |
+
license: mit
|
3 |
+
title: Applio
|
4 |
+
sdk: gradio
|
5 |
colorFrom: green
|
6 |
colorTo: green
|
7 |
+
emoji: 🍏
|
8 |
+
startup_duration_timeout: 1h
|
9 |
+
---
|
10 |
+
|
11 |
+
<h1 align="center">
|
12 |
+
<a href="https://applio.org" target="_blank"><img src="https://github.com/IAHispano/Applio/assets/133521603/a5cc5c72-ed68-48a5-954f-db9f1dc4e7de" alt="Applio"></a>
|
13 |
+
</h1>
|
14 |
+
|
15 |
+
<p align="center">
|
16 |
+
<img alt="Contributors" src="https://img.shields.io/github/contributors/iahispano/applio?style=for-the-badge&color=00AA68" />
|
17 |
+
<img alt="Release" src="https://img.shields.io/github/release/iahispano/applio?style=for-the-badge&color=00AA68" />
|
18 |
+
<img alt="Stars" src="https://img.shields.io/github/stars/iahispano/applio?style=for-the-badge&color=00AA68" />
|
19 |
+
<img alt="Fork" src="https://img.shields.io/github/forks/iahispano/applio?style=for-the-badge&color=00AA68" />
|
20 |
+
<img alt="Issues" src="https://img.shields.io/github/issues/iahispano/applio?style=for-the-badge&color=00AA68" />
|
21 |
+
</p>
|
22 |
+
|
23 |
+
<p align="center">VITS-based Voice Conversion focused on simplicity, quality and performance</p>
|
24 |
+
|
25 |
+
<p align="center">
|
26 |
+
<a href="https://applio.org" target="_blank">🌐 Website</a>
|
27 |
+
•
|
28 |
+
<a href="https://docs.applio.org" target="_blank">📚 Documentation</a>
|
29 |
+
•
|
30 |
+
<a href="https://discord.gg/iahispano" target="_blank">☎️ Discord</a>
|
31 |
+
</p>
|
32 |
+
|
33 |
+
<p align="center">
|
34 |
+
<a href="https://github.com/IAHispano/Applio-Plugins" target="_blank">🛒 Plugins</a>
|
35 |
+
•
|
36 |
+
<a href="https://huggingface.co/IAHispano/Applio/tree/main/Compiled" target="_blank">📦 Compiled</a>
|
37 |
+
•
|
38 |
+
<a href="https://applio.org/playground" target="_blank">🎮 Playground</a>
|
39 |
+
•
|
40 |
+
<a href="https://colab.research.google.com/github/iahispano/applio/blob/master/assets/Applio.ipynb" target="_blank">🔎 Google Colab (UI)</a>
|
41 |
+
•
|
42 |
+
<a href="https://colab.research.google.com/github/iahispano/applio/blob/master/assets/Applio_NoUI.ipynb" target="_blank">🔎 Google Colab (No UI)</a>
|
43 |
+
</p>
|
44 |
+
|
45 |
+
## Content Table
|
46 |
+
- [**Installation**](#installation)
|
47 |
+
- [Windows](#windows)
|
48 |
+
- [Linux](#linux)
|
49 |
+
- [Makefile](#makefile)
|
50 |
+
- [**Usage**](#usage)
|
51 |
+
- [Windows](#windows-1)
|
52 |
+
- [Linux](#linux-1)
|
53 |
+
- [Makefile](#makefile-1)
|
54 |
+
- [**Repository Enhancements**](#repository-enhancements)
|
55 |
+
- [**Commercial Usage**](#commercial-usage)
|
56 |
+
- [**References**](#references)
|
57 |
+
- [Contributors](#contributors)
|
58 |
+
|
59 |
+
## Installation
|
60 |
+
Download the latest version from [GitHub Releases](https://github.com/IAHispano/Applio-RVC-Fork/releases) or use the [Compiled Versions](https://huggingface.co/IAHispano/Applio/tree/main/Compiled).
|
61 |
+
|
62 |
+
### Windows
|
63 |
+
```bash
|
64 |
+
./run-install.bat
|
65 |
+
```
|
66 |
+
|
67 |
+
### Linux
|
68 |
+
Certain Linux-based operating systems may encounter complications with the installer. In such instances, we suggest installing the `requirements.txt` within a Python environment version 3.9 to 3.11.
|
69 |
+
```bash
|
70 |
+
chmod +x run-install.sh
|
71 |
+
./run-install.sh
|
72 |
+
```
|
73 |
+
|
74 |
+
### Makefile
|
75 |
+
For platforms such as [Paperspace](https://www.paperspace.com/)
|
76 |
+
```
|
77 |
+
make run-install
|
78 |
+
```
|
79 |
+
|
80 |
+
## Usage
|
81 |
+
Visit [Applio Documentation](https://docs.applio.org/) for a detailed UI usage explanation.
|
82 |
+
|
83 |
+
### Windows
|
84 |
+
```bash
|
85 |
+
./run-applio.bat
|
86 |
+
```
|
87 |
+
|
88 |
+
### Linux
|
89 |
+
```bash
|
90 |
+
chmod +x run-applio.sh
|
91 |
+
./run-applio.sh
|
92 |
+
```
|
93 |
+
|
94 |
+
### Makefile
|
95 |
+
For platforms such as [Paperspace](https://www.paperspace.com/)
|
96 |
+
```
|
97 |
+
make run-applio
|
98 |
+
```
|
99 |
+
|
100 |
+
## Repository Enhancements
|
101 |
+
|
102 |
+
This repository has undergone significant enhancements to improve its functionality and maintainability:
|
103 |
+
|
104 |
+
- **Modular Codebase:** Restructured codebase following a modular approach for better organization, readability, and maintenance.
|
105 |
+
- **Hop Length Implementation:** Implemented hop length, courtesy of [@Mangio621](https://github.com/Mangio621/Mangio-RVC-Fork), boosting efficiency and performance, especially on Crepe (formerly Mangio-Crepe).
|
106 |
+
- **Translations in 30+ Languages:** Added support for translations in over 30 languages, enhancing accessibility for a global audience.
|
107 |
+
- **Cross-Platform Compatibility:** Ensured seamless operation across various platforms for a consistent user experience.
|
108 |
+
- **Optimized Requirements:** Fine-tuned project requirements for enhanced performance and resource efficiency.
|
109 |
+
- **Streamlined Installation:** Simplified installation process for a user-friendly setup experience.
|
110 |
+
- **Hybrid F0 Estimation:** Introduced a personalized 'hybrid' F0 estimation method utilizing nanmedian, combining F0 calculations from various methods to achieve optimal results.
|
111 |
+
- **Easy-to-Use UI:** Implemented a user-friendly interface for intuitive interaction.
|
112 |
+
- **Optimized Code & Dependencies:** Enhanced code and streamlined dependencies for improved efficiency.
|
113 |
+
- **Plugin System:** Introduced a plugin system for extending functionality and customization.
|
114 |
+
- **Overtraining Detector:** Implemented an overtraining detector which halts training once a specified epoch limit is reached, preventing excessive training.
|
115 |
+
- **Model Search:** Integrated a model search feature directly into the application interface, facilitating easy model discovery.
|
116 |
+
- **Enhancements in Pretrained Models:** Introduced additional functionalities such as custom pretrained models, allowing users to utilize their preferred pretrained models without requiring RVC1 pretrained models upon installation.
|
117 |
+
- **Voice Blender:** Developed a voice blender feature that combines two trained models to create a new one, offering versatility in model generation.
|
118 |
+
- **Accessibility Improvements:** Enhanced accessibility with descriptive tooltips indicating the function of each element in the user interface, making it more user-friendly for all users.
|
119 |
+
- **New F0 Extraction Methods:** Introduced new F0 extraction methods such as FCPE or Hybrid, expanding options for pitch extraction.
|
120 |
+
- **Output Format Selection:** Implemented an output format selection feature, allowing users to choose the format in which they want to save their audio files.
|
121 |
+
- **Hashing System:** Implemented a hashing system where each created model is assigned a unique ID to prevent unauthorized duplication or theft.
|
122 |
+
- **Model Download System:** Added support for downloading models from various websites such as Google Drive, Yandex, Pixeldrain, Discord, Hugging Face, or Applio.org, enhancing model accessibility.
|
123 |
+
- **TTS Enhancements:** Improved Text-to-Speech functionality with support for uploading TXT files, increasing flexibility in input methods.
|
124 |
+
- **Split Audio:** Implemented audio splitting functionality which divides audio into segments for inference, subsequently merging them to create the final audio, resulting in faster processing times and potentially better outcomes.
|
125 |
+
- **Discord Presence:** Displayed presence on Discord indicating active usage of Applio, with plans to incorporate different statuses based on activities within the application.
|
126 |
+
- **Flask Integration:** Integration with Flask, initially disabled by default, allows for automatic model downloads from the web by simply clicking the Applio button next to the model download button in the settings tab.
|
127 |
+
- **Support Tab:** Added a support tab enabling users to record their screen to demonstrate encountered issues, facilitating faster issue resolution by allowing users to create GitHub issues for review and troubleshooting.
|
128 |
+
|
129 |
+
These enhancements contribute to a more robust and scalable codebase, making the repository more accessible for contributors and users alike.
|
130 |
+
|
131 |
+
## Commercial Usage
|
132 |
+
We follow the [MIT license](./LICENSE) for this project. If you intend to use Applio for commercial purposes, please contact us first to ensure the ethical use of the tool. You can reach us at support@applio.org. Additionally, we would appreciate it if you consider making a donation to support the ongoing development and maintenance of Applio.
|
133 |
+
Thank you for your cooperation and support!
|
134 |
+
|
135 |
+
## References
|
136 |
+
- [gradio-screen-recorder](https://huggingface.co/spaces/gstaff/gradio-screen-recorder) by gstaff
|
137 |
+
- [RVC_CLI](https://github.com/blaise-tk/RVC_CLI) by blaise-tk
|
138 |
+
|
139 |
+
### Contributors
|
140 |
+
<a href="https://github.com/IAHispano/Applio/graphs/contributors" target="_blank">
|
141 |
+
<img src="https://contrib.rocks/image?repo=IAHispano/Applio" />
|
142 |
+
</a>
|
app.py
CHANGED
The diff for this file is too large to render.
See raw diff
|
|
assets/Applio.ipynb
ADDED
@@ -0,0 +1,450 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"cells": [
|
3 |
+
{
|
4 |
+
"cell_type": "markdown",
|
5 |
+
"metadata": {
|
6 |
+
"id": "ymhGfgFSR17k"
|
7 |
+
},
|
8 |
+
"source": [
|
9 |
+
"## **Applio**\n",
|
10 |
+
"Ultimate voice cloning tool, meticulously optimized for unrivaled power, modularity, and user-friendly experience.\n",
|
11 |
+
"\n",
|
12 |
+
"[Support](https://discord.gg/IAHispano) — [Discord Bot](https://discord.com/oauth2/authorize?client_id=1144714449563955302&permissions=1376674695271&scope=bot%20applications.commands) — [Find Voices](https://applio.org/models) — [GitHub](https://github.com/IAHispano/Applio)\n",
|
13 |
+
"\n",
|
14 |
+
"<br>\n",
|
15 |
+
"\n",
|
16 |
+
"### **Credits**\n",
|
17 |
+
"- Encryption method: [Hina](https://github.com/hinabl)\n",
|
18 |
+
"- Extra section: [Poopmaster](https://github.com/poiqazwsx)\n",
|
19 |
+
"- Main development: [Applio Team](https://github.com/IAHispano)\n",
|
20 |
+
"\n",
|
21 |
+
"<br>\n",
|
22 |
+
"\n"
|
23 |
+
]
|
24 |
+
},
|
25 |
+
{
|
26 |
+
"cell_type": "code",
|
27 |
+
"execution_count": null,
|
28 |
+
"metadata": {
|
29 |
+
"cellView": "form",
|
30 |
+
"id": "vtON700qokuQ"
|
31 |
+
},
|
32 |
+
"outputs": [],
|
33 |
+
"source": [
|
34 |
+
"# @title **Install Applio**\n",
|
35 |
+
"\n",
|
36 |
+
"import codecs\n",
|
37 |
+
"import time\n",
|
38 |
+
"import os\n",
|
39 |
+
"import csv\n",
|
40 |
+
"import shutil\n",
|
41 |
+
"import tarfile\n",
|
42 |
+
"import subprocess\n",
|
43 |
+
"from pathlib import Path\n",
|
44 |
+
"from datetime import datetime\n",
|
45 |
+
"\n",
|
46 |
+
"rot_47 = lambda encoded_text: \"\".join(\n",
|
47 |
+
" [\n",
|
48 |
+
" (\n",
|
49 |
+
" chr(\n",
|
50 |
+
" (ord(c) - (ord(\"a\") if c.islower() else ord(\"A\")) - 47) % 26\n",
|
51 |
+
" + (ord(\"a\") if c.islower() else ord(\"A\"))\n",
|
52 |
+
" )\n",
|
53 |
+
" if c.isalpha()\n",
|
54 |
+
" else c\n",
|
55 |
+
" )\n",
|
56 |
+
" for c in encoded_text\n",
|
57 |
+
" ]\n",
|
58 |
+
")\n",
|
59 |
+
"\n",
|
60 |
+
"org_name = rot_47(\"Vkkgdj\")\n",
|
61 |
+
"new_name = rot_47(\"kmjbmvh_hg\")\n",
|
62 |
+
"uioawhd = rot_47(codecs.decode(\"pbbxa://oqbpcj.kwu/QIPqaxivw/Ixxtqw.oqb\", \"rot_13\"))\n",
|
63 |
+
"uyadwa = codecs.decode(\"ncc.cl\", \"rot_13\")\n",
|
64 |
+
"!git clone --depth 1 $uioawhd\n",
|
65 |
+
"!mv $org_name $new_name\n",
|
66 |
+
"%cd $new_name/\n",
|
67 |
+
"\n",
|
68 |
+
"from IPython.display import clear_output, Javascript\n",
|
69 |
+
"\n",
|
70 |
+
"clear_output()\n",
|
71 |
+
"\n",
|
72 |
+
"E = Exception\n",
|
73 |
+
"B = print\n",
|
74 |
+
"\n",
|
75 |
+
"\n",
|
76 |
+
"def vidal_setup(ForceIn):\n",
|
77 |
+
" L = \"Kikpm.ovm.bu\"\n",
|
78 |
+
" K = \"/content/\"\n",
|
79 |
+
" C = ForceIn\n",
|
80 |
+
"\n",
|
81 |
+
" def F():\n",
|
82 |
+
" print(\"Installing pip packages...\")\n",
|
83 |
+
" subprocess.check_call([\"pip\", \"install\", \"-r\", \"requirements.txt\", \"--quiet\"])\n",
|
84 |
+
"\n",
|
85 |
+
" A = K + rot_47(L)\n",
|
86 |
+
" G = K + rot_47(L)\n",
|
87 |
+
" D = \"/\"\n",
|
88 |
+
" if not os.path.exists(A):\n",
|
89 |
+
" M = os.path.dirname(A)\n",
|
90 |
+
" os.makedirs(M, exist_ok=True)\n",
|
91 |
+
" print(\"No cached install found..\")\n",
|
92 |
+
" try:\n",
|
93 |
+
" N = rot_47(\n",
|
94 |
+
" codecs.decode(\n",
|
95 |
+
" \"pbbxa://pcooqvonikm.kw/QIPqaxivw/Ixxtqw/zmawtdm/uiqv/Kwtij/Xvxcz.biz.oh\",\n",
|
96 |
+
" \"rot_13\",\n",
|
97 |
+
" )\n",
|
98 |
+
" )\n",
|
99 |
+
" subprocess.run([\"wget\", \"-O\", A, N])\n",
|
100 |
+
" print(\"Download completed successfully!\")\n",
|
101 |
+
" except E as H:\n",
|
102 |
+
" print(str(H))\n",
|
103 |
+
" if os.path.exists(A):\n",
|
104 |
+
" os.remove(A)\n",
|
105 |
+
" if Path(A).exists():\n",
|
106 |
+
" with tarfile.open(G, \"r:gz\") as I:\n",
|
107 |
+
" for J in I.getmembers():\n",
|
108 |
+
" O = os.path.join(D, J.name)\n",
|
109 |
+
" try:\n",
|
110 |
+
" I.extract(J, D)\n",
|
111 |
+
" except E as H:\n",
|
112 |
+
" print(\"Failed to extract a file\")\n",
|
113 |
+
" C = True\n",
|
114 |
+
" print(f\"Extraction of {G} to {D} completed.\")\n",
|
115 |
+
" if os.path.exists(A):\n",
|
116 |
+
" os.remove(A)\n",
|
117 |
+
" if C:\n",
|
118 |
+
" F()\n",
|
119 |
+
" C = False\n",
|
120 |
+
" else:\n",
|
121 |
+
" F()\n",
|
122 |
+
"\n",
|
123 |
+
"\n",
|
124 |
+
"vidal_setup(False)\n",
|
125 |
+
"clear_output()\n",
|
126 |
+
"print(\"Finished installing requirements!\")"
|
127 |
+
]
|
128 |
+
},
|
129 |
+
{
|
130 |
+
"cell_type": "code",
|
131 |
+
"execution_count": null,
|
132 |
+
"metadata": {
|
133 |
+
"cellView": "form",
|
134 |
+
"id": "-7cQtXouqpQi"
|
135 |
+
},
|
136 |
+
"outputs": [],
|
137 |
+
"source": [
|
138 |
+
"# @title **Start Applio**\n",
|
139 |
+
"# @markdown ### Just activate this in case the share link of the gradio dont work\n",
|
140 |
+
"import codecs\n",
|
141 |
+
"import threading\n",
|
142 |
+
"import urllib.request\n",
|
143 |
+
"import time\n",
|
144 |
+
"import ipywidgets as widgets\n",
|
145 |
+
"from IPython.display import display\n",
|
146 |
+
"!npm install -g localtunnel\n",
|
147 |
+
"new_name = rot_47(\"kmjbmvh_hg\")\n",
|
148 |
+
"%cd \"/content/program_ml\"\n",
|
149 |
+
"uyadwa = codecs.decode(\"ncc.cl\", \"rot_13\")\n",
|
150 |
+
"share_tunnel = False # @param {type:\"boolean\"}\n",
|
151 |
+
"def start_applio():\n",
|
152 |
+
" if share_tunnel:\n",
|
153 |
+
" !python $uyadwa --listen\n",
|
154 |
+
" else:\n",
|
155 |
+
" !python $uyadwa --listen --share\n",
|
156 |
+
"\n",
|
157 |
+
"%load_ext tensorboard\n",
|
158 |
+
"%reload_ext tensorboard\n",
|
159 |
+
"%tensorboard --logdir logs --bind_all\n",
|
160 |
+
"\n",
|
161 |
+
"if \"autobackups\" not in globals():\n",
|
162 |
+
" autobackups = False\n",
|
163 |
+
"\n",
|
164 |
+
"if autobackups:\n",
|
165 |
+
" thread = threading.Thread(target=backup_files)\n",
|
166 |
+
" thread.start()\n",
|
167 |
+
"\n",
|
168 |
+
"thread_applio = threading.Thread(target=start_applio)\n",
|
169 |
+
"thread_applio.start()\n",
|
170 |
+
"\n",
|
171 |
+
"if share_tunnel:\n",
|
172 |
+
" if not os.path.exists(codecs.decode(\"eip/cergenvarqf/cergenvarq_i2/s0T48x.cgu\", \"rot_13\")):\n",
|
173 |
+
" while not os.path.exists(codecs.decode(\"eip/cergenvarqf/cergenvarq_i2/s0T48x.cgu\", \"rot_13\")):\n",
|
174 |
+
" time.sleep(2)\n",
|
175 |
+
" time.sleep(5)\n",
|
176 |
+
" else:\n",
|
177 |
+
" time.sleep(10)\n",
|
178 |
+
" with open('url.txt', 'w') as file:\n",
|
179 |
+
" file.write('')\n",
|
180 |
+
"\n",
|
181 |
+
" get_ipython().system_raw('lt --port 6969 >> url.txt 2>&1 &')\n",
|
182 |
+
"\n",
|
183 |
+
" time.sleep(4)\n",
|
184 |
+
"\n",
|
185 |
+
" endpoint_ip = urllib.request.urlopen('https://ipv4.icanhazip.com').read().decode('utf8').strip(\"\\n\")\n",
|
186 |
+
"\n",
|
187 |
+
" with open('url.txt', 'r') as file:\n",
|
188 |
+
" tunnel_url = file.read()\n",
|
189 |
+
" tunnel_url = tunnel_url.replace(\"your url is: \", \"\")\n",
|
190 |
+
"\n",
|
191 |
+
" print(f\"Share Link: \\033[0m\\033[93m{tunnel_url}\\033[0m\", end=\"\\033[0m\\n\")\n",
|
192 |
+
"\n",
|
193 |
+
" password_endpoint_widget = widgets.Text(\n",
|
194 |
+
" value=endpoint_ip,\n",
|
195 |
+
" description='Password IP:',\n",
|
196 |
+
" disabled=True\n",
|
197 |
+
" )\n",
|
198 |
+
" display(password_endpoint_widget)\n",
|
199 |
+
"\n",
|
200 |
+
"\n",
|
201 |
+
"\n",
|
202 |
+
"while True:\n",
|
203 |
+
" time.sleep(5)\n"
|
204 |
+
]
|
205 |
+
},
|
206 |
+
{
|
207 |
+
"cell_type": "markdown",
|
208 |
+
"metadata": {
|
209 |
+
"id": "3b59-2x-qEnX"
|
210 |
+
},
|
211 |
+
"source": [
|
212 |
+
"### **Extra**\n",
|
213 |
+
"Enjoy extra options that can make it easier for you to use Applio\n"
|
214 |
+
]
|
215 |
+
},
|
216 |
+
{
|
217 |
+
"cell_type": "code",
|
218 |
+
"execution_count": null,
|
219 |
+
"metadata": {
|
220 |
+
"cellView": "form",
|
221 |
+
"id": "19LNv6iYqF6_"
|
222 |
+
},
|
223 |
+
"outputs": [],
|
224 |
+
"source": [
|
225 |
+
"# @title Mount Drive\n",
|
226 |
+
"# @markdown Mount the files from Google Drive to the Colab.\n",
|
227 |
+
"from google.colab import drive\n",
|
228 |
+
"\n",
|
229 |
+
"drive.mount(\"/content/drive\")"
|
230 |
+
]
|
231 |
+
},
|
232 |
+
{
|
233 |
+
"cell_type": "code",
|
234 |
+
"execution_count": null,
|
235 |
+
"metadata": {
|
236 |
+
"cellView": "form",
|
237 |
+
"id": "I5o6MlpFouiG"
|
238 |
+
},
|
239 |
+
"outputs": [],
|
240 |
+
"source": [
|
241 |
+
"# @title Auto Backup\n",
|
242 |
+
"# @markdown When running it, it will be activated or deactivated previously to start up together with Applio.\n",
|
243 |
+
"LOGS_FOLDER = \"/content/program_ml/logs/\"\n",
|
244 |
+
"GOOGLE_DRIVE_PATH = \"/content/drive/MyDrive/ApplioBackup\"\n",
|
245 |
+
"\n",
|
246 |
+
"if \"autobackups\" not in globals():\n",
|
247 |
+
" autobackups = False\n",
|
248 |
+
"\n",
|
249 |
+
"\n",
|
250 |
+
"def backup_files():\n",
|
251 |
+
" print(\"\\nStarting backup loop...\")\n",
|
252 |
+
" last_backup_timestamps_path = os.path.join(\n",
|
253 |
+
" LOGS_FOLDER, \"last_backup_timestamps.txt\"\n",
|
254 |
+
" )\n",
|
255 |
+
" fully_updated = False\n",
|
256 |
+
"\n",
|
257 |
+
" while True:\n",
|
258 |
+
" try:\n",
|
259 |
+
" updated = False\n",
|
260 |
+
" last_backup_timestamps = {}\n",
|
261 |
+
"\n",
|
262 |
+
" try:\n",
|
263 |
+
" with open(last_backup_timestamps_path, \"r\") as f:\n",
|
264 |
+
" last_backup_timestamps = dict(line.strip().split(\":\") for line in f)\n",
|
265 |
+
" except FileNotFoundError:\n",
|
266 |
+
" pass\n",
|
267 |
+
"\n",
|
268 |
+
" for root, dirs, files in os.walk(LOGS_FOLDER):\n",
|
269 |
+
" # Excluding \"zips\" directory\n",
|
270 |
+
" if \"zips\" in dirs:\n",
|
271 |
+
" dirs.remove(\"zips\")\n",
|
272 |
+
" if \"mute\" in dirs:\n",
|
273 |
+
" dirs.remove(\"mute\")\n",
|
274 |
+
" for filename in files:\n",
|
275 |
+
" if filename != \"last_backup_timestamps.txt\":\n",
|
276 |
+
" filepath = os.path.join(root, filename)\n",
|
277 |
+
" if os.path.isfile(filepath):\n",
|
278 |
+
" backup_filepath = os.path.join(\n",
|
279 |
+
" GOOGLE_DRIVE_PATH,\n",
|
280 |
+
" os.path.relpath(filepath, LOGS_FOLDER),\n",
|
281 |
+
" )\n",
|
282 |
+
" backup_folderpath = os.path.dirname(backup_filepath)\n",
|
283 |
+
" if not os.path.exists(backup_folderpath):\n",
|
284 |
+
" os.makedirs(backup_folderpath)\n",
|
285 |
+
" print(\n",
|
286 |
+
" f\"Created backup folder: {backup_folderpath}\",\n",
|
287 |
+
" flush=True,\n",
|
288 |
+
" )\n",
|
289 |
+
" last_backup_timestamp = last_backup_timestamps.get(filepath)\n",
|
290 |
+
" current_timestamp = os.path.getmtime(filepath)\n",
|
291 |
+
" if (\n",
|
292 |
+
" last_backup_timestamp is None\n",
|
293 |
+
" or float(last_backup_timestamp) < current_timestamp\n",
|
294 |
+
" ):\n",
|
295 |
+
" shutil.copy2(filepath, backup_filepath)\n",
|
296 |
+
" last_backup_timestamps[filepath] = str(\n",
|
297 |
+
" current_timestamp\n",
|
298 |
+
" )\n",
|
299 |
+
" if last_backup_timestamp is None:\n",
|
300 |
+
" print(f\"Backed up file: {filename}\")\n",
|
301 |
+
" else:\n",
|
302 |
+
" print(f\"Updating backed up file: {filename}\")\n",
|
303 |
+
" updated = True\n",
|
304 |
+
" fully_updated = False\n",
|
305 |
+
"\n",
|
306 |
+
" for filepath in list(last_backup_timestamps.keys()):\n",
|
307 |
+
" if not os.path.exists(filepath):\n",
|
308 |
+
" backup_filepath = os.path.join(\n",
|
309 |
+
" GOOGLE_DRIVE_PATH, os.path.relpath(filepath, LOGS_FOLDER)\n",
|
310 |
+
" )\n",
|
311 |
+
" if os.path.exists(backup_filepath):\n",
|
312 |
+
" os.remove(backup_filepath)\n",
|
313 |
+
" print(f\"Deleted file: {filepath}\")\n",
|
314 |
+
" del last_backup_timestamps[filepath]\n",
|
315 |
+
" updated = True\n",
|
316 |
+
" fully_updated = False\n",
|
317 |
+
"\n",
|
318 |
+
" if not updated and not fully_updated:\n",
|
319 |
+
" print(\"Files are up to date.\")\n",
|
320 |
+
" fully_updated = True\n",
|
321 |
+
" sleep_time = 15\n",
|
322 |
+
" else:\n",
|
323 |
+
" sleep_time = 0.1\n",
|
324 |
+
"\n",
|
325 |
+
" with open(last_backup_timestamps_path, \"w\") as f:\n",
|
326 |
+
" for filepath, timestamp in last_backup_timestamps.items():\n",
|
327 |
+
" f.write(f\"{filepath}:{timestamp}\\n\")\n",
|
328 |
+
"\n",
|
329 |
+
" time.sleep(sleep_time)\n",
|
330 |
+
"\n",
|
331 |
+
" except Exception as e:\n",
|
332 |
+
" print(f\"An error occurred: {str(e)}\")\n",
|
333 |
+
"\n",
|
334 |
+
"\n",
|
335 |
+
"if autobackups:\n",
|
336 |
+
" autobackups = False\n",
|
337 |
+
" print(\"Autobackup Disabled\")\n",
|
338 |
+
"else:\n",
|
339 |
+
" autobackups = True\n",
|
340 |
+
" print(\"Autobackup Enabled\")"
|
341 |
+
]
|
342 |
+
},
|
343 |
+
{
|
344 |
+
"cell_type": "code",
|
345 |
+
"execution_count": null,
|
346 |
+
"metadata": {
|
347 |
+
"cellView": "form",
|
348 |
+
"id": "ifV_vc4h4Uvx"
|
349 |
+
},
|
350 |
+
"outputs": [],
|
351 |
+
"source": [
|
352 |
+
"# @title Load a Backup\n",
|
353 |
+
"from google.colab import drive\n",
|
354 |
+
"\n",
|
355 |
+
"# @markdown Put the exact name you put as your Model Name in Applio.\n",
|
356 |
+
"modelname = \"My-Project\" # @param {type:\"string\"}\n",
|
357 |
+
"source_path = \"/content/drive/MyDrive/ApplioBackup/\" + modelname\n",
|
358 |
+
"destination_path = \"/content/program_ml/logs/\" + modelname\n",
|
359 |
+
"backup_timestamps_file = \"last_backup_timestamps.txt\"\n",
|
360 |
+
"if not os.path.exists(source_path):\n",
|
361 |
+
" print(\n",
|
362 |
+
" \"The model folder does not exist. Please verify the name is correct or check your Google Drive.\"\n",
|
363 |
+
" )\n",
|
364 |
+
"else:\n",
|
365 |
+
" time_ = os.path.join(\"/content/drive/MyDrive/ApplioBackup/\", backup_timestamps_file)\n",
|
366 |
+
" time__ = os.path.join(\"/content/program_ml/logs/\", backup_timestamps_file)\n",
|
367 |
+
" if os.path.exists(time_):\n",
|
368 |
+
" shutil.copy(time_, time__)\n",
|
369 |
+
" shutil.copytree(source_path, destination_path)\n",
|
370 |
+
" print(\"Model backup loaded successfully.\")"
|
371 |
+
]
|
372 |
+
},
|
373 |
+
{
|
374 |
+
"cell_type": "code",
|
375 |
+
"execution_count": null,
|
376 |
+
"metadata": {
|
377 |
+
"cellView": "form",
|
378 |
+
"id": "leWbhk1X4XoY"
|
379 |
+
},
|
380 |
+
"outputs": [],
|
381 |
+
"source": [
|
382 |
+
"# @title Download all custom pretrains\n",
|
383 |
+
"import os\n",
|
384 |
+
"import urllib.request\n",
|
385 |
+
"\n",
|
386 |
+
"%mkdir /content/program_ml/rvc/pretraineds/pretraineds_custom\n",
|
387 |
+
"pretrained_urls = [\n",
|
388 |
+
" # Ov2 Super\n",
|
389 |
+
" \"https://huggingface.co/ORVC/Ov2Super/resolve/main/f0Ov2Super32kG.pth\",\n",
|
390 |
+
" \"https://huggingface.co/ORVC/Ov2Super/resolve/main/f0Ov2Super32kD.pth\",\n",
|
391 |
+
" \"https://huggingface.co/ORVC/Ov2Super/resolve/main/f0Ov2Super40kG.pth\",\n",
|
392 |
+
" \"https://huggingface.co/ORVC/Ov2Super/resolve/main/f0Ov2Super40kD.pth\",\n",
|
393 |
+
"\n",
|
394 |
+
" # TITAN\n",
|
395 |
+
" \"https://huggingface.co/blaise-tk/TITAN/resolve/main/models/medium/40k/pretrained/G-f040k-TITAN-Medium.pth\",\n",
|
396 |
+
" \"https://huggingface.co/blaise-tk/TITAN/resolve/main/models/medium/40k/pretrained/D-f040k-TITAN-Medium.pth\",\n",
|
397 |
+
" \"https://huggingface.co/blaise-tk/TITAN/resolve/main/models/medium/32k/pretrained/G-f032k-TITAN-Medium.pth\",\n",
|
398 |
+
" \"https://huggingface.co/blaise-tk/TITAN/resolve/main/models/medium/32k/pretrained/D-f032k-TITAN-Medium.pth\",\n",
|
399 |
+
"\n",
|
400 |
+
" # Snowie V3\n",
|
401 |
+
" \"https://huggingface.co/MUSTAR/SnowieV3.1-32k/resolve/main/D_SnowieV3.1_32k.pth\",\n",
|
402 |
+
" \"https://huggingface.co/MUSTAR/SnowieV3.1-32k/resolve/main/G_SnowieV3.1_32k.pth\",\n",
|
403 |
+
" \"https://huggingface.co/MUSTAR/SnowieV3.1-40k/resolve/main/G_SnowieV3.1_40k.pth\",\n",
|
404 |
+
" \"https://huggingface.co/MUSTAR/SnowieV3.1-40k/resolve/main/D_SnowieV3.1_40k.pth\",\n",
|
405 |
+
" \"https://huggingface.co/MUSTAR/SnowieV3.1-48k/resolve/main/G_SnowieV3.1_48k.pth\",\n",
|
406 |
+
" \"https://huggingface.co/MUSTAR/SnowieV3.1-48k/resolve/main/D_SnowieV3.1_48k.pth\",\n",
|
407 |
+
"\n",
|
408 |
+
" # RIN E3\n",
|
409 |
+
" \"https://huggingface.co/MUSTAR/RIN_E3/resolve/main/RIN_E3_G.pth\",\n",
|
410 |
+
" \"https://huggingface.co/MUSTAR/RIN_E3/resolve/main/RIN_E3_D.pth\",\n",
|
411 |
+
"\n",
|
412 |
+
" # KLM\n",
|
413 |
+
" \"https://huggingface.co/SeoulStreamingStation/KLMv7s/resolve/main/G_KLMv7s_Batch2_32k.pth\",\n",
|
414 |
+
" \"https://huggingface.co/SeoulStreamingStation/KLMv7s/resolve/main/D_KLMv7s_Batch2_32k.pth\",\n",
|
415 |
+
" \"https://huggingface.co/SeoulStreamingStation/KLMv7s/resolve/main/G_KLMv7s_Batch2_40k.pth\",\n",
|
416 |
+
" \"https://huggingface.co/SeoulStreamingStation/KLMv7s/resolve/main/D_KLMv7s_Batch2_40k.pth\",\n",
|
417 |
+
" \"https://huggingface.co/SeoulStreamingStation/KLMv7s/resolve/main/G_KLMv7s_Batch2_48k.pth\",\n",
|
418 |
+
" \"https://huggingface.co/SeoulStreamingStation/KLMv7s/resolve/main/D_KLMv7s_Batch2_48k.pth\",\n",
|
419 |
+
"\n",
|
420 |
+
" # SnowieV3 X RIN_E3\n",
|
421 |
+
" \"https://huggingface.co/MUSTAR/SnowieV3.1-X-RinE3-40K/resolve/main/D_Snowie-X-Rin_40k.pth\",\n",
|
422 |
+
" \"https://huggingface.co/MUSTAR/SnowieV3.1-X-RinE3-40K/resolve/main/G_Snowie-X-Rin_40k.pth\",\n",
|
423 |
+
"]\n",
|
424 |
+
"output_directory = \"/content/program_ml/rvc/pretraineds/pretraineds_custom\"\n",
|
425 |
+
"for url in pretrained_urls:\n",
|
426 |
+
" filename = os.path.join(output_directory, os.path.basename(url))\n",
|
427 |
+
" urllib.request.urlretrieve(url, filename)"
|
428 |
+
]
|
429 |
+
}
|
430 |
+
],
|
431 |
+
"metadata": {
|
432 |
+
"accelerator": "GPU",
|
433 |
+
"colab": {
|
434 |
+
"collapsed_sections": [
|
435 |
+
"3b59-2x-qEnX"
|
436 |
+
],
|
437 |
+
"gpuType": "T4",
|
438 |
+
"provenance": []
|
439 |
+
},
|
440 |
+
"kernelspec": {
|
441 |
+
"display_name": "Python 3",
|
442 |
+
"name": "python3"
|
443 |
+
},
|
444 |
+
"language_info": {
|
445 |
+
"name": "python"
|
446 |
+
}
|
447 |
+
},
|
448 |
+
"nbformat": 4,
|
449 |
+
"nbformat_minor": 0
|
450 |
+
}
|
assets/Applio_NoUI.ipynb
ADDED
@@ -0,0 +1,702 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"cells": [
|
3 |
+
{
|
4 |
+
"cell_type": "markdown",
|
5 |
+
"metadata": {
|
6 |
+
"id": "0pKllbPyK_BC"
|
7 |
+
},
|
8 |
+
"source": [
|
9 |
+
"# Applio NoUI\n",
|
10 |
+
"Created by [Blaise](https://github.com/blaise-tk) with [Vidal](https://github.com/Vidalnt) and [Poopmaster](https://github.com/poiqazwsx). Based on [RVC_CLI](https://github.com/blaise-tk/RVC_CLI).\n",
|
11 |
+
"\n",
|
12 |
+
"- Colab inspired on [RVC v2 Disconnected](https://colab.research.google.com/drive/1XIPCP9ken63S7M6b5ui1b36Cs17sP-NS).\n",
|
13 |
+
"\n"
|
14 |
+
]
|
15 |
+
},
|
16 |
+
{
|
17 |
+
"cell_type": "markdown",
|
18 |
+
"metadata": {
|
19 |
+
"id": "Y-iR3WeLMlac"
|
20 |
+
},
|
21 |
+
"source": [
|
22 |
+
"### If you restart the runtime, run it again."
|
23 |
+
]
|
24 |
+
},
|
25 |
+
{
|
26 |
+
"cell_type": "code",
|
27 |
+
"execution_count": null,
|
28 |
+
"metadata": {
|
29 |
+
"id": "xwZkZGd-H0zT"
|
30 |
+
},
|
31 |
+
"outputs": [],
|
32 |
+
"source": [
|
33 |
+
"%cd /content/Applio"
|
34 |
+
]
|
35 |
+
},
|
36 |
+
{
|
37 |
+
"cell_type": "markdown",
|
38 |
+
"metadata": {
|
39 |
+
"id": "ymMCTSD6m8qV"
|
40 |
+
},
|
41 |
+
"source": [
|
42 |
+
"# Installation\n",
|
43 |
+
"## If the runtime restarts, run the cell above and re-run the installation steps."
|
44 |
+
]
|
45 |
+
},
|
46 |
+
{
|
47 |
+
"cell_type": "code",
|
48 |
+
"execution_count": null,
|
49 |
+
"metadata": {
|
50 |
+
"cellView": "form",
|
51 |
+
"id": "yFhAeKGOp9aa"
|
52 |
+
},
|
53 |
+
"outputs": [],
|
54 |
+
"source": [
|
55 |
+
"# @title Mount Google Drive\n",
|
56 |
+
"from google.colab import drive\n",
|
57 |
+
"\n",
|
58 |
+
"drive.mount(\"/content/drive\")"
|
59 |
+
]
|
60 |
+
},
|
61 |
+
{
|
62 |
+
"cell_type": "code",
|
63 |
+
"execution_count": null,
|
64 |
+
"metadata": {
|
65 |
+
"cellView": "form",
|
66 |
+
"id": "7GysECSxBya4"
|
67 |
+
},
|
68 |
+
"outputs": [],
|
69 |
+
"source": [
|
70 |
+
"# @title Clone\n",
|
71 |
+
"!git clone https://github.com/IAHispano/Applio\n",
|
72 |
+
"%cd /content/Applio"
|
73 |
+
]
|
74 |
+
},
|
75 |
+
{
|
76 |
+
"cell_type": "code",
|
77 |
+
"execution_count": null,
|
78 |
+
"metadata": {
|
79 |
+
"cellView": "form",
|
80 |
+
"id": "CAXW55BQm0PP"
|
81 |
+
},
|
82 |
+
"outputs": [],
|
83 |
+
"source": [
|
84 |
+
"# @title Install\n",
|
85 |
+
"rot_47 = lambda encoded_text: \"\".join(\n",
|
86 |
+
" [\n",
|
87 |
+
" (\n",
|
88 |
+
" chr(\n",
|
89 |
+
" (ord(c) - (ord(\"a\") if c.islower() else ord(\"A\")) - 47) % 26\n",
|
90 |
+
" + (ord(\"a\") if c.islower() else ord(\"A\"))\n",
|
91 |
+
" )\n",
|
92 |
+
" if c.isalpha()\n",
|
93 |
+
" else c\n",
|
94 |
+
" )\n",
|
95 |
+
" for c in encoded_text\n",
|
96 |
+
" ]\n",
|
97 |
+
")\n",
|
98 |
+
"import codecs\n",
|
99 |
+
"import os\n",
|
100 |
+
"import shutil\n",
|
101 |
+
"import tarfile\n",
|
102 |
+
"import subprocess\n",
|
103 |
+
"from pathlib import Path\n",
|
104 |
+
"from datetime import datetime\n",
|
105 |
+
"E = Exception\n",
|
106 |
+
"B = print\n",
|
107 |
+
"\n",
|
108 |
+
"\n",
|
109 |
+
"def vidal_setup(ForceIn):\n",
|
110 |
+
" L = \"Kikpm.ovm.bu\"\n",
|
111 |
+
" K = \"/content/\"\n",
|
112 |
+
" C = ForceIn\n",
|
113 |
+
"\n",
|
114 |
+
" def F():\n",
|
115 |
+
" print(\"Installing pip packages...\")\n",
|
116 |
+
" subprocess.check_call([\"pip\", \"install\", \"-r\", \"requirements.txt\", \"--quiet\"])\n",
|
117 |
+
"\n",
|
118 |
+
" A = K + rot_47(L)\n",
|
119 |
+
" G = K + rot_47(L)\n",
|
120 |
+
" D = \"/\"\n",
|
121 |
+
" if not os.path.exists(A):\n",
|
122 |
+
" M = os.path.dirname(A)\n",
|
123 |
+
" os.makedirs(M, exist_ok=True)\n",
|
124 |
+
" print(\"No cached install found..\")\n",
|
125 |
+
" try:\n",
|
126 |
+
" N = rot_47(\n",
|
127 |
+
" codecs.decode(\n",
|
128 |
+
" \"pbbxa://pcooqvonikm.kw/QIPqaxivw/Ixxtqw/zmawtdm/uiqv/Kwtij/Xvxcz.biz.oh\",\n",
|
129 |
+
" \"rot_13\",\n",
|
130 |
+
" )\n",
|
131 |
+
" )\n",
|
132 |
+
" subprocess.run([\"wget\", \"-O\", A, N])\n",
|
133 |
+
" print(\"Download completed successfully!\")\n",
|
134 |
+
" except E as H:\n",
|
135 |
+
" print(str(H))\n",
|
136 |
+
" if os.path.exists(A):\n",
|
137 |
+
" os.remove(A)\n",
|
138 |
+
" if Path(A).exists():\n",
|
139 |
+
" with tarfile.open(G, \"r:gz\") as I:\n",
|
140 |
+
" for J in I.getmembers():\n",
|
141 |
+
" O = os.path.join(D, J.name)\n",
|
142 |
+
" try:\n",
|
143 |
+
" I.extract(J, D)\n",
|
144 |
+
" except E as H:\n",
|
145 |
+
" print(\"Failed to extract a file\")\n",
|
146 |
+
" C = True\n",
|
147 |
+
" print(f\"Extraction of {G} to {D} completed.\")\n",
|
148 |
+
" if os.path.exists(A):\n",
|
149 |
+
" os.remove(A)\n",
|
150 |
+
" if C:\n",
|
151 |
+
" F()\n",
|
152 |
+
" C = False\n",
|
153 |
+
" else:\n",
|
154 |
+
" F()\n",
|
155 |
+
"\n",
|
156 |
+
"\n",
|
157 |
+
"vidal_setup(False)\n",
|
158 |
+
"print(\"Finished installing requirements!\")"
|
159 |
+
]
|
160 |
+
},
|
161 |
+
{
|
162 |
+
"cell_type": "code",
|
163 |
+
"execution_count": null,
|
164 |
+
"metadata": {
|
165 |
+
"cellView": "form",
|
166 |
+
"id": "QlTibPnjmj6-"
|
167 |
+
},
|
168 |
+
"outputs": [],
|
169 |
+
"source": [
|
170 |
+
"# @title Download models\n",
|
171 |
+
"!python core.py prerequisites"
|
172 |
+
]
|
173 |
+
},
|
174 |
+
{
|
175 |
+
"cell_type": "markdown",
|
176 |
+
"metadata": {
|
177 |
+
"id": "YzaeMYsUE97Y"
|
178 |
+
},
|
179 |
+
"source": [
|
180 |
+
"# Infer\n"
|
181 |
+
]
|
182 |
+
},
|
183 |
+
{
|
184 |
+
"cell_type": "code",
|
185 |
+
"execution_count": null,
|
186 |
+
"metadata": {
|
187 |
+
"cellView": "form",
|
188 |
+
"id": "v0EgikgjFCjE"
|
189 |
+
},
|
190 |
+
"outputs": [],
|
191 |
+
"source": [
|
192 |
+
"# @title Download model\n",
|
193 |
+
"# @markdown Hugging Face or Google Drive\n",
|
194 |
+
"model_link = \"https://huggingface.co/Darwin/Darwin/resolve/main/Darwin.zip\" # @param {type:\"string\"}\n",
|
195 |
+
"\n",
|
196 |
+
"!python core.py download --model_link \"{model_link}\""
|
197 |
+
]
|
198 |
+
},
|
199 |
+
{
|
200 |
+
"cell_type": "code",
|
201 |
+
"execution_count": null,
|
202 |
+
"metadata": {
|
203 |
+
"cellView": "form",
|
204 |
+
"id": "lrCKEOzvDPRu"
|
205 |
+
},
|
206 |
+
"outputs": [],
|
207 |
+
"source": [
|
208 |
+
"# @title Run Inference\n",
|
209 |
+
"# @markdown Please upload the audio file to your Google Drive path `/content/drive/MyDrive` and specify its name here. For the model name, use the zip file name without the extension. Alternatively, you can check the path `/content/Applio/logs` for the model name (name of the folder).\n",
|
210 |
+
"\n",
|
211 |
+
"import os\n",
|
212 |
+
"\n",
|
213 |
+
"current_dir = os.getcwd()\n",
|
214 |
+
"\n",
|
215 |
+
"model_name = \"Darwin\" # @param {type:\"string\"}\n",
|
216 |
+
"model_folder = os.path.join(current_dir, f\"logs/{model_name}\")\n",
|
217 |
+
"\n",
|
218 |
+
"if not os.path.exists(model_folder):\n",
|
219 |
+
" raise FileNotFoundError(f\"Model directory not found: {model_folder}\")\n",
|
220 |
+
"\n",
|
221 |
+
"files_in_folder = os.listdir(model_folder)\n",
|
222 |
+
"pth_path = next((f for f in files_in_folder if f.endswith(\".pth\")), None)\n",
|
223 |
+
"index_file = next((f for f in files_in_folder if f.endswith(\".index\")), None)\n",
|
224 |
+
"\n",
|
225 |
+
"if pth_path is None or index_file is None:\n",
|
226 |
+
" raise FileNotFoundError(\"No model found.\")\n",
|
227 |
+
"\n",
|
228 |
+
"pth_file = os.path.join(model_folder, pth_path)\n",
|
229 |
+
"index_file = os.path.join(model_folder, index_file)\n",
|
230 |
+
"\n",
|
231 |
+
"input_path = \"/content/example.wav\" # @param {type:\"string\"}\n",
|
232 |
+
"output_path = \"/content/output.wav\"\n",
|
233 |
+
"export_format = \"WAV\" # @param ['WAV', 'MP3', 'FLAC', 'OGG', 'M4A'] {allow-input: false}\n",
|
234 |
+
"f0method = \"rmvpe\" # @param [\"pm\", \"dio\", \"crepe\", \"crepe-tiny\", \"harvest\", \"rmvpe\", \"fcpe\", \"hybrid[rmvpe+fcpe]\"] {allow-input: false}\n",
|
235 |
+
"f0up_key = 0 # @param {type:\"slider\", min:-24, max:24, step:0}\n",
|
236 |
+
"filter_radius = 3 # @param {type:\"slider\", min:0, max:10, step:0}\n",
|
237 |
+
"rms_mix_rate = 0.8 # @param {type:\"slider\", min:0.0, max:1.0, step:0.1}\n",
|
238 |
+
"protect = 0.5 # @param {type:\"slider\", min:0.0, max:0.5, step:0.1}\n",
|
239 |
+
"index_rate = 0.7 # @param {type:\"slider\", min:0.0, max:1.0, step:0.1}\n",
|
240 |
+
"hop_length = 128 # @param {type:\"slider\", min:1, max:512, step:0}\n",
|
241 |
+
"clean_strength = 0.7 # @param {type:\"slider\", min:0.0, max:1.0, step:0.1}\n",
|
242 |
+
"split_audio = False # @param{type:\"boolean\"}\n",
|
243 |
+
"clean_audio = False # @param{type:\"boolean\"}\n",
|
244 |
+
"autotune = False # @param{type:\"boolean\"}\n",
|
245 |
+
"\n",
|
246 |
+
"!python core.py infer --f0up_key \"{f0up_key}\" --filter_radius \"{filter_radius}\" --index_rate \"{index_rate}\" --hop_length \"{hop_length}\" --rms_mix_rate \"{rms_mix_rate}\" --protect \"{protect}\" --f0autotune \"{autotune}\" --f0method \"{f0method}\" --input_path \"{input_path}\" --output_path \"{output_path}\" --pth_path \"{pth_file}\" --index_path \"{index_file}\" --split_audio \"{split_audio}\" --clean_audio \"{clean_audio}\" --clean_strength \"{clean_strength}\" --export_format \"{export_format}\"\n",
|
247 |
+
"\n",
|
248 |
+
"from IPython.display import Audio, display, clear_output\n",
|
249 |
+
"\n",
|
250 |
+
"output_path = output_path.replace(\".wav\", f\".{export_format.lower()}\")\n",
|
251 |
+
"# clear_output()\n",
|
252 |
+
"display(Audio(output_path, autoplay=True))"
|
253 |
+
]
|
254 |
+
},
|
255 |
+
{
|
256 |
+
"cell_type": "markdown",
|
257 |
+
"metadata": {
|
258 |
+
"id": "1QkabnLlF2KB"
|
259 |
+
},
|
260 |
+
"source": [
|
261 |
+
"# Train"
|
262 |
+
]
|
263 |
+
},
|
264 |
+
{
|
265 |
+
"cell_type": "code",
|
266 |
+
"execution_count": null,
|
267 |
+
"metadata": {
|
268 |
+
"cellView": "form",
|
269 |
+
"id": "oBzqm4JkGGa0"
|
270 |
+
},
|
271 |
+
"outputs": [],
|
272 |
+
"source": [
|
273 |
+
"# @title Preprocess Dataset\n",
|
274 |
+
"model_name = \"Darwin\" # @param {type:\"string\"}\n",
|
275 |
+
"dataset_path = \"/content/drive/MyDrive/Darwin_Dataset\" # @param {type:\"string\"}\n",
|
276 |
+
"\n",
|
277 |
+
"sample_rate = \"40k\" # @param [\"32k\", \"40k\", \"48k\"] {allow-input: false}\n",
|
278 |
+
"sr = int(sample_rate.rstrip(\"k\")) * 1000\n",
|
279 |
+
"\n",
|
280 |
+
"!python core.py preprocess --model_name \"{model_name}\" --dataset_path \"{dataset_path}\" --sampling_rate \"{sr}\""
|
281 |
+
]
|
282 |
+
},
|
283 |
+
{
|
284 |
+
"cell_type": "code",
|
285 |
+
"execution_count": null,
|
286 |
+
"metadata": {
|
287 |
+
"cellView": "form",
|
288 |
+
"id": "zWMiMYfRJTJv"
|
289 |
+
},
|
290 |
+
"outputs": [],
|
291 |
+
"source": [
|
292 |
+
"# @title Extract Features\n",
|
293 |
+
"rvc_version = \"v2\" # @param [\"v2\", \"v1\"] {allow-input: false}\n",
|
294 |
+
"f0method = \"rmvpe\" # @param [\"pm\", \"dio\", \"crepe\", \"crepe-tiny\", \"harvest\", \"rmvpe\"] {allow-input: false}\n",
|
295 |
+
"hop_length = 128 # @param {type:\"slider\", min:1, max:512, step:0}\n",
|
296 |
+
"\n",
|
297 |
+
"sr = int(sample_rate.rstrip(\"k\")) * 1000\n",
|
298 |
+
"\n",
|
299 |
+
"!python core.py extract --model_name \"{model_name}\" --rvc_version \"{rvc_version}\" --f0method \"{f0method}\" --hop_length \"{hop_length}\" --sampling_rate \"{sr}\""
|
300 |
+
]
|
301 |
+
},
|
302 |
+
{
|
303 |
+
"cell_type": "code",
|
304 |
+
"execution_count": null,
|
305 |
+
"metadata": {
|
306 |
+
"cellView": "form",
|
307 |
+
"id": "TI6LLdIzKAIa"
|
308 |
+
},
|
309 |
+
"outputs": [],
|
310 |
+
"source": [
|
311 |
+
"# @title Train\n",
|
312 |
+
"# @markdown ### ➡️ Model Information\n",
|
313 |
+
"import requests\n",
|
314 |
+
"import threading\n",
|
315 |
+
"import time\n",
|
316 |
+
"import os\n",
|
317 |
+
"import shutil\n",
|
318 |
+
"import hashlib\n",
|
319 |
+
"import time\n",
|
320 |
+
"\n",
|
321 |
+
"LOGS_FOLDER = \"/content/Applio/logs/\"\n",
|
322 |
+
"WEIGHTS_FOLDER = LOGS_FOLDER + model_name\n",
|
323 |
+
"GOOGLE_DRIVE_PATH = \"/content/drive/MyDrive/RVC_Backup\"\n",
|
324 |
+
"\n",
|
325 |
+
"\n",
|
326 |
+
"def import_google_drive_backup():\n",
|
327 |
+
" print(\"Importing Google Drive backup...\")\n",
|
328 |
+
" weights_exist = False\n",
|
329 |
+
" for root, dirs, files in os.walk(GOOGLE_DRIVE_PATH):\n",
|
330 |
+
" for filename in files:\n",
|
331 |
+
" filepath = os.path.join(root, filename)\n",
|
332 |
+
" if os.path.isfile(filepath) and not filepath.startswith(\n",
|
333 |
+
" os.path.join(GOOGLE_DRIVE_PATH, \"weights\")\n",
|
334 |
+
" ):\n",
|
335 |
+
" backup_filepath = os.path.join(\n",
|
336 |
+
" LOGS_FOLDER, os.path.relpath(filepath, GOOGLE_DRIVE_PATH)\n",
|
337 |
+
" )\n",
|
338 |
+
" backup_folderpath = os.path.dirname(backup_filepath)\n",
|
339 |
+
" if not os.path.exists(backup_folderpath):\n",
|
340 |
+
" os.makedirs(backup_folderpath)\n",
|
341 |
+
" print(f\"Created backup folder: {backup_folderpath}\", flush=True)\n",
|
342 |
+
" shutil.copy2(filepath, backup_filepath) # copy file with metadata\n",
|
343 |
+
" print(f\"Imported file from Google Drive backup: {filename}\")\n",
|
344 |
+
" elif filepath.startswith(\n",
|
345 |
+
" os.path.join(GOOGLE_DRIVE_PATH, \"weights\")\n",
|
346 |
+
" ) and filename.endswith(\".pth\"):\n",
|
347 |
+
" weights_exist = True\n",
|
348 |
+
" weights_filepath = os.path.join(\n",
|
349 |
+
" WEIGHTS_FOLDER,\n",
|
350 |
+
" os.path.relpath(\n",
|
351 |
+
" filepath, os.path.join(GOOGLE_DRIVE_PATH, \"weights\")\n",
|
352 |
+
" ),\n",
|
353 |
+
" )\n",
|
354 |
+
" weights_folderpath = os.path.dirname(weights_filepath)\n",
|
355 |
+
" if not os.path.exists(weights_folderpath):\n",
|
356 |
+
" os.makedirs(weights_folderpath)\n",
|
357 |
+
" print(f\"Created weights folder: {weights_folderpath}\", flush=True)\n",
|
358 |
+
" shutil.copy2(filepath, weights_filepath) # copy file with metadata\n",
|
359 |
+
" print(f\"Imported file from weights: {filename}\")\n",
|
360 |
+
" if weights_exist:\n",
|
361 |
+
" print(\"Copied weights from Google Drive backup to local weights folder.\")\n",
|
362 |
+
" else:\n",
|
363 |
+
" print(\"No weights found in Google Drive backup.\")\n",
|
364 |
+
" print(\"Google Drive backup import completed.\")\n",
|
365 |
+
"\n",
|
366 |
+
"\n",
|
367 |
+
"def get_md5_hash(file_path):\n",
|
368 |
+
" hash_md5 = hashlib.md5()\n",
|
369 |
+
" with open(file_path, \"rb\") as f:\n",
|
370 |
+
" for chunk in iter(lambda: f.read(4096), b\"\"):\n",
|
371 |
+
" hash_md5.update(chunk)\n",
|
372 |
+
" return hash_md5.hexdigest()\n",
|
373 |
+
"\n",
|
374 |
+
"\n",
|
375 |
+
"def copy_weights_folder_to_drive():\n",
|
376 |
+
" destination_folder = os.path.join(GOOGLE_DRIVE_PATH, \"weights\")\n",
|
377 |
+
" try:\n",
|
378 |
+
" if not os.path.exists(destination_folder):\n",
|
379 |
+
" os.makedirs(destination_folder)\n",
|
380 |
+
"\n",
|
381 |
+
" num_copied = 0\n",
|
382 |
+
" for filename in os.listdir(WEIGHTS_FOLDER):\n",
|
383 |
+
" if filename.endswith(\".pth\"):\n",
|
384 |
+
" source_file = os.path.join(WEIGHTS_FOLDER, filename)\n",
|
385 |
+
" destination_file = os.path.join(destination_folder, filename)\n",
|
386 |
+
" if not os.path.exists(destination_file):\n",
|
387 |
+
" shutil.copy2(source_file, destination_file)\n",
|
388 |
+
" num_copied += 1\n",
|
389 |
+
" print(f\"Copied {filename} to Google Drive!\")\n",
|
390 |
+
"\n",
|
391 |
+
" if num_copied == 0:\n",
|
392 |
+
" print(\"No new finished models found for copying.\")\n",
|
393 |
+
" else:\n",
|
394 |
+
" print(f\"Finished copying {num_copied} files to Google Drive!\")\n",
|
395 |
+
"\n",
|
396 |
+
" except Exception as e:\n",
|
397 |
+
" print(f\"An error occurred while copying weights: {str(e)}\")\n",
|
398 |
+
"\n",
|
399 |
+
"\n",
|
400 |
+
"if \"autobackups\" not in globals():\n",
|
401 |
+
" autobackups = False\n",
|
402 |
+
"\n",
|
403 |
+
"\n",
|
404 |
+
"def backup_files():\n",
|
405 |
+
" print(\"\\nStarting backup loop...\")\n",
|
406 |
+
" last_backup_timestamps_path = os.path.join(\n",
|
407 |
+
" LOGS_FOLDER, \"last_backup_timestamps.txt\"\n",
|
408 |
+
" )\n",
|
409 |
+
" fully_updated = False\n",
|
410 |
+
"\n",
|
411 |
+
" while True:\n",
|
412 |
+
" try:\n",
|
413 |
+
" updated = False\n",
|
414 |
+
" last_backup_timestamps = {}\n",
|
415 |
+
"\n",
|
416 |
+
" try:\n",
|
417 |
+
" with open(last_backup_timestamps_path, \"r\") as f:\n",
|
418 |
+
" last_backup_timestamps = dict(line.strip().split(\":\") for line in f)\n",
|
419 |
+
" except FileNotFoundError:\n",
|
420 |
+
" pass\n",
|
421 |
+
"\n",
|
422 |
+
" for root, dirs, files in os.walk(LOGS_FOLDER):\n",
|
423 |
+
" # Excluding \"zips\" directory\n",
|
424 |
+
" if \"zips\" in dirs:\n",
|
425 |
+
" dirs.remove(\"zips\")\n",
|
426 |
+
" if \"mute\" in dirs:\n",
|
427 |
+
" dirs.remove(\"mute\")\n",
|
428 |
+
" for filename in files:\n",
|
429 |
+
" if filename != \"last_backup_timestamps.txt\":\n",
|
430 |
+
" filepath = os.path.join(root, filename)\n",
|
431 |
+
" if os.path.isfile(filepath):\n",
|
432 |
+
" backup_filepath = os.path.join(\n",
|
433 |
+
" GOOGLE_DRIVE_PATH,\n",
|
434 |
+
" os.path.relpath(filepath, LOGS_FOLDER),\n",
|
435 |
+
" )\n",
|
436 |
+
" backup_folderpath = os.path.dirname(backup_filepath)\n",
|
437 |
+
" if not os.path.exists(backup_folderpath):\n",
|
438 |
+
" os.makedirs(backup_folderpath)\n",
|
439 |
+
" print(\n",
|
440 |
+
" f\"Created backup folder: {backup_folderpath}\",\n",
|
441 |
+
" flush=True,\n",
|
442 |
+
" )\n",
|
443 |
+
" last_backup_timestamp = last_backup_timestamps.get(filepath)\n",
|
444 |
+
" current_timestamp = os.path.getmtime(filepath)\n",
|
445 |
+
" if (\n",
|
446 |
+
" last_backup_timestamp is None\n",
|
447 |
+
" or float(last_backup_timestamp) < current_timestamp\n",
|
448 |
+
" ):\n",
|
449 |
+
" shutil.copy2(filepath, backup_filepath)\n",
|
450 |
+
" last_backup_timestamps[filepath] = str(\n",
|
451 |
+
" current_timestamp\n",
|
452 |
+
" )\n",
|
453 |
+
" if last_backup_timestamp is None:\n",
|
454 |
+
" print(f\"Backed up file: {filename}\")\n",
|
455 |
+
" else:\n",
|
456 |
+
" print(f\"Updating backed up file: {filename}\")\n",
|
457 |
+
" updated = True\n",
|
458 |
+
" fully_updated = False\n",
|
459 |
+
"\n",
|
460 |
+
" for filepath in list(last_backup_timestamps.keys()):\n",
|
461 |
+
" if not os.path.exists(filepath):\n",
|
462 |
+
" backup_filepath = os.path.join(\n",
|
463 |
+
" GOOGLE_DRIVE_PATH, os.path.relpath(filepath, LOGS_FOLDER)\n",
|
464 |
+
" )\n",
|
465 |
+
" if os.path.exists(backup_filepath):\n",
|
466 |
+
" os.remove(backup_filepath)\n",
|
467 |
+
" print(f\"Deleted file: {filepath}\")\n",
|
468 |
+
" del last_backup_timestamps[filepath]\n",
|
469 |
+
" updated = True\n",
|
470 |
+
" fully_updated = False\n",
|
471 |
+
"\n",
|
472 |
+
" if not updated and not fully_updated:\n",
|
473 |
+
" print(\"Files are up to date.\")\n",
|
474 |
+
" fully_updated = True\n",
|
475 |
+
" sleep_time = 15\n",
|
476 |
+
" else:\n",
|
477 |
+
" sleep_time = 0.1\n",
|
478 |
+
"\n",
|
479 |
+
" with open(last_backup_timestamps_path, \"w\") as f:\n",
|
480 |
+
" for filepath, timestamp in last_backup_timestamps.items():\n",
|
481 |
+
" f.write(f\"{filepath}:{timestamp}\\n\")\n",
|
482 |
+
"\n",
|
483 |
+
" time.sleep(sleep_time)\n",
|
484 |
+
"\n",
|
485 |
+
" except Exception as e:\n",
|
486 |
+
" print(f\"An error occurred: {str(e)}\")\n",
|
487 |
+
"\n",
|
488 |
+
"\n",
|
489 |
+
"if autobackups:\n",
|
490 |
+
" autobackups = False\n",
|
491 |
+
" print(\"Autobackup Disabled\")\n",
|
492 |
+
"else:\n",
|
493 |
+
" autobackups = True\n",
|
494 |
+
" print(\"Autobackup Enabled\")\n",
|
495 |
+
"\n",
|
496 |
+
"total_epoch = 800 # @param {type:\"integer\"}\n",
|
497 |
+
"batch_size = 15 # @param {type:\"slider\", min:1, max:25, step:0}\n",
|
498 |
+
"gpu = 0\n",
|
499 |
+
"sr = int(sample_rate.rstrip(\"k\")) * 1000\n",
|
500 |
+
"pitch_guidance = True # @param{type:\"boolean\"}\n",
|
501 |
+
"auto_backups = True # @param{type:\"boolean\"}\n",
|
502 |
+
"pretrained = True # @param{type:\"boolean\"}\n",
|
503 |
+
"sync_graph = False # @param{type:\"boolean\"}\n",
|
504 |
+
"tensorboard = True # @param{type:\"boolean\"}\n",
|
505 |
+
"# @markdown ### ➡️ Choose how many epochs your model will be stored\n",
|
506 |
+
"save_every_epoch = 10 # @param {type:\"slider\", min:1, max:100, step:0}\n",
|
507 |
+
"save_only_latest = False # @param{type:\"boolean\"}\n",
|
508 |
+
"save_every_weights = False # @param{type:\"boolean\"}\n",
|
509 |
+
"overtraining_detector = False # @param{type:\"boolean\"}\n",
|
510 |
+
"overtraining_threshold = 50 # @param {type:\"slider\", min:1, max:100, step:0}\n",
|
511 |
+
"# @markdown ### ❓ Optional\n",
|
512 |
+
"# @markdown In case you select custom pretrained, you will have to download the pretraineds and enter the path of the pretraineds.\n",
|
513 |
+
"custom_pretrained = False # @param{type:\"boolean\"}\n",
|
514 |
+
"g_pretrained_path = \"/content/Applio/rvc/pretraineds/pretraineds_custom/G48k.pth\" # @param {type:\"string\"}\n",
|
515 |
+
"d_pretrained_path = \"/content/Applio/rvc/pretraineds/pretraineds_custom/D48k.pth\" # @param {type:\"string\"}\n",
|
516 |
+
"\n",
|
517 |
+
"if \"pretrained\" not in globals():\n",
|
518 |
+
" pretrained = True\n",
|
519 |
+
"\n",
|
520 |
+
"if \"custom_pretrained\" not in globals():\n",
|
521 |
+
" custom_pretrained = False\n",
|
522 |
+
"\n",
|
523 |
+
"if \"g_pretrained_path\" not in globals():\n",
|
524 |
+
" g_pretrained_path = \"Custom Path\"\n",
|
525 |
+
"\n",
|
526 |
+
"if \"d_pretrained_path\" not in globals():\n",
|
527 |
+
" d_pretrained_path = \"Custom Path\"\n",
|
528 |
+
"\n",
|
529 |
+
"\n",
|
530 |
+
"def start_train():\n",
|
531 |
+
" if tensorboard == True:\n",
|
532 |
+
" %load_ext tensorboard\n",
|
533 |
+
" %tensorboard --logdir /content/Applio/logs/\n",
|
534 |
+
" !python core.py train --model_name \"{model_name}\" --rvc_version \"{rvc_version}\" --save_every_epoch \"{save_every_epoch}\" --save_only_latest \"{save_only_latest}\" --save_every_weights \"{save_every_weights}\" --total_epoch \"{total_epoch}\" --sampling_rate \"{sr}\" --batch_size \"{batch_size}\" --gpu \"{gpu}\" --pitch_guidance \"{pitch_guidance}\" --pretrained \"{pretrained}\" --custom_pretrained \"{custom_pretrained}\" --g_pretrained_path \"{g_pretrained_path}\" --d_pretrained_path \"{d_pretrained_path}\" --overtraining_detector \"{overtraining_detector}\" --overtraining_threshold \"{overtraining_threshold}\" --sync_graph \"{sync_graph}\"\n",
|
535 |
+
"\n",
|
536 |
+
"\n",
|
537 |
+
"server_thread = threading.Thread(target=start_train)\n",
|
538 |
+
"server_thread.start()\n",
|
539 |
+
"\n",
|
540 |
+
"if auto_backups:\n",
|
541 |
+
" backup_files()\n",
|
542 |
+
"else:\n",
|
543 |
+
" while True:\n",
|
544 |
+
" time.sleep(10)"
|
545 |
+
]
|
546 |
+
},
|
547 |
+
{
|
548 |
+
"cell_type": "code",
|
549 |
+
"execution_count": null,
|
550 |
+
"metadata": {
|
551 |
+
"cellView": "form",
|
552 |
+
"id": "bHLs5AT4Q1ck"
|
553 |
+
},
|
554 |
+
"outputs": [],
|
555 |
+
"source": [
|
556 |
+
"# @title Generate index file\n",
|
557 |
+
"!python core.py index --model_name \"{model_name}\" --rvc_version \"{rvc_version}\""
|
558 |
+
]
|
559 |
+
},
|
560 |
+
{
|
561 |
+
"cell_type": "code",
|
562 |
+
"execution_count": null,
|
563 |
+
"metadata": {
|
564 |
+
"cellView": "form",
|
565 |
+
"id": "X_eU_SoiHIQg"
|
566 |
+
},
|
567 |
+
"outputs": [],
|
568 |
+
"source": [
|
569 |
+
"# @title Save model\n",
|
570 |
+
"# @markdown Enter the name of the model and the steps. You can find it in your `/content/Applio/logs` folder.\n",
|
571 |
+
"%cd /content\n",
|
572 |
+
"import shutil, os\n",
|
573 |
+
"\n",
|
574 |
+
"model_name = \"Darwin\" # @param {type:\"string\"}\n",
|
575 |
+
"model_epoch = 800 # @param {type:\"integer\"}\n",
|
576 |
+
"save_big_file = False # @param {type:\"boolean\"}\n",
|
577 |
+
"\n",
|
578 |
+
"if os.path.exists(\"/content/zips\"):\n",
|
579 |
+
" shutil.rmtree(\"/content/zips\")\n",
|
580 |
+
"print(\"Removed zips.\")\n",
|
581 |
+
"!mkdir -p /content/zips/{model_name}/\n",
|
582 |
+
"print(\"Created zips.\")\n",
|
583 |
+
"if f\"{model_name}.pth\" not in os.listdir(f\"/content/Applio/weights\"):\n",
|
584 |
+
" print(\"There is no weight file with that name\")\n",
|
585 |
+
"if not save_big_file:\n",
|
586 |
+
" !cp /content/Applio/logs/{model_name}/added_*.index /content/zips/{model_name}/\n",
|
587 |
+
" !cp /content/Applio/logs/{model_name}/total_*.npy /content/zips/{model_name}/\n",
|
588 |
+
" !cp /content/Applio/weights/{model_name}.pth /content/zips/{model_name}/{model_name}{model_epoch}.pth\n",
|
589 |
+
" %cd /content/zips\n",
|
590 |
+
" !zip -r {model_name}.zip {model_name}\n",
|
591 |
+
"if save_big_file:\n",
|
592 |
+
" %cd /content/Applio\n",
|
593 |
+
" latest_steps = -1\n",
|
594 |
+
" logs_folder = \"./logs/\" + model_name\n",
|
595 |
+
" for filename in os.listdir(logs_folder):\n",
|
596 |
+
" if filename.startswith(\"G_\") and filename.endswith(\".pth\"):\n",
|
597 |
+
" steps = int(filename.split(\"_\")[1].split(\".\")[0])\n",
|
598 |
+
" if steps > latest_steps:\n",
|
599 |
+
" latest_steps = steps\n",
|
600 |
+
" MODELZIP = model_name + \".zip\"\n",
|
601 |
+
" !mkdir -p /content/zips\n",
|
602 |
+
" ZIPFILEPATH = os.path.join(\"/content/zips\", MODELZIP)\n",
|
603 |
+
" for filename in os.listdir(logs_folder):\n",
|
604 |
+
" if \"G_\" in filename or \"D_\" in filename:\n",
|
605 |
+
" if str(latest_steps) in filename:\n",
|
606 |
+
" !zip -r {ZIPFILEPATH} {os.path.join(logs_folder, filename)}\n",
|
607 |
+
" else:\n",
|
608 |
+
" !zip -r {ZIPFILEPATH} {os.path.join(logs_folder, filename)}\n",
|
609 |
+
" for filename in os.listdir(\"./weights\"):\n",
|
610 |
+
" if MODELNAME in filename:\n",
|
611 |
+
" !zip -r {ZIPFILEPATH} {os.path.join('./weights/', filename)}\n",
|
612 |
+
"\n",
|
613 |
+
"!mkdir -p /content/drive/MyDrive/RVC_Backup/\n",
|
614 |
+
"shutil.move(\n",
|
615 |
+
" f\"/content/zips/{model_name}.zip\",\n",
|
616 |
+
" f\"/content/drive/MyDrive/RVC_Backup/{model_name}.zip\",\n",
|
617 |
+
")\n",
|
618 |
+
"%cd /content\n",
|
619 |
+
"shutil.rmtree(\"/content/zips\")"
|
620 |
+
]
|
621 |
+
},
|
622 |
+
{
|
623 |
+
"cell_type": "markdown",
|
624 |
+
"metadata": {
|
625 |
+
"id": "OaKoymXsyEYN"
|
626 |
+
},
|
627 |
+
"source": [
|
628 |
+
"# Resume-training"
|
629 |
+
]
|
630 |
+
},
|
631 |
+
{
|
632 |
+
"cell_type": "code",
|
633 |
+
"execution_count": null,
|
634 |
+
"metadata": {
|
635 |
+
"cellView": "form",
|
636 |
+
"id": "d3KgLAYnyHkP"
|
637 |
+
},
|
638 |
+
"outputs": [],
|
639 |
+
"source": [
|
640 |
+
"# @title Load a Backup\n",
|
641 |
+
"from google.colab import drive\n",
|
642 |
+
"import os\n",
|
643 |
+
"import shutil\n",
|
644 |
+
"\n",
|
645 |
+
"# @markdown Put the exact name you put as your Model Name in Applio.\n",
|
646 |
+
"modelname = \"My-Project\" # @param {type:\"string\"}\n",
|
647 |
+
"source_path = \"/content/drive/MyDrive/RVC_Backup/\" + modelname\n",
|
648 |
+
"destination_path = \"/content/Applio/logs/\" + modelname\n",
|
649 |
+
"backup_timestamps_file = \"last_backup_timestamps.txt\"\n",
|
650 |
+
"if not os.path.exists(source_path):\n",
|
651 |
+
" print(\n",
|
652 |
+
" \"The model folder does not exist. Please verify the name is correct or check your Google Drive.\"\n",
|
653 |
+
" )\n",
|
654 |
+
"else:\n",
|
655 |
+
" time_ = os.path.join(\"/content/drive/MyDrive/RVC_Backup/\", backup_timestamps_file)\n",
|
656 |
+
" time__ = os.path.join(\"/content/Applio/logs/\", backup_timestamps_file)\n",
|
657 |
+
" if os.path.exists(time_):\n",
|
658 |
+
" shutil.copy(time_, time__)\n",
|
659 |
+
" shutil.copytree(source_path, destination_path)\n",
|
660 |
+
" print(\"Model backup loaded successfully.\")"
|
661 |
+
]
|
662 |
+
},
|
663 |
+
{
|
664 |
+
"cell_type": "code",
|
665 |
+
"execution_count": null,
|
666 |
+
"metadata": {
|
667 |
+
"cellView": "form",
|
668 |
+
"id": "sc9DzvRCyJ2d"
|
669 |
+
},
|
670 |
+
"outputs": [],
|
671 |
+
"source": [
|
672 |
+
"# @title Set training variables\n",
|
673 |
+
"# @markdown ### ➡️ Use the same as you did previously\n",
|
674 |
+
"model_name = \"Darwin\" # @param {type:\"string\"}\n",
|
675 |
+
"sample_rate = \"40k\" # @param [\"32k\", \"40k\", \"48k\"] {allow-input: false}\n",
|
676 |
+
"rvc_version = \"v2\" # @param [\"v2\", \"v1\"] {allow-input: false}\n",
|
677 |
+
"f0method = \"rmvpe\" # @param [\"pm\", \"dio\", \"crepe\", \"crepe-tiny\", \"harvest\", \"rmvpe\"] {allow-input: false}\n",
|
678 |
+
"hop_length = 128 # @param {type:\"slider\", min:1, max:512, step:0}\n",
|
679 |
+
"sr = int(sample_rate.rstrip(\"k\")) * 1000"
|
680 |
+
]
|
681 |
+
}
|
682 |
+
],
|
683 |
+
"metadata": {
|
684 |
+
"accelerator": "GPU",
|
685 |
+
"colab": {
|
686 |
+
"collapsed_sections": [
|
687 |
+
"ymMCTSD6m8qV"
|
688 |
+
],
|
689 |
+
"provenance": [],
|
690 |
+
"toc_visible": true
|
691 |
+
},
|
692 |
+
"kernelspec": {
|
693 |
+
"display_name": "Python 3",
|
694 |
+
"name": "python3"
|
695 |
+
},
|
696 |
+
"language_info": {
|
697 |
+
"name": "python"
|
698 |
+
}
|
699 |
+
},
|
700 |
+
"nbformat": 4,
|
701 |
+
"nbformat_minor": 0
|
702 |
+
}
|
assets/ICON.ico
ADDED
{audios → assets/audios/audio-others}/.gitignore
RENAMED
File without changes
|
assets/config.json
ADDED
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"theme": {
|
3 |
+
"file": "Applio.py",
|
4 |
+
"class": "Applio"
|
5 |
+
},
|
6 |
+
"plugins": [],
|
7 |
+
"discord_presence": true,
|
8 |
+
"lang": {
|
9 |
+
"override": false,
|
10 |
+
"selected_lang": "en_US"
|
11 |
+
},
|
12 |
+
"flask_server": false,
|
13 |
+
"version": "3.2.0",
|
14 |
+
"fake_gpu": false
|
15 |
+
}
|
assets/delete_models.py
ADDED
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import sys
|
2 |
+
import os
|
3 |
+
import time
|
4 |
+
import threading
|
5 |
+
import shutil
|
6 |
+
|
7 |
+
now_dir = os.getcwd()
|
8 |
+
sys.path.append(now_dir)
|
9 |
+
|
10 |
+
|
11 |
+
def infinite_loop():
|
12 |
+
while True:
|
13 |
+
try:
|
14 |
+
models_folder = os.path.join(now_dir, "logs")
|
15 |
+
|
16 |
+
for element in os.listdir(models_folder):
|
17 |
+
element_route = os.path.join(models_folder, element)
|
18 |
+
if os.path.isdir(element_route) and element != "mute":
|
19 |
+
shutil.rmtree(element_route)
|
20 |
+
elif os.path.isfile(element_route):
|
21 |
+
os.remove(element_route)
|
22 |
+
|
23 |
+
wait_time = 24 * 60 * 60 #
|
24 |
+
time.sleep(wait_time)
|
25 |
+
except:
|
26 |
+
pass
|
27 |
+
|
28 |
+
def start_infinite_loop():
|
29 |
+
hilo_bucle = threading.Thread(target=infinite_loop)
|
30 |
+
hilo_bucle.start()
|
assets/discord_presence.py
ADDED
@@ -0,0 +1,49 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from pypresence import Presence
|
2 |
+
import datetime as dt
|
3 |
+
import time
|
4 |
+
|
5 |
+
|
6 |
+
class RichPresenceManager:
|
7 |
+
def __init__(self):
|
8 |
+
self.client_id = "1144714449563955302"
|
9 |
+
self.rpc = None
|
10 |
+
self.running = False
|
11 |
+
|
12 |
+
def start_presence(self):
|
13 |
+
if not self.running:
|
14 |
+
self.running = True
|
15 |
+
self.rpc = Presence(self.client_id)
|
16 |
+
try:
|
17 |
+
self.rpc.connect()
|
18 |
+
self.update_presence()
|
19 |
+
except KeyboardInterrupt as error:
|
20 |
+
print(error)
|
21 |
+
self.rpc = None
|
22 |
+
self.running = False
|
23 |
+
except Exception as e:
|
24 |
+
print(f"Error: Unable to connect to Rich Presence. {e}")
|
25 |
+
self.rpc = None
|
26 |
+
self.running = False
|
27 |
+
|
28 |
+
def update_presence(self):
|
29 |
+
if self.rpc:
|
30 |
+
self.rpc.update(
|
31 |
+
state="applio.org",
|
32 |
+
details="Open ecosystem for voice cloning",
|
33 |
+
buttons=[
|
34 |
+
{"label": "Home", "url": "https://applio.org"},
|
35 |
+
{"label": "Download", "url": "https://applio.org/download"},
|
36 |
+
],
|
37 |
+
large_image="logo",
|
38 |
+
large_text="Experimenting with applio",
|
39 |
+
start=dt.datetime.now().timestamp(),
|
40 |
+
)
|
41 |
+
|
42 |
+
def stop_presence(self):
|
43 |
+
self.running = False
|
44 |
+
if self.rpc:
|
45 |
+
self.rpc.close()
|
46 |
+
self.rpc = None
|
47 |
+
|
48 |
+
|
49 |
+
RPCManager = RichPresenceManager()
|
assets/flask/routes.py
ADDED
@@ -0,0 +1,32 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import os, sys
|
2 |
+
import signal
|
3 |
+
from flask import Flask, request, redirect
|
4 |
+
|
5 |
+
now_dir = os.getcwd()
|
6 |
+
sys.path.append(now_dir)
|
7 |
+
|
8 |
+
from core import run_download_script
|
9 |
+
|
10 |
+
app = Flask(__name__)
|
11 |
+
|
12 |
+
|
13 |
+
@app.route("/download/<path:url>", methods=["GET"])
|
14 |
+
def download(url):
|
15 |
+
file_path = run_download_script(url)
|
16 |
+
if file_path == "Model downloaded successfully.":
|
17 |
+
if "text/html" in request.headers.get("Accept", ""):
|
18 |
+
return redirect("https://applio.org/models/downloaded", code=302)
|
19 |
+
else:
|
20 |
+
return ""
|
21 |
+
else:
|
22 |
+
return "Error: Unable to download file", 500
|
23 |
+
|
24 |
+
|
25 |
+
@app.route("/shutdown", methods=["POST"])
|
26 |
+
def shutdown():
|
27 |
+
print("This Flask server is shutting down... Please close the window!")
|
28 |
+
os.kill(os.getpid(), signal.SIGTERM)
|
29 |
+
|
30 |
+
|
31 |
+
if __name__ == "__main__":
|
32 |
+
app.run(host="localhost", port=8000)
|
assets/flask/server.py
ADDED
@@ -0,0 +1,62 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import os
|
2 |
+
import socket
|
3 |
+
import subprocess
|
4 |
+
import time
|
5 |
+
import requests
|
6 |
+
import sys
|
7 |
+
import json
|
8 |
+
|
9 |
+
now_dir = os.getcwd()
|
10 |
+
sys.path.append(now_dir)
|
11 |
+
config_file = os.path.join(now_dir, "assets", "config.json")
|
12 |
+
env_path = os.path.join(now_dir, "env", "python.exe")
|
13 |
+
|
14 |
+
host = "localhost"
|
15 |
+
port = 8000
|
16 |
+
|
17 |
+
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
18 |
+
sock.settimeout(2)
|
19 |
+
|
20 |
+
|
21 |
+
def start_flask():
|
22 |
+
try:
|
23 |
+
sock.connect((host, port))
|
24 |
+
print(
|
25 |
+
f"Something is listening on port {port}; Probably the Flask server is already running."
|
26 |
+
)
|
27 |
+
print("Trying to start it anyway")
|
28 |
+
sock.close()
|
29 |
+
requests.post("http://localhost:8000/shutdown")
|
30 |
+
time.sleep(3)
|
31 |
+
script_path = os.path.join(now_dir, "assets", "flask", "routes.py")
|
32 |
+
try:
|
33 |
+
subprocess.Popen(
|
34 |
+
[env_path, script_path], creationflags=subprocess.CREATE_NEW_CONSOLE
|
35 |
+
)
|
36 |
+
except Exception as e:
|
37 |
+
print(f"Failed to start the Flask server")
|
38 |
+
print(e)
|
39 |
+
except Exception as e:
|
40 |
+
sock.close()
|
41 |
+
script_path = os.path.join(now_dir, "assets", "flask", "routes.py")
|
42 |
+
try:
|
43 |
+
subprocess.Popen(
|
44 |
+
[env_path, script_path], creationflags=subprocess.CREATE_NEW_CONSOLE
|
45 |
+
)
|
46 |
+
except Exception as e:
|
47 |
+
print("Failed to start the Flask server")
|
48 |
+
print(e)
|
49 |
+
|
50 |
+
|
51 |
+
def load_config_flask():
|
52 |
+
with open(config_file, "r") as file:
|
53 |
+
config = json.load(file)
|
54 |
+
return config["flask_server"]
|
55 |
+
|
56 |
+
|
57 |
+
def save_config(value):
|
58 |
+
with open(config_file, "r", encoding="utf8") as file:
|
59 |
+
config = json.load(file)
|
60 |
+
config["flask_server"] = value
|
61 |
+
with open(config_file, "w", encoding="utf8") as file:
|
62 |
+
json.dump(config, file, indent=2)
|
assets/hubert/.gitignore
DELETED
@@ -1,2 +0,0 @@
|
|
1 |
-
*
|
2 |
-
!.gitignore
|
|
|
|
|
|
assets/i18n/i18n.py
ADDED
@@ -0,0 +1,52 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import os, sys
|
2 |
+
import json
|
3 |
+
from pathlib import Path
|
4 |
+
from locale import getdefaultlocale
|
5 |
+
|
6 |
+
now_dir = os.getcwd()
|
7 |
+
sys.path.append(now_dir)
|
8 |
+
|
9 |
+
|
10 |
+
class I18nAuto:
|
11 |
+
LANGUAGE_PATH = os.path.join(now_dir, "assets", "i18n", "languages")
|
12 |
+
|
13 |
+
def __init__(self, language=None):
|
14 |
+
with open(
|
15 |
+
os.path.join(now_dir, "assets", "config.json"), "r", encoding="utf8"
|
16 |
+
) as file:
|
17 |
+
config = json.load(file)
|
18 |
+
override = config["lang"]["override"]
|
19 |
+
lang_prefix = config["lang"]["selected_lang"]
|
20 |
+
|
21 |
+
self.language = lang_prefix
|
22 |
+
|
23 |
+
if override == False:
|
24 |
+
language = language or getdefaultlocale()[0]
|
25 |
+
lang_prefix = language[:2] if language is not None else "en"
|
26 |
+
available_languages = self._get_available_languages()
|
27 |
+
matching_languages = [
|
28 |
+
lang for lang in available_languages if lang.startswith(lang_prefix)
|
29 |
+
]
|
30 |
+
self.language = matching_languages[0] if matching_languages else "en_US"
|
31 |
+
|
32 |
+
self.language_map = self._load_language_list()
|
33 |
+
|
34 |
+
def _load_language_list(self):
|
35 |
+
try:
|
36 |
+
file_path = Path(self.LANGUAGE_PATH) / f"{self.language}.json"
|
37 |
+
with open(file_path, "r", encoding="utf-8") as file:
|
38 |
+
return json.load(file)
|
39 |
+
except FileNotFoundError:
|
40 |
+
raise FileNotFoundError(
|
41 |
+
f"Failed to load language file for {self.language}. Check if the correct .json file exists."
|
42 |
+
)
|
43 |
+
|
44 |
+
def _get_available_languages(self):
|
45 |
+
language_files = [path.stem for path in Path(self.LANGUAGE_PATH).glob("*.json")]
|
46 |
+
return language_files
|
47 |
+
|
48 |
+
def _language_exists(self, language):
|
49 |
+
return (Path(self.LANGUAGE_PATH) / f"{language}.json").exists()
|
50 |
+
|
51 |
+
def __call__(self, key):
|
52 |
+
return self.language_map.get(key, key)
|
assets/i18n/languages/ar_AR.json
ADDED
@@ -0,0 +1,175 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"Ultimate voice cloning tool, meticulously optimized for unrivaled power, modularity, and user-friendly experience.": "أداة استنساخ الصوت النهائية ، محسنة بدقة للحصول على قوة لا مثيل لها ، ونمطية ، وتجربة سهلة الاستخدام.",
|
3 |
+
"This section contains some extra utilities that often may be in experimental phases.": "يحتوي هذا القسم على بعض الأدوات المساعدة الإضافية التي قد تكون غالبا في المراحل التجريبية.",
|
4 |
+
"Output Information": "معلومات الإخراج",
|
5 |
+
"The output information will be displayed here.": "سيتم عرض معلومات الإخراج هنا.",
|
6 |
+
"Inference": "استدلال",
|
7 |
+
"Train": "قطار",
|
8 |
+
"Extra": "اضافيه",
|
9 |
+
"Merge Audios": "دمج الصوتيات",
|
10 |
+
"Processing": "تجهيز",
|
11 |
+
"Audio Analyzer": "محلل الصوت",
|
12 |
+
"Model Information": "معلومات النموذج",
|
13 |
+
"Plugins": "الإضافات",
|
14 |
+
"Download": "تحميل",
|
15 |
+
"Report a Bug": "الإبلاغ عن خطأ",
|
16 |
+
"Settings": "اعدادات",
|
17 |
+
"Preprocess": "المعالجة المسبقة",
|
18 |
+
"Model Name": "اسم الموديل",
|
19 |
+
"Name of the new model.": "اسم النموذج الجديد.",
|
20 |
+
"Enter model name": "أدخل اسم الطراز",
|
21 |
+
"Dataset Path": "مسار مجموعة البيانات",
|
22 |
+
"Path to the dataset folder.": "المسار إلى مجلد مجموعة البيانات.",
|
23 |
+
"Refresh Datasets": "تحديث مجموعات البيانات",
|
24 |
+
"Dataset Creator": "منشئ مجموعة البيانات",
|
25 |
+
"Dataset Name": "اسم مجموعة البيانات",
|
26 |
+
"Name of the new dataset.": "اسم مجموعة البيانات الجديدة.",
|
27 |
+
"Enter dataset name": "أدخل اسم مجموعة البيانات",
|
28 |
+
"Upload Audio Dataset": "تحميل مجموعة بيانات صوتية",
|
29 |
+
"The audio file has been successfully added to the dataset. Please click the preprocess button.": "تمت إضافة الملف الصوتي بنجاح إلى مجموعة البيانات. الرجاء النقر فوق زر المعالجة المسبقة.",
|
30 |
+
"Enter dataset path": "إدخال مسار مجموعة البيانات",
|
31 |
+
"Sampling Rate": "معدل أخذ العينات",
|
32 |
+
"The sampling rate of the audio files.": "معدل أخذ العينات من الملفات الصوتية.",
|
33 |
+
"RVC Version": "نسخة RVC",
|
34 |
+
"The RVC version of the model.": "نسخة RVC من النموذج.",
|
35 |
+
"Preprocess Dataset": "مجموعة بيانات ما قبل المعالجة",
|
36 |
+
"Extract": "استخرج",
|
37 |
+
"Hop Length": "طول القفزة",
|
38 |
+
"Denotes the duration it takes for the system to transition to a significant pitch change. Smaller hop lengths require more time for inference but tend to yield higher pitch accuracy.": "يشير إلى المدة التي يستغرقها النظام للانتقال إلى تغيير كبير في درجة الصوت. تتطلب أطوال القفزات الأصغر مزيدا من الوقت للاستدلال ولكنها تميل إلى تحقيق دقة أعلى في درجة الصوت.",
|
39 |
+
"Batch Size": "حجم الدفعة",
|
40 |
+
"It's advisable to align it with the available VRAM of your GPU. A setting of 4 offers improved accuracy but slower processing, while 8 provides faster and standard results.": "ينصح بمحاذاته مع VRAM المتاح لوحدة معالجة الرسومات الخاصة بك. يوفر الإعداد 4 دقة محسنة ولكن معالجة أبطأ ، بينما يوفر 8 نتائج أسرع وقياسية.",
|
41 |
+
"Save Every Epoch": "حفظ كل حقبة",
|
42 |
+
"Determine at how many epochs the model will saved at.": "حدد عدد الفترات التي سيتم حفظ النموذج فيها.",
|
43 |
+
"Total Epoch": "إجمالي العصر",
|
44 |
+
"Specifies the overall quantity of epochs for the model training process.": "يحدد الكمية الإجمالية للعهود لعملية التدريب النموذجية.",
|
45 |
+
"Pretrained": "التدريب المسبق",
|
46 |
+
"Save Only Latest": "حفظ الأحدث فقط",
|
47 |
+
"Enabling this setting will result in the G and D files saving only their most recent versions, effectively conserving storage space.": "سيؤدي تمكين هذا الإعداد إلى حفظ ملفات G و D لأحدث إصداراتها فقط ، مما يوفر مساحة التخزين بشكل فعال.",
|
48 |
+
"Save Every Weights": "حفظ كل الأوزان",
|
49 |
+
"This setting enables you to save the weights of the model at the conclusion of each epoch.": "يمكنك هذا الإعداد من حفظ أوزان النموذج في نهاية كل حقبة.",
|
50 |
+
"Custom Pretrained": "تدريب مسبق مخصص",
|
51 |
+
"Utilizing custom pretrained models can lead to superior results, as selecting the most suitable pretrained models tailored to the specific use case can significantly enhance performance.": "يمكن ��ن يؤدي استخدام النماذج المخصصة المدربة مسبقا إلى نتائج فائقة ، حيث أن اختيار النماذج الأكثر ملاءمة للاختبار المسبق والمصممة خصيصا لحالة الاستخدام المحددة يمكن أن يعزز الأداء بشكل كبير.",
|
52 |
+
"Upload Pretrained Model": "تحميل نموذج تم تدريبه مسبقا",
|
53 |
+
"Refresh Custom Pretraineds": "تحديث التدريبات المسبقة المخصصة",
|
54 |
+
"Pretrained Custom Settings": "الإعدادات المخصصة المدربة مسبقا",
|
55 |
+
"The file you dropped is not a valid pretrained file. Please try again.": "الملف الذي أسقطته ليس ملفا صالحا تم تدريبه مسبقا. يرجى المحاولة مرة أخرى.",
|
56 |
+
"Click the refresh button to see the pretrained file in the dropdown menu.": "انقر فوق زر التحديث لرؤية الملف الذي تم اختباره مسبقا في القائمة المنسدلة.",
|
57 |
+
"Pretrained G Path": "مخصص مسبقا G",
|
58 |
+
"Pretrained D Path": "مخصص مسبق التدريب D",
|
59 |
+
"GPU Settings": "إعدادات وحدة معالجة الرسومات",
|
60 |
+
"Sets advanced GPU settings, recommended for users with better GPU architecture.": "يضبط إعدادات GPU المتقدمة ، الموصى بها للمستخدمين الذين لديهم بنية GPU أفضل.",
|
61 |
+
"GPU Custom Settings": "الإعدادات المخصصة لوحدة معالجة الرسومات",
|
62 |
+
"GPU Number": "رقم وحدة معالجة الرسومات",
|
63 |
+
"0 to ∞ separated by -": "0 إلى ∞ مفصولة ب -",
|
64 |
+
"GPU Information": "معلومات وحدة معالجة الرسومات",
|
65 |
+
"Pitch Guidance": "توجيه الملعب",
|
66 |
+
"By employing pitch guidance, it becomes feasible to mirror the intonation of the original voice, including its pitch. This feature is particularly valuable for singing and other scenarios where preserving the original melody or pitch pattern is essential.": "من خلال استخدام توجيه درجة الصوت ، يصبح من الممكن عكس نغمة الصوت الأصلي ، بما في ذلك طبقة الصوت. هذه الميزة ذات قيمة خاصة للغناء والسيناريوهات الأخرى حيث يكون الحفاظ على اللحن الأصلي أو نمط طبقة الصوت أمرا ضروريا.",
|
67 |
+
"Utilize pretrained models when training your own. This approach reduces training duration and enhances overall quality.": "استخدم النماذج المدربة مسبقا عند تدريب النماذج الخاصة بك. هذا النهج يقلل من مدة التدريب ويعزز الجودة الشاملة.",
|
68 |
+
"Extract Features": "استخراج الميزات",
|
69 |
+
"Start Training": "ابدأ التدريب",
|
70 |
+
"Generate Index": "إنشاء فهرس",
|
71 |
+
"Voice Model": "نموذج الصوت",
|
72 |
+
"Select the voice model to use for the conversion.": "حدد نموذج الصوت لاستخدامه في التحويل.",
|
73 |
+
"Index File": "ملف الفهرس",
|
74 |
+
"Select the index file to use for the conversion.": "حدد ملف الفهرس لاستخدامه للتحويل.",
|
75 |
+
"Refresh": "تحديث",
|
76 |
+
"Unload Voice": "تفريغ الصوت",
|
77 |
+
"Single": "واحد",
|
78 |
+
"Upload Audio": "تحميل الصوت",
|
79 |
+
"Select Audio": "حدد الصوت",
|
80 |
+
"Select the audio to convert.": "حدد الصوت المراد تحويله.",
|
81 |
+
"Advanced Settings": "الإعدادات المتقدمة",
|
82 |
+
"Clear Outputs (Deletes all audios in assets/audios)": "مخرجات واضحة (يحذف جميع الصوتيات في الأصول / الصوتيات)",
|
83 |
+
"Custom Output Path": "مسار الإخراج المخصص",
|
84 |
+
"Output Path": "مسار الإخراج",
|
85 |
+
"The path where the output audio will be saved, by default in assets/audios/output.wav": "المسار الذي سيتم فيه حفظ الصوت الناتج ، افتراضيا في الأصول / الصوتيات / output.wav",
|
86 |
+
"Split Audio": "تقسيم الصوت",
|
87 |
+
"Split the audio into chunks for inference to obtain better results in some cases.": "قسم الصوت إلى أجزاء للاستدلال للحصول على نتائج أفضل في بعض الحالات.",
|
88 |
+
"Autotune": "الضبط التلقائي",
|
89 |
+
"Apply a soft autotune to your inferences, recommended for singing conversions.": "قم بتطبيق ضبط تلقائي ناعم على استنتاجاتك ، موصى به لغناء التحويلات.",
|
90 |
+
"Clean Audio": "صوت نظيف",
|
91 |
+
"Clean your audio output using noise detection algorithms, recommended for speaking audios.": "قم بتنظيف إخراج الصوت باستخدام خوارزميات اكتشاف الضوضاء ، الموصى بها للتحدث الصوتيات.",
|
92 |
+
"Clean Strength": "قوة نظيفة",
|
93 |
+
"Set the clean-up level to the audio you want, the more you increase it the more it will clean up, but it is possible that the audio will be more compressed.": "اضبط مستوى التنظيف على الصوت الذي تريده ، وكلما قمت بزيادته كلما تم تنظيفه ، ولكن من الممكن أن يكون الصوت أكثر ضغطا.",
|
94 |
+
"Pitch": "زفت",
|
95 |
+
"Set the pitch of the audio, the higher the value, the higher the pitch.": "اضبط درجة الصوت ، وكلما زادت القيمة ، زادت درجة الصوت.",
|
96 |
+
"Filter Radius": "نصف قطر المرشح",
|
97 |
+
"If the number is greater than or equal to three, employing median filtering on the collected tone results has the potential to decrease respiration.": "إذا كان العدد أكبر من أو يساوي ثلاثة ، فإن استخدام الترشيح المتوسط على نتائج النغمة التي تم جمعها لديه القدرة على تقليل التنفس.",
|
98 |
+
"Search Feature Ratio": "نسبة ميزة البحث",
|
99 |
+
"Influence exerted by the index file; a higher value corresponds to greater influence. However, opting for lower values can help mitigate artifacts present in the audio.": "التأثير الذي يمارسه ملف الفهرس ؛ قيمة أعلى يتوافق مع تأثير أكبر. ومع ذلك ، يمكن أن يساعد اختيار القيم الأقل في التخفيف من العناصر الموجودة في الصوت.",
|
100 |
+
"Volume Envelope": "مغلف الحجم",
|
101 |
+
"Substitute or blend with the volume envelope of the output. The closer the ratio is to 1, the more the output envelope is employed.": "استبدل أو امزج مع مغلف حجم المخرجات. كلما اقتربت النسبة من 1 ، زاد استخدام مغلف الإخراج.",
|
102 |
+
"Protect Voiceless Consonants": "حماية الحروف الساكنة التي لا صوت لها",
|
103 |
+
"Safeguard distinct consonants and breathing sounds to prevent electro-acoustic tearing and other artifacts. Pulling the parameter to its maximum value of 0.5 offers comprehensive protection. However, reducing this value might decrease the extent of protection while potentially mitigating the indexing effect.": "حماية الحروف الساكنة المميزة وأصوات التنفس لمنع التمزق الصوتي الكهربائي والتحف الأخرى. يوفر سحب المعلمة إلى قيمتها القصوى البالغة 0.5 حماية شاملة. ومع ذلك ، قد يؤدي تقليل هذه القيمة إلى تقليل مدى الحماية مع احتمال التخفيف من تأثير الفهرسة.",
|
104 |
+
"Pitch extraction algorithm": "خوارزمية استخراج الملعب",
|
105 |
+
"Pitch extraction algorithm to use for the audio conversion. The default algorithm is rmvpe, which is recommended for most cases.": "خوارزمية استخراج الملعب لاستخدامها في تحويل الصوت. الخوارزمية الافتراضية هي rmvpe ، والتي يوصى بها في معظم الحالات.",
|
106 |
+
"Convert": "حول",
|
107 |
+
"Export Audio": "تصدير الصوت",
|
108 |
+
"Batch": "الدفعه",
|
109 |
+
"Input Folder": "مجلد الإدخال",
|
110 |
+
"Select the folder containing the audios to convert.": "حدد المجلد الذي يحتوي على الصوتيات المراد تحويلها.",
|
111 |
+
"Enter input path": "أدخل مسار الإدخال",
|
112 |
+
"Output Folder": "مجلد الإخراج",
|
113 |
+
"Select the folder where the output audios will be saved.": "حدد المجلد حيث سيتم حفظ صوتيات الإخراج.",
|
114 |
+
"Enter output path": "أدخل مسار الإخراج",
|
115 |
+
"Get information about the audio": "الحصول على معلومات حول الصوت",
|
116 |
+
"Information about the audio file": "معلومات حول الملف الصوتي",
|
117 |
+
"Waiting for information...": "في انتظار المعلومات...",
|
118 |
+
"## Voice Blender": "## خلاط الصوت",
|
119 |
+
"Select two voice models, set your desired blend percentage, and blend them into an entirely new voice.": "حدد نموذجين صوتيين ، وقم بتعيين نسبة المزج التي تريدها ، وامزجهما في صوت جديد تماما.",
|
120 |
+
"Voice Blender": "خلاط الصوت",
|
121 |
+
"Drag and drop your model here": "قم بسحب وإسقاط النموذج الخاص بك هنا",
|
122 |
+
"You can also use a custom path.": "يمكنك أيضا استخدام مسار مخصص.",
|
123 |
+
"Blend Ratio": "نسبة المزج",
|
124 |
+
"Adjusting the position more towards one side or the other will make the model more similar to the first or second.": "سيؤدي ضبط الموضع أكثر نحو جانب أو آخر إلى جعل النموذج أكثر تشابها مع الأول أو الثاني.",
|
125 |
+
"Fusion": "اندماج",
|
126 |
+
"Path to Model": "الطريق إلى النموذج",
|
127 |
+
"Enter path to model": "أدخل المسار إلى النموذج",
|
128 |
+
"Model information to be placed": "معلومات النموذج المراد وضعها",
|
129 |
+
"Inroduce the model information": "Inroduce معلومات ا��نموذج",
|
130 |
+
"The information to be placed in the model (You can leave it blank or put anything).": "المعلومات المراد وضعها في النموذج (يمكنك تركها فارغة أو وضع أي شيء).",
|
131 |
+
"View model information": "عرض معلومات النموذج",
|
132 |
+
"Introduce the model pth path": "تقديم نموذج مسار pth",
|
133 |
+
"View": "منظر",
|
134 |
+
"Model extraction": "استخراج النموذج",
|
135 |
+
"Model conversion": "تحويل النموذج",
|
136 |
+
"Pth file": "ملف Pth",
|
137 |
+
"Output of the pth file": "إخراج ملف pth",
|
138 |
+
"# How to Report an Issue on GitHub": "# كيفية الإبلاغ عن مشكلة على GitHub",
|
139 |
+
"1. Click on the 'Record Screen' button below to start recording the issue you are experiencing.": "1. انقر فوق الزر \"شاشة التسجيل\" أدناه لبدء تسجيل المشكلة التي تواجهها.",
|
140 |
+
"2. Once you have finished recording the issue, click on the 'Stop Recording' button (the same button, but the label changes depending on whether you are actively recording or not).": "2. بمجرد الانتهاء من تسجيل المشكلة ، انقر فوق الزر \"إيقاف التسجيل\" (نفس الزر ، لكن التسمية تتغير اعتمادا على ما إذا كنت تقوم بالتسجيل بنشاط أم لا).",
|
141 |
+
"3. Go to [GitHub Issues](https://github.com/IAHispano/Applio/issues) and click on the 'New Issue' button.": "3. انتقل إلى [مشكلات GitHub] (https://github.com/IAHispano/Applio/issues) وانقر على زر \"إصدار جديد\".",
|
142 |
+
"4. Complete the provided issue template, ensuring to include details as needed, and utilize the assets section to upload the recorded file from the previous step.": "4. أكمل نموذج المشكلة المقدم ، مع التأكد من تضمين التفاصيل حسب الحاجة ، واستخدم قسم الأصول لتحميل الملف المسجل من الخطوة السابقة.",
|
143 |
+
"Record Screen": "شاشة التسجيل",
|
144 |
+
"Record": "سجل",
|
145 |
+
"Stop Recording": "إيقاف التسجيل",
|
146 |
+
"Introduce the model .pth path": "تقديم نموذج مسار .pth",
|
147 |
+
"See Model Information": "انظر معلومات النموذج",
|
148 |
+
"## Download Model": "## تحميل الموديل",
|
149 |
+
"Model Link": "رابط النموذج",
|
150 |
+
"Introduce the model link": "تقديم رابط النموذج",
|
151 |
+
"Download Model": "تحميل الموديل",
|
152 |
+
"## Drop files": "## إسقاط الملفات",
|
153 |
+
"Drag your .pth file and .index file into this space. Drag one and then the other.": "اسحب ملف .pth وملف .index إلى هذه المساحة. اسحب أحدهما ثم الآخر.",
|
154 |
+
"TTS Voices": "أصوات تحويل النص إلى كلام",
|
155 |
+
"Select the TTS voice to use for the conversion.": "حدد صوت TTS لاستخدامه في التحويل.",
|
156 |
+
"Text to Synthesize": "النص المراد توليفه",
|
157 |
+
"Enter the text to synthesize.": "أدخل النص المراد توليفه.",
|
158 |
+
"Or you can upload a .txt file": "أو يمكنك تحميل ملف .txt",
|
159 |
+
"Enter text to synthesize": "أدخل نصا لتوليفه",
|
160 |
+
"Output Path for TTS Audio": "مسار الإخراج لصوت TTS",
|
161 |
+
"Output Path for RVC Audio": "مسار الإخراج لصوت RVC",
|
162 |
+
"Enable Applio integration with Discord presence": "تمكين تكامل Applio مع وجود Discord",
|
163 |
+
"It will activate the possibility of displaying the current Applio activity in Discord.": "سيتم تنشيط إمكانية عرض نشاط Applio الحالي في Discord.",
|
164 |
+
"Enable Applio integration with applio.org/models using flask": "تمكين تكامل Applio مع applio.org/models باستخدام القارورة",
|
165 |
+
"It will activate the possibility of downloading models with a click from the website.": "سيتم تنشيط إمكانية تنزيل النماذج بنقرة واحدة من الموقع.",
|
166 |
+
"Theme": "موضوع",
|
167 |
+
"Select the theme you want to use. (Requires restarting Applio)": "حدد السمة التي تريد استخدامها. (يتطلب إعادة تشغيل Applio)",
|
168 |
+
"Language": "اللغة",
|
169 |
+
"Select the language you want to use. (Requires restarting Applio)": "حدد اللغة التي تريد استخدامها. (يتطلب إعادة تشغيل Applio)",
|
170 |
+
"Plugin Installer": "مثبت البرنامج المساعد",
|
171 |
+
"Drag your plugin.zip to install it": "اسحب plugin.zip لتثبيته",
|
172 |
+
"Version Checker": "مدقق الإصدار",
|
173 |
+
"Check which version of Applio is the latest to see if you need to update.": "تحقق من إصدار Applio هو الأحدث لمعرفة ما إذا كنت بحاجة إلى التحديث.",
|
174 |
+
"Check for updates": "التحقق من وجود تحديثات"
|
175 |
+
}
|
assets/i18n/languages/bn_BN.json
ADDED
@@ -0,0 +1,175 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"Ultimate voice cloning tool, meticulously optimized for unrivaled power, modularity, and user-friendly experience.": "আলটিমেট ভয়েস ক্লোনিং টুল, অতুলনীয় শক্তি, মডুলারিটি এবং ব্যবহারকারী-বান্ধব অভিজ্ঞতার জন্য নিখুঁতভাবে অপ্টিমাইজ করা।",
|
3 |
+
"This section contains some extra utilities that often may be in experimental phases.": "এই বিভাগে কিছু অতিরিক্ত ইউটিলিটি রয়েছে যা প্রায়শই পরীক্ষামূলক পর্যায়ে থাকতে পারে।",
|
4 |
+
"Output Information": "আউটপুট তথ্য",
|
5 |
+
"The output information will be displayed here.": "আউটপুট তথ্য এখানে প্রদর্শিত হবে।",
|
6 |
+
"Inference": "অনুমান",
|
7 |
+
"Train": "ট্রেন",
|
8 |
+
"Extra": "অতিরিক্ত",
|
9 |
+
"Merge Audios": "অডিওগুলি মার্জ করুন",
|
10 |
+
"Processing": "প্রক্রিয়াকরণ",
|
11 |
+
"Audio Analyzer": "অডিও বিশ্লেষক",
|
12 |
+
"Model Information": "মডেল তথ্য",
|
13 |
+
"Plugins": "প্লাগইন",
|
14 |
+
"Download": "ডাউনলোড",
|
15 |
+
"Report a Bug": "একটি বাগ রিপোর্ট করুন",
|
16 |
+
"Settings": "সেটিংস",
|
17 |
+
"Preprocess": "প্রিপ্রসেস",
|
18 |
+
"Model Name": "মডেলের নাম",
|
19 |
+
"Name of the new model.": "নতুন মডেলের নাম",
|
20 |
+
"Enter model name": "মডেলের নাম লিখুন",
|
21 |
+
"Dataset Path": "ডেটাসেট পাথ",
|
22 |
+
"Path to the dataset folder.": "ডেটাসেট ফোল্ডারে পাথ।",
|
23 |
+
"Refresh Datasets": "ডেটাসেট রিফ্রেশ করুন",
|
24 |
+
"Dataset Creator": "ডেটাসেট স্রষ্টা",
|
25 |
+
"Dataset Name": "ডেটাসেটের নাম",
|
26 |
+
"Name of the new dataset.": "নতুন ডেটাসেটের নাম",
|
27 |
+
"Enter dataset name": "তথ্যসেটের নাম লিখুন",
|
28 |
+
"Upload Audio Dataset": "অডিও ডেটাসেট আপলোড করুন",
|
29 |
+
"The audio file has been successfully added to the dataset. Please click the preprocess button.": "অডিও ফাইলটি সফলভাবে ডেটাসেটে যুক্ত করা হয়েছে। অনুগ্রহ করে প্রিপ্রসেস বাটনে ক্লিক করুন।",
|
30 |
+
"Enter dataset path": "ডেটাসেটের পথ লিখুন",
|
31 |
+
"Sampling Rate": "নমুনা হার",
|
32 |
+
"The sampling rate of the audio files.": "অডিও ফাইলের নমুনা হার।",
|
33 |
+
"RVC Version": "আরভিসি সংস্করণ",
|
34 |
+
"The RVC version of the model.": "মডেলটির আরভিসি সংস্করণ।",
|
35 |
+
"Preprocess Dataset": "প্রিপ্রসেস ডেটাসেট",
|
36 |
+
"Extract": "নিষ্কাশন",
|
37 |
+
"Hop Length": "হপ দৈর্ঘ্য",
|
38 |
+
"Denotes the duration it takes for the system to transition to a significant pitch change. Smaller hop lengths require more time for inference but tend to yield higher pitch accuracy.": "সিস্টেমটি একটি উল্লেখযোগ্য পিচ পরিবর্তনে রূপান্তরিত হতে যে সময়কাল নেয় তা বোঝায়। ছোট হপ দৈর্ঘ্যের জন্য অনুমানের জন্য আরও সময় প্রয়োজন তবে উচ্চতর পিচ নির্ভুলতা অর্জন করে।",
|
39 |
+
"Batch Size": "ব্যাচের আকার",
|
40 |
+
"It's advisable to align it with the available VRAM of your GPU. A setting of 4 offers improved accuracy but slower processing, while 8 provides faster and standard results.": "এটি আপনার জিপিইউর উপলব্ধ ভিআরএএমের সাথে সারিবদ্ধ করার পরামর্শ দেওয়া হচ্ছে। 4 এর একটি সেটিং উন্নত নির্ভুলতা সরবরাহ করে তবে ধীর প্রক্রিয়াজাতকরণ, যখন 8 দ্রুত এবং মানক ফলাফল সরবরাহ করে।",
|
41 |
+
"Save Every Epoch": "প্রতিটি যুগ সংরক্ষণ করুন",
|
42 |
+
"Determine at how many epochs the model will saved at.": "মডেলটি কতগুলি যুগে সংরক্ষণ করবে তা নির্ধারণ করুন।",
|
43 |
+
"Total Epoch": "মোট যুগ",
|
44 |
+
"Specifies the overall quantity of epochs for the model training process.": "মডেল প্রশিক্ষণ প্রক্রিয়ার জন্য যুগের সামগ্রিক পরিমাণ উল্লেখ করে।",
|
45 |
+
"Pretrained": "পূর্বনির্ধারিত",
|
46 |
+
"Save Only Latest": "শুধুমাত্র সর্বশেষ সংরক্ষণ করুন",
|
47 |
+
"Enabling this setting will result in the G and D files saving only their most recent versions, effectively conserving storage space.": "এই সেটিংটি সক্ষম করার ফলে জি এবং ডি ফাইলগুলি কেবলমাত্র তাদের সাম্প্রতিকতম সংস্করণগুলি সংরক্ষণ করবে, কার্যকরভাবে স্টোরেজ স্পেস সংরক্ষণ করবে।",
|
48 |
+
"Save Every Weights": "প্রতিটি ওজন সংরক্ষণ করুন",
|
49 |
+
"This setting enables you to save the weights of the model at the conclusion of each epoch.": "এই সেটিংটি আপনাকে প্রতিটি যুগের শেষে মডেলের ওজন সংরক্ষণ করতে সক্ষম করে।",
|
50 |
+
"Custom Pretrained": "কাস্টম প্রিট্রেইনড",
|
51 |
+
"Utilizing custom pretrained models can lead to superior results, as selecting the most suitable pretrained models tailored to the specific use case can significantly enhance performance.": "কাস্টম প্রিট্রেনড মডেলগুলি ব্যবহার করা উচ্চতর ফলাফলের দিকে পরিচালিত করতে পারে, কারণ নির্দিষ্ট ব্যবহারের ক্ষেত্রে উপযুক্ত প্রিট্রেনড মডেলগুলি নির্বাচন করা কর্মক্ষমতা উল্লেখযোগ্যভাবে বাড়িয়ে তুলতে পারে।",
|
52 |
+
"Upload Pretrained Model": "প্রিট্রেনড মডেল আপলোড করুন",
|
53 |
+
"Refresh Custom Pretraineds": "কাস্টম প্রিট্রেনেডগুলি রিফ্রেশ করুন",
|
54 |
+
"Pretrained Custom Settings": "পূর্বনির্ধারিত কাস্টম সেটিংস",
|
55 |
+
"The file you dropped is not a valid pretrained file. Please try again.": "আপনার ফেলে দেওয়া ফাইলটি একটি বৈধ পূর্বপ্রশিক্ষিত ফাইল নয়. অনুগ্রহ করে আবার চেষ্টা করুন।",
|
56 |
+
"Click the refresh button to see the pretrained file in the dropdown menu.": "ড্রপডাউন মেনুতে প্রিট্রেনড ফাইলটি দেখতে রিফ্রেশ বোতামটি ক্লিক করুন।",
|
57 |
+
"Pretrained G Path": "কাস্টম প্রিট্রেনড জি",
|
58 |
+
"Pretrained D Path": "কাস্টম প্রিট্রেনড ডি",
|
59 |
+
"GPU Settings": "জিপিইউ সেটিংস",
|
60 |
+
"Sets advanced GPU settings, recommended for users with better GPU architecture.": "উন্নত GPU সেটিংস সেট করে, আরও ভাল GPU আর্কিটেকচার সহ ব্যবহারকারীদের জন্য প্রস্তাবিত।",
|
61 |
+
"GPU Custom Settings": "GPU কাস্টম সেটিংস",
|
62 |
+
"GPU Number": "জিপিইউ নম্বর",
|
63 |
+
"0 to ∞ separated by -": "0 থেকে ∞ দ্বারা পৃথক করা হয় -",
|
64 |
+
"GPU Information": "জিপিইউ তথ্য",
|
65 |
+
"Pitch Guidance": "পিচ গাইডেন্স",
|
66 |
+
"By employing pitch guidance, it becomes feasible to mirror the intonation of the original voice, including its pitch. This feature is particularly valuable for singing and other scenarios where preserving the original melody or pitch pattern is essential.": "পিচ গাইডেন্স নিয়োগ করে, এর পিচ সহ মূল ভয়েসের স্বরভঙ্গিটি মিরর করা সম্ভব হয়। এই বৈশিষ্ট্যটি গাওয়া এবং অন্যান্য পরিস্থিতিতে বিশেষত মূল্যবান যেখানে মূল সুর বা পিচ প্যাটার্ন সংরক্ষণ করা অপরিহার্য।",
|
67 |
+
"Utilize pretrained models when training your own. This approach reduces training duration and enhances overall quality.": "আপনার নিজের প্রশিক্ষণের সময় প্রিপ্রশিক্ষিত মডেলগুলি ব্যবহার করুন। এই পদ্ধত��র প্রশিক্ষণের সময়কাল হ্রাস করে এবং সামগ্রিক মান বাড়ায়।",
|
68 |
+
"Extract Features": "এক্সট্রাক্ট বৈশিষ্ট্য",
|
69 |
+
"Start Training": "প্রশিক্ষণ শুরু করুন",
|
70 |
+
"Generate Index": "সূচী তৈরি করুন",
|
71 |
+
"Voice Model": "ভয়েস মডেল",
|
72 |
+
"Select the voice model to use for the conversion.": "রূপান্তরটির জন্য ব্যবহার করতে ভয়েস মডেলটি নির্বাচন করুন।",
|
73 |
+
"Index File": "সূচী ফাইল",
|
74 |
+
"Select the index file to use for the conversion.": "রূপান্তরটির জন্য ব্যবহার করতে সূচী ফাইলটি নির্বাচন করুন।",
|
75 |
+
"Refresh": "সতেজ",
|
76 |
+
"Unload Voice": "ভয়েস আনলোড করুন",
|
77 |
+
"Single": "একক",
|
78 |
+
"Upload Audio": "অডিও আপলোড করুন",
|
79 |
+
"Select Audio": "অডিও নির্বাচন করুন",
|
80 |
+
"Select the audio to convert.": "রূপান্তর করতে অডিও নির্বাচন করুন।",
|
81 |
+
"Advanced Settings": "উন্নত সেটিংস",
|
82 |
+
"Clear Outputs (Deletes all audios in assets/audios)": "আউটপুট সাফ করুন (সম্পদ / অডিওতে সমস্ত অডিও মুছে ফেলে)",
|
83 |
+
"Custom Output Path": "কাস্টম আউটপুট পাথ",
|
84 |
+
"Output Path": "আউটপুট পাথ",
|
85 |
+
"The path where the output audio will be saved, by default in assets/audios/output.wav": "পাথ যেখানে আউটপুট অডিও সংরক্ষণ করা হবে, সম্পদ / অডিও / output.wav ডিফল্টরূপে",
|
86 |
+
"Split Audio": "অডিও বিভক্ত করুন",
|
87 |
+
"Split the audio into chunks for inference to obtain better results in some cases.": "কিছু ক্ষেত্রে আরও ভাল ফলাফল পেতে অনুমানের জন্য অডিওটিকে খণ্ডগুলিতে বিভক্ত করুন।",
|
88 |
+
"Autotune": "অটোটিউন",
|
89 |
+
"Apply a soft autotune to your inferences, recommended for singing conversions.": "আপনার অনুমানগুলিতে একটি নরম অটোটিউন প্রয়োগ করুন, রূপান্তরগুলি গাওয়ার জন্য প্রস্তাবিত।",
|
90 |
+
"Clean Audio": "পরিষ্কার অডিও",
|
91 |
+
"Clean your audio output using noise detection algorithms, recommended for speaking audios.": "অডিও বলার জন্য প্রস্তাবিত কোলাহল শনাক্তকরণ অ্যালগরিদমগুলি ব্যবহার করে আপনার অডিও আউটপুট পরিষ্কার করুন।",
|
92 |
+
"Clean Strength": "পরিষ্কার শক্তি",
|
93 |
+
"Set the clean-up level to the audio you want, the more you increase it the more it will clean up, but it is possible that the audio will be more compressed.": "আপনি যে অডিওটি চান তাতে ক্লিন-আপ স্তরটি সেট করুন, আপনি এটি যত বাড়াবেন তত বেশি এটি পরিষ্কার হবে, তবে এটি সম্ভব যে অডিওটি আরও সংকুচিত হবে।",
|
94 |
+
"Pitch": "পিচ",
|
95 |
+
"Set the pitch of the audio, the higher the value, the higher the pitch.": "অডিওর পিচ সেট করুন, মান যত বেশি, পিচ তত বেশি।",
|
96 |
+
"Filter Radius": "ফিল্টার ব্যাসার্ধ",
|
97 |
+
"If the number is greater than or equal to three, employing median filtering on the collected tone results has the potential to decrease respiration.": "যদি সংখ্যাটি তিনটির চেয়ে বেশি বা সমান হয় তবে সংগৃহীত স্বন ফলাফলগুলিতে মধ্যমা ফিল্টারিং নিয়োগ করা শ্বাসকষ্ট হ্রাস করার সম্ভাবনা রয়েছে।",
|
98 |
+
"Search Feature Ratio": "অনুসন্ধান বৈশিষ্ট্য অনুপাত",
|
99 |
+
"Influence exerted by the index file; a higher value corresponds to greater influence. However, opting for lower values can help mitigate artifacts present in the audio.": "ইনডেক্স ফাইল দ্বারা প্রভাবিত; একটি উচ্চতর মান বৃহত্তর প্রভাবের সাথে মিলে যায়। তবে, নিম্ন মানগুলি বেছে নেওয়া অডিওতে উপস্থিত নিদর্শনগুলি প্রশমিত করতে সহায়তা করতে পারে।",
|
100 |
+
"Volume Envelope": "ভলিউম খাম",
|
101 |
+
"Substitute or blend with the volume envelope of the output. The closer the ratio is to 1, the more the output envelope is employed.": "আউটপুটের ভলিউম খামের সাথে বিকল্প বা মিশ্রণ করুন। অনুপাতটি 1 এর কাছাকাছি হয়, তত বেশি আউটপুট খাম নিযুক্ত করা হয়।",
|
102 |
+
"Protect Voiceless Consonants": "কণ্ঠহীন ব্যঞ্জনবর্ণ রক্ষা করুন",
|
103 |
+
"Safeguard distinct consonants and breathing sounds to prevent electro-acoustic tearing and other artifacts. Pulling the parameter to its maximum value of 0.5 offers comprehensive protection. However, reducing this value might decrease the extent of protection while potentially mitigating the indexing effect.": "ইলেক্ট্রো-অ্যাকোস্টিক ছিঁড়ে যাওয়া এবং অন্যান্য নিদর্শনগুলি রোধ করতে স্বতন্ত্র ব্যঞ্জনবর্ণ এবং শ্বাস প্রশ্বাসের শব্দগুলি রক্ষা করুন। প্যারামিটারটিকে তার সর্বোচ্চ মান 0.5 এ টানলে ব্যাপক সুরক্ষা সরবরাহ করে। যাইহোক, এই মান হ্রাস করা সম্ভাব্যভাবে সূচক প্রভাব প্রশমিত করার সময় সুরক্ষার পরিমাণ হ্রাস করতে পারে।",
|
104 |
+
"Pitch extraction algorithm": "পিচ নিষ্কাশন অ্যালগরিদম",
|
105 |
+
"Pitch extraction algorithm to use for the audio conversion. The default algorithm is rmvpe, which is recommended for most cases.": "অডিও রূপান্তর জন্য ব্যবহার করতে পিচ নিষ্কাশন অ্যালগরিদম. ডিফল্ট অ্যালগরিদমটি আরএমভিপিই, যা বেশিরভাগ ক্ষেত্রে প্রস্তাবিত।",
|
106 |
+
"Convert": "রূপান্তর",
|
107 |
+
"Export Audio": "অডিও রপ্তানি করুন",
|
108 |
+
"Batch": "ব্যাচ",
|
109 |
+
"Input Folder": "ইনপুট ফোল্ডার",
|
110 |
+
"Select the folder containing the audios to convert.": "রূপান্তর করতে অডিওযুক্ত ফোল্ডারটি নির্বাচন করুন।",
|
111 |
+
"Enter input path": "ইনপুট পথ লিখুন",
|
112 |
+
"Output Folder": "আউটপুট ফোল্ডার",
|
113 |
+
"Select the folder where the output audios will be saved.": "ফোল্ডারটি নির্বাচন করুন যেখানে আউটপুট অডিওগুলি সংরক্ষণ করা হবে।",
|
114 |
+
"Enter output path": "আউটপুট পথ লিখুন",
|
115 |
+
"Get information about the audio": "অডিও সম্পর্কে তথ্য পান",
|
116 |
+
"Information about the audio file": "অডিও ফাইল সম্পর্কে তথ্য",
|
117 |
+
"Waiting for information...": "তথ্যের অপেক্ষায়...",
|
118 |
+
"## Voice Blender": "## ভয়েস ব্লেন্ডার",
|
119 |
+
"Select two voice models, set your desired blend percentage, and blend them into an entirely new voice.": "দুটি ভয়েস মডেল নির্বাচন করুন, আপনার পছন্দসই মিশ্রণের শতাংশ সেট করুন এবং এগুলি সম্পূর্ণ নতুন ভয়েসে মিশ্রিত করুন।",
|
120 |
+
"Voice Blender": "ভয়েস ব্লেন্ডার",
|
121 |
+
"Drag and drop your model here": "আপনার মডেলটি এখানে টেনে এনে ছেড়ে দিন",
|
122 |
+
"You can also use a custom path.": "আপনি একটি কাস্টম পাথও ব্যবহার করতে পারেন।",
|
123 |
+
"Blend Ratio": "ব্লেন্ড রেশিও",
|
124 |
+
"Adjusting the position more towards one side or the other will make the model more similar to the first or second.": "একপাশে বা অন্যদিকে অবস্থানটি আরও সামঞ্জস্য করা মডেলটিকে প্রথম বা দ্বিতীয়টির সাথে আরও অনুরূপ করে তুলবে।",
|
125 |
+
"Fusion": "ফিউশন",
|
126 |
+
"Path to Model": "মডেলের পথ",
|
127 |
+
"Enter path to model": "মডেলে�� পথ লিখুন",
|
128 |
+
"Model information to be placed": "মডেল তথ্য স্থাপন করা হবে",
|
129 |
+
"Inroduce the model information": "মডেলের তথ্য ইনরোডিউস করুন",
|
130 |
+
"The information to be placed in the model (You can leave it blank or put anything).": "মডেলটিতে যে তথ্য রাখতে হবে (আপনি এটি ফাঁকা রেখে দিতে পারেন বা কিছু রাখতে পারেন)।",
|
131 |
+
"View model information": "মডেল তথ্য দেখুন",
|
132 |
+
"Introduce the model pth path": "মডেল পিটিএইচ পাথ পরিচয় করিয়ে দিন",
|
133 |
+
"View": "দর্শন",
|
134 |
+
"Model extraction": "মডেল নিষ্কাশন",
|
135 |
+
"Model conversion": "মডেল রূপান্তর",
|
136 |
+
"Pth file": "Pth ফাইল",
|
137 |
+
"Output of the pth file": "পিটিএইচ ফাইলের আউটপুট",
|
138 |
+
"# How to Report an Issue on GitHub": "# গিটহাবে একটি সমস্যা কিভাবে রিপোর্ট করবেন",
|
139 |
+
"1. Click on the 'Record Screen' button below to start recording the issue you are experiencing.": "1. আপনি যে সমস্যার সম্মুখীন হচ্ছেন তা রেকর্ড করা শুরু করতে নীচের 'রেকর্ড স্ক্রিন' বোতামে ক্লিক করুন।",
|
140 |
+
"2. Once you have finished recording the issue, click on the 'Stop Recording' button (the same button, but the label changes depending on whether you are actively recording or not).": "2. একবার আপনি সমস্যাটি রেকর্ড করা শেষ করার পরে, 'রেকর্ডিং বন্ধ করুন' বোতামে ক্লিক করুন (একই বোতাম, তবে আপনি সক্রিয়ভাবে রেকর্ড করছেন কিনা তার উপর নির্ভর করে লেবেলটি পরিবর্তিত হয়)।",
|
141 |
+
"3. Go to [GitHub Issues](https://github.com/IAHispano/Applio/issues) and click on the 'New Issue' button.": "৩. [GitHub Issues](https://github.com/IAHispano/Applio/issues) এ যান এবং 'New Issue' বাটনে ক্লিক করুন।",
|
142 |
+
"4. Complete the provided issue template, ensuring to include details as needed, and utilize the assets section to upload the recorded file from the previous step.": "4. প্রদত্ত ইস্যু টেমপ্লেটটি সম্পূর্ণ করুন, প্রয়োজন অনুসারে বিশদ অন্তর্ভুক্ত করা নিশ্চিত করুন এবং পূর্ববর্তী পদক্ষেপ থেকে রেকর্ড করা ফাইলটি আপলোড করতে সম্পদ বিভাগটি ব্যবহার করুন।",
|
143 |
+
"Record Screen": "রেকর্ড স্ক্রিন",
|
144 |
+
"Record": "রেকর্ড",
|
145 |
+
"Stop Recording": "রেকর্ডিং বন্ধ করুন",
|
146 |
+
"Introduce the model .pth path": "মডেল .pth পাথ পরিচয় করিয়ে দিন",
|
147 |
+
"See Model Information": "মডেল তথ্য দেখুন",
|
148 |
+
"## Download Model": "## মডেল ডাউনলোড করুন",
|
149 |
+
"Model Link": "মডেল লিংক",
|
150 |
+
"Introduce the model link": "মডেল লিঙ্কটি পরিচয় করিয়ে দিন",
|
151 |
+
"Download Model": "মডেল ডাউনলোড করুন",
|
152 |
+
"## Drop files": "## ফাইল ড্রপ করুন",
|
153 |
+
"Drag your .pth file and .index file into this space. Drag one and then the other.": "আপনার .pth ফাইল এবং .index ফাইলটি এই স্পেসে টেনে আনুন। একটা টেনে আনুন, তারপর অন্যটা।",
|
154 |
+
"TTS Voices": "টিটিএস ভয়েসেস",
|
155 |
+
"Select the TTS voice to use for the conversion.": "রূপান্তরটির জন্য ব্যবহার করতে TTS ভয়েস নির্বাচন করুন।",
|
156 |
+
"Text to Synthesize": "সংশ্লেষণ করার জন্য পাঠ্য",
|
157 |
+
"Enter the text to synthesize.": "সংশ্লেষ করতে পাঠ্যটি প্রবেশ করান।",
|
158 |
+
"Or you can upload a .txt file": "অথবা আপনি একটি .txt ফাইল আপলোড করতে পারেন",
|
159 |
+
"Enter text to synthesize": "সংশ্লেষ করতে পাঠ্য লিখুন",
|
160 |
+
"Output Path for TTS Audio": "TTS অডিওর জন্য আউটপুট পাথ",
|
161 |
+
"Output Path for RVC Audio": "আরভিসি অডিওর জন্য আউটপু��� পাথ",
|
162 |
+
"Enable Applio integration with Discord presence": "ডিসকর্ড উপস্থিতি সহ অ্যাপলিও ইন্টিগ্রেশন সক্ষম করুন",
|
163 |
+
"It will activate the possibility of displaying the current Applio activity in Discord.": "এটি ডিসকর্ডে বর্তমান অ্যাপলিও ক্রিয়াকলাপ প্রদর্শনের সম্ভাবনা সক্রিয় করবে।",
|
164 |
+
"Enable Applio integration with applio.org/models using flask": "ফ্লাস্ক ব্যবহার করে applio.org/models সাথে অ্যাপলিও ইন্টিগ্রেশন সক্ষম করুন",
|
165 |
+
"It will activate the possibility of downloading models with a click from the website.": "এটি ওয়েবসাইট থেকে একটি ক্লিকের সাথে মডেলগুলি ডাউনলোড করার সম্ভাবনা সক্রিয় করবে।",
|
166 |
+
"Theme": "থীম",
|
167 |
+
"Select the theme you want to use. (Requires restarting Applio)": "আপনি যে থিমটি ব্যবহার করতে চান তা নির্বাচন করুন। (অ্যাপলিও পুনরায় চালু করা প্রয়োজন)",
|
168 |
+
"Language": "ভাষা",
|
169 |
+
"Select the language you want to use. (Requires restarting Applio)": "আপনি যে ভাষাটি ব্যবহার করতে চান তা নির্বাচন করুন। (অ্যাপলিও পুনরায় চালু করা প্রয়োজন)",
|
170 |
+
"Plugin Installer": "প্লাগইন ইনস্টলার",
|
171 |
+
"Drag your plugin.zip to install it": "এটি ইনস্টল করতে আপনার plugin.zip টেনে আনুন",
|
172 |
+
"Version Checker": "সংস্করণ পরীক্ষক",
|
173 |
+
"Check which version of Applio is the latest to see if you need to update.": "আপনার আপডেট করার প্রয়োজন আছে কিনা তা দেখতে অ্যাপলিওর কোন সংস্করণটি সর্বশেষতম তা পরীক্ষা করে দেখুন।",
|
174 |
+
"Check for updates": "আপডেটের জন্য পরীক্ষা করুন"
|
175 |
+
}
|
assets/i18n/languages/de_DE.json
ADDED
@@ -0,0 +1,175 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"Ultimate voice cloning tool, meticulously optimized for unrivaled power, modularity, and user-friendly experience.": "Ultimatives Tool zum Klonen von Stimmen, das sorgfältig für unübertroffene Leistung, Modularität und Benutzerfreundlichkeit optimiert wurde.",
|
3 |
+
"This section contains some extra utilities that often may be in experimental phases.": "Dieser Abschnitt enthält einige zusätzliche Dienstprogramme, die sich häufig in experimentellen Phasen befinden.",
|
4 |
+
"Output Information": "Informationen zur Ausgabe",
|
5 |
+
"The output information will be displayed here.": "Hier werden die Ausgabeinformationen angezeigt.",
|
6 |
+
"Inference": "Inferenz",
|
7 |
+
"Train": "Trainieren",
|
8 |
+
"Extra": "Extra",
|
9 |
+
"Merge Audios": "Audios zusammenführen",
|
10 |
+
"Processing": "Verarbeitung",
|
11 |
+
"Audio Analyzer": "Audio-Analysator",
|
12 |
+
"Model Information": "Modell-Informationen",
|
13 |
+
"Plugins": "Plugins",
|
14 |
+
"Download": "Herunterladen",
|
15 |
+
"Report a Bug": "Einen Fehler melden",
|
16 |
+
"Settings": "Einstellungen",
|
17 |
+
"Preprocess": "Vorverarbeiten",
|
18 |
+
"Model Name": "Modellname",
|
19 |
+
"Name of the new model.": "Name des neuen Modells.",
|
20 |
+
"Enter model name": "Modellnamen eingeben",
|
21 |
+
"Dataset Path": "Datensatz-Pfad",
|
22 |
+
"Path to the dataset folder.": "Pfad zum Datensatz-Ordner.",
|
23 |
+
"Refresh Datasets": "Aktualisiere den Datensatz",
|
24 |
+
"Dataset Creator": "Ersteller des Datensatzes",
|
25 |
+
"Dataset Name": "Name des Datensatzes",
|
26 |
+
"Name of the new dataset.": "Name des neuen Datensatzes.",
|
27 |
+
"Enter dataset name": "Geben Sie den Namen des Datensatzes ein",
|
28 |
+
"Upload Audio Dataset": "Audio-Datensatz hochladen",
|
29 |
+
"The audio file has been successfully added to the dataset. Please click the preprocess button.": "Die Audiodatei wurde erfolgreich zum Datensatz hinzugefügt. Bitte klicken Sie auf die Schaltfläche \"Vorverarbeiten\".",
|
30 |
+
"Enter dataset path": "Datensatz-Pfad eingeben",
|
31 |
+
"Sampling Rate": "Samplingrate",
|
32 |
+
"The sampling rate of the audio files.": "Die Samplingrate der Audiodateien.",
|
33 |
+
"RVC Version": "RVC-Version",
|
34 |
+
"The RVC version of the model.": "Die RVC-Version des Modells.",
|
35 |
+
"Preprocess Dataset": "Datensatz vorverarbeiten",
|
36 |
+
"Extract": "Extrahieren",
|
37 |
+
"Hop Length": "Sprungweite",
|
38 |
+
"Denotes the duration it takes for the system to transition to a significant pitch change. Smaller hop lengths require more time for inference but tend to yield higher pitch accuracy.": "Gibt die Dauer an, die das System benötigt, um zu einer signifikanten Tonhöhenänderung überzugehen. Kleinere Sprunglängen benötigen mehr Zeit für die Inferenz, führen aber tendenziell zu einer höheren Tonhöhengenauigkeit.",
|
39 |
+
"Batch Size": "Losgröße",
|
40 |
+
"It's advisable to align it with the available VRAM of your GPU. A setting of 4 offers improved accuracy but slower processing, while 8 provides faster and standard results.": "Es ist ratsam, es mit dem verfügbaren VRAM Ihrer GPU in Einklang zu bringen. Eine Einstellung von 4 bietet eine verbesserte Genauigkeit, aber eine langsamere Verarbeitung, während 8 schnellere und standardmäßige Ergebnisse liefert.",
|
41 |
+
"Save Every Epoch": "Speichere nach jeder Epoche",
|
42 |
+
"Determine at how many epochs the model will saved at.": "Legen Sie fest, bei wie vielen Epochen das Modell gespeichert wird.",
|
43 |
+
"Total Epoch": "Epoche insgesamt",
|
44 |
+
"Specifies the overall quantity of epochs for the model training process.": "Gibt die Gesamtanzahl der Epochen für den Modelltrainingsprozess an.",
|
45 |
+
"Pretrained": "Vortrainiert",
|
46 |
+
"Save Only Latest": "Nur das Neueste speichern",
|
47 |
+
"Enabling this setting will result in the G and D files saving only their most recent versions, effectively conserving storage space.": "Wenn Sie diese Einstellung aktivieren, werden in den G- und D-Dateien nur die neuesten Versionen gespeichert, wodurch Speicherplatz gespart wird.",
|
48 |
+
"Save Every Weights": "Speichern Sie alle Gewichtungen",
|
49 |
+
"This setting enables you to save the weights of the model at the conclusion of each epoch.": "Mit dieser Einstellung können Sie die Gewichtungen des Modells am Ende jeder Epoche speichern.",
|
50 |
+
"Custom Pretrained": "Benutzerdefiniert vortrainiert",
|
51 |
+
"Utilizing custom pretrained models can lead to superior results, as selecting the most suitable pretrained models tailored to the specific use case can significantly enhance performance.": "Die Verwendung benutzerdefinierter vortrainierter Modelle kann zu besseren Ergebnissen führen, da die Auswahl der am besten geeigneten vortrainierten Modelle, die auf den jeweiligen Anwendungsfall zugeschnitten sind, die Leistung erheblich verbessern kann.",
|
52 |
+
"Upload Pretrained Model": "Vortrainiertes Modell hochladen",
|
53 |
+
"Refresh Custom Pretraineds": "Aktualisiere benutzerdefinierte vortrainierte",
|
54 |
+
"Pretrained Custom Settings": "Vortrainierte benutzerdefinierte Einstellungen",
|
55 |
+
"The file you dropped is not a valid pretrained file. Please try again.": "Die Datei, die Sie abgelegt haben, ist keine gültige vortrainierte Datei. Bitte versuchen Sie es erneut.",
|
56 |
+
"Click the refresh button to see the pretrained file in the dropdown menu.": "Klicken Sie auf die Schaltfläche \"Aktualisieren\", um die vortrainierte Datei im Dropdown-Menü anzuzeigen.",
|
57 |
+
"Pretrained G Path": "Benutzerdefinierter vortrainierter G Pfad",
|
58 |
+
"Pretrained D Path": "Benutzerdefinierter vortrainierter D Pfad",
|
59 |
+
"GPU Settings": "GPU-Einstellungen",
|
60 |
+
"Sets advanced GPU settings, recommended for users with better GPU architecture.": "Legt erweiterte GPU-Einstellungen fest, die für Benutzer mit besserer GPU-Architektur empfohlen werden.",
|
61 |
+
"GPU Custom Settings": "Benutzerdefinierte GPU-Einstellungen",
|
62 |
+
"GPU Number": "GPU-Nummer",
|
63 |
+
"0 to ∞ separated by -": "0 bis ∞ getrennt durch -",
|
64 |
+
"GPU Information": "GPU-Informationen",
|
65 |
+
"Pitch Guidance": "Tonhöhen-Führung",
|
66 |
+
"By employing pitch guidance, it becomes feasible to mirror the intonation of the original voice, including its pitch. This feature is particularly valuable for singing and other scenarios where preserving the original melody or pitch pattern is essential.": "Durch den Einsatz von Tonhöhenführung wird es möglich, die Intonation der Originalstimme, einschließlich ihrer Tonhöhe, zu spiegeln. Diese Funktion ist besonders wertvoll für das Singen und andere Szenarien, in denen die Beibehaltung der ursprünglichen Melodie oder des Tonhöhenmusters unerlässlich ist.",
|
67 |
+
"Utilize pretrained models when training your own. This approach reduces training duration and enhances overall quality.": "Verwenden Sie vortrainierte Modelle, wenn Sie Ihre eigenen trainieren. Dieser Ansatz verkürzt die Schulungsdauer und verbessert die Gesamtqualität.",
|
68 |
+
"Extract Features": "Extrahieren von Merkmalen",
|
69 |
+
"Start Training": "Training starten",
|
70 |
+
"Generate Index": "Index generieren",
|
71 |
+
"Voice Model": "Sprach-Modell",
|
72 |
+
"Select the voice model to use for the conversion.": "Wählen Sie das Sprachmodell aus, das für die Konvertierung verwendet werden soll.",
|
73 |
+
"Index File": "Index-Datei",
|
74 |
+
"Select the index file to use for the conversion.": "Wählen Sie die Indexdatei aus, die für die Konvertierung verwendet werden soll.",
|
75 |
+
"Refresh": "Aktualisieren",
|
76 |
+
"Unload Voice": "Stimme entladen",
|
77 |
+
"Single": "Einzeln",
|
78 |
+
"Upload Audio": "Audio hochladen",
|
79 |
+
"Select Audio": "Wählen Sie ein Audio",
|
80 |
+
"Select the audio to convert.": "Wählen Sie das zu konvertierende Audio aus.",
|
81 |
+
"Advanced Settings": "Erweiterte Einstellungen",
|
82 |
+
"Clear Outputs (Deletes all audios in assets/audios)": "Ausgaben löschen (Löscht alle Audios in assets/audios)",
|
83 |
+
"Custom Output Path": "Benutzerdefinierter Ausgabepfad",
|
84 |
+
"Output Path": "Ausgabepfad",
|
85 |
+
"The path where the output audio will be saved, by default in assets/audios/output.wav": "Der Pfad, in dem das Ausgabeaudio gespeichert wird, standardmäßig in assets/audios/output.wav",
|
86 |
+
"Split Audio": "Audio aufteilen",
|
87 |
+
"Split the audio into chunks for inference to obtain better results in some cases.": "Teilen Sie die Audiodaten für Rückschlüsse in Blöcke auf, um in einigen Fällen bessere Ergebnisse zu erzielen.",
|
88 |
+
"Autotune": "Autotune",
|
89 |
+
"Apply a soft autotune to your inferences, recommended for singing conversions.": "Wenden Sie ein sanftes Autotune auf Ihre Inferenzen an, das für Gesangskonvertierungen empfohlen wird.",
|
90 |
+
"Clean Audio": "Audio bereinigen",
|
91 |
+
"Clean your audio output using noise detection algorithms, recommended for speaking audios.": "Bereinigen Sie Ihre Audioausgabe mithilfe von Rauscherkennungsalgorithmen, die für gesprochene Audios empfohlen werden.",
|
92 |
+
"Clean Strength": "Bereinigungsstärke",
|
93 |
+
"Set the clean-up level to the audio you want, the more you increase it the more it will clean up, but it is possible that the audio will be more compressed.": "Stellen Sie den Bereinigungsstärke auf den gewünschten Wert ein, je mehr Sie ihn erhöhen, desto mehr wird bereinigt, aber es ist möglich, dass der Ton stärker komprimiert wird.",
|
94 |
+
"Pitch": "Tonhöhe",
|
95 |
+
"Set the pitch of the audio, the higher the value, the higher the pitch.": "Stellen Sie die Tonhöhe des Audios ein, je höher der Wert, desto höher die Tonhöhe.",
|
96 |
+
"Filter Radius": "Filter-Radius",
|
97 |
+
"If the number is greater than or equal to three, employing median filtering on the collected tone results has the potential to decrease respiration.": "Wenn die Zahl größer oder gleich drei ist, kann die Verwendung einer Medianfilterung für die gesammelten Tonergebnisse die Atmung verringern.",
|
98 |
+
"Search Feature Ratio": "Such-Merkmal-Verhältnis",
|
99 |
+
"Influence exerted by the index file; a higher value corresponds to greater influence. However, opting for lower values can help mitigate artifacts present in the audio.": "Einfluss, der von der Indexdatei ausgeübt wird; Ein höherer Wert entspricht einem größeren Einfluss. Wenn Sie sich jedoch für niedrigere Werte entscheiden, können Sie Artefakte im Audiomaterial abschwächen.",
|
100 |
+
"Volume Envelope": "Lautstärke-Hüllkurve",
|
101 |
+
"Substitute or blend with the volume envelope of the output. The closer the ratio is to 1, the more the output envelope is employed.": "Ersetzen oder überblenden Sie die Lautstärke-Hüllkurve des Ausgangs. Je näher das Verhältnis an 1 liegt, desto mehr wird die Ausgangshüllkurve verwendet.",
|
102 |
+
"Protect Voiceless Consonants": "Schützen Sie stimmlose Konsonanten",
|
103 |
+
"Safeguard distinct consonants and breathing sounds to prevent electro-acoustic tearing and other artifacts. Pulling the parameter to its maximum value of 0.5 offers comprehensive protection. However, reducing this value might decrease the extent of protection while potentially mitigating the indexing effect.": "Schützen Sie eindeutige Konsonanten und Atemgeräusche, um elektroakustisches Reißen und andere Artefakte zu vermeiden. Das Ziehen des Parameters auf den Maximalwert von 0,5 bietet einen umfassenden Schutz. Das Verringern dieses Werts kann jedoch den Umfang des Schutzes verringern und gleichzeitig den Indizierungseffekt möglicherweise abschwächen.",
|
104 |
+
"Pitch extraction algorithm": "Algorithmus zur Tonhöhenextraktion",
|
105 |
+
"Pitch extraction algorithm to use for the audio conversion. The default algorithm is rmvpe, which is recommended for most cases.": "Tonhöhenextraktionsalgorithmus, der für die Audiokonvertierung verwendet werden soll. Der Standardalgorithmus ist rmvpe, der in den meisten Fällen empfohlen wird.",
|
106 |
+
"Convert": "Umwandeln",
|
107 |
+
"Export Audio": "Audio exportieren",
|
108 |
+
"Batch": "Charge",
|
109 |
+
"Input Folder": "Eingabe-Ordner",
|
110 |
+
"Select the folder containing the audios to convert.": "Wählen Sie den Ordner aus, der die zu konvertierenden Audios enthält.",
|
111 |
+
"Enter input path": "Eingabepfad eingeben",
|
112 |
+
"Output Folder": "Ausgabe-Ordner",
|
113 |
+
"Select the folder where the output audios will be saved.": "Wählen Sie den Ordner aus, in dem die ausgegebenen Audios gespeichert werden sollen.",
|
114 |
+
"Enter output path": "Ausgabepfad eingeben",
|
115 |
+
"Get information about the audio": "Abrufen von Informationen zum Audio",
|
116 |
+
"Information about the audio file": "Informationen zur Audiodatei",
|
117 |
+
"Waiting for information...": "Warten auf Informationen...",
|
118 |
+
"## Voice Blender": "## Voice Blender",
|
119 |
+
"Select two voice models, set your desired blend percentage, and blend them into an entirely new voice.": "Wählen Sie zwei Stimmmodelle aus, legen Sie den gewünschten Überblendungsprozentsatz fest und mischen Sie sie zu einer völlig neuen Stimme.",
|
120 |
+
"Voice Blender": "Voice Blender",
|
121 |
+
"Drag and drop your model here": "Ziehen Sie Ihr Modell per Drag & Drop hierher",
|
122 |
+
"You can also use a custom path.": "Sie können auch einen benutzerdefinierten Pfad verwenden.",
|
123 |
+
"Blend Ratio": "Mischungsverhältnis",
|
124 |
+
"Adjusting the position more towards one side or the other will make the model more similar to the first or second.": "Wenn Sie die Position mehr auf die eine oder andere Seite anpassen, wird das Modell dem ersten oder zweiten ähnlicher.",
|
125 |
+
"Fusion": "Verschmelzen",
|
126 |
+
"Path to Model": "Pfad zum Modell",
|
127 |
+
"Enter path to model": "Pfad zum Modell eingeben",
|
128 |
+
"Model information to be placed": "Zu platzierende Modellinformationen",
|
129 |
+
"Inroduce the model information": "Einfügen der Modellinformationen",
|
130 |
+
"The information to be placed in the model (You can leave it blank or put anything).": "Die Informationen, die in das Modell eingefügt werden sollen (Sie können das Feld leer lassen oder etwas anderes einfügen).",
|
131 |
+
"View model information": "Anzeigen von Modellinformationen",
|
132 |
+
"Introduce the model pth path": "Einfügen des pth Pfad des Modells",
|
133 |
+
"View": "Ansehen",
|
134 |
+
"Model extraction": "Modell-Extraktion",
|
135 |
+
"Model conversion": "Modell-Konvertierung",
|
136 |
+
"Pth file": "Pth-Datei",
|
137 |
+
"Output of the pth file": "Ausgabe der pth-Datei",
|
138 |
+
"# How to Report an Issue on GitHub": "# So melden Sie ein Problem auf GitHub",
|
139 |
+
"1. Click on the 'Record Screen' button below to start recording the issue you are experiencing.": "1. Klicken Sie unten auf die Schaltfläche \"Bildschirm aufzeichnen\", um mit der Aufzeichnung des aufgetretenen Problems zu beginnen.",
|
140 |
+
"2. Once you have finished recording the issue, click on the 'Stop Recording' button (the same button, but the label changes depending on whether you are actively recording or not).": "2. Wenn Sie mit der Aufnahme des Problems fertig sind, klicken Sie auf die Schaltfläche \"Aufnahme beenden\" (dieselbe Schaltfläche, aber die Beschriftung ändert sich, je nachdem, ob Sie aktiv aufnehmen oder nicht).",
|
141 |
+
"3. Go to [GitHub Issues](https://github.com/IAHispano/Applio/issues) and click on the 'New Issue' button.": "3. Gehen Sie zu [GitHub Issues](https://github.com/IAHispano/Applio/issues) und klicken Sie auf die Schaltfläche \"New Issue\".",
|
142 |
+
"4. Complete the provided issue template, ensuring to include details as needed, and utilize the assets section to upload the recorded file from the previous step.": "4. Füllen Sie die bereitgestellte Problemvorlage aus, stellen Sie sicher, dass Sie die erforderlichen Details angeben, und verwenden Sie den Abschnitt \"Assets\", um die aufgezeichnete Datei aus dem vorherigen Schritt hochzuladen.",
|
143 |
+
"Record Screen": "Bildschirm aufzeichnen",
|
144 |
+
"Record": "Aufzeichnen",
|
145 |
+
"Stop Recording": "Aufzeichnung beenden",
|
146 |
+
"Introduce the model .pth path": "Einfügen des .pth Pfad des Modells",
|
147 |
+
"See Model Information": "Siehe Modellinformationen",
|
148 |
+
"## Download Model": "## Modell herunterladen",
|
149 |
+
"Model Link": "Modell-Link",
|
150 |
+
"Introduce the model link": "Einfügen des Modell-Links",
|
151 |
+
"Download Model": "Modell herunterladen",
|
152 |
+
"## Drop files": "## Dateien ablegen",
|
153 |
+
"Drag your .pth file and .index file into this space. Drag one and then the other.": "Ziehen Sie Ihre .pth und .index Datei in diesen Bereich. Ziehen Sie das eine und dann das andere.",
|
154 |
+
"TTS Voices": "TTS-Stimmen",
|
155 |
+
"Select the TTS voice to use for the conversion.": "Wählen Sie die TTS-Stimme aus, die für die Konvertierung verwendet werden soll.",
|
156 |
+
"Text to Synthesize": "Zu synthetisierender Text",
|
157 |
+
"Enter the text to synthesize.": "Geben Sie den zu synthetisierenden Text ein.",
|
158 |
+
"Or you can upload a .txt file": "Oder Sie können eine .txt Datei hochladen",
|
159 |
+
"Enter text to synthesize": "Geben Sie den zu synthetisierenden Text ein",
|
160 |
+
"Output Path for TTS Audio": "Ausgabepfad für das TTS-Audio",
|
161 |
+
"Output Path for RVC Audio": "Ausgabepfad für das RVC-Audio",
|
162 |
+
"Enable Applio integration with Discord presence": "Aktivieren Sie die Applio-Integration mit Discord-Presence",
|
163 |
+
"It will activate the possibility of displaying the current Applio activity in Discord.": "Es aktiviert die Möglichkeit, die aktuelle Applio-Aktivität in Discord anzuzeigen.",
|
164 |
+
"Enable Applio integration with applio.org/models using flask": "Aktivieren der Applio-Integration mit applio.org/models mithilfe von flask",
|
165 |
+
"It will activate the possibility of downloading models with a click from the website.": "Es aktiviert die Möglichkeit, Modelle mit einem Klick von der Website herunterzuladen.",
|
166 |
+
"Theme": "Design",
|
167 |
+
"Select the theme you want to use. (Requires restarting Applio)": "Wählen Sie das Design aus, das Sie verwenden möchten. (Erfordert einen Neustart von Applio)",
|
168 |
+
"Language": "Sprache",
|
169 |
+
"Select the language you want to use. (Requires restarting Applio)": "Wählen Sie die Sprache aus, die Sie verwenden möchten. (Erfordert einen Neustart von Applio)",
|
170 |
+
"Plugin Installer": "Plugin-Installer",
|
171 |
+
"Drag your plugin.zip to install it": "Ziehen Sie Ihre plugin.zip, um sie zu installieren",
|
172 |
+
"Version Checker": "Versions-Checker",
|
173 |
+
"Check which version of Applio is the latest to see if you need to update.": "Überprüfen Sie, welche Version von Applio die neueste ist, um zu sehen, ob Sie ein Update benötigen.",
|
174 |
+
"Check for updates": "Nach Updates suchen"
|
175 |
+
}
|
assets/i18n/languages/en_US.json
ADDED
@@ -0,0 +1,224 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"Ultimate voice cloning tool, meticulously optimized for unrivaled power, modularity, and user-friendly experience.": "Ultimate voice cloning tool, meticulously optimized for unrivaled power, modularity, and user-friendly experience.",
|
3 |
+
"This section contains some extra utilities that often may be in experimental phases.": "This section contains some extra utilities that often may be in experimental phases.",
|
4 |
+
"Output Information": "Output Information",
|
5 |
+
"The output information will be displayed here.": "The output information will be displayed here.",
|
6 |
+
|
7 |
+
"Inference": "Inference",
|
8 |
+
"Train": "Train",
|
9 |
+
"Extra": "Extra",
|
10 |
+
"Merge Audios": "Merge Audios",
|
11 |
+
"Processing": "Processing",
|
12 |
+
"Audio Analyzer": "Audio Analyzer",
|
13 |
+
"Model Information": "Model Information",
|
14 |
+
"Plugins": "Plugins",
|
15 |
+
"Download": "Download",
|
16 |
+
"Report a Bug": "Report a Bug",
|
17 |
+
"Settings": "Settings",
|
18 |
+
|
19 |
+
"Preprocess": "Preprocess",
|
20 |
+
"Model Name": "Model Name",
|
21 |
+
"Name of the new model.": "Name of the new model.",
|
22 |
+
"Enter model name": "Enter model name",
|
23 |
+
"Dataset Path": "Dataset Path",
|
24 |
+
"Path to the dataset folder.": "Path to the dataset folder.",
|
25 |
+
"Refresh Datasets": "Refresh Datasets",
|
26 |
+
"Dataset Creator": "Dataset Creator",
|
27 |
+
"Dataset Name": "Dataset Name",
|
28 |
+
"Name of the new dataset.": "Name of the new dataset.",
|
29 |
+
"Enter dataset name": "Enter dataset name",
|
30 |
+
"Upload Audio Dataset": "Upload Audio Dataset",
|
31 |
+
"The audio file has been successfully added to the dataset. Please click the preprocess button.": "The audio file has been successfully added to the dataset. Please click the preprocess button.",
|
32 |
+
"Enter dataset path": "Enter dataset path",
|
33 |
+
"Sampling Rate": "Sampling Rate",
|
34 |
+
"The sampling rate of the audio files.": "The sampling rate of the audio files.",
|
35 |
+
"RVC Version": "RVC Version",
|
36 |
+
"The RVC version of the model.": "The RVC version of the model.",
|
37 |
+
"Preprocess Dataset": "Preprocess Dataset",
|
38 |
+
|
39 |
+
"Embedder Model": "Embedder Model",
|
40 |
+
"Model used for learning speaker embedding.": "Model used for learning speaker embedding.",
|
41 |
+
"Extract": "Extract",
|
42 |
+
"Hop Length": "Hop Length",
|
43 |
+
"Denotes the duration it takes for the system to transition to a significant pitch change. Smaller hop lengths require more time for inference but tend to yield higher pitch accuracy.": "Denotes the duration it takes for the system to transition to a significant pitch change. Smaller hop lengths require more time for inference but tend to yield higher pitch accuracy.",
|
44 |
+
"Batch Size": "Batch Size",
|
45 |
+
"It's advisable to align it with the available VRAM of your GPU. A setting of 4 offers improved accuracy but slower processing, while 8 provides faster and standard results.": "It's advisable to align it with the available VRAM of your GPU. A setting of 4 offers improved accuracy but slower processing, while 8 provides faster and standard results.",
|
46 |
+
"Save Every Epoch": "Save Every Epoch",
|
47 |
+
"Determine at how many epochs the model will saved at.": "Determine at how many epochs the model will saved at.",
|
48 |
+
"Total Epoch": "Total Epoch",
|
49 |
+
"Specifies the overall quantity of epochs for the model training process.": "Specifies the overall quantity of epochs for the model training process.",
|
50 |
+
"Pretrained": "Pretrained",
|
51 |
+
"Save Only Latest": "Save Only Latest",
|
52 |
+
"Enabling this setting will result in the G and D files saving only their most recent versions, effectively conserving storage space.": "Enabling this setting will result in the G and D files saving only their most recent versions, effectively conserving storage space.",
|
53 |
+
"Save Every Weights": "Save Every Weights",
|
54 |
+
"This setting enables you to save the weights of the model at the conclusion of each epoch.": "This setting enables you to save the weights of the model at the conclusion of each epoch.",
|
55 |
+
"Custom Pretrained": "Custom Pretrained",
|
56 |
+
"Utilizing custom pretrained models can lead to superior results, as selecting the most suitable pretrained models tailored to the specific use case can significantly enhance performance.": "Utilizing custom pretrained models can lead to superior results, as selecting the most suitable pretrained models tailored to the specific use case can significantly enhance performance.",
|
57 |
+
"Upload Pretrained Model": "Upload Pretrained Model",
|
58 |
+
"Refresh Custom Pretraineds": "Refresh Custom Pretraineds",
|
59 |
+
"Pretrained Custom Settings": "Pretrained Custom Settings",
|
60 |
+
"The file you dropped is not a valid pretrained file. Please try again.": "The file you dropped is not a valid pretrained file. Please try again.",
|
61 |
+
"Click the refresh button to see the pretrained file in the dropdown menu.": "Click the refresh button to see the pretrained file in the dropdown menu.",
|
62 |
+
"Pretrained G Path": "Custom Pretrained G",
|
63 |
+
"Pretrained D Path": "Custom Pretrained D",
|
64 |
+
"GPU Settings": "GPU Settings",
|
65 |
+
"Sets advanced GPU settings, recommended for users with better GPU architecture.": "Sets advanced GPU settings, recommended for users with better GPU architecture.",
|
66 |
+
"GPU Custom Settings": "GPU Custom Settings",
|
67 |
+
"GPU Number": "GPU Number",
|
68 |
+
"0 to ∞ separated by -": "0 to ∞ separated by -",
|
69 |
+
"GPU Information": "GPU Information",
|
70 |
+
"Pitch Guidance": "Pitch Guidance",
|
71 |
+
"By employing pitch guidance, it becomes feasible to mirror the intonation of the original voice, including its pitch. This feature is particularly valuable for singing and other scenarios where preserving the original melody or pitch pattern is essential.": "By employing pitch guidance, it becomes feasible to mirror the intonation of the original voice, including its pitch. This feature is particularly valuable for singing and other scenarios where preserving the original melody or pitch pattern is essential.",
|
72 |
+
"Utilize pretrained models when training your own. This approach reduces training duration and enhances overall quality.": "Utilize pretrained models when training your own. This approach reduces training duration and enhances overall quality.",
|
73 |
+
"Extract Features": "Extract Features",
|
74 |
+
"Overtraining Detector": "Overtraining Detector",
|
75 |
+
"Detect overtraining to prevent the model from learning the training data too well and losing the ability to generalize to new data.": "Detect overtraining to prevent the model from learning the training data too well and losing the ability to generalize to new data.",
|
76 |
+
"Overtraining Detector Settings": "Overtraining Detector Settings",
|
77 |
+
"Overtraining Threshold": "Overtraining Threshold",
|
78 |
+
"Set the maximum number of epochs you want your model to stop training if no improvement is detected.": "Set the maximum number of epochs you want your model to stop training if no improvement is detected.",
|
79 |
+
"Sync Graph": "Sync Graph",
|
80 |
+
"Synchronize the graph of the tensorbaord. Only enable this setting if you are training a new model.": "Synchronize the graph of the tensorbaord. Only enable this setting if you are training a new model.",
|
81 |
+
|
82 |
+
"Start Training": "Start Training",
|
83 |
+
"Stop Training & Restart Applio": "Stop Training & Restart Applio",
|
84 |
+
"Generate Index": "Generate Index",
|
85 |
+
|
86 |
+
"Export Model": "Export Model",
|
87 |
+
"The button 'Upload' is only for google colab: Uploads the exported files to the ApplioExported folder in your Google Drive.": "The button 'Upload' is only for google colab: Uploads the exported files to the ApplioExported folder in your Google Drive.",
|
88 |
+
"Exported Pth file": "Exported Pth file",
|
89 |
+
"Exported Index file": "Exported Index file",
|
90 |
+
"Select the pth file to be exported": "Select the pth file to be exported",
|
91 |
+
"Select the index file to be exported": "Select the index file to be exported",
|
92 |
+
"Upload": "Upload",
|
93 |
+
|
94 |
+
"Voice Model": "Voice Model",
|
95 |
+
"Select the voice model to use for the conversion.": "Select the voice model to use for the conversion.",
|
96 |
+
"Index File": "Index File",
|
97 |
+
"Select the index file to use for the conversion.": "Select the index file to use for the conversion.",
|
98 |
+
"Refresh": "Refresh",
|
99 |
+
"Unload Voice": "Unload Voice",
|
100 |
+
|
101 |
+
"Single": "Single",
|
102 |
+
"Upload Audio": "Upload Audio",
|
103 |
+
"Select Audio": "Select Audio",
|
104 |
+
"Select the audio to convert.": "Select the audio to convert.",
|
105 |
+
"Advanced Settings": "Advanced Settings",
|
106 |
+
"Clear Outputs (Deletes all audios in assets/audios)": "Clear Outputs (Deletes all audios in assets/audios)",
|
107 |
+
"Custom Output Path": "Custom Output Path",
|
108 |
+
"Output Path": "Output Path",
|
109 |
+
"The path where the output audio will be saved, by default in assets/audios/output.wav": "The path where the output audio will be saved, by default in assets/audios/output.wav",
|
110 |
+
"Split Audio": "Split Audio",
|
111 |
+
"Split the audio into chunks for inference to obtain better results in some cases.": "Split the audio into chunks for inference to obtain better results in some cases.",
|
112 |
+
"Autotune": "Autotune",
|
113 |
+
"Apply a soft autotune to your inferences, recommended for singing conversions.": "Apply a soft autotune to your inferences, recommended for singing conversions.",
|
114 |
+
"Clean Audio": "Clean Audio",
|
115 |
+
"Clean your audio output using noise detection algorithms, recommended for speaking audios.": "Clean your audio output using noise detection algorithms, recommended for speaking audios.",
|
116 |
+
"Clean Strength": "Clean Strength",
|
117 |
+
"Upscale Audio": "Upscale Audio",
|
118 |
+
"Upscale the audio to a higher quality, recommended for low-quality audios. (It could take longer to process the audio)": "Upscale the audio to a higher quality, recommended for low-quality audios. (It could take longer to process the audio)",
|
119 |
+
"Set the clean-up level to the audio you want, the more you increase it the more it will clean up, but it is possible that the audio will be more compressed.": "Set the clean-up level to the audio you want, the more you increase it the more it will clean up, but it is possible that the audio will be more compressed.",
|
120 |
+
"Pitch": "Pitch",
|
121 |
+
"Set the pitch of the audio, the higher the value, the higher the pitch.": "Set the pitch of the audio, the higher the value, the higher the pitch.",
|
122 |
+
"Filter Radius": "Filter Radius",
|
123 |
+
"If the number is greater than or equal to three, employing median filtering on the collected tone results has the potential to decrease respiration.": "If the number is greater than or equal to three, employing median filtering on the collected tone results has the potential to decrease respiration.",
|
124 |
+
"Search Feature Ratio": "Search Feature Ratio",
|
125 |
+
"Influence exerted by the index file; a higher value corresponds to greater influence. However, opting for lower values can help mitigate artifacts present in the audio.": "Influence exerted by the index file; a higher value corresponds to greater influence. However, opting for lower values can help mitigate artifacts present in the audio.",
|
126 |
+
"Volume Envelope": "Volume Envelope",
|
127 |
+
"Substitute or blend with the volume envelope of the output. The closer the ratio is to 1, the more the output envelope is employed.": "Substitute or blend with the volume envelope of the output. The closer the ratio is to 1, the more the output envelope is employed.",
|
128 |
+
"Protect Voiceless Consonants": "Protect Voiceless Consonants",
|
129 |
+
"Safeguard distinct consonants and breathing sounds to prevent electro-acoustic tearing and other artifacts. Pulling the parameter to its maximum value of 0.5 offers comprehensive protection. However, reducing this value might decrease the extent of protection while potentially mitigating the indexing effect.": "Safeguard distinct consonants and breathing sounds to prevent electro-acoustic tearing and other artifacts. Pulling the parameter to its maximum value of 0.5 offers comprehensive protection. However, reducing this value might decrease the extent of protection while potentially mitigating the indexing effect.",
|
130 |
+
"Pitch extraction algorithm": "Pitch extraction algorithm",
|
131 |
+
"Pitch extraction algorithm to use for the audio conversion. The default algorithm is rmvpe, which is recommended for most cases.": "Pitch extraction algorithm to use for the audio conversion. The default algorithm is rmvpe, which is recommended for most cases.",
|
132 |
+
|
133 |
+
"Convert": "Convert",
|
134 |
+
"Export Audio": "Export Audio",
|
135 |
+
|
136 |
+
"Batch": "Batch",
|
137 |
+
"Input Folder": "Input Folder",
|
138 |
+
"Select the folder containing the audios to convert.": "Select the folder containing the audios to convert.",
|
139 |
+
"Enter input path": "Enter input path",
|
140 |
+
"Output Folder": "Output Folder",
|
141 |
+
"Select the folder where the output audios will be saved.": "Select the folder where the output audios will be saved.",
|
142 |
+
"Enter output path": "Enter output path",
|
143 |
+
|
144 |
+
"Get information about the audio": "Get information about the audio",
|
145 |
+
|
146 |
+
"## Voice Blender": "## Voice Blender",
|
147 |
+
"Select two voice models, set your desired blend percentage, and blend them into an entirely new voice.": "Select two voice models, set your desired blend percentage, and blend them into an entirely new voice.",
|
148 |
+
"Voice Blender": "Voice Blender",
|
149 |
+
"Drag and drop your model here": "Drag and drop your model here",
|
150 |
+
"You can also use a custom path.": "You can also use a custom path.",
|
151 |
+
"Blend Ratio": "Blend Ratio",
|
152 |
+
"Adjusting the position more towards one side or the other will make the model more similar to the first or second.": "Adjusting the position more towards one side or the other will make the model more similar to the first or second.",
|
153 |
+
"Fusion": "Fusion",
|
154 |
+
|
155 |
+
"Path to Model": "Path to Model",
|
156 |
+
"Enter path to model": "Enter path to model",
|
157 |
+
"Model information to be placed": "Model information to be placed",
|
158 |
+
"Inroduce the model information": "Inroduce the model information",
|
159 |
+
"The information to be placed in the model (You can leave it blank or put anything).": "The information to be placed in the model (You can leave it blank or put anything).",
|
160 |
+
"View model information": "View model information",
|
161 |
+
"Introduce the model pth path": "Introduce the model pth path",
|
162 |
+
"View": "View",
|
163 |
+
"Model extraction": "Model extraction",
|
164 |
+
"Model conversion": "Model conversion",
|
165 |
+
"Pth file": "Pth file",
|
166 |
+
"Output of the pth file": "Output of the pth file",
|
167 |
+
|
168 |
+
"# How to Report an Issue on GitHub": "# How to Report an Issue on GitHub",
|
169 |
+
"1. Click on the 'Record Screen' button below to start recording the issue you are experiencing.": "1. Click on the 'Record Screen' button below to start recording the issue you are experiencing.",
|
170 |
+
"2. Once you have finished recording the issue, click on the 'Stop Recording' button (the same button, but the label changes depending on whether you are actively recording or not).": "2. Once you have finished recording the issue, click on the 'Stop Recording' button (the same button, but the label changes depending on whether you are actively recording or not).",
|
171 |
+
"3. Go to [GitHub Issues](https://github.com/IAHispano/Applio/issues) and click on the 'New Issue' button.": "3. Go to [GitHub Issues](https://github.com/IAHispano/Applio/issues) and click on the 'New Issue' button.",
|
172 |
+
"4. Complete the provided issue template, ensuring to include details as needed, and utilize the assets section to upload the recorded file from the previous step.": "4. Complete the provided issue template, ensuring to include details as needed, and utilize the assets section to upload the recorded file from the previous step.",
|
173 |
+
|
174 |
+
"Record Screen": "Record Screen",
|
175 |
+
"Record": "Record",
|
176 |
+
"Stop Recording": "Stop Recording",
|
177 |
+
|
178 |
+
"Introduce the model .pth path": "Introduce the model .pth path",
|
179 |
+
"See Model Information": "See Model Information",
|
180 |
+
|
181 |
+
"## Download Model": "## Download Model",
|
182 |
+
"Model Link": "Model Link",
|
183 |
+
"Introduce the model link": "Introduce the model link",
|
184 |
+
"Download Model": "Download Model",
|
185 |
+
"## Drop files": "## Drop files",
|
186 |
+
"Drag your .pth file and .index file into this space. Drag one and then the other.": "Drag your .pth file and .index file into this space. Drag one and then the other.",
|
187 |
+
"## Search Model": "## Search Model",
|
188 |
+
"Search": "Search",
|
189 |
+
"Introduce the model name to search.": "Introduce the model name to search.",
|
190 |
+
"We couldn't find models by that name.": "We couldn't find models by that name.",
|
191 |
+
"## Download Pretrained Models": "## Download Pretrained Models",
|
192 |
+
"Select the pretrained model you want to download.": "Select the pretrained model you want to download.",
|
193 |
+
"And select the sampling rate": "And select the sampling rate.",
|
194 |
+
|
195 |
+
"TTS Voices": "TTS Voices",
|
196 |
+
"TTS Speed": "TTS Speed",
|
197 |
+
"Increase or decrease TTS speed.": "Increase or decrease TTS speed.",
|
198 |
+
"Select the TTS voice to use for the conversion.": "Select the TTS voice to use for the conversion.",
|
199 |
+
"Text to Synthesize": "Text to Synthesize",
|
200 |
+
"Enter the text to synthesize.": "Enter the text to synthesize.",
|
201 |
+
"Or you can upload a .txt file": "Or you can upload a .txt file",
|
202 |
+
"Enter text to synthesize": "Enter text to synthesize",
|
203 |
+
"Output Path for TTS Audio": "Output Path for TTS Audio",
|
204 |
+
"Output Path for RVC Audio": "Output Path for RVC Audio",
|
205 |
+
|
206 |
+
"Enable Applio integration with Discord presence": "Enable Applio integration with Discord presence",
|
207 |
+
"It will activate the possibility of displaying the current Applio activity in Discord.": "It will activate the possibility of displaying the current Applio activity in Discord.",
|
208 |
+
"Enable Applio integration with applio.org/models using flask": "Enable Applio integration with applio.org/models using flask",
|
209 |
+
"It will activate the possibility of downloading models with a click from the website.": "It will activate the possibility of downloading models with a click from the website.",
|
210 |
+
"Enable fake GPU": "Enable fake GPU",
|
211 |
+
"Training is currently unsupported due to the absence of a GPU. To activate the training tab, navigate to the settings tab and enable the 'Fake GPU' option.": "Training is currently unsupported due to the absence of a GPU. To activate the training tab, navigate to the settings tab and enable the 'Fake GPU' option.",
|
212 |
+
"Activates the train tab. However, please note that this device lacks GPU capabilities, hence training is not supported. This option is only for testing purposes. (This option will restart Applio)": "Activates the train tab. However, please note that this device lacks GPU capabilities, hence training is not supported. This option is only for testing purposes. (This option will restart Applio)",
|
213 |
+
"Theme": "Theme",
|
214 |
+
"Select the theme you want to use. (Requires restarting Applio)": "Select the theme you want to use. (Requires restarting Applio)",
|
215 |
+
"Language": "Language",
|
216 |
+
"Select the language you want to use. (Requires restarting Applio)": "Select the language you want to use. (Requires restarting Applio)",
|
217 |
+
|
218 |
+
"Plugin Installer": "Plugin Installer",
|
219 |
+
"Drag your plugin.zip to install it": "Drag your plugin.zip to install it",
|
220 |
+
|
221 |
+
"Version Checker": "Version Checker",
|
222 |
+
"Check which version of Applio is the latest to see if you need to update.": "Check which version of Applio is the latest to see if you need to update.",
|
223 |
+
"Check for updates": "Check for updates"
|
224 |
+
}
|
assets/i18n/languages/es_ES.json
ADDED
@@ -0,0 +1,205 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"Ultimate voice cloning tool, meticulously optimized for unrivaled power, modularity, and user-friendly experience.": "La herramienta de clonación de voz definitiva, meticulosamente optimizada para una potencia, modularidad y experiencia de uso inigualables.",
|
3 |
+
"This section contains some extra utilities that often may be in experimental phases.": "Esta sección contiene algunas utilidades adicionales que a menudo pueden estar en fases experimentales.",
|
4 |
+
"Output Information": "Información de salida",
|
5 |
+
"The output information will be displayed here.": "La información de salida se mostrará aquí.",
|
6 |
+
"Inference": "Inferencia",
|
7 |
+
"Train": "Entrenar",
|
8 |
+
"Extra": "Extra",
|
9 |
+
"Merge Audios": "Fusionar audios",
|
10 |
+
"Processing": "Procesamiento",
|
11 |
+
"Audio Analyzer": "Analizador de audio",
|
12 |
+
"Model Information": "Información del modelo",
|
13 |
+
"Plugins": "Complementos",
|
14 |
+
"Download": "Descargar",
|
15 |
+
"Report a Bug": "Informar de un error",
|
16 |
+
"Settings": "Configuración",
|
17 |
+
"Preprocess": "Preprocesar",
|
18 |
+
"Model Name": "Nombre del modelo",
|
19 |
+
"Name of the new model.": "Nombre del nuevo modelo.",
|
20 |
+
"Enter model name": "Introduzca el nombre del modelo",
|
21 |
+
"Dataset Path": "Ruta del dataset",
|
22 |
+
"Path to the dataset folder.": "Ruta de acceso al dataset.",
|
23 |
+
"Refresh Datasets": "Actualizar datasets",
|
24 |
+
"Dataset Creator": "Creador de datasets",
|
25 |
+
"Dataset Name": "Nombre del dataset",
|
26 |
+
"Name of the new dataset.": "Nombre del nuevo dataset.",
|
27 |
+
"Enter dataset name": "Introduzca el nombre del dataset",
|
28 |
+
"Upload Audio Dataset": "Cargar audio del dataset",
|
29 |
+
"The audio file has been successfully added to the dataset. Please click the preprocess button.": "El archivo de audio se ha agregado correctamente dataset. Haga clic en el botón de preprocesamiento.",
|
30 |
+
"Enter dataset path": "Introduzca la ruta del dataset",
|
31 |
+
"Sampling Rate": "Frecuencia de muestreo",
|
32 |
+
"The sampling rate of the audio files.": "La frecuencia de muestreo de los archivos de audio.",
|
33 |
+
"RVC Version": "Versión RVC",
|
34 |
+
"The RVC version of the model.": "La versión RVC del modelo.",
|
35 |
+
"Preprocess Dataset": "Conjunto de datos de preprocesamiento",
|
36 |
+
"Embedder Model": "Modelo de incrustación",
|
37 |
+
"Model used for learning speaker embedding.": "Modelo utilizado para aprender la incrustación del hablante.",
|
38 |
+
"Hop Length": "Longitud del salto",
|
39 |
+
"Denotes the duration it takes for the system to transition to a significant pitch change. Smaller hop lengths require more time for inference but tend to yield higher pitch accuracy.": "Denota el tiempo que tarda el sistema en realizar la transición a un cambio de tono significativo. Las longitudes de salto más pequeñas requieren más tiempo para la inferencia, pero tienden a producir una mayor precisión de tono.",
|
40 |
+
"Batch Size": "Tamaño del lote",
|
41 |
+
"It's advisable to align it with the available VRAM of your GPU. A setting of 4 offers improved accuracy but slower processing, while 8 provides faster and standard results.": "Es recomendable alinearlo con la VRAM disponible de tu GPU. Un ajuste de 4 ofrece una precisión mejorada pero un procesamiento más lento, mientras que 8 proporciona resultados más rápidos y estándar.",
|
42 |
+
"Save Every Epoch": "Frecuencia de guardado",
|
43 |
+
"Determine at how many epochs the model will saved at.": "Determine en cuántas épocas se guardará el modelo.",
|
44 |
+
"Total Epoch": "Épocas",
|
45 |
+
"Specifies the overall quantity of epochs for the model training process.": "Especifica la cantidad total de épocas para el proceso de entrenamiento del modelo.",
|
46 |
+
"Pretrained": "Preentrenado",
|
47 |
+
"Save Only Latest": "Guarde solo lo último",
|
48 |
+
"Enabling this setting will result in the G and D files saving only their most recent versions, effectively conserving storage space.": "Al habilitar esta configuración, los archivos G y D guardarán solo sus versiones más recientes, lo que ahorrará espacio de almacenamiento de manera efectiva.",
|
49 |
+
"Save Every Weights": "Ahorre todos los pesos",
|
50 |
+
"This setting enables you to save the weights of the model at the conclusion of each epoch.": "Este ajuste le permite guardar los pesos del modelo al final de cada época.",
|
51 |
+
"Custom Pretrained": "Preentrenado personalizado",
|
52 |
+
"Utilizing custom pretrained models can lead to superior results, as selecting the most suitable pretrained models tailored to the specific use case can significantly enhance performance.": "El uso de modelos preentrenados personalizados puede conducir a resultados superiores, ya que la selección de los modelos preentrenados más adecuados adaptados al caso de uso específico puede mejorar significativamente el rendimiento.",
|
53 |
+
"Upload Pretrained Model": "Cargar modelo previamente entrenado",
|
54 |
+
"Refresh Custom Pretraineds": "Actualizar preentrenados personalizados",
|
55 |
+
"Pretrained Custom Settings": "Configuración personalizada previamente entrenada",
|
56 |
+
"The file you dropped is not a valid pretrained file. Please try again.": "El archivo que has subido no es un archivo preentrenado válido. Por favor, inténtelo de nuevo.",
|
57 |
+
"Click the refresh button to see the pretrained file in the dropdown menu.": "Haga clic en el botón de actualización para ver el archivo previamente entrenado en el menú desplegable.",
|
58 |
+
"Pretrained G Path": "G preentrenado personalizado",
|
59 |
+
"Pretrained D Path": "D preentrenado personalizado",
|
60 |
+
"GPU Settings": "Configuración de GPU",
|
61 |
+
"Sets advanced GPU settings, recommended for users with better GPU architecture.": "Establece la configuración avanzada del GPU, recomendada para usuarios con una mejor arquitectura de GPU.",
|
62 |
+
"GPU Custom Settings": "Configuración personalizada de la GPU",
|
63 |
+
"GPU Number": "Número de GPU",
|
64 |
+
"0 to ∞ separated by -": "0 a ∞ separados por -",
|
65 |
+
"GPU Information": "Información de GPU",
|
66 |
+
"Pitch Guidance": "Guía de tono",
|
67 |
+
"By employing pitch guidance, it becomes feasible to mirror the intonation of the original voice, including its pitch. This feature is particularly valuable for singing and other scenarios where preserving the original melody or pitch pattern is essential.": "Al emplear la guía de tono, es factible reflejar la entonación de la voz original, incluido su tono. Esta característica es particularmente valiosa para cantar y otros escenarios en los que es esencial preservar la melodía original o el patrón de tono.",
|
68 |
+
"Utilize pretrained models when training your own. This approach reduces training duration and enhances overall quality.": "Utilice modelos preentrenados al entrenar los suyos propios. Este enfoque reduce la duración del entrenamiento y mejora la calidad general.",
|
69 |
+
"Extract Features": "Extraer características",
|
70 |
+
"Overtraining Detector": "Detector de Sobreentrenamiento",
|
71 |
+
"Detect overtraining to prevent the model from learning the training data too well and losing the ability to generalize to new data.": "Detectar el sobreentrenamiento para evitar que el modelo aprenda demasiado bien los datos de entrenamiento y pierda la capacidad de generalizar a nuevos datos.",
|
72 |
+
"Overtraining Detector Settings": "Configuraciones del Detector de Sobreentrenamiento",
|
73 |
+
"Overtraining Threshold": "Umbral de Sobreentrenamiento",
|
74 |
+
"Set the maximum number of epochs you want your model to stop training if no improvement is detected.": "Establezca el número máximo de épocas para que su modelo deje de entrenar si no se detecta ninguna mejora.",
|
75 |
+
"Sync Graph": "Sincronizar gráfico",
|
76 |
+
"Synchronize the graph of the tensorbaord. Only enable this setting if you are training a new model.": "Sincronice el gráfico del tensorbaord. Solo active esta configuración si está entrenando un nuevo modelo.",
|
77 |
+
"Start Training": "Empezar a entrenar",
|
78 |
+
"Stop Training & Restart Applio": "Detener el entrenamiento y reiniciar Applio",
|
79 |
+
"Generate Index": "Generar índice",
|
80 |
+
"Export Model": "Exportar modelo",
|
81 |
+
"The button 'Upload' is only for google colab: Uploads the exported files to the ApplioExported folder in your Google Drive.": "El botón 'Subir' es solo para Google Colab: Sube los archivos exportados a la carpeta ApplioExported en tu Google Drive.",
|
82 |
+
"Exported Pth file": "Archivo Pth exportado",
|
83 |
+
"Exported Index file": "Archivo de índice exportado",
|
84 |
+
"Select the pth file to be exported": "Seleccione el archivo pth que se va a exportar",
|
85 |
+
"Select the index file to be exported": "Seleccione el archivo de índice que se va a exportar",
|
86 |
+
"Upload": "Subir",
|
87 |
+
"Voice Model": "Modelo de voz",
|
88 |
+
"Select the voice model to use for the conversion.": "Seleccione el modelo de voz que desea utilizar para la conversión.",
|
89 |
+
"Index File": "Archivo de índice",
|
90 |
+
"Select the index file to use for the conversion.": "Seleccione el archivo de índice que desea utilizar para la conversión.",
|
91 |
+
"Refresh": "Actualizar",
|
92 |
+
"Unload Voice": "Descargar voz",
|
93 |
+
"Single": "Solo",
|
94 |
+
"Upload Audio": "Subir audio",
|
95 |
+
"Select Audio": "Seleccionar audio",
|
96 |
+
"Select the audio to convert.": "Seleccione el audio que desea convertir.",
|
97 |
+
"Advanced Settings": "Ajustes avanzados",
|
98 |
+
"Clear Outputs (Deletes all audios in assets/audios)": "Borrar salidas (elimina todos los audios de los assets/audios)",
|
99 |
+
"Custom Output Path": "Ruta de salida personalizada",
|
100 |
+
"Output Path": "Ruta de salida",
|
101 |
+
"The path where the output audio will be saved, by default in assets/audios/output.wav": "La ruta donde se guardará el audio de salida, de forma predeterminada en assets/audios/output.wav",
|
102 |
+
"Split Audio": "Audio dividido",
|
103 |
+
"Split the audio into chunks for inference to obtain better results in some cases.": "Divida el audio en fragmentos para inferir y obtener mejores resultados en algunos casos.",
|
104 |
+
"Autotune": "Autotune",
|
105 |
+
"Apply a soft autotune to your inferences, recommended for singing conversions.": "Aplique un autotune suave a sus inferencias, recomendado para conversiones de canto.",
|
106 |
+
"Clean Audio": "Audio limpio",
|
107 |
+
"Clean your audio output using noise detection algorithms, recommended for speaking audios.": "Limpie su salida de audio utilizando algoritmos de detección de ruido, recomendados para audios hablados.",
|
108 |
+
"Clean Strength": "Fuerza de limpieza",
|
109 |
+
"Upscale Audio": "Audio de alta calidad",
|
110 |
+
"Upscale the audio to a higher quality, recommended for low-quality audios. (It could take longer to process the audio)": "Mejore la calidad del audio a una calidad superior, recomendado para audios de baja calidad. (Podría tardar más en procesar el audio)",
|
111 |
+
"Set the clean-up level to the audio you want, the more you increase it the more it will clean up, but it is possible that the audio will be more compressed.": "Establezca el nivel de limpieza en el audio que desee, cuanto más lo aumente, más se limpiará, pero es posible que el audio esté más comprimido.",
|
112 |
+
"Pitch": "Tono",
|
113 |
+
"Set the pitch of the audio, the higher the value, the higher the pitch.": "Establezca el tono del audio, cuanto mayor sea el valor, mayor será el tono.",
|
114 |
+
"Filter Radius": "Radio del filtro",
|
115 |
+
"If the number is greater than or equal to three, employing median filtering on the collected tone results has the potential to decrease respiration.": "Si el número es mayor o igual a tres, el empleo de filtrado de mediana en los resultados de tono recopilados tiene el potencial de disminuir la respiración.",
|
116 |
+
"Search Feature Ratio": "Relación de características de búsqueda",
|
117 |
+
"Influence exerted by the index file; a higher value corresponds to greater influence. However, opting for lower values can help mitigate artifacts present in the audio.": "Influencia ejercida por el fichero índice; Un valor más alto corresponde a una mayor influencia. Sin embargo, optar por valores más bajos puede ayudar a mitigar los artefactos presentes en el audio.",
|
118 |
+
"Volume Envelope": "Envoltura de volumen",
|
119 |
+
"Substitute or blend with the volume envelope of the output. The closer the ratio is to 1, the more the output envelope is employed.": "Sustituya o mezcle con la envoltura de volumen de la salida. Cuanto más se acerque la relación a 1, más se empleará la envoltura de salida.",
|
120 |
+
"Protect Voiceless Consonants": "Proteger las consonantes sordas",
|
121 |
+
"Safeguard distinct consonants and breathing sounds to prevent electro-acoustic tearing and other artifacts. Pulling the parameter to its maximum value of 0.5 offers comprehensive protection. However, reducing this value might decrease the extent of protection while potentially mitigating the indexing effect.": "Proteja las distintas consonantes y sonidos respiratorios para evitar desgarros electroacústicos y otros artefactos. Llevar el parámetro a su valor máximo de 0,5 ofrece una protección completa. Sin embargo, la reducción de este valor podría disminuir el alcance de la protección y, al mismo tiempo, mitigar el efecto de indexación.",
|
122 |
+
"Pitch extraction algorithm": "Algoritmo de extracción de tono",
|
123 |
+
"Pitch extraction algorithm to use for the audio conversion. The default algorithm is rmvpe, which is recommended for most cases.": "Algoritmo de extracción de tono que se utilizará para la conversión de audio. El algoritmo predeterminado es rmvpe, que se recomienda para la mayoría de los casos.",
|
124 |
+
"Convert": "Convertir",
|
125 |
+
"Export Audio": "Exportar audio",
|
126 |
+
"Batch": "Lote",
|
127 |
+
"Input Folder": "Carpeta de entrada",
|
128 |
+
"Select the folder containing the audios to convert.": "Seleccione la carpeta que contiene los audios que desea convertir.",
|
129 |
+
"Enter input path": "Introduzca la ruta de entrada",
|
130 |
+
"Output Folder": "Carpeta de salida",
|
131 |
+
"Select the folder where the output audios will be saved.": "Seleccione la carpeta donde se guardarán los audios de salida.",
|
132 |
+
"Enter output path": "Introduzca la ruta de salida",
|
133 |
+
"Get information about the audio": "Obtener información sobre el audio",
|
134 |
+
"Information about the audio file": "Información sobre el archivo de audio",
|
135 |
+
"Waiting for information...": "A la espera de información...",
|
136 |
+
"## Voice Blender": "## Mezclador de voz",
|
137 |
+
"Select two voice models, set your desired blend percentage, and blend them into an entirely new voice.": "Seleccione dos modelos de voz, establezca el porcentaje de mezcla deseado y combínelos en una voz completamente nueva.",
|
138 |
+
"Voice Blender": "Mezclador de voz",
|
139 |
+
"Drag and drop your model here": "Arrastra y suelta tu modelo aquí",
|
140 |
+
"You can also use a custom path.": "También puede utilizar una ruta de acceso personalizada.",
|
141 |
+
"Blend Ratio": "Relación de mezcla",
|
142 |
+
"Adjusting the position more towards one side or the other will make the model more similar to the first or second.": "Ajustar la posición más hacia un lado u otro hará que el modelo se parezca más al primero o al segundo.",
|
143 |
+
"Fusion": "Fusión",
|
144 |
+
"Path to Model": "Ruta de acceso al modelo",
|
145 |
+
"Enter path to model": "Introduzca la ruta al modelo",
|
146 |
+
"Model information to be placed": "Información del modelo que se va a colocar",
|
147 |
+
"Inroduce the model information": "Introduzca la información del modelo",
|
148 |
+
"The information to be placed in the model (You can leave it blank or put anything).": "La información que se va a colocar en el modelo (Puedes dejarlo en blanco o poner cualquier cosa).",
|
149 |
+
"View model information": "Ver información del modelo",
|
150 |
+
"Introduce the model pth path": "Introducción de la ruta pth del modelo",
|
151 |
+
"View": "Vista",
|
152 |
+
"Model extraction": "Extracción de modelos",
|
153 |
+
"Model conversion": "Conversión de modelos",
|
154 |
+
"Pth file": "Archivo Pth",
|
155 |
+
"Output of the pth file": "Salida del fichero pth",
|
156 |
+
"# How to Report an Issue on GitHub": "# Cómo reportar un problema en GitHub",
|
157 |
+
"1. Click on the 'Record Screen' button below to start recording the issue you are experiencing.": "1. Haga clic en el botón 'Grabar pantalla' a continuación para comenzar a grabar el problema que está experimentando.",
|
158 |
+
"2. Once you have finished recording the issue, click on the 'Stop Recording' button (the same button, but the label changes depending on whether you are actively recording or not).": "2. Una vez que haya terminado de grabar el problema, haga clic en el botón 'Detener grabación' (el mismo botón, pero la etiqueta cambia dependiendo de si está grabando activamente o no).",
|
159 |
+
"3. Go to [GitHub Issues](https://github.com/IAHispano/Applio/issues) and click on the 'New Issue' button.": "3. Vaya a [Problemas de GitHub](https://github.com/IAHispano/Applio/issues) y haga clic en el botón 'Nuevo problema'.",
|
160 |
+
"4. Complete the provided issue template, ensuring to include details as needed, and utilize the assets section to upload the recorded file from the previous step.": "4. Complete la plantilla de problema proporcionada, asegurándose de incluir los detalles según sea necesario, y utilice la sección de activos para cargar el archivo grabado del paso anterior.",
|
161 |
+
"Record Screen": "Grabar pantalla",
|
162 |
+
"Record": "Grabar",
|
163 |
+
"Stop Recording": "Detener la grabación",
|
164 |
+
"Introduce the model .pth path": "Introducción de la ruta de acceso .pth del modelo",
|
165 |
+
"See Model Information": "Ver información del modelo",
|
166 |
+
"## Download Model": "## Descargar modelo",
|
167 |
+
"Model Link": "Enlace de modelo",
|
168 |
+
"Introduce the model link": "Introducir el enlace del modelo",
|
169 |
+
"Download Model": "Descargar modelo",
|
170 |
+
"## Drop files": "## Soltar archivos",
|
171 |
+
"Drag your .pth file and .index file into this space. Drag one and then the other.": "Arrastre el archivo .pth y el archivo .index a este espacio. Arrastre uno y luego el otro.",
|
172 |
+
"## Search Model": "## Buscar modelo",
|
173 |
+
"Search": "Buscar",
|
174 |
+
"Introduce the model name to search.": "Introduzca el nombre del modelo a buscar.",
|
175 |
+
"We couldn't find models by that name.": "No pudimos encontrar modelos con ese nombre.",
|
176 |
+
"## Download Pretrained Models": "## Descargar modelos preentrenados",
|
177 |
+
"Select the pretrained model you want to download.": "Seleccione el modelo preentrenado que desea descargar.",
|
178 |
+
"And select the sampling rate.": "Y seleccione la frecuencia de muestreo.",
|
179 |
+
"TTS Voices": "Voces TTS",
|
180 |
+
"TTS Speed": "Velocidad TTS",
|
181 |
+
"Increase or decrease TTS speed": "Aumentar o disminuir la velocidad de TTS",
|
182 |
+
"Select the TTS voice to use for the conversion.": "Seleccione la voz TTS que se utilizará para la conversión.",
|
183 |
+
"Text to Synthesize": "Texto para sintetizar",
|
184 |
+
"Enter the text to synthesize.": "Introduzca el texto que desea sintetizar.",
|
185 |
+
"Or you can upload a .txt file": "O bien, puede cargar un archivo .txt",
|
186 |
+
"Enter text to synthesize": "Introduzca el texto que desea sintetizar",
|
187 |
+
"Output Path for TTS Audio": "Ruta de salida para audio TTS",
|
188 |
+
"Output Path for RVC Audio": "Ruta de salida para audio RVC",
|
189 |
+
"Enable Applio integration with Discord presence": "Habilitar la integración de Applio con la presencia de Discord",
|
190 |
+
"It will activate the possibility of displaying the current Applio activity in Discord.": "Activará la posibilidad de mostrar la actividad actual de Applio en Discord.",
|
191 |
+
"Enable Applio integration with applio.org/models using flask": "Habilite la integración de Applio con applio.org/models usando flask",
|
192 |
+
"It will activate the possibility of downloading models with a click from the website.": "Activará la posibilidad de descargar modelos con un clic desde el sitio web.",
|
193 |
+
"Enable fake GPU": "Habilitar GPU falsa",
|
194 |
+
"Training is currently unsupported due to the absence of a GPU. To activate the training tab, navigate to the settings tab and enable the 'Fake GPU' option.": "Actualmente no se admite el entrenamiento debido a la ausencia de una GPU. Para activar la pestaña de entrenamiento, vaya a la pestaña de configuración y habilite la opción 'GPU falsa'.",
|
195 |
+
"Activates the train tab. However, please note that this device lacks GPU capabilities, hence training is not supported. This option is only for testing purposes. (This option will restart Applio)": "Activa la pestaña de entrenamiento. Sin embargo, tenga en cuenta que este dispositivo carece de capacidades de GPU, por lo que no se admite el entrenamiento. Esta opción es solo para fines de prueba. (Esta opción reiniciará Applio)",
|
196 |
+
"Theme": "Tema",
|
197 |
+
"Select the theme you want to use. (Requires restarting Applio)": "Seleccione el tema que desea utilizar. (Requiere reiniciar Applio)",
|
198 |
+
"Language": "Idioma",
|
199 |
+
"Select the language you want to use. (Requires restarting Applio)": "Seleccione el idioma que desea utilizar. (Requiere reiniciar Applio)",
|
200 |
+
"Plugin Installer": "Instalador de complementos",
|
201 |
+
"Drag your plugin.zip to install it": "Arrastra tu plugin.zip para instalarlo",
|
202 |
+
"Version Checker": "Comprobador de versiones",
|
203 |
+
"Check which version of Applio is the latest to see if you need to update.": "Compruebe qué versión de Applio es la más reciente para ver si necesita actualizar.",
|
204 |
+
"Check for updates": "Buscar actualizaciones"
|
205 |
+
}
|
assets/i18n/languages/fa_FA.json
ADDED
@@ -0,0 +1,175 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"Ultimate voice cloning tool, meticulously optimized for unrivaled power, modularity, and user-friendly experience.": "ابزار شبیه سازی صدا نهایی، با دقت برای قدرت بی نظیر، مدولار بودن و تجربه کاربر پسند بهینه شده است.",
|
3 |
+
"This section contains some extra utilities that often may be in experimental phases.": "این بخش شامل برخی از ابزارهای اضافی است که اغلب ممکن است در مراحل ازمایشی باشد.",
|
4 |
+
"Output Information": "اطلاعات خروجی",
|
5 |
+
"The output information will be displayed here.": "اطلاعات خروجی در اینجا نمایش داده خواهد شد.",
|
6 |
+
"Inference": "استنباط",
|
7 |
+
"Train": "قطار",
|
8 |
+
"Extra": "اضافی",
|
9 |
+
"Merge Audios": "ادغام Audios",
|
10 |
+
"Processing": "پردازش",
|
11 |
+
"Audio Analyzer": "انالایزر صوتی",
|
12 |
+
"Model Information": "اطلاعات مدل",
|
13 |
+
"Plugins": "پلاگین",
|
14 |
+
"Download": "دانلود",
|
15 |
+
"Report a Bug": "گزارش یک باگ",
|
16 |
+
"Settings": "تنظیمات",
|
17 |
+
"Preprocess": "پیش پردازش",
|
18 |
+
"Model Name": "نام مدل",
|
19 |
+
"Name of the new model.": "نام مدل جدید",
|
20 |
+
"Enter model name": "نام مدل را وارد کنید",
|
21 |
+
"Dataset Path": "مسیر مجموعه داده",
|
22 |
+
"Path to the dataset folder.": "مسیر به پوشه مجموعه داده ها.",
|
23 |
+
"Refresh Datasets": "بازاوری مجموعه داده ها",
|
24 |
+
"Dataset Creator": "سازنده مجموعه داده",
|
25 |
+
"Dataset Name": "نام مجموعه داده",
|
26 |
+
"Name of the new dataset.": "نام مجموعه داده های جدید",
|
27 |
+
"Enter dataset name": "وارد کردن نام مجموعه داده ها",
|
28 |
+
"Upload Audio Dataset": "اپلود مجموعه داده های صوتی",
|
29 |
+
"The audio file has been successfully added to the dataset. Please click the preprocess button.": "فایل صوتی با موفقیت به مجموعه داده ها اضافه شده است. لطفا دکمه پیش پردازش را فشار دهید.",
|
30 |
+
"Enter dataset path": "وارد کردن مسیر مجموعه داده ها",
|
31 |
+
"Sampling Rate": "نرخ نمونه برداری",
|
32 |
+
"The sampling rate of the audio files.": "نرخ نمونه برداری از فایل های صوتی.",
|
33 |
+
"RVC Version": "نسخه RVC",
|
34 |
+
"The RVC version of the model.": "نسخه RVC از مدل.",
|
35 |
+
"Preprocess Dataset": "مجموعه داده پیش پردازش",
|
36 |
+
"Extract": "عصاره",
|
37 |
+
"Hop Length": "طول هاپ",
|
38 |
+
"Denotes the duration it takes for the system to transition to a significant pitch change. Smaller hop lengths require more time for inference but tend to yield higher pitch accuracy.": "نشان دهنده مدت زمان لازم برای سیستم برای انتقال به یک تغییر قابل توجه است. طول هاپ کوچکتر نیاز به زمان بیشتری برای استنتاج دارد اما تمایل به عملکرد دقت بالاتر دارد.",
|
39 |
+
"Batch Size": "اندازه دسته",
|
40 |
+
"It's advisable to align it with the available VRAM of your GPU. A setting of 4 offers improved accuracy but slower processing, while 8 provides faster and standard results.": "توصیه می شود ان را با VRAM موجود GPU خود هماهنگ کنید. تنظیمات 4 ارائه می دهد دقت بهبود یافته اما پردازش کندتر، در حالی که 8 نتایج سریع تر و استاندارد را فراهم می کند.",
|
41 |
+
"Save Every Epoch": "ذخیره هر عصر",
|
42 |
+
"Determine at how many epochs the model will saved at.": "تعیین کنید که مدل در چند دوره ذخیره خواهد شد.",
|
43 |
+
"Total Epoch": "کل اپک",
|
44 |
+
"Specifies the overall quantity of epochs for the model training process.": "مقدار کلی دوره ها را برای فرایند اموزش مدل مشخص می کند.",
|
45 |
+
"Pretrained": "پیش اموزش دیده",
|
46 |
+
"Save Only Latest": "ذخیره فقط اخرین",
|
47 |
+
"Enabling this setting will result in the G and D files saving only their most recent versions, effectively conserving storage space.": "فعال کردن این تنظیم منجر به صرفه جویی در فایل های G و D تنها نسخه های اخیر انها می شود و به طور موثر فضای ذخیره سازی را حفظ می کند.",
|
48 |
+
"Save Every Weights": "صرفه جویی در هر وزن",
|
49 |
+
"This setting enables you to save the weights of the model at the conclusion of each epoch.": "این تنظیم شما را قادر به صرفه جویی در وزن مدل در پایان هر دوره می کند.",
|
50 |
+
"Custom Pretrained": "سفارشی پیش اموزش دیده",
|
51 |
+
"Utilizing custom pretrained models can lead to superior results, as selecting the most suitable pretrained models tailored to the specific use case can significantly enhance performance.": "استفاده از مدل های از پیش اموزش دیده سفارشی می تواند منجر به نتایج برتر شود، زیرا انتخاب مناسب ترین مدل های از پیش اموزش دیده متناسب با مورد استفاده خاص می تواند به طور قابل توجهی عملکرد را افزایش دهد.",
|
52 |
+
"Upload Pretrained Model": "اپلود مدل از پیش اموزش دیده",
|
53 |
+
"Refresh Custom Pretraineds": "تازه کردن Pretraineds سفارشی",
|
54 |
+
"Pretrained Custom Settings": "تنظیمات سفارشی از پیش اموزش داده شده",
|
55 |
+
"The file you dropped is not a valid pretrained file. Please try again.": "پرونده ای که حذف کرده اید یک پرونده از پیش اموزش داده شده معتبر نیست. لطفا دوباره تلاش کنید.",
|
56 |
+
"Click the refresh button to see the pretrained file in the dropdown menu.": "با کلیک بر روی دکمه تازه کردن برای دیدن فایل از پیش اموزش دیده در منوی کشویی.",
|
57 |
+
"Pretrained G Path": "سفارشی پیش اموزش G",
|
58 |
+
"Pretrained D Path": "سفارشی از پیش اموزش دیده D",
|
59 |
+
"GPU Settings": "تنظیمات GPU",
|
60 |
+
"Sets advanced GPU settings, recommended for users with better GPU architecture.": "تنظیمات پیشرفته GPU را تنظیم می کند که برای کاربران با معماری GPU بهتر توصیه می شود.",
|
61 |
+
"GPU Custom Settings": "تنظیمات سفارشی GPU",
|
62 |
+
"GPU Number": "شماره GPU",
|
63 |
+
"0 to ∞ separated by -": "0 به ∞ جدا شده توسط -",
|
64 |
+
"GPU Information": "اطلاعات GPU",
|
65 |
+
"Pitch Guidance": "راهنمای زمین",
|
66 |
+
"By employing pitch guidance, it becomes feasible to mirror the intonation of the original voice, including its pitch. This feature is particularly valuable for singing and other scenarios where preserving the original melody or pitch pattern is essential.": "با استفاده از راهنمایی زمین، امکان پذیر است که زیر و بمی صدا اصلی، از جمله زمین ان را منعکس کند. این ویژگی به ویژه برای اواز خواندن و سناریوهای دیگر که در ان حفظ ملودی اصلی یا الگوی زمین ضروری است، ارزشمند است.",
|
67 |
+
"Utilize pretrained models when training your own. This approach reduces training duration and enhances overall quality.": "از مدل های از پیش اموزش دیده در هنگام اموزش خود استفاده کنید. این رویکرد مدت زمان اموزش را کاهش می دهد و کیفیت کلی را افزایش می دهد.",
|
68 |
+
"Extract Features": "استخراج ویژگی ها",
|
69 |
+
"Start Training": "شروع اموزش",
|
70 |
+
"Generate Index": "ایجاد نمایه",
|
71 |
+
"Voice Model": "مدل صوتی",
|
72 |
+
"Select the voice model to use for the conversion.": "مدل صوتی مورد استفاده برای تبدیل را انتخاب کنید.",
|
73 |
+
"Index File": "پروندۀ نمایه",
|
74 |
+
"Select the index file to use for the conversion.": "انتخاب فایل شاخص برای استفاده برای تبدیل.",
|
75 |
+
"Refresh": "نوسازی",
|
76 |
+
"Unload Voice": "بارگیری صدا",
|
77 |
+
"Single": "تک",
|
78 |
+
"Upload Audio": "بارگذاری صدا",
|
79 |
+
"Select Audio": "انتخاب صدا",
|
80 |
+
"Select the audio to convert.": "صدا را برای تبدیل انتخاب کنید.",
|
81 |
+
"Advanced Settings": "تنظیمات پیشرفته",
|
82 |
+
"Clear Outputs (Deletes all audios in assets/audios)": "پاک کردن خروجی ها (حذف تمام فایل های صوتی در دارایی ها / audios)",
|
83 |
+
"Custom Output Path": "مسیر خروجی سفارشی",
|
84 |
+
"Output Path": "مسیر خروجی",
|
85 |
+
"The path where the output audio will be saved, by default in assets/audios/output.wav": "مسیری که در ان صدای خروجی ذخیره می شود، به طور پیش فرض در assets/audios/output.wav",
|
86 |
+
"Split Audio": "تقسیم صوتی",
|
87 |
+
"Split the audio into chunks for inference to obtain better results in some cases.": "صدا را به تکه های تقسیم کنید تا استنتاج شود تا در برخی موارد نتایج بهتری کسب شود.",
|
88 |
+
"Autotune": "Autotune",
|
89 |
+
"Apply a soft autotune to your inferences, recommended for singing conversions.": "درخواست autotune نرم به استنتاج خود را، توصیه می شود برای تبدیل اواز.",
|
90 |
+
"Clean Audio": "پاک صوتی",
|
91 |
+
"Clean your audio output using noise detection algorithms, recommended for speaking audios.": "خروجی صوتی خود را با استفاده از الگوریتم های تشخیص سر و صدا تمیز کنید، توصیه شده برای صحبت کردن صوتی.",
|
92 |
+
"Clean Strength": "قدرت پاک",
|
93 |
+
"Set the clean-up level to the audio you want, the more you increase it the more it will clean up, but it is possible that the audio will be more compressed.": "سطح پاکسازی را به صوتی که می خواهید تنظیم کنید، هرچه بیشتر ان را افزایش دهید، بیشتر تمیز می شود، اما ممکن است صدا فشرده تر شود.",
|
94 |
+
"Pitch": "زمین",
|
95 |
+
"Set the pitch of the audio, the higher the value, the higher the pitch.": "زمین صدا را تنظیم کنید، هر چه مقدار بالاتر باشد، زمین بالاتر است.",
|
96 |
+
"Filter Radius": "شعاع پالا",
|
97 |
+
"If the number is greater than or equal to three, employing median filtering on the collected tone results has the potential to decrease respiration.": "اگر عدد بزرگتر یا مساوی با سه باشد، استفاده از فیلتر متوسط در نتایج تن جمع اوری شده پتانسیل کاهش تنفس را دارد.",
|
98 |
+
"Search Feature Ratio": "نسبت ویژگی جستجو",
|
99 |
+
"Influence exerted by the index file; a higher value corresponds to greater influence. However, opting for lower values can help mitigate artifacts present in the audio.": "تاثیر اعمال شده توسط فایل شاخص؛ ارزش بالاتر مربوط به نفوذ بیشتر است. با این حال، انتخاب مقادیر پایین تر می تواند به کاهش مصنوعات موجود در صدا کمک کند.",
|
100 |
+
"Volume Envelope": "پاکت جلد",
|
101 |
+
"Substitute or blend with the volume envelope of the output. The closer the ratio is to 1, the more the output envelope is employed.": "جایگزین یا ترکیب با پاکت حجم خروجی. هر چه نسبت به 1 نزدیک تر باشد، پاکت خروجی بیشتر استفاده می شود.",
|
102 |
+
"Protect Voiceless Consonants": "محافظت از صامت های بی صدا",
|
103 |
+
"Safeguard distinct consonants and breathing sounds to prevent electro-acoustic tearing and other artifacts. Pulling the parameter to its maximum value of 0.5 offers comprehensive protection. However, reducing this value might decrease the extent of protection while potentially mitigating the indexing effect.": "حفاظت از صامت های متمایز و صداهای تنفسی برای جلوگیری از پارگی الکترو اکوستیک و سایر مصنوعات. کشیدن پارامتر به حداکثر مقدار ان از 0.5 ارائه می دهد حفاظت جامع. با این حال، کاهش این مقدار ممکن است میزان حفاظت را کاهش دهد در حالی که به طور بالقوه اثر نمایه سازی را کاهش می دهد.",
|
104 |
+
"Pitch extraction algorithm": "الگوریتم استخراج زمین",
|
105 |
+
"Pitch extraction algorithm to use for the audio conversion. The default algorithm is rmvpe, which is recommended for most cases.": "الگوریتم استخراج زمین برای استفاده برای تبدیل صوتی. الگوریتم پیش فرض rmvpe است که برای اکثر موارد توصیه می شود.",
|
106 |
+
"Convert": "تبدیل",
|
107 |
+
"Export Audio": "صادرات صدا",
|
108 |
+
"Batch": "دسته",
|
109 |
+
"Input Folder": "پوشه ورودی",
|
110 |
+
"Select the folder containing the audios to convert.": "پوشه حاوی فایل های صوتی را برای تبدیل انتخاب کنید.",
|
111 |
+
"Enter input path": "وارد کردن مسیر ورودی",
|
112 |
+
"Output Folder": "پوشۀ خروجی",
|
113 |
+
"Select the folder where the output audios will be saved.": "پوشه ای را انتخاب کنید که صدای خروجی در ان ذخیره می شود.",
|
114 |
+
"Enter output path": "وارد کردن مسیر خروجی",
|
115 |
+
"Get information about the audio": "دریافت اطلاعات در مورد صدا",
|
116 |
+
"Information about the audio file": "اطلاعات مربوط به فایل صوتی",
|
117 |
+
"Waiting for information...": "در انتظار اطلاعات...",
|
118 |
+
"## Voice Blender": "## بلندر صوتی",
|
119 |
+
"Select two voice models, set your desired blend percentage, and blend them into an entirely new voice.": "دو مدل صوتی را انتخاب کنید، درصد ترکیب مورد نظر خود را تنظیم کنید و انها را به یک صدای کاملا جدید ترکیب کنید.",
|
120 |
+
"Voice Blender": "بلندر صوتی",
|
121 |
+
"Drag and drop your model here": "کشیدن و رها کردن مدل خود را در اینجا",
|
122 |
+
"You can also use a custom path.": "شما همچنین می توانید از یک مسیر سفارشی استفاده کنید.",
|
123 |
+
"Blend Ratio": "نسبت مخلوط",
|
124 |
+
"Adjusting the position more towards one side or the other will make the model more similar to the first or second.": "تنظیم موقعیت بیشتر به سمت یک طرف یا طرف دیگر، مدل را بیشتر شبیه به اول یا دوم می کند.",
|
125 |
+
"Fusion": "همجوشی",
|
126 |
+
"Path to Model": "مسیر به مدل",
|
127 |
+
"Enter path to model": "وارد کردن مسیر به مدل",
|
128 |
+
"Model information to be placed": "اطلاعات مدل قرار داده می شود",
|
129 |
+
"Inroduce the model information": "Inroduce اطلاعات مدل",
|
130 |
+
"The information to be placed in the model (You can leave it blank or put anything).": "اطلاعاتی که باید در مدل قرار داده شود (شما می توانید ان را خالی بگذارید یا هر چیزی را قرار دهید).",
|
131 |
+
"View model information": "مشاهده اطلاعات مدل",
|
132 |
+
"Introduce the model pth path": "معرفی مسیر PTH مدل",
|
133 |
+
"View": "مشاهده",
|
134 |
+
"Model extraction": "استخراج مدل",
|
135 |
+
"Model conversion": "تبدیل مدل",
|
136 |
+
"Pth file": "پرونده Pth",
|
137 |
+
"Output of the pth file": "خروجی پروندۀ pth",
|
138 |
+
"# How to Report an Issue on GitHub": "# چگونه یک مشکل را در GitHub گزارش دهیم",
|
139 |
+
"1. Click on the 'Record Screen' button below to start recording the issue you are experiencing.": "1. با کلیک بر روی 'ضبط صفحه نمایش' دکمه زیر برای شروع ضبط مسئله شما در حال تجربه.",
|
140 |
+
"2. Once you have finished recording the issue, click on the 'Stop Recording' button (the same button, but the label changes depending on whether you are actively recording or not).": "2. هنگامی که ضبط مسئله را به پایان رساندید، بر روی دکمه \"توقف ضبط\" کلیک کنید (همان دکمه، اما برچسب بسته به اینکه ایا شما به طور فعال ضبط می کنید یا نه تغییر می کند).",
|
141 |
+
"3. Go to [GitHub Issues](https://github.com/IAHispano/Applio/issues) and click on the 'New Issue' button.": "3. به [GitHub Issues] (https://github.com/IAHispano/Applio/issues) بروید و بر روی دکمه \"New Issue\" کلیک کنید.",
|
142 |
+
"4. Complete the provided issue template, ensuring to include details as needed, and utilize the assets section to upload the recorded file from the previous step.": "4. تکمیل قالب موضوع ارائه شده، اطمینان حاصل شود که شامل جزئیات در صورت نیاز، و استفاده از بخش دارایی برای اپلود فایل ضبط شده از مرحله قبلی.",
|
143 |
+
"Record Screen": "صفحه ضبط",
|
144 |
+
"Record": "رکورد",
|
145 |
+
"Stop Recording": "توقف ضبط",
|
146 |
+
"Introduce the model .pth path": "معرفی مسیر .pth مدل",
|
147 |
+
"See Model Information": "مشاهده اطلاعات مدل",
|
148 |
+
"## Download Model": "## دانلود مدل",
|
149 |
+
"Model Link": "پیوند مدل",
|
150 |
+
"Introduce the model link": "معرفی لینک مدل",
|
151 |
+
"Download Model": "دانلود مدل",
|
152 |
+
"## Drop files": "## رها کردن پروندهها",
|
153 |
+
"Drag your .pth file and .index file into this space. Drag one and then the other.": "فایل .pth و .index خود را به این فضا بکشید. یکی را بکشید و سپس دیگری را بکشید.",
|
154 |
+
"TTS Voices": "TTS صداها",
|
155 |
+
"Select the TTS voice to use for the conversion.": "صدای TTS را برای استفاده برای تبدیل انتخاب کنید.",
|
156 |
+
"Text to Synthesize": "متن برای سنتز",
|
157 |
+
"Enter the text to synthesize.": "متن را برای ترکیب وارد کنید.",
|
158 |
+
"Or you can upload a .txt file": "یا شما می توانید یک فایل .txt اپلود کنید",
|
159 |
+
"Enter text to synthesize": "متن را برای سنتز وارد کنید",
|
160 |
+
"Output Path for TTS Audio": "مسیر خروجی برای صدای TTS",
|
161 |
+
"Output Path for RVC Audio": "مسیر خروجی برای RVC Audio",
|
162 |
+
"Enable Applio integration with Discord presence": "ادغام Applio را با حضور Discord فعال کنید",
|
163 |
+
"It will activate the possibility of displaying the current Applio activity in Discord.": "این امکان نمایش فعالیت Applio فعلی در Discord را فعال خواهد کرد.",
|
164 |
+
"Enable Applio integration with applio.org/models using flask": "فعال کردن ادغام Applio با applio.org/models با استفاده از فلاسک",
|
165 |
+
"It will activate the possibility of downloading models with a click from the website.": "این امکان دانلود مدل ها را با یک کلیک از وب سایت فعال می کند.",
|
166 |
+
"Theme": "تم",
|
167 |
+
"Select the theme you want to use. (Requires restarting Applio)": "زمینه ای را که می خواهید استفاده کنید انتخاب کنید. (نیاز به راه اندازی مجدد Applio)",
|
168 |
+
"Language": "زبان",
|
169 |
+
"Select the language you want to use. (Requires restarting Applio)": "زبانی را که می خواهید استفاده کنید انتخاب کنید. (نیاز به راه اندازی مجدد Applio)",
|
170 |
+
"Plugin Installer": "نصب افزونه",
|
171 |
+
"Drag your plugin.zip to install it": "plugin.zip خود را بکشید تا ان را نصب کنید",
|
172 |
+
"Version Checker": "بررسی نسخه",
|
173 |
+
"Check which version of Applio is the latest to see if you need to update.": "بررسی کنید که کدام نسخه از Applio اخرین است تا ببینید ایا شما نیاز به به روز رسانی دارید.",
|
174 |
+
"Check for updates": "بررسی برای به روز رسانی"
|
175 |
+
}
|
assets/i18n/languages/fr_FR.json
ADDED
@@ -0,0 +1,175 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"Ultimate voice cloning tool, meticulously optimized for unrivaled power, modularity, and user-friendly experience.": "Outil ultime de clonage vocal, méticuleusement optimisé pour une puissance, une modularité et une expérience conviviales inégalées.",
|
3 |
+
"This section contains some extra utilities that often may be in experimental phases.": "Cette section contient quelques utilitaires supplémentaires qui peuvent souvent être en phase expérimentale.",
|
4 |
+
"Output Information": "Informations de sortie",
|
5 |
+
"The output information will be displayed here.": "Les informations de sortie seront affichées ici.",
|
6 |
+
"Inference": "Inférence",
|
7 |
+
"Train": "Train",
|
8 |
+
"Extra": "Supplémentaire",
|
9 |
+
"Merge Audios": "Fusionner les audios",
|
10 |
+
"Processing": "Traitement",
|
11 |
+
"Audio Analyzer": "Analyseur audio",
|
12 |
+
"Model Information": "Informations sur le modèle",
|
13 |
+
"Plugins": "Plugins (Plugins)",
|
14 |
+
"Download": "Télécharger",
|
15 |
+
"Report a Bug": "Signaler un bogue",
|
16 |
+
"Settings": "Paramètres",
|
17 |
+
"Preprocess": "Pré-traitement",
|
18 |
+
"Model Name": "Nom du modèle",
|
19 |
+
"Name of the new model.": "Nom du nouveau modèle.",
|
20 |
+
"Enter model name": "Entrez le nom du modèle",
|
21 |
+
"Dataset Path": "Chemin d’accès au jeu de données",
|
22 |
+
"Path to the dataset folder.": "Chemin d’accès au dossier du jeu de données.",
|
23 |
+
"Refresh Datasets": "Actualiser les jeux de données",
|
24 |
+
"Dataset Creator": "Créateur de jeux de données",
|
25 |
+
"Dataset Name": "Nom du jeu de données",
|
26 |
+
"Name of the new dataset.": "Nom du nouveau jeu de données.",
|
27 |
+
"Enter dataset name": "Entrez le nom du jeu de données",
|
28 |
+
"Upload Audio Dataset": "Télécharger un jeu de données audio",
|
29 |
+
"The audio file has been successfully added to the dataset. Please click the preprocess button.": "Le fichier audio a été ajouté avec succès au jeu de données. Veuillez cliquer sur le bouton de prétraitement.",
|
30 |
+
"Enter dataset path": "Entrez le chemin d’accès au jeu de données",
|
31 |
+
"Sampling Rate": "Fréquence d’échantillonnage",
|
32 |
+
"The sampling rate of the audio files.": "Fréquence d’échantillonnage des fichiers audio.",
|
33 |
+
"RVC Version": "RVC Version",
|
34 |
+
"The RVC version of the model.": "La version RVC du modèle.",
|
35 |
+
"Preprocess Dataset": "Jeu de données de prétraitement",
|
36 |
+
"Extract": "Extraire",
|
37 |
+
"Hop Length": "Longueur du houblon",
|
38 |
+
"Denotes the duration it takes for the system to transition to a significant pitch change. Smaller hop lengths require more time for inference but tend to yield higher pitch accuracy.": "Indique le temps qu’il faut au système pour passer à un changement de hauteur significatif. Les longueurs de saut plus petites nécessitent plus de temps pour l’inférence, mais ont tendance à donner une plus grande précision de hauteur.",
|
39 |
+
"Batch Size": "Taille du lot",
|
40 |
+
"It's advisable to align it with the available VRAM of your GPU. A setting of 4 offers improved accuracy but slower processing, while 8 provides faster and standard results.": "Il est conseillé de l’aligner sur la VRAM disponible de votre GPU. Un réglage de 4 offre une précision améliorée mais un traitement plus lent, tandis que 8 fournit des résultats plus rapides et standard.",
|
41 |
+
"Save Every Epoch": "Sauvez toutes les époques",
|
42 |
+
"Determine at how many epochs the model will saved at.": "Déterminez à combien d’époques le modèle sera enregistré.",
|
43 |
+
"Total Epoch": "Époque totale",
|
44 |
+
"Specifies the overall quantity of epochs for the model training process.": "Spécifie la quantité globale d’époques pour le processus d’entraînement du modèle.",
|
45 |
+
"Pretrained": "Pré-entraîné",
|
46 |
+
"Save Only Latest": "Enregistrer uniquement les plus récents",
|
47 |
+
"Enabling this setting will result in the G and D files saving only their most recent versions, effectively conserving storage space.": "L’activation de ce paramètre permet aux fichiers G et D d’enregistrer uniquement leurs versions les plus récentes, ce qui permet d’économiser efficacement de l’espace de stockage.",
|
48 |
+
"Save Every Weights": "Économisez tous les poids",
|
49 |
+
"This setting enables you to save the weights of the model at the conclusion of each epoch.": "Ce paramètre vous permet d’enregistrer les poids du modèle à la fin de chaque époque.",
|
50 |
+
"Custom Pretrained": "Pré-entraîné sur mesure",
|
51 |
+
"Utilizing custom pretrained models can lead to superior results, as selecting the most suitable pretrained models tailored to the specific use case can significantly enhance performance.": "L’utilisation de modèles préentraînés personnalisés peut conduire à des résultats supérieurs, car la sélection des modèles préentraînés les plus appropriés et adaptés au cas d’utilisation spécifique peut améliorer considérablement les performances.",
|
52 |
+
"Upload Pretrained Model": "Télécharger un modèle pré-entraîné",
|
53 |
+
"Refresh Custom Pretraineds": "Actualiser les pré-entraînés personnalisés",
|
54 |
+
"Pretrained Custom Settings": "Paramètres personnalisés préentraînés",
|
55 |
+
"The file you dropped is not a valid pretrained file. Please try again.": "Le fichier que vous avez déposé n’est pas un fichier pré-entraîné valide. Veuillez réessayer.",
|
56 |
+
"Click the refresh button to see the pretrained file in the dropdown menu.": "Cliquez sur le bouton d’actualisation pour afficher le fichier préentraîné dans le menu déroulant.",
|
57 |
+
"Pretrained G Path": "G pré-entraîné personnalisé",
|
58 |
+
"Pretrained D Path": "D pré-entraîné personnalisé",
|
59 |
+
"GPU Settings": "Paramètres GPU",
|
60 |
+
"Sets advanced GPU settings, recommended for users with better GPU architecture.": "Définit les paramètres GPU avancés, recommandés pour les utilisateurs disposant d’une meilleure architecture GPU.",
|
61 |
+
"GPU Custom Settings": "Paramètres personnalisés du GPU",
|
62 |
+
"GPU Number": "Numéro de GPU",
|
63 |
+
"0 to ∞ separated by -": "0 à ∞ séparés par -",
|
64 |
+
"GPU Information": "Informations sur le GPU",
|
65 |
+
"Pitch Guidance": "Guidage de la hauteur",
|
66 |
+
"By employing pitch guidance, it becomes feasible to mirror the intonation of the original voice, including its pitch. This feature is particularly valuable for singing and other scenarios where preserving the original melody or pitch pattern is essential.": "En utilisant le guidage de hauteur, il devient possible de refléter l’intonation de la voix d’origine, y compris sa hauteur. Cette fonctionnalité est particulièrement utile pour le chant et d’autres scénarios où la préservation de la mélodie ou du modèle de hauteur d’origine est essentielle.",
|
67 |
+
"Utilize pretrained models when training your own. This approach reduces training duration and enhances overall quality.": "Utilisez des modèles pré-entraînés lors de l’entraînement des vôtres. Cette approche permet de réduire la durée de la formation et d’améliorer la qualité globale.",
|
68 |
+
"Extract Features": "Extraire des caractéristiques",
|
69 |
+
"Start Training": "Commencer l’entraînement",
|
70 |
+
"Generate Index": "Générer un index",
|
71 |
+
"Voice Model": "Modèle vocal",
|
72 |
+
"Select the voice model to use for the conversion.": "Sélectionnez le modèle vocal à utiliser pour la conversion.",
|
73 |
+
"Index File": "Fichier d’index",
|
74 |
+
"Select the index file to use for the conversion.": "Sélectionnez le fichier d’index à utiliser pour la conversion.",
|
75 |
+
"Refresh": "Rafraîchir",
|
76 |
+
"Unload Voice": "Décharger la voix",
|
77 |
+
"Single": "Célibataire",
|
78 |
+
"Upload Audio": "Télécharger l’audio",
|
79 |
+
"Select Audio": "Sélectionnez Audio (Audio)",
|
80 |
+
"Select the audio to convert.": "Sélectionnez l’audio à convertir.",
|
81 |
+
"Advanced Settings": "Paramètres avancés",
|
82 |
+
"Clear Outputs (Deletes all audios in assets/audios)": "Effacer les sorties (supprime tous les audios dans les ressources/audios)",
|
83 |
+
"Custom Output Path": "Chemin de sortie personnalisé",
|
84 |
+
"Output Path": "Chemin de sortie",
|
85 |
+
"The path where the output audio will be saved, by default in assets/audios/output.wav": "Le chemin où l’audio de sortie sera enregistré, par défaut dans assets/audios/output.wav",
|
86 |
+
"Split Audio": "Diviser l’audio",
|
87 |
+
"Split the audio into chunks for inference to obtain better results in some cases.": "Divisez l’audio en morceaux pour l’inférence afin d’obtenir de meilleurs résultats dans certains cas.",
|
88 |
+
"Autotune": "Réglage automatique",
|
89 |
+
"Apply a soft autotune to your inferences, recommended for singing conversions.": "Appliquez un réglage automatique doux à vos inférences, recommandé pour les conversions de chant.",
|
90 |
+
"Clean Audio": "Audio clair",
|
91 |
+
"Clean your audio output using noise detection algorithms, recommended for speaking audios.": "Nettoyez votre sortie audio à l’aide d’algorithmes de détection de bruit, recommandés pour les audios parlants.",
|
92 |
+
"Clean Strength": "Force propre",
|
93 |
+
"Set the clean-up level to the audio you want, the more you increase it the more it will clean up, but it is possible that the audio will be more compressed.": "Réglez le niveau de nettoyage sur l’audio que vous souhaitez, plus vous l’augmentez plus il nettoiera, mais il est possible que l’audio soit plus compressé.",
|
94 |
+
"Pitch": "Tanguer",
|
95 |
+
"Set the pitch of the audio, the higher the value, the higher the pitch.": "Réglez la hauteur de l’audio, plus la valeur est élevée, plus la hauteur est élevée.",
|
96 |
+
"Filter Radius": "Rayon du filtre",
|
97 |
+
"If the number is greater than or equal to three, employing median filtering on the collected tone results has the potential to decrease respiration.": "Si le nombre est supérieur ou égal à trois, l’utilisation d’un filtrage médian sur les résultats de tonalité recueillis a le potentiel de diminuer la respiration.",
|
98 |
+
"Search Feature Ratio": "Rapport de caractéristiques de recherche",
|
99 |
+
"Influence exerted by the index file; a higher value corresponds to greater influence. However, opting for lower values can help mitigate artifacts present in the audio.": "Influence exercée par le fichier d’index ; Une valeur plus élevée correspond à une plus grande influence. Cependant, opter pour des valeurs plus faibles peut aider à atténuer les artefacts présents dans l’audio.",
|
100 |
+
"Volume Envelope": "Enveloppe de volume",
|
101 |
+
"Substitute or blend with the volume envelope of the output. The closer the ratio is to 1, the more the output envelope is employed.": "Remplacez ou fusionnez avec l’enveloppe de volume de la sortie. Plus le rapport est proche de 1, plus l’enveloppe de sortie est utilisée.",
|
102 |
+
"Protect Voiceless Consonants": "Protéger les consonnes sourdes",
|
103 |
+
"Safeguard distinct consonants and breathing sounds to prevent electro-acoustic tearing and other artifacts. Pulling the parameter to its maximum value of 0.5 offers comprehensive protection. However, reducing this value might decrease the extent of protection while potentially mitigating the indexing effect.": "Protégez les consonnes distinctes et les sons respiratoires pour éviter les déchirures électroacoustiques et autres artefacts. L’extraction du paramètre à sa valeur maximale de 0,5 offre une protection complète. Toutefois, la réduction de cette valeur peut réduire l’étendue de la protection tout en atténuant potentiellement l’effet d’indexation.",
|
104 |
+
"Pitch extraction algorithm": "Algorithme d’extraction de hauteur",
|
105 |
+
"Pitch extraction algorithm to use for the audio conversion. The default algorithm is rmvpe, which is recommended for most cases.": "Algorithme d’extraction de hauteur à utiliser pour la conversion audio. L’algorithme par défaut est rmvpe, qui est recommandé dans la plupart des cas.",
|
106 |
+
"Convert": "Convertir",
|
107 |
+
"Export Audio": "Exporter l’audio",
|
108 |
+
"Batch": "Lot",
|
109 |
+
"Input Folder": "Dossier d’entrée",
|
110 |
+
"Select the folder containing the audios to convert.": "Sélectionnez le dossier contenant les audios à convertir.",
|
111 |
+
"Enter input path": "Entrez le chemin d’entrée",
|
112 |
+
"Output Folder": "Dossier de sortie",
|
113 |
+
"Select the folder where the output audios will be saved.": "Sélectionnez le dossier dans lequel les audios de sortie seront enregistrés.",
|
114 |
+
"Enter output path": "Entrez le chemin de sortie",
|
115 |
+
"Get information about the audio": "Obtenir des informations sur l’audio",
|
116 |
+
"Information about the audio file": "Informations sur le fichier audio",
|
117 |
+
"Waiting for information...": "En attente d’informations...",
|
118 |
+
"## Voice Blender": "## Mélangeur de voix",
|
119 |
+
"Select two voice models, set your desired blend percentage, and blend them into an entirely new voice.": "Sélectionnez deux modèles de voix, définissez le pourcentage de fusion souhaité et mélangez-les en une toute nouvelle voix.",
|
120 |
+
"Voice Blender": "Mélangeur de voix",
|
121 |
+
"Drag and drop your model here": "Faites glisser et déposez votre modèle ici",
|
122 |
+
"You can also use a custom path.": "Vous pouvez également utiliser un chemin personnalisé.",
|
123 |
+
"Blend Ratio": "Rapport de mélange",
|
124 |
+
"Adjusting the position more towards one side or the other will make the model more similar to the first or second.": "En ajustant la position d’un côté ou de l’autre, le modèle sera plus similaire au premier ou au second.",
|
125 |
+
"Fusion": "Fusion",
|
126 |
+
"Path to Model": "Chemin d’accès au modèle",
|
127 |
+
"Enter path to model": "Entrez le chemin d’accès au modèle",
|
128 |
+
"Model information to be placed": "Informations sur le modèle à placer",
|
129 |
+
"Inroduce the model information": "Introduire les informations du modèle",
|
130 |
+
"The information to be placed in the model (You can leave it blank or put anything).": "Les informations à placer dans le modèle (vous pouvez les laisser vides ou mettre n’importe quoi).",
|
131 |
+
"View model information": "Afficher les informations sur le modèle",
|
132 |
+
"Introduce the model pth path": "Présentation du modèle pth path",
|
133 |
+
"View": "Vue",
|
134 |
+
"Model extraction": "Extraction de modèles",
|
135 |
+
"Model conversion": "Conversion de modèle",
|
136 |
+
"Pth file": "Fichier Pth",
|
137 |
+
"Output of the pth file": "Sortie du fichier pth",
|
138 |
+
"# How to Report an Issue on GitHub": "# Comment signaler un problème sur GitHub",
|
139 |
+
"1. Click on the 'Record Screen' button below to start recording the issue you are experiencing.": "1. Cliquez sur le bouton « Enregistrer l’écran » ci-dessous pour commencer à enregistrer le problème que vous rencontrez.",
|
140 |
+
"2. Once you have finished recording the issue, click on the 'Stop Recording' button (the same button, but the label changes depending on whether you are actively recording or not).": "2. Une fois que vous avez terminé d’enregistrer le numéro, cliquez sur le bouton « Arrêter l’enregistrement » (le même bouton, mais l’étiquette change selon que vous enregistrez activement ou non).",
|
141 |
+
"3. Go to [GitHub Issues](https://github.com/IAHispano/Applio/issues) and click on the 'New Issue' button.": "3. Allez dans [GitHub Issues](https://github.com/IAHispano/Applio/issues) et cliquez sur le bouton « Nouveau problème ».",
|
142 |
+
"4. Complete the provided issue template, ensuring to include details as needed, and utilize the assets section to upload the recorded file from the previous step.": "4. Complétez le modèle de problème fourni, en veillant à inclure les détails nécessaires, et utilisez la section des ressources pour télécharger le fichier enregistré de l’étape précédente.",
|
143 |
+
"Record Screen": "Écran d’enregistrement",
|
144 |
+
"Record": "Enregistrer",
|
145 |
+
"Stop Recording": "Arrêter l’enregistrement",
|
146 |
+
"Introduce the model .pth path": "Présentation du chemin d’accès .pth du modèle",
|
147 |
+
"See Model Information": "Voir les informations sur le modèle",
|
148 |
+
"## Download Model": "## Télécharger le modèle",
|
149 |
+
"Model Link": "Lien vers le modèle",
|
150 |
+
"Introduce the model link": "Introduire le lien du modèle",
|
151 |
+
"Download Model": "Télécharger le modèle",
|
152 |
+
"## Drop files": "## Déposer des fichiers",
|
153 |
+
"Drag your .pth file and .index file into this space. Drag one and then the other.": "Faites glisser vos fichiers .pth et .index dans cet espace. Faites glisser l’un, puis l’autre.",
|
154 |
+
"TTS Voices": "Voix TTS",
|
155 |
+
"Select the TTS voice to use for the conversion.": "Sélectionnez la voix TTS à utiliser pour la conversion.",
|
156 |
+
"Text to Synthesize": "Texte à synthétiser",
|
157 |
+
"Enter the text to synthesize.": "Saisissez le texte à synthétiser.",
|
158 |
+
"Or you can upload a .txt file": "Vous pouvez également télécharger un fichier .txt",
|
159 |
+
"Enter text to synthesize": "Saisir le texte à synthétiser",
|
160 |
+
"Output Path for TTS Audio": "Chemin de sortie pour l’audio TTS",
|
161 |
+
"Output Path for RVC Audio": "Chemin de sortie pour l’audio RVC",
|
162 |
+
"Enable Applio integration with Discord presence": "Activer l’intégration d’Applio avec la présence de Discord",
|
163 |
+
"It will activate the possibility of displaying the current Applio activity in Discord.": "Il activera la possibilité d’afficher l’activité actuelle d’Applio dans Discord.",
|
164 |
+
"Enable Applio integration with applio.org/models using flask": "Activer l’intégration d’Applio avec applio.org/models à l’aide de flask",
|
165 |
+
"It will activate the possibility of downloading models with a click from the website.": "Il activera la possibilité de télécharger des modèles en un clic depuis le site web.",
|
166 |
+
"Theme": "Thème",
|
167 |
+
"Select the theme you want to use. (Requires restarting Applio)": "Sélectionnez le thème que vous souhaitez utiliser. (Nécessite le redémarrage d’Applio)",
|
168 |
+
"Language": "Langue",
|
169 |
+
"Select the language you want to use. (Requires restarting Applio)": "Sélectionnez la langue que vous souhaitez utiliser. (Nécessite le redémarrage d’Applio)",
|
170 |
+
"Plugin Installer": "Installateur de plugin",
|
171 |
+
"Drag your plugin.zip to install it": "Faites glisser votre plugin.zip pour l’installer",
|
172 |
+
"Version Checker": "Vérificateur de version",
|
173 |
+
"Check which version of Applio is the latest to see if you need to update.": "Vérifiez quelle version d’Applio est la plus récente pour voir si vous devez effectuer une mise à jour.",
|
174 |
+
"Check for updates": "Vérifier les mises à jour"
|
175 |
+
}
|
assets/i18n/languages/gu_GU.json
ADDED
@@ -0,0 +1,175 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"Ultimate voice cloning tool, meticulously optimized for unrivaled power, modularity, and user-friendly experience.": "અંતિમ વોઇસ ક્લોનિંગ ટૂલ, જે અજોડ શક્તિ, મોડ્યુલારિટી અને વપરાશકર્તા-મૈત્રીપૂર્ણ અનુભવ માટે સાવચેતીપૂર્વક ઓપ્ટિમાઇઝ કરવામાં આવ્યું છે.",
|
3 |
+
"This section contains some extra utilities that often may be in experimental phases.": "આ વિભાગમાં કેટલીક વધારાની ઉપયોગિતાઓ છે જે ઘણીવાર પ્રાયોગિક તબક્કામાં હોઈ શકે છે.",
|
4 |
+
"Output Information": "આઉટપુટ જાણકારી",
|
5 |
+
"The output information will be displayed here.": "આઉટપુટ જાણકારી અંહિ દર્શાવવામાં આવશે.",
|
6 |
+
"Inference": "અનુમાન",
|
7 |
+
"Train": "રેલગાડી",
|
8 |
+
"Extra": "વધારાનું",
|
9 |
+
"Merge Audios": "ઓડિયો ભેગા કરો",
|
10 |
+
"Processing": "પ્રક્રિયા કરી રહ્યા છીએ",
|
11 |
+
"Audio Analyzer": "ઓડિયો વિશ્લેષક",
|
12 |
+
"Model Information": "મોડેલ જાણકારી",
|
13 |
+
"Plugins": "પ્લગઇનો",
|
14 |
+
"Download": "ડાઉનલોડ",
|
15 |
+
"Report a Bug": "ભૂલનો અહેવાલ આપો",
|
16 |
+
"Settings": "સુયોજનો",
|
17 |
+
"Preprocess": "પ્રીપ્રોસેસ",
|
18 |
+
"Model Name": "મોડેલ નામ",
|
19 |
+
"Name of the new model.": "નવા મોડેલનું નામ.",
|
20 |
+
"Enter model name": "મોડેલ નામ દાખલ કરો",
|
21 |
+
"Dataset Path": "ડેટાસેટ પાથ",
|
22 |
+
"Path to the dataset folder.": "ડેટાસેટ ફોલ્ડરનો પાથ.",
|
23 |
+
"Refresh Datasets": "ડેટાસેટ્સ પુનઃતાજું કરો",
|
24 |
+
"Dataset Creator": "ડેટાસેટ બનાવનાર",
|
25 |
+
"Dataset Name": "ડેટાસેટ નામ",
|
26 |
+
"Name of the new dataset.": "નવા ડેટાસેટનું નામ.",
|
27 |
+
"Enter dataset name": "ડેટાસેટ નામ દાખલ કરો",
|
28 |
+
"Upload Audio Dataset": "ઓડિયો ડેટાસેટ અપલોડ કરો",
|
29 |
+
"The audio file has been successfully added to the dataset. Please click the preprocess button.": "ઓડિયો ફાઈલ સફળતાપૂર્વક ડેટાસેટમાં ઉમેરાઈ ગઈ છે. કૃપા કરીને પ્રીપ્રોસેસ બટન પર ક્લિક કરો.",
|
30 |
+
"Enter dataset path": "ડેટાસેટ પાથને દાખલ કરો",
|
31 |
+
"Sampling Rate": "નમૂનાનો દર",
|
32 |
+
"The sampling rate of the audio files.": "ઓડિયો ફાઈલોનો નમૂનાનો દર.",
|
33 |
+
"RVC Version": "RVC આવૃત્તિ",
|
34 |
+
"The RVC version of the model.": "મોડેલનું આરવીસી વર્ઝન.",
|
35 |
+
"Preprocess Dataset": "પ્રીપ્રોસેસ ડેટાસેટ",
|
36 |
+
"Extract": "અર્ક કાઢો",
|
37 |
+
"Hop Length": "હોપ લંબાઈ",
|
38 |
+
"Denotes the duration it takes for the system to transition to a significant pitch change. Smaller hop lengths require more time for inference but tend to yield higher pitch accuracy.": "સિસ્ટમને નોંધપાત્ર પિચ પરિવર્તનમાં સંક્રમણ કરવામાં જે સમયગાળો લાગે છે તે સૂચવે છે. નાના હોપની લંબાઈને અનુમાન માટે વધુ સમયની જરૂર હોય છે પરંતુ ઉચ્ચ પિચ ચોકસાઈ પ્રાપ્ત કરવાનું વલણ ધરાવે છે.",
|
39 |
+
"Batch Size": "બેચ માપ",
|
40 |
+
"It's advisable to align it with the available VRAM of your GPU. A setting of 4 offers improved accuracy but slower processing, while 8 provides faster and standard results.": "તેને તમારા જીપીયુના ઉપલબ્ધ વીઆરએએમ સાથે સંરેખિત કરવાની સલાહ આપવામાં આવે છે. 4નું સેટિંગ સુધારેલી ચોકસાઈ આપે છે પરંતુ પ્રક્રિયા ધીમી છે, જ્યારે 8 ઝડપી અને પ્રમાણભૂત પરિણામો પ્રદાન કરે છે.",
|
41 |
+
"Save Every Epoch": "દરેક ઈપોકનો સંગ્રહ કરો",
|
42 |
+
"Determine at how many epochs the model will saved at.": "મોડેલ કેટલા યુગમાં સંગ્રહાશે તે નક્કી કરો.",
|
43 |
+
"Total Epoch": "કુલ ઈપોક",
|
44 |
+
"Specifies the overall quantity of epochs for the model training process.": "મોડેલ તાલીમ પ્રક્રિયા માટે યુગોનો એકંદર જથ્થો સ્પષ્ટ કરે છે.",
|
45 |
+
"Pretrained": "પૂર્વપ્રશિક્ષિત",
|
46 |
+
"Save Only Latest": "ફક્ત તાજેતરનાં ને સંગ્રહો",
|
47 |
+
"Enabling this setting will result in the G and D files saving only their most recent versions, effectively conserving storage space.": "આ ગોઠવણને સક્રિય કરવાથી જી અને ડી (G) અને ડી (D) ફાઇલો માત્ર તેમના તાજેતરના વર્ઝનને જ સેવ કરી શકશે, અસરકારક રીતે સ્ટોરેજ સ્પેસનું સંરક્ષણ કરશે.",
|
48 |
+
"Save Every Weights": "દરેક વજનોને બચાવો",
|
49 |
+
"This setting enables you to save the weights of the model at the conclusion of each epoch.": "આ ગોઠવણી તમને દરેક યુગના અંતે મોડેલના વજનને બચાવવા માટે સક્ષમ બનાવે છે.",
|
50 |
+
"Custom Pretrained": "વૈવિધ્યપૂર્ણ પૂર્વટ્રેઈન થયેલ",
|
51 |
+
"Utilizing custom pretrained models can lead to superior results, as selecting the most suitable pretrained models tailored to the specific use case can significantly enhance performance.": "કસ્ટમ પ્રીટ્રેઇન્ડ મોડેલ્સનો ઉપયોગ કરવાથી શ્રેષ્ઠ પરિણામો મળી શકે છે, કારણ કે ચોક્કસ ઉપયોગના કિસ્સાને અનુરૂપ સૌથી યોગ્ય પ્રિટ્રેઇન્ડ મોડેલ્સની પસંદગી કરવાથી કામગીરીમાં નોંધપાત્ર વધારો થઈ શકે છે.",
|
52 |
+
"Upload Pretrained Model": "પહેલેથી પ્રશિક્ષિત મોડેલ અપલોડ કરો",
|
53 |
+
"Refresh Custom Pretraineds": "કસ્ટમ પૂર્વપ્રશિક્ષિતોને તાજુ કરો",
|
54 |
+
"Pretrained Custom Settings": "પહેલેથી પ્રશિક્ષિત વૈવિધ્યપૂર્ણ સુયોજનો",
|
55 |
+
"The file you dropped is not a valid pretrained file. Please try again.": "તમે મૂકેલી ફાઇલ એ યોગ્ય પૂર્વતાલીમવાળી ફાઇલ નથી. કૃપા કરીને ફરી પ્રયાસ કરો.",
|
56 |
+
"Click the refresh button to see the pretrained file in the dropdown menu.": "ડ્રોપડાઉન મેનુમાં પહેલેથી તાલીમ લીધેલ ફાઈલ જોવા માટે રિફ્રેશ બટન પર ક્લિક કરો.",
|
57 |
+
"Pretrained G Path": "વૈવિધ્યપૂર્ણ પૂર્વપ્રશિક્ષિત G",
|
58 |
+
"Pretrained D Path": "વૈવિધ્યપૂર્ણ પૂર્વપ્રશિક્ષિત D",
|
59 |
+
"GPU Settings": "GPU સુયોજનો",
|
60 |
+
"Sets advanced GPU settings, recommended for users with better GPU architecture.": "અદ્યતન GPU ગોઠવણો સુયોજિત કરે છે, જે વધુ સારા GPU આર્કિટેક્ચર ધરાવતા વપરાશકર્તાઓ માટે આગ્રહણીય છે.",
|
61 |
+
"GPU Custom Settings": "GPU કસ્ટમ સુયોજનો",
|
62 |
+
"GPU Number": "GPU નંબર",
|
63 |
+
"0 to ∞ separated by -": "0 થી ∞ આના દ્વારા અલગ પાડવામાં આવે છે -",
|
64 |
+
"GPU Information": "GPU જાણકારી",
|
65 |
+
"Pitch Guidance": "પિચ માર્ગદર્શન",
|
66 |
+
"By employing pitch guidance, it becomes feasible to mirror the intonation of the original voice, including its pitch. This feature is particularly valuable for singing and other scenarios where preserving the original melody or pitch pattern is essential.": "પિચ માર્ગદર્શનનો ઉપયોગ કરીને, મૂળ અવાજના રણકારને પ્રતિબિંબિત કરવાનું શક્ય બને છે, જેમાં તેની પીચનો પણ સમાવેશ થાય છે. આ સુવિધા ખાસ કરીને ગાવા અને અન્ય દૃશ્યો માટે મૂલ્યવાન છે જ્યાં મૂળ મેલોડી અથવા પિચ પેટર્નને સાચવવી જરૂરી છે.",
|
67 |
+
"Utilize pretrained models when training your own. This approach reduces training duration and enhances overall quality.": "તમારા પોત���નાને તાલીમ આપતી વખતે પૂર્વપ્રશિક્ષિત મોડેલોનો ઉપયોગ કરો. આ અભિગમ તાલીમનો સમયગાળો ઘટાડે છે અને એકંદર ગુણવત્તામાં વધારો કરે છે.",
|
68 |
+
"Extract Features": "લક્ષણોનો અર્ક કાઢો",
|
69 |
+
"Start Training": "તાલીમ શરૂ કરો",
|
70 |
+
"Generate Index": "અનુક્રમણિકા બનાવો",
|
71 |
+
"Voice Model": "અવાજ મોડેલ",
|
72 |
+
"Select the voice model to use for the conversion.": "રૂપાંતરણ માટે વાપરવા માટે વોઇસ મોડેલ પસંદ કરો.",
|
73 |
+
"Index File": "અનુક્રમણિકા ફાઇલ",
|
74 |
+
"Select the index file to use for the conversion.": "રૂપાંતરણ માટે વાપરવા માટે અનુક્રમણિકા ફાઈલ પસંદ કરો.",
|
75 |
+
"Refresh": "પુનઃતાજું કરો",
|
76 |
+
"Unload Voice": "અવાજ અનલોડ કરો",
|
77 |
+
"Single": "એકલું",
|
78 |
+
"Upload Audio": "ઓડિયો અપલોડ કરો",
|
79 |
+
"Select Audio": "ઓડિયો પસંદ કરો",
|
80 |
+
"Select the audio to convert.": "રૂપાંતરિત કરવા માટે ઓડિયો પસંદ કરો.",
|
81 |
+
"Advanced Settings": "અદ્યતન સુયોજનો",
|
82 |
+
"Clear Outputs (Deletes all audios in assets/audios)": "આઉટપુટ સાફ કરો (સંપત્તિઓ/ઓડિયોમાં બધા ઓડિયો કાઢી નાંખે છે)",
|
83 |
+
"Custom Output Path": "કસ્ટમ આઉટપુટ પાથ",
|
84 |
+
"Output Path": "આઉટપુટ પાથ",
|
85 |
+
"The path where the output audio will be saved, by default in assets/audios/output.wav": "પાથ કે જ્યાં આઉટપુટ ઓડિયો એ મૂળભૂત રીતે assets/audios/output.wav માં સંગ્રહાશે",
|
86 |
+
"Split Audio": "ઓડિયો વિભાજિત કરો",
|
87 |
+
"Split the audio into chunks for inference to obtain better results in some cases.": "કેટલાક કિસ્સાઓમાં વધુ સારા પરિણામો મેળવવા માટે અનુમાન માટે ઓડિઓને ભાગોમાં વિભાજિત કરો.",
|
88 |
+
"Autotune": "Autotune",
|
89 |
+
"Apply a soft autotune to your inferences, recommended for singing conversions.": "તમારા અનુમાનો પર નરમ ઓટોટ્યુન લાગુ કરો, જે ગાવા માટે ભલામણ કરવામાં આવે છે રૂપાંતરણો ગાવા માટે ભલામણ કરવામાં આવે છે.",
|
90 |
+
"Clean Audio": "ઓડિયો સાફ કરો",
|
91 |
+
"Clean your audio output using noise detection algorithms, recommended for speaking audios.": "ઓડિયો બોલવા માટે ભલામણ કરવામાં આવેલા નોઇઝ ડિટેક્શન એલ્ગોરિધમ્સનો ઉપયોગ કરીને તમારા ઓડિયો આઉટપુટને સાફ કરો.",
|
92 |
+
"Clean Strength": "સ્વચ્છ મજબૂતાઈ",
|
93 |
+
"Set the clean-up level to the audio you want, the more you increase it the more it will clean up, but it is possible that the audio will be more compressed.": "તમે ઇચ્છો તે ઓડિયો પર સફાઇનું સ્તર સુયોજિત કરો, તમે તેને જેટલું વધારશો તેટલું તે સાફ થશે, પરંતુ શક્ય છે કે ઓડિયો વધુ સંકુચિત હશે.",
|
94 |
+
"Pitch": "પિચ",
|
95 |
+
"Set the pitch of the audio, the higher the value, the higher the pitch.": "ઓડિયોની પિચ સુયોજિત કરો, કિંમત જેટલી ઊંચી હશે, તેટલી પીચ વધુ ઊંચી હશે.",
|
96 |
+
"Filter Radius": "ફિલ્ટર ત્રિજ્યા",
|
97 |
+
"If the number is greater than or equal to three, employing median filtering on the collected tone results has the potential to decrease respiration.": "જો સંખ્યા ત્રણ કરતા વધારે અથવા સમાન હોય, તો એકત્રિત સ્વર પરિણામો પર મધ્યમ ફિલ્ટરિંગનો ઉપયોગ કરવાથી શ્વસનનક્કી થવાની સંભાવના રહે છે.",
|
98 |
+
"Search Feature Ratio": "શોધ લક્ષણ ગુણોત્તર",
|
99 |
+
"Influence exerted by the index file; a higher value corresponds to greater influence. However, opting for lower values can help mitigate artifacts present in the audio.": "અનુક્રમણિકા ફાઈલ દ્વારા લાગતો પ્રભાવ; ઉચ્ચતર મૂલ્ય વધુ પ્રભાવને મળતું આવે છે. જો કે, નીચા મૂલ્યોની પસંદગી કરવાથી ઓડિયોમાં હાજર કલાકૃતિઓને ઘટાડવામાં મદદ મળી શકે છે.",
|
100 |
+
"Volume Envelope": "વોલ્યુમ કવરpaper size",
|
101 |
+
"Substitute or blend with the volume envelope of the output. The closer the ratio is to 1, the more the output envelope is employed.": "આઉટપુટના વોલ્યુમ પરબિડીયા સાથે અવેજી અથવા મિશ્રણ કરો. ગુણોત્તર 1 ની નજીક હોય છે, આઉટપુટ પરબિડીયાને વધુ ઉપયોગમાં લેવામાં આવે છે.",
|
102 |
+
"Protect Voiceless Consonants": "અવાજ વગરના વ્યંજનોનું રક્ષણ કરો",
|
103 |
+
"Safeguard distinct consonants and breathing sounds to prevent electro-acoustic tearing and other artifacts. Pulling the parameter to its maximum value of 0.5 offers comprehensive protection. However, reducing this value might decrease the extent of protection while potentially mitigating the indexing effect.": "ઇલેક્ટ્રો-એકોસ્ટિક ફાટી ન જાય અને અન્ય કલાકૃતિઓ ન ફાટી જાય તે માટે વિશિષ્ટ વ્યંજનો અને શ્વાસોચ્છવાસના અવાજનું રક્ષણ કરો. પરિમાણને તેના ૦.૫ ના મહત્તમ મૂલ્ય તરફ ખેંચવું એ વ્યાપક સુરક્ષા પ્રદાન કરે છે. જો કે, આ મૂલ્યમાં ઘટાડો કરવાથી અનુક્રમણિકાની અસરને સંભવિતપણે ઘટાડવાની સાથે સંરક્ષણની હદમાં ઘટાડો થઈ શકે છે.",
|
104 |
+
"Pitch extraction algorithm": "પિચ નિષ્કર્ષણ અલગોરિધમ",
|
105 |
+
"Pitch extraction algorithm to use for the audio conversion. The default algorithm is rmvpe, which is recommended for most cases.": "ઓડિઓ રૂપાંતર માટે વાપરવા માટે પિચ નિષ્કર્ષણ અલ્ગોરિધમનો. મૂળભૂત અલ્ગોરિધમ એ rmvpe છે, જે મોટાભાગના કિસ્સાઓમાં ભલામણ કરવામાં આવે છે.",
|
106 |
+
"Convert": "રૂપાંતર કરો",
|
107 |
+
"Export Audio": "ઓડિયો નિકાસ કરો",
|
108 |
+
"Batch": "બેચ",
|
109 |
+
"Input Folder": "ઇનપુટ ફોલ્ડર",
|
110 |
+
"Select the folder containing the audios to convert.": "ફેરવવા માટે ઓડિયો સમાવતા ફોલ્ડરને પસંદ કરો.",
|
111 |
+
"Enter input path": "ઇનપુટ પાથને દાખલ કરો",
|
112 |
+
"Output Folder": "આઉટપુટ ફોલ્ડર",
|
113 |
+
"Select the folder where the output audios will be saved.": "ફોલ્ડર પસંદ કરો કે જ્યાં આઉટપુટ ઓડિયો સંગ્રહાશે.",
|
114 |
+
"Enter output path": "આઉટપુટ પાથ દાખલ કરો",
|
115 |
+
"Get information about the audio": "ઓડિયો વિશે જાણકારી મેળવો",
|
116 |
+
"Information about the audio file": "ઓડિયો ફાઈલ વિશેની માહિતી",
|
117 |
+
"Waiting for information...": "જાણકારી માટે રાહ જોઇ રહ્યા છીએ...",
|
118 |
+
"## Voice Blender": "## વોઇસ બ્લેન્ડર",
|
119 |
+
"Select two voice models, set your desired blend percentage, and blend them into an entirely new voice.": "બે વોઇસ મોડલ્સ પસંદ કરો, તમારી ઇચ્છિત મિશ્રણ ટકાવારી સેટ કરો અને તેને સંપૂર્ણપણે નવા અવાજમાં મિશ્રિત કરો.",
|
120 |
+
"Voice Blender": "અવાજ બ્લેન્ડર",
|
121 |
+
"Drag and drop your model here": "તમારા મોડેલને અંહિ ખેંચો અને મૂકો",
|
122 |
+
"You can also use a custom path.": "તમે કસ્ટમ પાથનો પણ ઉપયોગ કરી શકો છો.",
|
123 |
+
"Blend Ratio": "મિશ્રણ ગુણોત્તર",
|
124 |
+
"Adjusting the position more towards one side or the other will make the model more similar to the first or second.": "સ્થિતિને એક બાજુ અથવા બીજી બાજુ વધુ સમાયોજિત કરવાથી મોડેલને પ્રથમ અથવા બીજી બાજુ વધુ સ��ાન બનાવશે.",
|
125 |
+
"Fusion": "ફ્યુઝન",
|
126 |
+
"Path to Model": "મોડેલનો પાથ",
|
127 |
+
"Enter path to model": "મોડેલ માટે પાથને દાખલ કરો",
|
128 |
+
"Model information to be placed": "મૂકવાની મોડેલ માહિતી",
|
129 |
+
"Inroduce the model information": "મોડેલની જાણકારીને ઇનરોડ્યુસ કરો",
|
130 |
+
"The information to be placed in the model (You can leave it blank or put anything).": "મોડેલમાં મૂકવાની માહિતી (તમે તેને ખાલી છોડી શકો છો અથવા કંઈપણ મૂકી શકો છો).",
|
131 |
+
"View model information": "મોડેલ જાણકારી જુઓ",
|
132 |
+
"Introduce the model pth path": "મોડેલ pth પાથનો પરિચય આપો",
|
133 |
+
"View": "જુઓ",
|
134 |
+
"Model extraction": "મોડેલ નિષ્કર્ષણ",
|
135 |
+
"Model conversion": "મોડેલ રૂપાંતરણ",
|
136 |
+
"Pth file": "Pth ફાઈલ",
|
137 |
+
"Output of the pth file": "pth ફાઇલનું આઉટપુટ",
|
138 |
+
"# How to Report an Issue on GitHub": "# GitHub પર કોઈ સમસ્યાની જાણ કેવી રીતે કરવી",
|
139 |
+
"1. Click on the 'Record Screen' button below to start recording the issue you are experiencing.": "1. તમે જે સમસ્યાનો સામનો કરી રહ્યા છો તેને રેકોર્ડ કરવાનું શરૂ કરવા માટે નીચે આપેલા 'રેકોર્ડ સ્ક્રીન' બટન પર ક્લિક કરો.",
|
140 |
+
"2. Once you have finished recording the issue, click on the 'Stop Recording' button (the same button, but the label changes depending on whether you are actively recording or not).": "2. એક વખત તમે સમસ્યાનું રેકોર્ડિંગ પૂરું કરી લો એટલે 'સ્ટોપ રેકોર્ડિંગ' બટન પર ક્લિક કરો (આ જ બટન, પરંતુ તમે સક્રિયપણે રેકોર્ડિંગ કરી રહ્યા છો કે નહીં તેના આધારે લેબલ બદલાય છે).",
|
141 |
+
"3. Go to [GitHub Issues](https://github.com/IAHispano/Applio/issues) and click on the 'New Issue' button.": "3. [GitHub issues] (https://github.com/IAHispano/Applio/issues) પર જાઓ અને 'ન્યૂ ઇશ્યૂ' બટન પર ક્લિક કરો.",
|
142 |
+
"4. Complete the provided issue template, ensuring to include details as needed, and utilize the assets section to upload the recorded file from the previous step.": "4. પૂરી પાડવામાં આવેલ ઇશ્યૂ ટેમ્પલેટ પૂર્ણ કરો, જરૂરિયાત મુજબ વિગતોનો સમાવેશ કરવાની ખાતરી કરો અને અગાઉના પગલામાંથી રેકોર્ડ કરેલી ફાઇલને અપલોડ કરવા માટે અસ્કયામતોના વિભાગનો ઉપયોગ કરો.",
|
143 |
+
"Record Screen": "રેકોર્ડ સ્ક્રીન",
|
144 |
+
"Record": "રેકોર્ડ",
|
145 |
+
"Stop Recording": "રેકોર્ડ કરવાનું બંધ કરો",
|
146 |
+
"Introduce the model .pth path": "મોડલ .pth પાથને રજૂ કરો",
|
147 |
+
"See Model Information": "મોડેલ જાણકારી જુઓ",
|
148 |
+
"## Download Model": "## ડાઉનલોડ મોડેલ",
|
149 |
+
"Model Link": "મોડેલ કડી",
|
150 |
+
"Introduce the model link": "મોડેલ કડીનો પરિચય આપો",
|
151 |
+
"Download Model": "ડાઉનલોડ મોડેલ",
|
152 |
+
"## Drop files": "## ફાઇલો મૂકો",
|
153 |
+
"Drag your .pth file and .index file into this space. Drag one and then the other.": "આ જગ્યામાં તમારી .pth ફાઇલ અને .index ફાઇલને ખેંચો. એકને ખેંચો અને પછી બીજું.",
|
154 |
+
"TTS Voices": "TTS અવાજો",
|
155 |
+
"Select the TTS voice to use for the conversion.": "રૂપાંતરણ માટે વાપરવા માટે TTS અવાજ પસંદ કરો.",
|
156 |
+
"Text to Synthesize": "સંશ્લેષણ કરવા માટેનું લખાણ",
|
157 |
+
"Enter the text to synthesize.": "સંશ્લેષણ કરવા માટે લખાણ દાખલ કરો.",
|
158 |
+
"Or you can upload a .txt file": "અથવા તમે .txt ફાઇલ અપલોડ કરી શકો છો",
|
159 |
+
"Enter text to synthesize": "સંશ્લેષણ કરવા માટે લખાણ દાખલ કરો",
|
160 |
+
"Output Path for TTS Audio": "TTS ઓડિયો માટે આઉટપુટ પાથ",
|
161 |
+
"Output Path for RVC Audio": "RVC ઓડિયો માટે આઉટપુટ પાથ",
|
162 |
+
"Enable Applio integration with Discord presence": "ડિસ્કોર્ડ હાજરી સાથે એપ્લિઓ સંકલન સક્રિય કરો",
|
163 |
+
"It will activate the possibility of displaying the current Applio activity in Discord.": "તે ડિસ્કોર્ડમાં વર્તમાન એપ્લિયો પ્રવૃત્તિ પ્રદર્શિત કરવાની સંભાવનાને સક્રિય કરશે.",
|
164 |
+
"Enable Applio integration with applio.org/models using flask": "ફ્લાસ્કની મદદથી applio.org/models સાથે એપ્લિયો સંકલન સક્રિય કરો",
|
165 |
+
"It will activate the possibility of downloading models with a click from the website.": "તે વેબસાઇટ પરથી એક ક્લિક સાથે મોડેલો ડાઉનલોડ કરવાની સંભાવનાને સક્રિય કરશે.",
|
166 |
+
"Theme": "થીમ",
|
167 |
+
"Select the theme you want to use. (Requires restarting Applio)": "થીમ પસંદ કરો જે તમે વાપરવા માંગો છો. (એપ્લિયોને ફરી શરૂ કરવાની જરૂર છે)",
|
168 |
+
"Language": "ભાષા",
|
169 |
+
"Select the language you want to use. (Requires restarting Applio)": "તમે જે ભાષા વાપરવા માંગો તે પસંદ કરો. (એપ્લિયોને ફરી શરૂ કરવાની જરૂર છે)",
|
170 |
+
"Plugin Installer": "પ્લગઇન સ્થાપનાર",
|
171 |
+
"Drag your plugin.zip to install it": "તેને સ્થાપિત કરવા માટે તમારા plugin.zip ખેંચો",
|
172 |
+
"Version Checker": "આવૃત્તિ ચકાસનાર",
|
173 |
+
"Check which version of Applio is the latest to see if you need to update.": "તમારે અપડેટ કરવાની જરૂર છે કે નહીં તે જોવા માટે એપ્લિઓનું કયું સંસ્કરણ નવીનતમ છે તે તપાસો.",
|
174 |
+
"Check for updates": "સુધારાઓ માટે ચકાસો"
|
175 |
+
}
|
assets/i18n/languages/hi_HI.json
ADDED
@@ -0,0 +1,113 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"Ultimate voice cloning tool, meticulously optimized for unrivaled power, modularity, and user-friendly experience.": "अंतिम आवाज क्लोनिंग उपकरण, बेजोड़ शक्ति, प्रतिरूपकता और उपयोगकर्ता के अनुकूल अनुभव के लिए सावधानीपूर्वक अनुकूलित।",
|
3 |
+
"This section contains some extra utilities that often may be in experimental phases.": "इस खंड में कुछ अतिरिक्त उपयोगिताओं हैं जो अक्सर प्रयोगात्मक चरणों में हो सकती हैं।",
|
4 |
+
"Output Information": "आउटपुट जानकारी",
|
5 |
+
"Inference": "अनुमान",
|
6 |
+
"Train": "रेलगाड़ी",
|
7 |
+
"Extra": "अति",
|
8 |
+
"Merge Audios": "ऑडियो मर्ज करें",
|
9 |
+
"Processing": "संसाधन",
|
10 |
+
"Audio Analyzer": "ऑडियो विश्लेषक",
|
11 |
+
"Model Information": "मॉडल जानकारी",
|
12 |
+
"Download": "डाउनलोड",
|
13 |
+
"Report a Bug": "बग की रिपोर्ट करें",
|
14 |
+
"Preprocess": "प्रीप्रोसेस",
|
15 |
+
"Model Name": "मॉडल का नाम",
|
16 |
+
"Enter model name": "मॉडल का नाम दर्ज करें",
|
17 |
+
"Dataset Path": "डेटासेट पथ",
|
18 |
+
"Enter dataset path": "डेटासेट पथ दर्ज करें",
|
19 |
+
"Sampling Rate": "नमूनाकरण दर",
|
20 |
+
"RVC Version": "RVC संस्करण",
|
21 |
+
"Preprocess Dataset": "प्रीप्रोसेस डेटासेट",
|
22 |
+
"Extract": "निकालना",
|
23 |
+
"Hop Length": "हॉप लंबाई",
|
24 |
+
"Batch Size": "बैच का आकार",
|
25 |
+
"Save Every Epoch": "हर युग को बचाओ",
|
26 |
+
"Total Epoch": "कुल युग",
|
27 |
+
"Pretrained": "पूर्व-प्रशिक्षित",
|
28 |
+
"Save Only Latest": "केवल नवीनतम सहेजें",
|
29 |
+
"Save Every Weights": "हर वजन बचाओ",
|
30 |
+
"Custom Pretrained": "कस्टम पूर्व-प्रशिक्षित",
|
31 |
+
"Upload Pretrained Model": "पूर्व-प्रशिक्षित मॉडल अपलोड करें",
|
32 |
+
"Pretrained Custom Settings": "पूर्व-प्रशिक्षित कस्टम सेटिंग्स",
|
33 |
+
"The file you dropped is not a valid pretrained file. Please try again.": "आपके द्वारा छोड़ी गई फ़ाइल कोई मान्य पूर्व-प्रशिक्षित फ़ाइल नहीं है. कृपया पुनः प्रयास करें.",
|
34 |
+
"Click the refresh button to see the pretrained file in the dropdown menu.": "ड्रॉपडाउन मेनू में पूर्व-प्रशिक्षित फ़ाइल देखने के लिए ताज़ा करें बटन पर क्लिक करें।",
|
35 |
+
"Pretrained G Path": "कस्टम पूर्व-प्रशिक्षित जी",
|
36 |
+
"Pretrained D Path": "कस्टम पूर्वप्रशिक्षित डी",
|
37 |
+
"GPU Settings": "GPU सेटिंग्स",
|
38 |
+
"GPU Custom Settings": "GPU कस्टम सेटिंग्स",
|
39 |
+
"GPU Number": "GPU नंबर",
|
40 |
+
"0 to ∞ separated by -": "0 से ∞ द्वारा अलग किया गया -",
|
41 |
+
"GPU Information": "GPU सूचना",
|
42 |
+
"Pitch Guidance": "पिच मार्गदर्शन",
|
43 |
+
"Extract Features": "एक्सट्रैक्ट फीचर्स",
|
44 |
+
"Start Training": "प्रशिक्षण शुरू करें",
|
45 |
+
"Generate Index": "इंडेक्स जनरेट करें",
|
46 |
+
"Voice Model": "आवाज मॉडल",
|
47 |
+
"Index File": "अनुक्रमणिका फ़ाइल",
|
48 |
+
"Refresh": "आराम देना",
|
49 |
+
"Unload Voice": "आवाज उतारना",
|
50 |
+
"Single": "अकेला",
|
51 |
+
"Upload Audio": "ऑडियो अपलोड करें",
|
52 |
+
"Select Audio": "ऑडियो का चयन करें",
|
53 |
+
"Advanced Settings": "उन्नत सेटिंग्स",
|
54 |
+
"Clear Outputs (Deletes all audios in assets/audios)": "आउटपुट साफ़ करें (संपत्ति/ऑडियो में सभी ऑडियो हटाता है)",
|
55 |
+
"Custom Output Path": "कस्टम आउटपुट पथ",
|
56 |
+
"Output Path": "आउटपुट पथ",
|
57 |
+
"Pitch": "फेंकना",
|
58 |
+
"If >=3: apply median filtering to the harvested pitch results. The value represents the filter radius and can reduce breathiness": "यदि > = 3: कटाई पिच परिणामों के लिए माध्यिका फ़िल्टरिंग लागू करें। मान फिल्��र त्रिज्या का प्रतिनिधित्व करता है और सांस लेने को कम कर सकता है",
|
59 |
+
"Search Feature Ratio": "खोज सुविधा अनुपात",
|
60 |
+
"Pitch extraction algorithm": "पिच निष्कर्षण एल्गोरिथ्म",
|
61 |
+
"Convert": "बदलना",
|
62 |
+
"Export Audio": "ऑडियो निर्यात करें",
|
63 |
+
"Batch": "जत्था",
|
64 |
+
"Input Folder": "इनपुट फ़ोल्डर",
|
65 |
+
"Enter input path": "इनपुट पथ दर्ज करें",
|
66 |
+
"Output Folder": "आउटपुट फ़ोल्डर",
|
67 |
+
"Enter output path": "आउटपुट पथ दर्ज करें",
|
68 |
+
"Get information about the audio": "ऑडियो के बारे में जानकारी प्राप्त करें",
|
69 |
+
"Information about the audio file": "ऑडियो फ़ाइल के बारे में जानकारी",
|
70 |
+
"Waiting for information...": "जानकारी का इंतजार...",
|
71 |
+
"Model fusion": "मॉडल फ्यूजन",
|
72 |
+
"Weight for Model A": "मॉडल ए के लिए वजन",
|
73 |
+
"Whether the model has pitch guidance": "क्या मॉडल में पिच मार्गदर्शन है",
|
74 |
+
"Model architecture version": "मॉडल वास्तुकला संस्करण",
|
75 |
+
"Path to Model A": "मॉडल ए के लिए पथ",
|
76 |
+
"Path to Model B": "मॉडल बी का रास्ता",
|
77 |
+
"Path to model": "मॉडल का मार्ग",
|
78 |
+
"Model information to be placed": "मॉडल जानकारी रखी जाएगी",
|
79 |
+
"Fusion": "परमाणु-संलयन",
|
80 |
+
"Modify model information": "मॉडल जानकारी संशोधित करें",
|
81 |
+
"Path to Model": "मॉडल का मार्ग",
|
82 |
+
"Model information to be modified": "संशोधित की जाने वाली मॉडल जानकारी",
|
83 |
+
"Save file name": "फ़ाइल नाम सहेजें",
|
84 |
+
"Modify": "सुधारना",
|
85 |
+
"View model information": "मॉडल की जानकारी देखें",
|
86 |
+
"View": "देखना",
|
87 |
+
"Model extraction": "मॉडल निष्कर्षण",
|
88 |
+
"Model conversion": "मॉडल रूपांतरण",
|
89 |
+
"Pth file": "Pth फ़ाइल",
|
90 |
+
"Output of the pth file": "pth फ़ाइल का आउटपुट",
|
91 |
+
"# How to Report an Issue on GitHub": "# GitHub पर किसी समस्या की रिपोर्ट कैसे करें",
|
92 |
+
"1. Click on the 'Record Screen' button below to start recording the issue you are experiencing.": "1. आप जिस समस्या का अनुभव कर रहे हैं उसे रिकॉर्ड करना शुरू करने के लिए नीचे दिए गए 'रिकॉर्ड स्क्रीन' बटन पर क्लिक करें।",
|
93 |
+
"2. Once you have finished recording the issue, click on the 'Stop Recording' button (the same button, but the label changes depending on whether you are actively recording or not).": "2. एक बार जब आप समस्या को रिकॉर्ड करना समाप्त कर लेते हैं, तो 'स्टॉप रिकॉर्डिंग' बटन पर क्लिक करें (वही बटन, लेकिन लेबल इस बात पर निर्भर करता है कि आप सक्रिय रूप से रिकॉर्डिंग कर रहे हैं या नहीं)।",
|
94 |
+
"3. Go to [GitHub Issues](https://github.com/IAHispano/Applio/issues) and click on the 'New Issue' button.": "3. [GitHub Issues](https://github.com/IAHispano/Applio/issues) पर जाएं और 'नया मुद्दा' बटन पर क्लिक करें।",
|
95 |
+
"4. Complete the provided issue template, ensuring to include details as needed, and utilize the assets section to upload the recorded file from the previous step.": "4. प्रदान किए गए मुद्दे टेम्पलेट को पूरा करें, आवश्यकतानुसार विवरण शामिल करना सुनिश्चित करें, और पिछले चरण से रिकॉर्ड की गई फ़ाइल को अपलोड करने के लिए संपत्ति अनुभाग का उपयोग करें।",
|
96 |
+
"Record Screen": "रिकॉर्ड स्क्रीन",
|
97 |
+
"Record": "रिकॉर्ड",
|
98 |
+
"Stop Recording": "रिकॉर्डिंग बंद करो",
|
99 |
+
"Introduce the model .pth path": "मॉडल .pth पथ का परिचय दें",
|
100 |
+
"See Model Information": "मॉडल जानकारी देखें",
|
101 |
+
"## Download Model": "## मॉडल डाउनलोड करें",
|
102 |
+
"Model Link": "मॉडल लिंक",
|
103 |
+
"Introduce the model link": "मॉडल लिंक का परिचय दें",
|
104 |
+
"Download Model": "Descargar Modelo",
|
105 |
+
"## Drop files": "## फ़ाइलें ड्रॉप करें",
|
106 |
+
"Drag your .pth file and .index file into this space. Drag one and then the other.": "अपनी .pth फ़ाइल और .index फ़ाइल को इस स्थान में खींचें. एक को खींचें और फिर दूसरे को।",
|
107 |
+
"TTS Voices": "टीटीएस आवाज़ें",
|
108 |
+
"Text to Synthesize": "संश्लेषित करने के लिए पाठ",
|
109 |
+
"Enter text to synthesize": "संश्लेषित करने के लिए पाठ दर्ज करें",
|
110 |
+
"Output Path for TTS Audio": "TTS ऑडियो के लिए आउटपुट पथ",
|
111 |
+
"Output Path for RVC Audio": "RVC ऑडियो के लिए आउटपुट पथ",
|
112 |
+
"Enable Applio integration with Discord presence": "Applio प्रसेन्स"
|
113 |
+
}
|
assets/i18n/languages/hi_IN.json
ADDED
@@ -0,0 +1,215 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"Ultimate voice cloning tool, meticulously optimized for unrivaled power, modularity, and user-friendly experience.": "अल्टीमेट वॉयस क्लोनिंग टूल, बेजोड़ पॉवर, मॉड्यूलरिटी और उपयोगकर्ता-अनुकूल अनुभव के लिए बारीकी से ऑप्टिमाइज़ किया गया।\n[हिन्दी अनुवाद: Enes](https://discord.com/users/1140031358006202468)",
|
3 |
+
"This section contains some extra utilities that often may be in experimental phases.": "इस खंड में कुछ अतिरिक्त उपयोगिताएँ होती हैं जो अक्सर प्रायोगिक चरणों में हो सकती हैं।",
|
4 |
+
"Output Information": "आउटपुट जानकारी",
|
5 |
+
"The output information will be displayed here.": "आउटपुट जानकारी यहाँ प्रदर्शित की जाएगी।",
|
6 |
+
|
7 |
+
"Inference": "निष्कर्ष",
|
8 |
+
"Train": "ट्रेन",
|
9 |
+
"Extra": "अतिरिक्त",
|
10 |
+
"Merge Audios": "इस ऑडियो को मर्ज करें",
|
11 |
+
"Processing": "प्रोसेसिंग",
|
12 |
+
"Audio Analyzer": "ऑडियो एनालाइज़र",
|
13 |
+
"Model Information": "मॉडल जानकारी",
|
14 |
+
"Plugins": "प्लगइन्स",
|
15 |
+
"Download": "डाउनलोड करें",
|
16 |
+
"Report a Bug": "एक बग की रिपोर्ट करें",
|
17 |
+
"Settings": "सेटिंग्स",
|
18 |
+
|
19 |
+
"Preprocess": "पूर्व-प्रसंस्करण",
|
20 |
+
"Model Name": "मॉडल का नाम",
|
21 |
+
"Name of the new model.": "नए मॉडल का नाम।",
|
22 |
+
"Enter model name": "मॉडल नाम डालें",
|
23 |
+
"Dataset Path": "डेटासेट पथ",
|
24 |
+
"Path to the dataset folder.": "डेटासेट फ़ोल्डर का पथ।",
|
25 |
+
"Refresh Datasets": "डेटासेट रीफ्रेश करें",
|
26 |
+
"Dataset Creator": "डेटासेट बनाने वाला",
|
27 |
+
"Dataset Name": "डेटासेट का नाम",
|
28 |
+
"Name of the new dataset.": "नए डेटासेट का नाम।",
|
29 |
+
"Enter dataset name": "डेटासेट का नाम डालें",
|
30 |
+
"Upload Audio Dataset": "ऑडियो डेटासेट अपलोड करें",
|
31 |
+
"The audio file has been successfully added to the dataset. Please click the preprocess button.": "ऑडियो फ़ाइल को डेटासेट में सफलतापूर्वक जोड़ा गया है। कृपया प्रीप्रोसेस बटन पर क्लिक करें।",
|
32 |
+
"Enter dataset path": "डेटासेट पथ डालें",
|
33 |
+
"Sampling Rate": "नमूनाकरण दर",
|
34 |
+
"The sampling rate of the audio files.": "ऑडियो फ़ाइलों की नमूनाकरण दर।",
|
35 |
+
"RVC Version": "RVC वर्शन",
|
36 |
+
"The RVC version of the model.": "मॉडल का RVC वर्शन।",
|
37 |
+
"Preprocess Dataset": "डेटासेट का पूर्व-प्रसंस्करण करें",
|
38 |
+
|
39 |
+
"Embedder Model": "एम्बेडर मॉडल",
|
40 |
+
"Model used for learning speaker embedding.": "स्पीकर एम्बेडिंग सीखने के लिए उपयोग किया जाने वाला मॉडल।",
|
41 |
+
"Extract": "एक्सट्रैक्ट",
|
42 |
+
"Hop Length": "हॉप लंबाई",
|
43 |
+
"Denotes the duration it takes for the system to transition to a significant pitch change. Smaller hop lengths require more time for inference but tend to yield higher pitch accuracy.": "यह अवधी को दर्शाती है जिसे सिस्टम को पिच में महत्वपूर्ण बदलाव के लिए ले जाना पड़ता है। कम हॉप लंबाई को अनुमान लगाने में अधिक समय लगता है लेकिन उच्च पिच सटीकता मिलती है।",
|
44 |
+
"Batch Size": "बैच आकार",
|
45 |
+
"It's advisable to align it with the available VRAM of your GPU. A setting of 4 offers improved accuracy but slower processing, while 8 provides faster and standard results.": "अपने GPU की उपलब्ध VRAM के साथ इसे संरेखित करना उचित है। 4 की सेटिंग में सटीकता बेहतर होती है लेकिन प्रोसेसिंग धीमी होती है, जबकि 8 तेज और मानक परिणाम प्रदान करता है।",
|
46 |
+
"Save Every Epoch": "प���रत्येक युग को सेव करें",
|
47 |
+
"Determine at how many epochs the model will saved at.": "निर्धारित करें कि कितने युग पर मॉडल सहेजा जाएगा",
|
48 |
+
"Total Epoch": "कुल युग",
|
49 |
+
"Specifies the overall quantity of epochs for the model training process.": "मॉडल प्रशिक्षण प्रक्रिया के लिए युग की समग्र मात्रा निर्दिष्ट करता है।",
|
50 |
+
"Pretrained": "पूर्व प्रशिक्षित",
|
51 |
+
"Save Only Latest": "केवल नवीनतम को सेव करें",
|
52 |
+
"Enabling this setting will result in the G and D files saving only their most recent versions, effectively conserving storage space.": "इस सेटिंग को सक्षम करने पर G और D फ़ाइलें अपने केवल नवीनतम संस्करण को ही सेव करेंगी, भंडारण स्थान को प्रभावी ढंग से संरक्षित करना।",
|
53 |
+
"Save Every Weights": "प्रत्येक वज़न को सेव करें",
|
54 |
+
"This setting enables you to save the weights of the model at the conclusion of each epoch.": "यह सेटिंग आपको प्रत्येक युग के समापन पर मॉडल के वजन को सेव करने में सक्षम बनाती है।",
|
55 |
+
"Custom Pretrained": "कस्टम पूर्व प्रशिक्षित",
|
56 |
+
"Utilizing custom pretrained models can lead to superior results, as selecting the most suitable pretrained models tailored to the specific use case can significantly enhance performance.": "कस्टम पूर्व प्रशिक्षित मॉडलों का उपयोग करने से बेहतर परिणाम मिल सकते हैं, क्योंकि विशिष्ट उपयोग के मामले के अनुरूप सबसे उपयुक्त पूर्व प्रशिक्षित मॉडलों को चुनने से प्रदर्शन में काफी वृद्धि हो सकती है।",
|
57 |
+
"Upload Pretrained Model": "पूर्व प्रशिक्षित मॉडल अपलोड करें",
|
58 |
+
"Refresh Custom Pretraineds": "कस्टम पूर्व प्रशिक्षितों को ताज़ा करें",
|
59 |
+
"Pretrained Custom Settings": "पूर्व प्रशिक्षित कस्टम सेटिंग्स",
|
60 |
+
"The file you dropped is not a valid pretrained file. Please try again.": "जो फ़ाइल आपने छोड़ी है वह एक मान्य पूर्व प्रशिक्षित फ़ाइल नहीं है। कृपया पुनः प्रयास करें।",
|
61 |
+
"Click the refresh button to see the pretrained file in the dropdown menu.": "ड्रॉपडाउन मेनू में पूर्व प्रशिक्षित फ़ाइल को देखने के लिए रीफ़्रेश बटन पर क्लिक करें।",
|
62 |
+
"Pretrained G Path": "कस्टम पूर्व प्रशिक्षित G",
|
63 |
+
"Pretrained D Path": "कस्टम पूर्व प्रशिक्षित D",
|
64 |
+
"GPU Settings": "GPU सेटिंग्स",
|
65 |
+
"Sets advanced GPU settings, recommended for users with better GPU architecture.": "उन्नत GPU सेटिंग्स सेट करता है, बेहतर GPU आर्किटेक्चर वाले उपयोगकर्ताओं के लिए अनुशंसित।",
|
66 |
+
"GPU Custom Settings": "GPU कस्टम सेटिंग्स",
|
67 |
+
"GPU Number": "GPU संख्या",
|
68 |
+
"0 to ∞ separated by -": "0 से ∞ तक अलग से -",
|
69 |
+
"GPU Information": "GPU जानकारी",
|
70 |
+
"Pitch Guidance": "पिच मार्गदर्शन",
|
71 |
+
"By employing pitch guidance, it becomes feasible to mirror the intonation of the original voice, including its pitch. This feature is particularly valuable for singing and other scenarios where preserving the original melody or pitch pattern is essential.": "पिच मार्गदर्शन को नियोजित करके, मूल आवाज़ के स्वर को प्रतिबिंबित करना संभव हो जाता है। यह सुविधा गायन और अन्य परिदृश्य के लिए विशेष रूप से मूल्यवान है जहाँ मूल राग या पिच पैटर्न को संरक्षित करना आवश्यक है।",
|
72 |
+
"Utilize pretrained models when training your own. This approach reduces training duration and enhances overall quality.": "अपना खुद का प्रशिक्षण करते समय पूर्व प्रशिक्षित मॉडलों का उपयोग करें। यह दृष्टिकोण प्रशिक्षण की अवधि कम करता है और समग्र गुणवत्ता को बढ़ाता है।",
|
73 |
+
"Extract Features": "विशेषताएँ निकालें",
|
74 |
+
"Overtraining Detector": "ओवरट्रेनिंग डिटेक्टर",
|
75 |
+
"Detect overtraining to prevent the model from learning the training data too well and losing the ability to generalize to new data.": "मॉडल को प्रशिक्षण डेटा को बहुत अच्छी तरह से सीखने और नए डेटा को सामान्य बनाने की क्षमता खोने से रोकने के लिए ओवरट्रेनिंग का पता लगाएं।",
|
76 |
+
"Overtraining Detector Settings": "ओवरट्रेनिंग डिटेक्टर सेटिंग्स",
|
77 |
+
"Overtraining Threshold": "ओवरट्रेनिंग थ्रेशोल्ड",
|
78 |
+
"Set the maximum number of epochs you want your model to stop training if no improvement is detected.": "यदि कोई सुधार नहीं पाया जाता है, तो आप अपने मॉडल को प्रशिक्षण बंद करने के लिए अधिकतम युगों की संख्या निर्धारित करें।",
|
79 |
+
|
80 |
+
"Start Training": "प्रशिक्षण शुरू करें",
|
81 |
+
"Stop Training & Restart Applio": "प्रशिक्षण रोकें और Applio को पुनः आरंभ करें",
|
82 |
+
"Generate Index": "इंडेक्स बनाएँ",
|
83 |
+
|
84 |
+
"Export Model": "मॉडल निर्यात करें",
|
85 |
+
"The button 'Upload' is only for google colab: Uploads the exported files to the ApplioExported folder in your Google Drive.": "'अपलोड' बटन केवल गूगल कोलाब के लिए है: निर्यात की गई फ़ाइलों को आपके Google ड्राइव में ApplioExported फ़ोल्डर में अपलोड करता है।",
|
86 |
+
"Exported Pth file": "निर्यात की गई Pth फ़ाइल",
|
87 |
+
"Exported Index file": "निर्यात की गई इंडेक्स फ़ाइल",
|
88 |
+
"Select the pth file to be exported": "निर्यात की जाने वाली pth फ़ाइल का चयन करें",
|
89 |
+
"Select the index file to be exported": "निर्यात की जाने वाली इंडेक्स फ़ाइल का चयन करें",
|
90 |
+
"Upload": "अपलोड करें",
|
91 |
+
|
92 |
+
"Voice Model": "आवाज़ का मॉडल",
|
93 |
+
"Select the voice model to use for the conversion.": "रूपांतरण के लिए उपयोग करने के लिए आवाज मॉडल का चयन करें।",
|
94 |
+
"Index File": "इंडेक्स फ़ाइल",
|
95 |
+
"Select the index file to use for the conversion.": "रूपांतरण के लिए उपयोग करने के लिए इंडेक्स फ़ाइल का चयन करें।",
|
96 |
+
"Refresh": "ताज़ा करें",
|
97 |
+
"Unload Voice": "आवाज़ अनलोड करें",
|
98 |
+
|
99 |
+
"Single": "सिंगल",
|
100 |
+
"Upload Audio": "ऑडियो अपलोड करें",
|
101 |
+
"Select Audio": "ऑडियो चुनें",
|
102 |
+
"Select the audio to convert.": "रूपांतरित करने के लिए ऑडियो चुनें।",
|
103 |
+
"Advanced Settings": "उन्नत सेटिंग्स",
|
104 |
+
"Clear Outputs (Deletes all audios in assets/audios)": "(assets/audios में सभी ऑडियो को हटाता है) आउटपुट साफ़ करें",
|
105 |
+
"Custom Output Path": "कस्टम आउटपुट पथ",
|
106 |
+
"Output Path": "आउटपुट पथ",
|
107 |
+
"The path where the output audio will be saved, by default in assets/audios/output.wav": "आउटपुट ऑडियो का पथ जहाँ उसे सेव किया जाएगा, डिफ़ॉल्ट रूप से assets/audios/output.wav में",
|
108 |
+
"Split Audio": "ऑडियो को विभाजित करें",
|
109 |
+
"Split the audio into chunks for inference to obtain better results in some cases.": "कुछ स्थितियों में अधिक बेहतर परिणाम प्राप्त करने के लिए अनुमान के लिए ऑडियो को हिस्सों में विभाजित करें।",
|
110 |
+
"Autotune": "ऑटोट्यून",
|
111 |
+
"Apply a soft autotune to your inferences, recommended for singing conversions.": "अपने अनुमानों पर एक नरम ऑटोट्यून लागू करें, यह गायन रूपांतरण के लिए अनुशंसित है।",
|
112 |
+
"Clean Audio": "ऑडियो साफ़ करें",
|
113 |
+
"Clean your audio output using noise detection algorithms, recommended for speaking audios.": "शोर का पता लगाने वाले एल्गोरिदम का उपयोग करके अपने ऑडियो आउटपुट को साफ़ करें, बोलने वाले ऑडियो के लिए अनुशंसित।",
|
114 |
+
"Clean Strength": "सफाई शक्ति",
|
115 |
+
"Set the clean-up level to the audio you want, the more you increase it the more it will clean up, but it is possible that the audio will be more compressed.": "ऑडियो को साफ़ करने का स्तर निर्धारित करें, जैसे-जैसे आप इसे बढ़ाते जाएँगे यह उतना ही अधिक साफ़ करेगा, लेकिन यह संभव है कि ऑडियो और संकुचित हो सकता है।",
|
116 |
+
"Pitch": "पिच",
|
117 |
+
"Set the pitch of the audio, the higher the value, the higher the pitch.": "ऑडियो की पिच सेट करें, मान जितना अधिक होगा, पिच उतनी ही अधिक होगी।",
|
118 |
+
"Filter Radius": "फ़िल्टर त्रिज्या",
|
119 |
+
"If the number is greater than or equal to three, employing median filtering on the collected tone results has the potential to decrease respiration.": "यदि संख्या तीन से अधिक या उसके बराबर है, तो एकत्र किए गए स्वर परिणामों पर मेडियन फ़िल्टरिंग का उपयोग करके साँस लेना कम हो जाता है।",
|
120 |
+
"Search Feature Ratio": "फीचर अनुपात खोजें",
|
121 |
+
"Influence exerted by the index file; a higher value corresponds to greater influence. However, opting for lower values can help mitigate artifacts present in the audio.": "इंडेक्स फ़ाइल द्वारा प्रभावित; एक उच्च मान अधिक प्रभाव से मेल खाता है। हालाँकि, कम मूल्यों को चुनने से ऑडियो में मौजूद कलाकृतियों को कम करने में मदद मिल सकती है।",
|
122 |
+
"Volume Envelope": "आयतन आवरण",
|
123 |
+
"Substitute or blend with the volume envelope of the output. The closer the ratio is to 1, the more the output envelope is employed.": "आउटपुट के आयतन आवरण के साथ स्थानापन्न करें या सम्मिश्रित करें। अनुपात जितना 1 के करीब होगा, आउटपुट आवरण उतना ही अधिक नियोजित किया जाएगा।",
|
124 |
+
"Protect Voiceless Consonants": "वॉयसलेस व्यंजनों की सुरक्षा करें",
|
125 |
+
"Safeguard distinct consonants and breathing sounds to prevent electro-acoustic tearing and other artifacts. Pulling the parameter to its maximum value of 0.5 offers comprehensive protection. However, reducing this value might decrease the extent of protection while potentially mitigating the indexing effect.": "इलेक्ट्रो-ध्वनिक फाड़ और अन्य कलाकृतियों को रोकने के लिए अलग-अलग व्यंजन और साँस लेने की आवाज़ को सुरक्षित रखें। पैरामीटर को उसके अधिकतम मान 0.5 तक खींचना व्यापक सुरक्षा प्रदान करता है। हालाँकि, इस मान को कम करने से सुरक्षा की सीमा कम हो सकती है जबकि संभावित रूप से अनुक्रमण प्रभाव कम हो सकता है।",
|
126 |
+
"Pitch extraction algorithm": "पिच निष्कर्षण एल्गोरिदम",
|
127 |
+
"Pitch extraction algorithm to use for the audio conversion. The default algorithm is rmvpe, which is recommended for most cases.": "ऑडियो रूपांतरण के लिए उपयोग करने के लिए पिच निष्कर्षण एल्गोरिदम। डिफ़ॉल्ट एल्गोरिथम rmvpe है, जो अधिकांश मामलों के लिए अनुशंसित है।",
|
128 |
+
|
129 |
+
"Convert": "रूपांतरित करें",
|
130 |
+
"Export Audio": "ऑडियो एक्सपोर्ट करें",
|
131 |
+
|
132 |
+
"Batch": "बैच",
|
133 |
+
"Input Folder": "इनपुट फ़ोल्डर",
|
134 |
+
"Select the folder containing the audios to convert.": "रूपांतरित करने के लिए ऑडियो वाली फ़ोल्डर का चयन करें।",
|
135 |
+
"Enter input path": "इनपुट पथ दर्ज करें",
|
136 |
+
"Output Folder": "आउटपुट फ़ोल्डर",
|
137 |
+
"Select the folder where the output audios will be saved.": "फ़ोल्डर का चयन करें जहाँ आउटपुट ऑडियो को सेव किया जाएगा।",
|
138 |
+
"Enter output path": "आउटपुट पथ दर्ज करें",
|
139 |
+
|
140 |
+
"Get information about the audio": "ऑडियो के बारे में जानकारी प्राप्त करें",
|
141 |
+
|
142 |
+
"## Voice Blender": "## Voice Blender",
|
143 |
+
"Select two voice models, set your desired blend percentage, and blend them into an entirely new voice.": "दो आवाज़ के मॉडल का चयन करें, अपना वांछित मिश्रित प्रतिशत सेट करें, और उन्हें एक पूर्ण रूप से नई आवाज़ में सम्मिश्रित करें।",
|
144 |
+
"Voice Blender": "Voice Blender",
|
145 |
+
"Drag and drop your model here": "यहाँ अपना मॉडल ड्रैग एंड ड्रॉप करें",
|
146 |
+
"You can also use a custom path.": "आप कस्टम पथ का भी उपयोग कर सकते हैं।",
|
147 |
+
"Blend Ratio": "मिश्रित अनुपात",
|
148 |
+
"Adjusting the position more towards one side or the other will make the model more similar to the first or second.": "स्थिति को एक तरफ या दूसरी तरफ समायोजित करने से माॅडल पहले या दूसरे के समान हो जाएगा।",
|
149 |
+
"Fusion": "सम्मिश्रण",
|
150 |
+
|
151 |
+
"Path to Model": "मॉडल का पथ",
|
152 |
+
"Enter path to model": "मॉडल का पथ दर्ज करें",
|
153 |
+
"Model information to be placed": "मॉडल की जानकारी स्थान की जाएगी",
|
154 |
+
"Inroduce the model information": "मॉडल की जानकारी का परिचय दें।",
|
155 |
+
"The information to be placed in the model (You can leave it blank or put anything).": "मॉडल में रखी जाने वाली जानकारी (आप इसे खाली छोड़ सकते हैं या कुछ भी डाल सकते हैं)।",
|
156 |
+
"View model information": "मॉडल की जानकारी देखें",
|
157 |
+
"Introduce the model pth path": "मॉडल pth पथ का परिचय दें",
|
158 |
+
"View": "देखें",
|
159 |
+
"Model extraction": "मॉडल निष्कर्षण",
|
160 |
+
"Model conversion": "मॉडल रूपांतरण",
|
161 |
+
"Pth file": "Pth फ़ाइल",
|
162 |
+
"Output of the pth file": "Pth फ़ाइल का आउटपुट",
|
163 |
+
|
164 |
+
"# How to Report an Issue on GitHub": "# GitHub पर किसी समस्या की रिपोर्ट कैसे करें",
|
165 |
+
"1. Click on the 'Record Screen' button below to start recording the issue you are experiencing.": "1.आपके द्वारा अनुभव की जा रही समस्या को रिकॉर्ड करना शुरू करने के लिए नीचे दिए गए 'रिकॉर्ड स्क्रीन' बटन पर क्लिक करें।",
|
166 |
+
"2. Once you have finished recording the issue, click on the 'Stop Recording' button (the same button, but the label changes depending on whether you are actively recording or not).": "2. एक बार जब आप समस्या की रिकॉर्डिंग समाप्त कर लें, तो 'स्टॉप रिकॉर्डिंग' बटन पर क्लिक करें (वही बटन, लेकिन लेबल इस पर निर्भर करता है कि आप सक्रिय रूप से रिकॉर्डिंग कर रहे हैं या नहीं)।",
|
167 |
+
"3. Go to [GitHub Issues](https://github.com/IAHispano/Applio/issues) and click on the 'New Issue' button.": "3. [GitHub Issues](https://github.com/IAHispano/Applio/issues) पर जाएँ और 'New Issue' बटन पर क्लिक करें।",
|
168 |
+
"4. Complete the provided issue template, ensuring to include details as needed, and utilize the assets section to upload the recorded file from the previous step.": "4. दिए गए समस्या टेम्पलेट को पूरा करें, आवश्यकतानुसार विवरण शामिल करना सुनिश्चित करें, और पिछले चरण से रिकॉर्ड की गई फ़ाइल को अपलोड करने के लिए एसेट सेक्शन का उपयोग करें।",
|
169 |
+
|
170 |
+
"Record Screen": "स्क्रीन रिकॉर्ड करें",
|
171 |
+
"Record": "रिकॉर्ड करें",
|
172 |
+
"Stop Recording": "रिकॉर्डिंग बंद करें",
|
173 |
+
|
174 |
+
"Introduce the model .pth path": "मॉडल .pth पथ का परिचय दें",
|
175 |
+
"See Model Information": "मॉडल की जानकारी देखें",
|
176 |
+
|
177 |
+
"## Download Model": "## मॉडल डाउनलोड करें",
|
178 |
+
"Model Link": "मॉडल लिंक",
|
179 |
+
"Introduce the model link": "मॉडल लिंक का परिचय दें",
|
180 |
+
"Download Model": "मॉडल डाउनलोड करें",
|
181 |
+
"## Drop files": "## ड्रॉप फ़ाइलें",
|
182 |
+
"Drag your .pth file and .index file into this space. Drag one and then the other.": "अपनी .pth फ़ाइल और .index फ़ाइल को इस स्थान पर ड्रैग करें। एक को ड्रैग करें और फिर दूसरे को ड्रैग करें।",
|
183 |
+
"## Search Model": "## मॉडल खोजें",
|
184 |
+
"Search": "खोज",
|
185 |
+
"Introduce the model name to search.": "खोज करने के लिए मॉडल का नाम बताएं।",
|
186 |
+
"We couldn't find models by that name.": "हमें उस नाम से मॉडल नहीं मिला।",
|
187 |
+
|
188 |
+
"TTS Voices": "TTS Voices",
|
189 |
+
"Select the TTS voice to use for the conversion.": "रूपांतरण के लिए उपयोग करने के लिए TTS वॉयस का चयन करें।",
|
190 |
+
"Text to Synthesize": "Text to Synthesize",
|
191 |
+
"Enter the text to synthesize.": "संश्लेषित करने के लिए पाठ दर्ज करें।",
|
192 |
+
"Or you can upload a .txt file": "या आप एक .txt फ़ाइल अपलोड कर सकते हैं",
|
193 |
+
"Enter text to synthesize": "संश्लेषित करने के लिए पाठ दर्ज करें",
|
194 |
+
"Output Path for TTS Audio": "TTS ऑडियो के लिए आउटपुट पथ",
|
195 |
+
"Output Path for RVC Audio": "RVC ऑडियो के लिए आउटपुट पथ",
|
196 |
+
|
197 |
+
"Enable Applio integration with Discord presence": "डिस्कॉर्ड उपस्थिति के साथ Applio एकीकरण को सक्षम करें",
|
198 |
+
"It will activate the possibility of displaying the current Applio activity in Discord.": "यह डिस्कॉर्ड में वर्तमान Applio गतिविधि प्रदर्शित करने की संभावना को सक्रिय करेगा।",
|
199 |
+
"Enable Applio integration with applio.org/models using flask": "flask का उपयोग करके applio.org/models के साथ Applio एकीकरण को सक्षम करें",
|
200 |
+
"It will activate the possibility of downloading models with a click from the website.": "यह वेबसाइट से एक क्लिक से मॉडल डाउनलोड करने की संभावना को सक्रिय करेगा।",
|
201 |
+
"Enable fake GPU": "नकली GPU सक्षम करें",
|
202 |
+
"Training is currently unsupported due to the absence of a GPU. To activate the training tab, navigate to the settings tab and enable the 'Fake GPU' option.": "GPU की अनुपस्थिति के कारण प्रशिक्षण वर्तमान में असमर्थित है। प्रशिक्षण टैब को सक्रिय करने के लिए, सेटिंग टैब पर नेविगेट करें और 'नकली GPU' विकल्प को सक्षम करें।",
|
203 |
+
"Activates the train tab. However, please note that this device lacks GPU capabilities, hence training is not supported. This option is only for testing purposes. (This option will restart Applio)": "ट्रेन टैब को सक्रिय करता है। हालांकि, कृपया ध्यान दें कि इस डिवाइस में GPU क्षमताएं नहीं हैं, इसलिए प्रशिक्षण समर्थित नहीं है। यह विकल्प केवल परीक्षण उद्देश्यों के लिए है। (यह विकल्प Applio को पुनरारंभ करेगा)",
|
204 |
+
"Theme": "थीम",
|
205 |
+
"Select the theme you want to use. (Requires restarting Applio)": "वह थीम चुनें जिसका आप उपयोग करना चाहते हैं। (Applio को पुनरारंभ करने की आवश्यकता है)",
|
206 |
+
"Language": "भाषा",
|
207 |
+
"Select the language you want to use. (Requires restarting Applio)": "वह भाषा चुनें जिसका आप उपयोग करना चाहते हैं। (Applio को पुनरारंभ करने की आवश्यकता है)",
|
208 |
+
|
209 |
+
"Plugin Installer": "प्लगइन इंस्टॉलर",
|
210 |
+
"Drag your plugin.zip to install it": "इसे इंस्टॉल करने के लिए अपने plugin.zip को ड्रैग करें",
|
211 |
+
|
212 |
+
"Version Checker": "संस्करण चेकर",
|
213 |
+
"Check which version of Applio is the latest to see if you need to update.": "अद्यतित करने के लिए आपको चाहिए या नहीं यह देखने के लिए जाँच करें कि Applio का कौन सा संस्करण नवीनतम है।",
|
214 |
+
"Check for updates": "अपडेट जांचें"
|
215 |
+
}
|
assets/i18n/languages/hu_HU.json
ADDED
@@ -0,0 +1,175 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"Ultimate voice cloning tool, meticulously optimized for unrivaled power, modularity, and user-friendly experience.": "A legjobb hangklónozó eszköz, aprólékosan optimalizálva a páratlan teljesítmény, a modularitás és a felhasználóbarát élmény érdekében.",
|
3 |
+
"This section contains some extra utilities that often may be in experimental phases.": "Ez a szakasz néhány további segédprogramot tartalmaz, amelyek gyakran kísérleti fázisban vannak.",
|
4 |
+
"Output Information": "Kimeneti információk",
|
5 |
+
"The output information will be displayed here.": "A kimeneti információk itt jelennek meg.",
|
6 |
+
"Inference": "Következtetés",
|
7 |
+
"Train": "Vonat",
|
8 |
+
"Extra": "Többlet",
|
9 |
+
"Merge Audios": "Hangok egyesítése",
|
10 |
+
"Processing": "Feldolgozás",
|
11 |
+
"Audio Analyzer": "Hangelemző",
|
12 |
+
"Model Information": "Modell információk",
|
13 |
+
"Plugins": "Bővítmények",
|
14 |
+
"Download": "Letöltés",
|
15 |
+
"Report a Bug": "Hiba jelentése",
|
16 |
+
"Settings": "Beállítások",
|
17 |
+
"Preprocess": "Előfeldolgozás",
|
18 |
+
"Model Name": "Modell neve",
|
19 |
+
"Name of the new model.": "Az új modell neve.",
|
20 |
+
"Enter model name": "Adja meg a modell nevét",
|
21 |
+
"Dataset Path": "Adatkészlet elérési útja",
|
22 |
+
"Path to the dataset folder.": "Az adatkészletmappa elérési útja.",
|
23 |
+
"Refresh Datasets": "Adatkészletek frissítése",
|
24 |
+
"Dataset Creator": "Adatkészlet létrehozója",
|
25 |
+
"Dataset Name": "Adatkészlet neve",
|
26 |
+
"Name of the new dataset.": "Az új adatkészlet neve.",
|
27 |
+
"Enter dataset name": "Adja meg az adatkészlet nevét",
|
28 |
+
"Upload Audio Dataset": "Hangadatkészlet feltöltése",
|
29 |
+
"The audio file has been successfully added to the dataset. Please click the preprocess button.": "A hangfájl sikeresen hozzá lett adva az adatkészlethez. Kérem kattintson az előfeldolgozás gombra.",
|
30 |
+
"Enter dataset path": "Adja meg az adatkészlet elérési útját",
|
31 |
+
"Sampling Rate": "Mintavételi arány",
|
32 |
+
"The sampling rate of the audio files.": "Az audiofájlok mintavételi frekvenciája.",
|
33 |
+
"RVC Version": "RVC verzió",
|
34 |
+
"The RVC version of the model.": "A modell RVC verziója.",
|
35 |
+
"Preprocess Dataset": "Adatkészlet előfeldolgozása",
|
36 |
+
"Extract": "Kivonat",
|
37 |
+
"Hop Length": "Komló hossza",
|
38 |
+
"Denotes the duration it takes for the system to transition to a significant pitch change. Smaller hop lengths require more time for inference but tend to yield higher pitch accuracy.": "Azt az időtartamot jelöli, amely alatt a rendszer jelentős hangmagasság-változásra vált. A kisebb ugráshosszak több időt igényelnek a következtetéshez, de általában nagyobb hangmagasság-pontosságot eredményeznek.",
|
39 |
+
"Batch Size": "Tétel mérete",
|
40 |
+
"It's advisable to align it with the available VRAM of your GPU. A setting of 4 offers improved accuracy but slower processing, while 8 provides faster and standard results.": "Javasoljuk, hogy igazítsa a GPU rendelkezésre álló VRAM-jához. A 4-es beállítás nagyobb pontosságot, de lassabb feldolgozást biztosít, míg a 8-as gyorsabb és szabványos eredményeket biztosít.",
|
41 |
+
"Save Every Epoch": "Mentsd meg minden korszakot",
|
42 |
+
"Determine at how many epochs the model will saved at.": "Határozza meg, hogy hány korszakban menti a modellt.",
|
43 |
+
"Total Epoch": "Teljes korszak",
|
44 |
+
"Specifies the overall quantity of epochs for the model training process.": "A modell betanítási folyamatának epocháinak teljes mennyiségét adja meg.",
|
45 |
+
"Pretrained": "Előre betanított",
|
46 |
+
"Save Only Latest": "Csak a legújabbak mentése",
|
47 |
+
"Enabling this setting will result in the G and D files saving only their most recent versions, effectively conserving storage space.": "A beállítás engedélyezése azt eredményezi, hogy a G és D fájlok csak a legújabb verziójukat mentik, így hatékonyan megtakarítják a tárhelyet.",
|
48 |
+
"Save Every Weights": "Takarítson meg minden súlyt",
|
49 |
+
"This setting enables you to save the weights of the model at the conclusion of each epoch.": "Ez a beállítás lehetővé teszi a modell súlyozásának mentését az egyes korszakok végén.",
|
50 |
+
"Custom Pretrained": "Egyéni előképzett",
|
51 |
+
"Utilizing custom pretrained models can lead to superior results, as selecting the most suitable pretrained models tailored to the specific use case can significantly enhance performance.": "Az egyéni előre betanított modellek használata kiváló eredményekhez vezethet, mivel az adott használati esetre szabott legmegfelelőbb előre betanított modellek kiválasztása jelentősen javíthatja a teljesítményt.",
|
52 |
+
"Upload Pretrained Model": "Előre betanított modell feltöltése",
|
53 |
+
"Refresh Custom Pretraineds": "Egyéni előképzetek frissítése",
|
54 |
+
"Pretrained Custom Settings": "Előre betanított egyéni beállítások",
|
55 |
+
"The file you dropped is not a valid pretrained file. Please try again.": "Az eldobott fájl nem érvényes előre betanított fájl. Kérjük, próbálja újra.",
|
56 |
+
"Click the refresh button to see the pretrained file in the dropdown menu.": "Kattintson a frissítés gombra az előre betanított fájl megjelenítéséhez a legördülő menüben.",
|
57 |
+
"Pretrained G Path": "Egyéni előképzett G",
|
58 |
+
"Pretrained D Path": "Egyéni előképzett D",
|
59 |
+
"GPU Settings": "GPU-beállítások",
|
60 |
+
"Sets advanced GPU settings, recommended for users with better GPU architecture.": "Speciális GPU-beállításokat állít be, amelyek a jobb GPU-architektúrával rendelkező felhasználók számára ajánlottak.",
|
61 |
+
"GPU Custom Settings": "GPU egyéni beállítások",
|
62 |
+
"GPU Number": "GPU-szám",
|
63 |
+
"0 to ∞ separated by -": "0-tól ∞-ig - választja el",
|
64 |
+
"GPU Information": "GPU-információk",
|
65 |
+
"Pitch Guidance": "Pitch útmutatás",
|
66 |
+
"By employing pitch guidance, it becomes feasible to mirror the intonation of the original voice, including its pitch. This feature is particularly valuable for singing and other scenarios where preserving the original melody or pitch pattern is essential.": "A hangmagasság-útmutatás alkalmazásával megvalósíthatóvá válik az eredeti hang intonációjának tükrözése, beleértve annak hangmagasságát is. Ez a funkció különösen értékes énekléshez és más forgatókönyvekhez, ahol az eredeti dallam vagy hangmagasság minta megőrzése elengedhetetlen.",
|
67 |
+
"Utilize pretrained models when training your own. This approach reduces training duration and enhances overall quality.": "Használja az előre betanított modelleket a saját betanításakor. Ez a megközelítés csökkenti a képzés időtartamát és javítja az általános minőséget.",
|
68 |
+
"Extract Features": "Jellemzők kivonása",
|
69 |
+
"Start Training": "Kezdje el az edzést",
|
70 |
+
"Generate Index": "Index létrehozása",
|
71 |
+
"Voice Model": "Hangmodell",
|
72 |
+
"Select the voice model to use for the conversion.": "Válassza ki az átalakításhoz használni kívánt hangmodellt.",
|
73 |
+
"Index File": "Index fájl",
|
74 |
+
"Select the index file to use for the conversion.": "Válassza ki az átalakításhoz használni kívánt indexfájlt.",
|
75 |
+
"Refresh": "Felfrissít",
|
76 |
+
"Unload Voice": "Hang eltávolítása",
|
77 |
+
"Single": "Nőtlen",
|
78 |
+
"Upload Audio": "Hang feltöltése",
|
79 |
+
"Select Audio": "Válassza az Audio lehetőséget",
|
80 |
+
"Select the audio to convert.": "Válassza ki a konvertálni kívánt hangot.",
|
81 |
+
"Advanced Settings": "Speciális beállítások",
|
82 |
+
"Clear Outputs (Deletes all audios in assets/audios)": "Kimenetek törlése (Törli az összes hangot az eszközökből/hangokból)",
|
83 |
+
"Custom Output Path": "Egyéni kimeneti útvonal",
|
84 |
+
"Output Path": "Kimeneti útvonal",
|
85 |
+
"The path where the output audio will be saved, by default in assets/audios/output.wav": "Az elérési út, ahová a kimeneti hang mentésre kerül, alapértelmezés szerint az eszközökben / hangokban / output.wav",
|
86 |
+
"Split Audio": "Osztott hang",
|
87 |
+
"Split the audio into chunks for inference to obtain better results in some cases.": "Ossza fel a hangot darabokra a következtetéshez, hogy bizonyos esetekben jobb eredményeket érjen el.",
|
88 |
+
"Autotune": "Automatikus hangolás",
|
89 |
+
"Apply a soft autotune to your inferences, recommended for singing conversions.": "Alkalmazzon lágy automatikus hangolást a következtetésekre, ami az énekkonverziókhoz ajánlott.",
|
90 |
+
"Clean Audio": "Tiszta hangzás",
|
91 |
+
"Clean your audio output using noise detection algorithms, recommended for speaking audios.": "Tisztítsa meg a hangkimenetet zajérzékelő algoritmusokkal, amelyek a hangok beszédéhez ajánlottak.",
|
92 |
+
"Clean Strength": "Tiszta szilárdság",
|
93 |
+
"Set the clean-up level to the audio you want, the more you increase it the more it will clean up, but it is possible that the audio will be more compressed.": "Állítsa be a tisztítási szintet a kívánt hangra, minél jobban növeli, annál jobban megtisztítja, de lehetséges, hogy a hang tömörítettebb lesz.",
|
94 |
+
"Pitch": "Hangmagasság",
|
95 |
+
"Set the pitch of the audio, the higher the value, the higher the pitch.": "Állítsa be a hang hangmagasságát, minél magasabb az érték, annál magasabb a hangmagasság.",
|
96 |
+
"Filter Radius": "Szűrési sugár",
|
97 |
+
"If the number is greater than or equal to three, employing median filtering on the collected tone results has the potential to decrease respiration.": "Ha a szám nagyobb vagy egyenlő hárommal, az összegyűjtött tónuseredmények medián szűrésének alkalmazása csökkentheti a légzést.",
|
98 |
+
"Search Feature Ratio": "Keresési funkciók aránya",
|
99 |
+
"Influence exerted by the index file; a higher value corresponds to greater influence. However, opting for lower values can help mitigate artifacts present in the audio.": "Az indexfájl által gyakorolt hatás; A magasabb érték nagyobb befolyásnak felel meg. Az alacsonyabb értékek választása azonban segíthet enyhíteni a hangban jelen lévő műtermékeket.",
|
100 |
+
"Volume Envelope": "Térfogat boríték",
|
101 |
+
"Substitute or blend with the volume envelope of the output. The closer the ratio is to 1, the more the output envelope is employed.": "Helyettesítse vagy keverje össze a kimenet térfogatburkológörbéjét. Minél közelebb van az arány az 1-hez, annál nagyobb a kimeneti burkológörbe.",
|
102 |
+
"Protect Voiceless Consonants": "Zöngétlen mássalhangzók védelme",
|
103 |
+
"Safeguard distinct consonants and breathing sounds to prevent electro-acoustic tearing and other artifacts. Pulling the parameter to its maximum value of 0.5 offers comprehensive protection. However, reducing this value might decrease the extent of protection while potentially mitigating the indexing effect.": "Védje a különálló mássalhangzókat és légzési hangokat, hogy megakadályozza az elektroakusztikus szakadást és más műtermékeket. A paraméter maximális 0,5-ös értékre való lekérése átfogó védelmet nyújt. Ennek az értéknek a csökkentése azonban csökkentheti a védelem mértékét, miközben potenciálisan enyhítheti az indexelési hatást.",
|
104 |
+
"Pitch extraction algorithm": "Pitch extrakciós algoritmus",
|
105 |
+
"Pitch extraction algorithm to use for the audio conversion. The default algorithm is rmvpe, which is recommended for most cases.": "Hangmagasság-kinyerési algoritmus az audio konvertáláshoz. Az alapértelmezett algoritmus az rmvpe, amely a legtöbb esetben ajánlott.",
|
106 |
+
"Convert": "Megtérít",
|
107 |
+
"Export Audio": "Hang exportálása",
|
108 |
+
"Batch": "Halom",
|
109 |
+
"Input Folder": "Bemeneti mappa",
|
110 |
+
"Select the folder containing the audios to convert.": "Válassza ki a konvertálni kívánt hangokat tartalmazó mappát.",
|
111 |
+
"Enter input path": "Adja meg a bemeneti útvonalat",
|
112 |
+
"Output Folder": "Kimeneti mappa",
|
113 |
+
"Select the folder where the output audios will be saved.": "Válassza ki azt a mappát, ahová a kimeneti hangokat menteni kívánja.",
|
114 |
+
"Enter output path": "Adja meg a kimeneti útvonalat",
|
115 |
+
"Get information about the audio": "Információk lekérése a hangról",
|
116 |
+
"Information about the audio file": "Információ a hangfájlról",
|
117 |
+
"Waiting for information...": "Információra várva...",
|
118 |
+
"## Voice Blender": "## Hangos turmixgép",
|
119 |
+
"Select two voice models, set your desired blend percentage, and blend them into an entirely new voice.": "Válasszon ki két hangmodellt, állítsa be a kívánt keverési százalékot, és keverje össze őket egy teljesen új hangszínbe.",
|
120 |
+
"Voice Blender": "Hangos turmixgép",
|
121 |
+
"Drag and drop your model here": "Húzza ide a modellt",
|
122 |
+
"You can also use a custom path.": "Egyéni elérési utat is használhat.",
|
123 |
+
"Blend Ratio": "Keverési arány",
|
124 |
+
"Adjusting the position more towards one side or the other will make the model more similar to the first or second.": "Ha a pozíciót jobban az egyik vagy a másik oldalra állítja, a modell jobban hasonlít az elsőhöz vagy a másodikhoz.",
|
125 |
+
"Fusion": "Fúzió",
|
126 |
+
"Path to Model": "A modell elérési útja",
|
127 |
+
"Enter path to model": "Adja meg a modell elérési útját",
|
128 |
+
"Model information to be placed": "Az elhelyezendő modellinformációk",
|
129 |
+
"Inroduce the model information": "A modellinformációk bemutatása",
|
130 |
+
"The information to be placed in the model (You can leave it blank or put anything).": "A modellben elhelyezendő információk (üresen hagyhatja, vagy bármit betehet).",
|
131 |
+
"View model information": "Modellinformációk megtekintése",
|
132 |
+
"Introduce the model pth path": "A modell pth elérési útjának bemutatása",
|
133 |
+
"View": "Nézet",
|
134 |
+
"Model extraction": "Modell kinyerése",
|
135 |
+
"Model conversion": "Modell átalakítás",
|
136 |
+
"Pth file": "Pth fájl",
|
137 |
+
"Output of the pth file": "A pth fájl kimenete",
|
138 |
+
"# How to Report an Issue on GitHub": "# Hogyan jelenthet problémát a GitHubon",
|
139 |
+
"1. Click on the 'Record Screen' button below to start recording the issue you are experiencing.": "1. Kattintson az alábbi \"Felvétel képernyő\" gombra a tapasztalt probléma rögzítésének megkezdéséhez.",
|
140 |
+
"2. Once you have finished recording the issue, click on the 'Stop Recording' button (the same button, but the label changes depending on whether you are actively recording or not).": "2. Miután befejezte a probléma rögzítését, kattintson a \"Felvétel leállítása\" gombra (ugyanaz a gomb, de a címke attól függően változik, hogy aktívan rögzít-e vagy sem).",
|
141 |
+
"3. Go to [GitHub Issues](https://github.com/IAHispano/Applio/issues) and click on the 'New Issue' button.": "3. Lépjen a [GitHub-problémák](https://github.com/IAHispano/Applio/issues) oldalra, és kattintson az \"Új probléma\" gombra.",
|
142 |
+
"4. Complete the provided issue template, ensuring to include details as needed, and utilize the assets section to upload the recorded file from the previous step.": "4. Töltse ki a megadott problémasablont, ügyelve arra, hogy szükség szerint tartalmazza a részleteket, és használja az eszközök szakaszt az előző lépésből rögzített fájl feltöltéséhez.",
|
143 |
+
"Record Screen": "Felvétel képernyő",
|
144 |
+
"Record": "Rekord",
|
145 |
+
"Stop Recording": "Felvétel leállítása",
|
146 |
+
"Introduce the model .pth path": "A modell .pth elérési útjának bemutatása",
|
147 |
+
"See Model Information": "Modellinformációk megtekintése",
|
148 |
+
"## Download Model": "## Modell letöltése",
|
149 |
+
"Model Link": "Modell link",
|
150 |
+
"Introduce the model link": "A modellhivatkozás bemutatása",
|
151 |
+
"Download Model": "Modell letöltése",
|
152 |
+
"## Drop files": "## Dobja el a fájlokat",
|
153 |
+
"Drag your .pth file and .index file into this space. Drag one and then the other.": "Húzza a .pth és .index fájlt erre a helyre. Húzza az egyiket, majd a másikat.",
|
154 |
+
"TTS Voices": "TTS-hangok",
|
155 |
+
"Select the TTS voice to use for the conversion.": "Válassza ki az átalakításhoz használni kívánt TTS-hangot.",
|
156 |
+
"Text to Synthesize": "Szintetizálandó szöveg",
|
157 |
+
"Enter the text to synthesize.": "Írja be a szintetizálni kívánt szöveget.",
|
158 |
+
"Or you can upload a .txt file": "Vagy feltölthet egy .txt fájlt",
|
159 |
+
"Enter text to synthesize": "Írja be a szintetizálni kívánt szöveget",
|
160 |
+
"Output Path for TTS Audio": "A TTS Audio kimeneti útvonala",
|
161 |
+
"Output Path for RVC Audio": "Az RVC Audio kimeneti útvonala",
|
162 |
+
"Enable Applio integration with Discord presence": "Engedélyezze az Applio integrációját a Discord jelenléttel",
|
163 |
+
"It will activate the possibility of displaying the current Applio activity in Discord.": "Aktiválja az aktuális Applio tevékenység megjelenítésének lehetőségét a Discordban.",
|
164 |
+
"Enable Applio integration with applio.org/models using flask": "Az Applio és a applio.org/models integrációjának engedélyezése lombik használatával",
|
165 |
+
"It will activate the possibility of downloading models with a click from the website.": "Aktiválja a modellek letöltésének lehetőségét egy kattintással a weboldalról.",
|
166 |
+
"Theme": "Téma",
|
167 |
+
"Select the theme you want to use. (Requires restarting Applio)": "Válassza ki a használni kívánt témát. (Az Applio újraindítását igényli)",
|
168 |
+
"Language": "Nyelv",
|
169 |
+
"Select the language you want to use. (Requires restarting Applio)": "Válassza ki a használni kívánt nyelvet. (Az Applio újraindítását igényli)",
|
170 |
+
"Plugin Installer": "Bővítmény telepítő",
|
171 |
+
"Drag your plugin.zip to install it": "Húzza a plugin.zip a telepítéshez",
|
172 |
+
"Version Checker": "Verzióellenőrző",
|
173 |
+
"Check which version of Applio is the latest to see if you need to update.": "Ellenőrizze, hogy az Applio melyik verziója a legújabb, hogy lássa, frissítenie kell-e.",
|
174 |
+
"Check for updates": "Frissítések keresése"
|
175 |
+
}
|
assets/i18n/languages/id_ID.json
ADDED
@@ -0,0 +1,148 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"Ultimate voice cloning tool, meticulously optimized for unrivaled power, modularity, and user-friendly experience.": "Alat kloning suara terbaik, dioptimalkan secara cermat untuk kekuatan tak tertandingi, modularitas, dan pengalaman ramah pengguna.",
|
3 |
+
"This section contains some extra utilities that often may be in experimental phases.": "Bagian ini berisi beberapa utilitas tambahan yang mungkin sering berada dalam tahap percobaan.",
|
4 |
+
"Output Information": "informasi keluaran",
|
5 |
+
|
6 |
+
"Inference": "Inference",
|
7 |
+
"Train": "training model",
|
8 |
+
"Extra": "bonus",
|
9 |
+
"Merge Audios": "Gabungkan Audio",
|
10 |
+
"Processing": "Pengolahan",
|
11 |
+
"Audio Analyzer": "Penganalisis Audio",
|
12 |
+
"Model Information": "informasi",
|
13 |
+
"Plugins": "Plugin",
|
14 |
+
"Download": "Unduh",
|
15 |
+
"Report a Bug": "Laporkan Bug",
|
16 |
+
"Settings": "Pengaturan",
|
17 |
+
|
18 |
+
"Preprocess": "Proses awal",
|
19 |
+
"Model Name": "Nama model",
|
20 |
+
"Enter model name": "masukkan nama model",
|
21 |
+
"Dataset Path": "Jalur Kumpulan Data",
|
22 |
+
"Dataset Creator": "Pembuat Kumpulan Data/dataset",
|
23 |
+
"Dataset Name": "Nama kumpulan data",
|
24 |
+
"Enter dataset name": "Masukkan nama kumpulan data",
|
25 |
+
"Upload Audio Dataset": "Unggah audio kumpulan data",
|
26 |
+
"The audio file has been successfully added to the dataset. Please click the preprocess button.": "Berkas audio telah berhasil ditambahkan ke dataset. Silakan klik tombol praproses.",
|
27 |
+
"Enter dataset path": "Masukkan jalur kumpulan data",
|
28 |
+
"Sampling Rate": "Tingkat Pengambilan Sampel",
|
29 |
+
"RVC Version": "Versi RVC",
|
30 |
+
"Preprocess Dataset": "Kumpulan Data Praproses",
|
31 |
+
|
32 |
+
"Extract": "Ekstrak",
|
33 |
+
"Hop Length": "Panjang Lompatan",
|
34 |
+
"Batch Size": "Ukuran Batch",
|
35 |
+
"Save Every Epoch": "Simpan Setiap Epoch",
|
36 |
+
"Total Epoch": "Total Epoch",
|
37 |
+
"Pretrained": "Terlatih sebelumnya",
|
38 |
+
"Save Only Latest": "Simpan Hanya Yang Terbaru",
|
39 |
+
"Save Every Weights": "Simpan Setiap Weights/beban",
|
40 |
+
"Custom Pretrained": "Terlatih Khusus",
|
41 |
+
"Upload Pretrained Model": "Unggah Model yang Telah Dilatih sebelumnya",
|
42 |
+
"Pretrained Custom Settings": "Pengaturan Kustom yang Telah Dilatih Sebelumnya",
|
43 |
+
"The file you dropped is not a valid pretrained file. Please try again.": "File yang Anda jatuhkan bukan file terlatih yang valid. Silakan coba lagi.",
|
44 |
+
"Click the refresh button to see the pretrained file in the dropdown menu.": "Klik tombol segarkan untuk melihat file yang telah dilatih sebelumnya di menu tarik-turun.",
|
45 |
+
"Pretrained G Path": "Terlatih Khusus G",
|
46 |
+
"Pretrained D Path": "Terlatih Khusus D",
|
47 |
+
"GPU Settings": "Penggaturan GPU",
|
48 |
+
"GPU Custom Settings": "Penggaturan GPU khusus",
|
49 |
+
"GPU Number": "Angka GPU",
|
50 |
+
"0 to ∞ separated by -": "0 to ∞ dipisahkan oleh -",
|
51 |
+
"GPU Information": "Informasi GPU",
|
52 |
+
"Pitch Guidance": "Panduan Lapangan/pitch",
|
53 |
+
"Extract Features": "Ekstrak Fitur",
|
54 |
+
|
55 |
+
"Start Training": "mulai Training",
|
56 |
+
"Generate Index": "Menghasilkan Index",
|
57 |
+
|
58 |
+
"Voice Model": "Model Suara",
|
59 |
+
"Index File": "Berkas Indeks",
|
60 |
+
"Refresh": "Muat ulang",
|
61 |
+
"Unload Voice": "Bongkar Suara",
|
62 |
+
|
63 |
+
"Single": "Sendiri",
|
64 |
+
"Upload Audio": "Ungah Audio",
|
65 |
+
"Select Audio": "Pilh Audio",
|
66 |
+
"Advanced Settings": "Pengaturan lanjutan",
|
67 |
+
"Clear Outputs (Deletes all audios in assets/audios)": "Hapus Output (Menghapus semua audio di assets/audio)",
|
68 |
+
"Custom Output Path": "Kustom Jalur keluaran",
|
69 |
+
"Output Path": "Jalur keluaran",
|
70 |
+
"Split Audio": "pisah audio",
|
71 |
+
"Autotune": "Autotune",
|
72 |
+
"Pitch": "Nada",
|
73 |
+
"If >=3: apply median filtering to the harvested pitch results. The value represents the filter radius and can reduce breathiness": "If >=3: terapkan pemfilteran median pada hasil pitch yang dipanen. Nilai tersebut mewakili radius filter dan dapat mengurangi sesak napas",
|
74 |
+
"Search Feature Ratio": "Rasio Fitur Pencarian",
|
75 |
+
"Pitch extraction algorithm": "Algoritma ekstraksi nada",
|
76 |
+
"Convert": "Convert",
|
77 |
+
"Export Audio": "Export Audio",
|
78 |
+
|
79 |
+
"Batch": "Batch",
|
80 |
+
"Input Folder": "Input berkas",
|
81 |
+
"Enter input path": "Masukkan jalur masukan",
|
82 |
+
"Output Folder": "Folder Keluaran",
|
83 |
+
"Enter output path": "Masukkan jalur keluaran",
|
84 |
+
|
85 |
+
"Get information about the audio": "Dapatkan informasi tentang audio",
|
86 |
+
"Information about the audio file": "Informasi tentang file audio",
|
87 |
+
"Waiting for information...": "Menunggu informasi...",
|
88 |
+
|
89 |
+
"Model fusion": "Penggabungan model",
|
90 |
+
"Weight for Model A": "Weight untuk model A",
|
91 |
+
"Whether the model has pitch guidance": "Apakah model memiliki panduan nada",
|
92 |
+
"Model architecture version": "Versi arsitektur model",
|
93 |
+
"Path to Model A": "Jalan Menuju Model A",
|
94 |
+
"Path to Model B": "Jalan Menuju Model B",
|
95 |
+
"Path to model": "Jalan Menuju Model",
|
96 |
+
"Model information to be placed": "Informasi model yang akan ditempatkan",
|
97 |
+
"Fusion": "Fusi",
|
98 |
+
|
99 |
+
"Modify model information": "Ubah informasi model",
|
100 |
+
"Path to Model": "Jalan Menuju Model",
|
101 |
+
"Model information to be modified": "Informasi model yang akan dimodifikasi",
|
102 |
+
"Save file name": "Simpan nama file",
|
103 |
+
"Modify": "Ubah",
|
104 |
+
|
105 |
+
"View model information": "tampilkan informasi model",
|
106 |
+
"View": "tampilakan",
|
107 |
+
"Model extraction": "Ekstraksi model",
|
108 |
+
"Model conversion": "Konversi model",
|
109 |
+
"Pth file": "file Pth",
|
110 |
+
"Output of the pth file": "Keluaran dari file pth",
|
111 |
+
|
112 |
+
"# How to Report an Issue on GitHub": "# Cara Melaporkan Masalah di GitHub",
|
113 |
+
"1. Click on the 'Record Screen' button below to start recording the issue you are experiencing.": "1. Klik tombol 'Rekam Layar' di bawah untuk mulai merekam masalah yang Anda alami.",
|
114 |
+
"2. Once you have finished recording the issue, click on the 'Stop Recording' button (the same button, but the label changes depending on whether you are actively recording or not).": "2. Once you have finished recording the issue, click on the 'Stop Recording' button (the same button, but the label changes depending on whether you are actively recording or not).",
|
115 |
+
"3. Go to [GitHub Issues](https://github.com/IAHispano/Applio/issues) and click on the 'New Issue' button.": "3. pergi ke [GitHub Issues](https://github.com/IAHispano/Applio/issues) dan klik tombol 'Masalah Baru'.",
|
116 |
+
"4. Complete the provided issue template, ensuring to include details as needed, and utilize the assets section to upload the recorded file from the previous step.": "4. Lengkapi templat masalah yang disediakan, pastikan untuk menyertakan detail sesuai kebutuhan, dan manfaatkan bagian aset untuk mengunggah file rekaman dari langkah sebelumnya.",
|
117 |
+
|
118 |
+
"Record Screen": "Rekam layar",
|
119 |
+
"Record": "Rekam",
|
120 |
+
"Stop Recording": "Berhenti merekam",
|
121 |
+
|
122 |
+
"Introduce the model .pth path": "Perkenalkan jalur model .pth",
|
123 |
+
"See Model Information": "Lihat informasi model",
|
124 |
+
|
125 |
+
"## Download Model": "## Unduh Model",
|
126 |
+
"Model Link": "Tautan model",
|
127 |
+
"Introduce the model link": "Perkenalkan tautan model",
|
128 |
+
"Download Model": "Unduh Model",
|
129 |
+
"## Drop files": "## masukkan file ",
|
130 |
+
"Drag your .pth file and .index file into this space. Drag one and then the other.": "Seret file .pth dan file .index ke dalam ruang ini. Seret yang pertama, lalu yang lainnya.",
|
131 |
+
|
132 |
+
"TTS Voices": "suara TTS",
|
133 |
+
"Text to Synthesize": "Text ke disintesis",
|
134 |
+
"Or you can upload a .txt file": "Atau Anda dapat mengunggah file .txt",
|
135 |
+
"Enter text to synthesize": "Masukkan teks untuk disintesis",
|
136 |
+
"Output Path for TTS Audio": "Jalur Keluaran untuk Audio TTS",
|
137 |
+
"Output Path for RVC Audio": "Jalur Keluaran untuk Audio RVC",
|
138 |
+
|
139 |
+
"Enable Applio integration with Discord presence": "Aktifkan integrasi Applio dengan kehadiran Discord",
|
140 |
+
"Enable Applio integration with applio.org/models using flask": "Aktifkan integrasi Applio dengan applio.org/models menggunakan flask",
|
141 |
+
"Theme": "Tema (Diperlukan mulai ulang)",
|
142 |
+
|
143 |
+
"Plugin Installer": "Penginstal Plugin",
|
144 |
+
"Drag your plugin.zip to install it": "Seret plugin.zip Anda untuk menginstalnya",
|
145 |
+
|
146 |
+
"Version Checker": "Pemeriksa versi",
|
147 |
+
"Check for updates": "Periksa pembaruan"
|
148 |
+
}
|
assets/i18n/languages/it_IT.json
ADDED
@@ -0,0 +1,175 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"Ultimate voice cloning tool, meticulously optimized for unrivaled power, modularity, and user-friendly experience.": "Strumento di clonazione vocale definitivo, meticolosamente ottimizzato per una potenza, una modularità e un'esperienza user-friendly senza rivali.",
|
3 |
+
"This section contains some extra utilities that often may be in experimental phases.": "Questa sezione contiene alcune utilità aggiuntive che spesso possono essere in fase sperimentale.",
|
4 |
+
"Output Information": "Informazioni sull'output",
|
5 |
+
"The output information will be displayed here.": "Qui verranno visualizzate le informazioni sull'output.",
|
6 |
+
"Inference": "Inferenza",
|
7 |
+
"Train": "Treno",
|
8 |
+
"Extra": "Supplementare",
|
9 |
+
"Merge Audios": "Unisci audio",
|
10 |
+
"Processing": "Elaborazione",
|
11 |
+
"Audio Analyzer": "Analizzatore audio",
|
12 |
+
"Model Information": "Informazioni sul modello",
|
13 |
+
"Plugins": "Plugin",
|
14 |
+
"Download": "Scaricare",
|
15 |
+
"Report a Bug": "Segnala un bug",
|
16 |
+
"Settings": "Impostazioni",
|
17 |
+
"Preprocess": "Pre-processo",
|
18 |
+
"Model Name": "Nome del modello",
|
19 |
+
"Name of the new model.": "Nome del nuovo modello.",
|
20 |
+
"Enter model name": "Immettere il nome del modello",
|
21 |
+
"Dataset Path": "Percorso del set di dati",
|
22 |
+
"Path to the dataset folder.": "Percorso della cartella del set di dati.",
|
23 |
+
"Refresh Datasets": "Aggiornare i set di dati",
|
24 |
+
"Dataset Creator": "Creatore di set di dati",
|
25 |
+
"Dataset Name": "Nome set di dati",
|
26 |
+
"Name of the new dataset.": "Nome del nuovo set di dati.",
|
27 |
+
"Enter dataset name": "Immettere il nome del set di dati",
|
28 |
+
"Upload Audio Dataset": "Carica set di dati audio",
|
29 |
+
"The audio file has been successfully added to the dataset. Please click the preprocess button.": "Il file audio è stato aggiunto correttamente al set di dati. Fare clic sul pulsante di pre-elaborazione.",
|
30 |
+
"Enter dataset path": "Immettere il percorso del set di dati",
|
31 |
+
"Sampling Rate": "Frequenza di campionamento",
|
32 |
+
"The sampling rate of the audio files.": "La frequenza di campionamento dei file audio.",
|
33 |
+
"RVC Version": "Versione RVC",
|
34 |
+
"The RVC version of the model.": "La versione RVC del modello.",
|
35 |
+
"Preprocess Dataset": "Set di dati di pre-elaborazione",
|
36 |
+
"Extract": "Estrarre",
|
37 |
+
"Hop Length": "Lunghezza del luppolo",
|
38 |
+
"Denotes the duration it takes for the system to transition to a significant pitch change. Smaller hop lengths require more time for inference but tend to yield higher pitch accuracy.": "Indica il tempo necessario affinché il sistema passi a un cambiamento di intonazione significativo. Le lunghezze di hop più piccole richiedono più tempo per l'inferenza, ma tendono a produrre una maggiore precisione dell'intonazione.",
|
39 |
+
"Batch Size": "Dimensione del lotto",
|
40 |
+
"It's advisable to align it with the available VRAM of your GPU. A setting of 4 offers improved accuracy but slower processing, while 8 provides faster and standard results.": "Si consiglia di allinearlo con la VRAM disponibile della GPU. Un'impostazione di 4 offre una maggiore precisione ma un'elaborazione più lenta, mentre 8 fornisce risultati più rapidi e standard.",
|
41 |
+
"Save Every Epoch": "Salva ogni epoca",
|
42 |
+
"Determine at how many epochs the model will saved at.": "Determinare il numero di epoche in cui verrà salvato il modello.",
|
43 |
+
"Total Epoch": "Epoca totale",
|
44 |
+
"Specifies the overall quantity of epochs for the model training process.": "Specifica la quantità complessiva di epoche per il processo di training del modello.",
|
45 |
+
"Pretrained": "Pre-addestrato",
|
46 |
+
"Save Only Latest": "Salva solo le ultime notizie",
|
47 |
+
"Enabling this setting will result in the G and D files saving only their most recent versions, effectively conserving storage space.": "Abilitando questa impostazione, i file G e D salveranno solo le versioni più recenti, risparmiando spazio di archiviazione.",
|
48 |
+
"Save Every Weights": "Risparmia ogni peso",
|
49 |
+
"This setting enables you to save the weights of the model at the conclusion of each epoch.": "Questa impostazione consente di salvare i pesi del modello alla fine di ogni epoca.",
|
50 |
+
"Custom Pretrained": "Pre-addestrato personalizzato",
|
51 |
+
"Utilizing custom pretrained models can lead to superior results, as selecting the most suitable pretrained models tailored to the specific use case can significantly enhance performance.": "L'utilizzo di modelli pre-addestrati personalizzati può portare a risultati superiori, poiché la selezione dei modelli pre-addestrati più adatti al caso d'uso specifico può migliorare significativamente le prestazioni.",
|
52 |
+
"Upload Pretrained Model": "Carica modello pre-addestrato",
|
53 |
+
"Refresh Custom Pretraineds": "Aggiornare i pre-addestrati personalizzati",
|
54 |
+
"Pretrained Custom Settings": "Impostazioni personalizzate pre-addestrate",
|
55 |
+
"The file you dropped is not a valid pretrained file. Please try again.": "Il file eliminato non è un file pre-addestrato valido. Si prega di riprovare.",
|
56 |
+
"Click the refresh button to see the pretrained file in the dropdown menu.": "Fare clic sul pulsante Aggiorna per visualizzare il file pre-addestrato nel menu a discesa.",
|
57 |
+
"Pretrained G Path": "G preaddestrato personalizzato",
|
58 |
+
"Pretrained D Path": "D pre-addestrato personalizzato",
|
59 |
+
"GPU Settings": "Impostazioni GPU",
|
60 |
+
"Sets advanced GPU settings, recommended for users with better GPU architecture.": "Imposta le impostazioni avanzate della GPU, consigliate per gli utenti con una migliore architettura GPU.",
|
61 |
+
"GPU Custom Settings": "Impostazioni personalizzate GPU",
|
62 |
+
"GPU Number": "Numero GPU",
|
63 |
+
"0 to ∞ separated by -": "Da 0 a ∞ separati da -",
|
64 |
+
"GPU Information": "Informazioni sulla GPU",
|
65 |
+
"Pitch Guidance": "Guida al passo",
|
66 |
+
"By employing pitch guidance, it becomes feasible to mirror the intonation of the original voice, including its pitch. This feature is particularly valuable for singing and other scenarios where preserving the original melody or pitch pattern is essential.": "Utilizzando la guida dell'intonazione, diventa possibile rispecchiare l'intonazione della voce originale, compresa la sua altezza. Questa funzione è particolarmente utile per il canto e altri scenari in cui è essenziale preservare la melodia o il modello di intonazione originale.",
|
67 |
+
"Utilize pretrained models when training your own. This approach reduces training duration and enhances overall quality.": "Utilizza modelli pre-addestrati quando addestri i tuoi. Questo approccio riduce la durata della formazione e migliora la qualità complessiva.",
|
68 |
+
"Extract Features": "Estrai feature",
|
69 |
+
"Start Training": "Inizia la formazione",
|
70 |
+
"Generate Index": "Genera indice",
|
71 |
+
"Voice Model": "Modello vocale",
|
72 |
+
"Select the voice model to use for the conversion.": "Selezionare il modello vocale da utilizzare per la conversione.",
|
73 |
+
"Index File": "File di indice",
|
74 |
+
"Select the index file to use for the conversion.": "Selezionare il file di indice da utilizzare per la conversione.",
|
75 |
+
"Refresh": "Aggiornare",
|
76 |
+
"Unload Voice": "Scarica voce",
|
77 |
+
"Single": "Singolo",
|
78 |
+
"Upload Audio": "Carica audio",
|
79 |
+
"Select Audio": "Seleziona Audio",
|
80 |
+
"Select the audio to convert.": "Seleziona l'audio da convertire.",
|
81 |
+
"Advanced Settings": "Impostazioni avanzate",
|
82 |
+
"Clear Outputs (Deletes all audios in assets/audios)": "Cancella output (elimina tutti gli audio nelle risorse/audio)",
|
83 |
+
"Custom Output Path": "Percorso di output personalizzato",
|
84 |
+
"Output Path": "Percorso di output",
|
85 |
+
"The path where the output audio will be saved, by default in assets/audios/output.wav": "Il percorso in cui verrà salvato l'audio in uscita, per impostazione predefinita in assets/audios/output.wav",
|
86 |
+
"Split Audio": "Dividere l'audio",
|
87 |
+
"Split the audio into chunks for inference to obtain better results in some cases.": "Dividi l'audio in blocchi per l'inferenza per ottenere risultati migliori in alcuni casi.",
|
88 |
+
"Autotune": "Sintonizzazione automatica",
|
89 |
+
"Apply a soft autotune to your inferences, recommended for singing conversions.": "Applica un soft autotune alle tue inferenze, consigliato per le conversioni di canto.",
|
90 |
+
"Clean Audio": "Audio pulito",
|
91 |
+
"Clean your audio output using noise detection algorithms, recommended for speaking audios.": "Pulisci l'uscita audio utilizzando algoritmi di rilevamento del rumore, consigliati per l'audio parlato.",
|
92 |
+
"Clean Strength": "Forza pulita",
|
93 |
+
"Set the clean-up level to the audio you want, the more you increase it the more it will clean up, but it is possible that the audio will be more compressed.": "Imposta il livello di pulizia sull'audio che desideri, più lo aumenti più si pulirà, ma è possibile che l'audio sia più compresso.",
|
94 |
+
"Pitch": "Pece",
|
95 |
+
"Set the pitch of the audio, the higher the value, the higher the pitch.": "Imposta il tono dell'audio, più alto è il valore, più alto è il tono.",
|
96 |
+
"Filter Radius": "Raggio del filtro",
|
97 |
+
"If the number is greater than or equal to three, employing median filtering on the collected tone results has the potential to decrease respiration.": "Se il numero è maggiore o uguale a tre, l'impiego del filtraggio mediano sui risultati del tono raccolto ha il potenziale per ridurre la respirazione.",
|
98 |
+
"Search Feature Ratio": "Rapporto feature di ricerca",
|
99 |
+
"Influence exerted by the index file; a higher value corresponds to greater influence. However, opting for lower values can help mitigate artifacts present in the audio.": "Influenza esercitata dal file indice; Un valore più alto corrisponde a una maggiore influenza. Tuttavia, optare per valori più bassi può aiutare a mitigare gli artefatti presenti nell'audio.",
|
100 |
+
"Volume Envelope": "Inviluppo del volume",
|
101 |
+
"Substitute or blend with the volume envelope of the output. The closer the ratio is to 1, the more the output envelope is employed.": "Sostituite o miscelate con l'inviluppo del volume dell'output. Più il rapporto è vicino a 1, più viene impiegato l'inviluppo di uscita.",
|
102 |
+
"Protect Voiceless Consonants": "Proteggi le consonanti sorde",
|
103 |
+
"Safeguard distinct consonants and breathing sounds to prevent electro-acoustic tearing and other artifacts. Pulling the parameter to its maximum value of 0.5 offers comprehensive protection. However, reducing this value might decrease the extent of protection while potentially mitigating the indexing effect.": "Salvaguarda le consonanti distinte e i suoni respiratori per prevenire lacerazioni elettroacustiche e altri artefatti. Portando il parametro al valore massimo di 0,5 si ottiene una protezione completa. Tuttavia, la riduzione di questo valore potrebbe ridurre l'estensione della protezione, riducendo al contempo l'effetto di indicizzazione.",
|
104 |
+
"Pitch extraction algorithm": "Algoritmo di estrazione del passo",
|
105 |
+
"Pitch extraction algorithm to use for the audio conversion. The default algorithm is rmvpe, which is recommended for most cases.": "Algoritmo di estrazione dell'intonazione da utilizzare per la conversione audio. L'algoritmo predefinito è rmvpe, consigliato per la maggior parte dei casi.",
|
106 |
+
"Convert": "Convertire",
|
107 |
+
"Export Audio": "Esporta audio",
|
108 |
+
"Batch": "Lotto",
|
109 |
+
"Input Folder": "Cartella di input",
|
110 |
+
"Select the folder containing the audios to convert.": "Seleziona la cartella contenente gli audio da convertire.",
|
111 |
+
"Enter input path": "Immettere il percorso di input",
|
112 |
+
"Output Folder": "Cartella di output",
|
113 |
+
"Select the folder where the output audios will be saved.": "Seleziona la cartella in cui verranno salvati gli audio in uscita.",
|
114 |
+
"Enter output path": "Immettere il percorso di output",
|
115 |
+
"Get information about the audio": "Ottenere informazioni sull'audio",
|
116 |
+
"Information about the audio file": "Informazioni sul file audio",
|
117 |
+
"Waiting for information...": "In attesa di informazioni...",
|
118 |
+
"## Voice Blender": "## Frullatore vocale",
|
119 |
+
"Select two voice models, set your desired blend percentage, and blend them into an entirely new voice.": "Seleziona due modelli vocali, imposta la percentuale di fusione desiderata e uniscili in una voce completamente nuova.",
|
120 |
+
"Voice Blender": "Frullatore vocale",
|
121 |
+
"Drag and drop your model here": "Trascina e rilascia qui il tuo modello",
|
122 |
+
"You can also use a custom path.": "È anche possibile utilizzare un percorso personalizzato.",
|
123 |
+
"Blend Ratio": "Rapporto di fusione",
|
124 |
+
"Adjusting the position more towards one side or the other will make the model more similar to the first or second.": "Regolando la posizione più verso un lato o l'altro si renderà il modello più simile al primo o al secondo.",
|
125 |
+
"Fusion": "Fusione",
|
126 |
+
"Path to Model": "Percorso verso il modello",
|
127 |
+
"Enter path to model": "Immettere il percorso per il modello",
|
128 |
+
"Model information to be placed": "Informazioni sul modello da posizionare",
|
129 |
+
"Inroduce the model information": "Introdurre le informazioni sul modello",
|
130 |
+
"The information to be placed in the model (You can leave it blank or put anything).": "Le informazioni da inserire nel modello (puoi lasciarle vuote o inserire qualsiasi cosa).",
|
131 |
+
"View model information": "Visualizzare le informazioni sul modello",
|
132 |
+
"Introduce the model pth path": "Introdurre il percorso pth del modello",
|
133 |
+
"View": "Vista",
|
134 |
+
"Model extraction": "Estrazione del modello",
|
135 |
+
"Model conversion": "Conversione del modello",
|
136 |
+
"Pth file": "File Pth",
|
137 |
+
"Output of the pth file": "Output del file pth",
|
138 |
+
"# How to Report an Issue on GitHub": "# Come segnalare un problema su GitHub",
|
139 |
+
"1. Click on the 'Record Screen' button below to start recording the issue you are experiencing.": "1. Fare clic sul pulsante \"Registra schermo\" in basso per avviare la registrazione del problema riscontrato.",
|
140 |
+
"2. Once you have finished recording the issue, click on the 'Stop Recording' button (the same button, but the label changes depending on whether you are actively recording or not).": "2. Una volta terminata la registrazione del problema, fai clic sul pulsante \"Interrompi registrazione\" (lo stesso pulsante, ma l'etichetta cambia a seconda che tu stia registrando attivamente o meno).",
|
141 |
+
"3. Go to [GitHub Issues](https://github.com/IAHispano/Applio/issues) and click on the 'New Issue' button.": "3. Vai su [GitHub Issues](https://github.com/IAHispano/Applio/issues) e fai clic sul pulsante \"Nuovo problema\".",
|
142 |
+
"4. Complete the provided issue template, ensuring to include details as needed, and utilize the assets section to upload the recorded file from the previous step.": "4. Completa il modello di problema fornito, assicurandoti di includere i dettagli necessari e utilizza la sezione delle risorse per caricare il file registrato dal passaggio precedente.",
|
143 |
+
"Record Screen": "Registra schermo",
|
144 |
+
"Record": "Registrazione",
|
145 |
+
"Stop Recording": "Interrompi registrazione",
|
146 |
+
"Introduce the model .pth path": "Introdurre il percorso .pth del modello",
|
147 |
+
"See Model Information": "Vedere le informazioni sul modello",
|
148 |
+
"## Download Model": "## Scarica il modello",
|
149 |
+
"Model Link": "Collegamento al modello",
|
150 |
+
"Introduce the model link": "Introdurre il collegamento al modello",
|
151 |
+
"Download Model": "Scarica il modello",
|
152 |
+
"## Drop files": "## Trascina i file",
|
153 |
+
"Drag your .pth file and .index file into this space. Drag one and then the other.": "Trascina il file .pth e il file .index in questo spazio. Trascina uno e poi l'altro.",
|
154 |
+
"TTS Voices": "Voci TTS",
|
155 |
+
"Select the TTS voice to use for the conversion.": "Selezionare la voce TTS da utilizzare per la conversione.",
|
156 |
+
"Text to Synthesize": "Testo da sintetizzare",
|
157 |
+
"Enter the text to synthesize.": "Immettere il testo da sintetizzare.",
|
158 |
+
"Or you can upload a .txt file": "In alternativa, è possibile caricare un file .txt",
|
159 |
+
"Enter text to synthesize": "Immettere il testo da sintetizzare",
|
160 |
+
"Output Path for TTS Audio": "Percorso di uscita per l'audio TTS",
|
161 |
+
"Output Path for RVC Audio": "Percorso di uscita per l'audio RVC",
|
162 |
+
"Enable Applio integration with Discord presence": "Abilita l'integrazione di Applio con la presenza di Discord",
|
163 |
+
"It will activate the possibility of displaying the current Applio activity in Discord.": "Attiverà la possibilità di visualizzare l'attuale attività di Applio in Discord.",
|
164 |
+
"Enable Applio integration with applio.org/models using flask": "Abilita l'integrazione di Applio con applio.org/models utilizzando il pallone",
|
165 |
+
"It will activate the possibility of downloading models with a click from the website.": "Attiverà la possibilità di scaricare i modelli con un click dal sito web.",
|
166 |
+
"Theme": "Tema",
|
167 |
+
"Select the theme you want to use. (Requires restarting Applio)": "Selezionare il tema che si desidera utilizzare. (Richiede il riavvio di Applio)",
|
168 |
+
"Language": "Lingua",
|
169 |
+
"Select the language you want to use. (Requires restarting Applio)": "Selezionare la lingua che si desidera utilizzare. (Richiede il riavvio di Applio)",
|
170 |
+
"Plugin Installer": "Programma di installazione del plug-in",
|
171 |
+
"Drag your plugin.zip to install it": "Trascina il plugin.zip per installarlo",
|
172 |
+
"Version Checker": "Controllo della versione",
|
173 |
+
"Check which version of Applio is the latest to see if you need to update.": "Controlla quale versione di Applio è l'ultima per vedere se è necessario eseguire l'aggiornamento.",
|
174 |
+
"Check for updates": "Controlla gli aggiornamenti"
|
175 |
+
}
|
assets/i18n/languages/ja_JA.json
ADDED
@@ -0,0 +1,175 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"Ultimate voice cloning tool, meticulously optimized for unrivaled power, modularity, and user-friendly experience.": "他の追随を許さないパワー、モジュール性、そしてユーザーフレンドリーな操作性を実現するために綿密に最適化された究極のボイスクローニングツール。",
|
3 |
+
"This section contains some extra utilities that often may be in experimental phases.": "このセクションには、多くの場合、実験段階にある可能性のあるいくつかの追加のユーティリティが含まれています。",
|
4 |
+
"Output Information": "出力情報",
|
5 |
+
"The output information will be displayed here.": "出力情報がここに表示されます。",
|
6 |
+
"Inference": "推論",
|
7 |
+
"Train": "学習",
|
8 |
+
"Extra": "おまけ",
|
9 |
+
"Merge Audios": "オーディオをマージ (Merge Audios)",
|
10 |
+
"Processing": "加工",
|
11 |
+
"Audio Analyzer": "オーディオアナライザ",
|
12 |
+
"Model Information": "モデル情報",
|
13 |
+
"Plugins": "プラグイン",
|
14 |
+
"Download": "ダウンロード",
|
15 |
+
"Report a Bug": "バグを報告する",
|
16 |
+
"Settings": "設定",
|
17 |
+
"Preprocess": "前処理",
|
18 |
+
"Model Name": "モデル名",
|
19 |
+
"Name of the new model.": "新しいモデルの名前。",
|
20 |
+
"Enter model name": "モデル名を入力",
|
21 |
+
"Dataset Path": "データセット パス",
|
22 |
+
"Path to the dataset folder.": "データセット フォルダーへのパス。",
|
23 |
+
"Refresh Datasets": "データセットの更新",
|
24 |
+
"Dataset Creator": "データセットクリエーター",
|
25 |
+
"Dataset Name": "データセット名",
|
26 |
+
"Name of the new dataset.": "新しいデータセットの名前。",
|
27 |
+
"Enter dataset name": "データセット名を入力",
|
28 |
+
"Upload Audio Dataset": "オーディオデータセットのアップロード",
|
29 |
+
"The audio file has been successfully added to the dataset. Please click the preprocess button.": "オーディオ ファイルがデータセットに正常に追加されました。前処理ボタンをクリックしてください。",
|
30 |
+
"Enter dataset path": "データセットのパスを入力",
|
31 |
+
"Sampling Rate": "サンプリングレート",
|
32 |
+
"The sampling rate of the audio files.": "オーディオファイルのサンプリングレートです。",
|
33 |
+
"RVC Version": "RVC バージョン",
|
34 |
+
"The RVC version of the model.": "モデルの RVC バージョン。",
|
35 |
+
"Preprocess Dataset": "データセットの前処理",
|
36 |
+
"Extract": "抽出",
|
37 |
+
"Hop Length": "ホップ長(Hop Length)",
|
38 |
+
"Denotes the duration it takes for the system to transition to a significant pitch change. Smaller hop lengths require more time for inference but tend to yield higher pitch accuracy.": "システムがピッチを大きく変化させるまでの時間を示します。ホップ長が短いほど、推論に時間がかかりますが、ピッチの精度は高くなる傾向があります。",
|
39 |
+
"Batch Size": "バッチサイズ",
|
40 |
+
"It's advisable to align it with the available VRAM of your GPU. A setting of 4 offers improved accuracy but slower processing, while 8 provides faster and standard results.": "GPUの使用可能なVRAMに合わせることをお勧めします。4 に設定すると精度は向上しますが処理は遅くなり、8 に設定すると、より高速で標準的な結果が得られます。",
|
41 |
+
"Save Every Epoch": "すべてのエポックを保存",
|
42 |
+
"Determine at how many epochs the model will saved at.": "モデルが何エポックごとに保存されるかを指定します。",
|
43 |
+
"Total Epoch": "総エポック",
|
44 |
+
"Specifies the overall quantity of epochs for the model training process.": "総エポック数を指定します。",
|
45 |
+
"Pretrained": "事前学習済みモデル",
|
46 |
+
"Save Only Latest": "最新のみ保存",
|
47 |
+
"Enabling this setting will result in the G and D files saving only their most recent versions, effectively conserving storage space.": "この設定を有効にすると、GとDファイルの最新バージョンのみを保存し、ストレージ容量を効果的に節約します。",
|
48 |
+
"Save Every Weights": "すべてのウェイトを保存(Save Every Weights)",
|
49 |
+
"This setting enables you to save the weights of the model at the conclusion of each epoch.": "この設定により、各エポックの終了時にモデルの重みを保存できます。",
|
50 |
+
"Custom Pretrained": "カスタム事前学習済みモデル",
|
51 |
+
"Utilizing custom pretrained models can lead to superior results, as selecting the most suitable pretrained models tailored to the specific use case can significantly enhance performance.": "カスタム事前学習済みモデルを利用することで、優れた結果を得ることができます。特定のユースケースに合わせて最も適した事前学習済みモデルを選択することで、パフォーマンスが大幅に向上する可能性があります。",
|
52 |
+
"Upload Pretrained Model": "事前学習済みモデルのアップロード",
|
53 |
+
"Refresh Custom Pretraineds": "カスタム事前学習済みモデルの更新",
|
54 |
+
"Pretrained Custom Settings": "事前学習済みモデルのカスタム設定",
|
55 |
+
"The file you dropped is not a valid pretrained file. Please try again.": "ドロップしたファイルは有効な事前学習済みモデルファイルではありません。もう一度やり直してください。",
|
56 |
+
"Click the refresh button to see the pretrained file in the dropdown menu.": "更新ボタンをクリックすると、ドロップダウンメニューに事前学習済みモデルが表示されます。",
|
57 |
+
"Pretrained G Path": "カスタム事前学習済みモデル G",
|
58 |
+
"Pretrained D Path": "カスタム事前学習済みモデル D",
|
59 |
+
"GPU Settings": "GPU 設定",
|
60 |
+
"Sets advanced GPU settings, recommended for users with better GPU architecture.": "GPUアーキテクチャが優れているユーザーに推奨される、高度なGPU設定を設定します。",
|
61 |
+
"GPU Custom Settings": "GPU カスタム設定",
|
62 |
+
"GPU Number": "GPU番号",
|
63 |
+
"0 to ∞ separated by -": "範囲は0 から ∞ で、-で区切られます。",
|
64 |
+
"GPU Information": "GPU 情報",
|
65 |
+
"Pitch Guidance": "ピッチガイダンス",
|
66 |
+
"By employing pitch guidance, it becomes feasible to mirror the intonation of the original voice, including its pitch. This feature is particularly valuable for singing and other scenarios where preserving the original melody or pitch pattern is essential.": "ピッチガイダンスを採用することで、ピッチを含め、元の声のイントネーションを反映させることが可能になります。この機能は、歌唱など、オリジナルのメロディーやピッチパターンを保持することが不可欠な場面で特に有用です。",
|
67 |
+
"Utilize pretrained models when training your own. This approach reduces training duration and enhances overall quality.": "独自のトレーニングを行う場合は、事前学習済みモデルを利用します。このアプローチにより、学習時間が短縮され、全体的な品質が向上します。",
|
68 |
+
"Extract Features": "特徴量の抽出",
|
69 |
+
"Start Training": "トレーニングを開始",
|
70 |
+
"Generate Index": "インデックスの生成",
|
71 |
+
"Voice Model": "音声モデル",
|
72 |
+
"Select the voice model to use for the conversion.": "変換に使用する音声モデルを選択します。",
|
73 |
+
"Index File": "インデックス ファイル",
|
74 |
+
"Select the index file to use for the conversion.": "変換に使用するインデックスファイルを選択します。",
|
75 |
+
"Refresh": "リフレッシュ",
|
76 |
+
"Unload Voice": "モデルのアンロード",
|
77 |
+
"Single": "シングル",
|
78 |
+
"Upload Audio": "オーディオのアップロード",
|
79 |
+
"Select Audio": "オーディオを選択",
|
80 |
+
"Select the audio to convert.": "変換するオーディオを選択します。",
|
81 |
+
"Advanced Settings": "詳細設定",
|
82 |
+
"Clear Outputs (Deletes all audios in assets/audios)": "Clear Outputs (アセット/オーディオ内のすべてのオーディオを削除します)",
|
83 |
+
"Custom Output Path": "カスタム出力パス",
|
84 |
+
"Output Path": "出力パス",
|
85 |
+
"The path where the output audio will be saved, by default in assets/audios/output.wav": "出力オーディオが保存されるパス (デフォルトでは assets/audios/output.wav",
|
86 |
+
"Split Audio": "オーディオの分割",
|
87 |
+
"Split the audio into chunks for inference to obtain better results in some cases.": "音声をチャンクに分割して推論すると、より良い結果が得られる場合があります。",
|
88 |
+
"Autotune": "オートチューン",
|
89 |
+
"Apply a soft autotune to your inferences, recommended for singing conversions.": "推論にソフトオートチューンを適用します。歌の変換に推奨されます。",
|
90 |
+
"Clean Audio": "クリーンオーディオ",
|
91 |
+
"Clean your audio output using noise detection algorithms, recommended for speaking audios.": "音声を話すのに推奨されるノイズ検出アルゴリズムを使用して、音声出力をクリーンアップします。",
|
92 |
+
"Clean Strength": "クリーンな強さ",
|
93 |
+
"Set the clean-up level to the audio you want, the more you increase it the more it will clean up, but it is possible that the audio will be more compressed.": "クリーンアップレベルを必要なオーディオに設定すると、上げれば上げるほどクリーンアップされますが、オーディオがより圧縮される可能性があります。",
|
94 |
+
"Pitch": "ピッチ",
|
95 |
+
"Set the pitch of the audio, the higher the value, the higher the pitch.": "オーディオのピッチを設定し、値が大きいほどピッチが高くなります。",
|
96 |
+
"Filter Radius": "フィルタ半径(Filter Radius)",
|
97 |
+
"If the number is greater than or equal to three, employing median filtering on the collected tone results has the potential to decrease respiration.": "数値が 3 以上の場合、収集されたトーン結��に中央値フィルタリングを使用すると、呼吸が減少する可能性があります。",
|
98 |
+
"Search Feature Ratio": "特徴量検索比率",
|
99 |
+
"Influence exerted by the index file; a higher value corresponds to greater influence. However, opting for lower values can help mitigate artifacts present in the audio.": "インデックスファイルによって及ぼされる影響。値が大きいほど、インデックスの影響が大きくなります。ただし、低い値を選択すると、オーディオに存在するアーティファクトを軽減できます。",
|
100 |
+
"Volume Envelope": "ボリュームエンベロープ",
|
101 |
+
"Substitute or blend with the volume envelope of the output. The closer the ratio is to 1, the more the output envelope is employed.": "出力のボリュームエンベロープで代用またはブレンドします。比率が 1 に近づくほど、出力エンベロープが採用されます。",
|
102 |
+
"Protect Voiceless Consonants": "無声子音の保護",
|
103 |
+
"Safeguard distinct consonants and breathing sounds to prevent electro-acoustic tearing and other artifacts. Pulling the parameter to its maximum value of 0.5 offers comprehensive protection. However, reducing this value might decrease the extent of protection while potentially mitigating the indexing effect.": "明瞭な子音と呼吸音を保護し、電気音響の引き裂きやその他のアーチファクトを防ぎます。パラメータを最大値の 0.5 までプルすると、包括的な保護が提供されます。ただし、この値を小さくすると、インデックス作成の影響が軽減される可能性がある一方で、保護の範囲が狭くなる可能性があります。",
|
104 |
+
"Pitch extraction algorithm": "ピッチ抽出アルゴリズム",
|
105 |
+
"Pitch extraction algorithm to use for the audio conversion. The default algorithm is rmvpe, which is recommended for most cases.": "オーディオ変換に使用するピッチ抽出アルゴリズム。デフォルトのアルゴリズムは rmvpe で、ほとんどの場合に推奨されます。",
|
106 |
+
"Convert": "コンバート",
|
107 |
+
"Export Audio": "オーディオのエクスポート",
|
108 |
+
"Batch": "バッチ",
|
109 |
+
"Input Folder": "入力フォルダ",
|
110 |
+
"Select the folder containing the audios to convert.": "変換するオーディオを含むフォルダを選択します。",
|
111 |
+
"Enter input path": "入力パスを入力",
|
112 |
+
"Output Folder": "出力フォルダ",
|
113 |
+
"Select the folder where the output audios will be saved.": "出力オーディオを保存するフォルダを選択します。",
|
114 |
+
"Enter output path": "出力パスを入力",
|
115 |
+
"Get information about the audio": "オーディオに関する情報を取得する",
|
116 |
+
"Information about the audio file": "オーディオファイルに関する情報",
|
117 |
+
"Waiting for information...": "情報を待っています...",
|
118 |
+
"## Voice Blender": "## モデルマージ",
|
119 |
+
"Select two voice models, set your desired blend percentage, and blend them into an entirely new voice.": "2つの音声モデルを選択し、希望のブレンド率を設定して、まったく新しい音声モデルにマージします。",
|
120 |
+
"Voice Blender": "モデルマージ",
|
121 |
+
"Drag and drop your model here": "ここにモデルをドラッグ&ドロップします",
|
122 |
+
"You can also use a custom path.": "カスタムパスを使用することもできます。",
|
123 |
+
"Blend Ratio": "ブレンド比(Blend Ratio)",
|
124 |
+
"Adjusting the position more towards one side or the other will make the model more similar to the first or second.": "位置をどちらか一方に調整すると、モデルが最初または2番目に近づきます。",
|
125 |
+
"Fusion": "マージ",
|
126 |
+
"Path to Model": "モデルへのパス",
|
127 |
+
"Enter path to model": "モデルへのパスを入力",
|
128 |
+
"Model information to be placed": "配置するモデル情報",
|
129 |
+
"Inroduce the model information": "モデル情報の取得",
|
130 |
+
"The information to be placed in the model (You can leave it blank or put anything).": "モデルに配置する情報(空白のままでも、何でも入力できます)。",
|
131 |
+
"View model information": "モデル情報の表示",
|
132 |
+
"Introduce the model pth path": ".pthのパスを指定してください。",
|
133 |
+
"View": "表示",
|
134 |
+
"Model extraction": "モデルの抽出",
|
135 |
+
"Model conversion": "モデル変換",
|
136 |
+
"Pth file": "Pth ファイル",
|
137 |
+
"Output of the pth file": "p番目のファイルの出力",
|
138 |
+
"# How to Report an Issue on GitHub": "# GitHub で問題を報告する方法",
|
139 |
+
"1. Click on the 'Record Screen' button below to start recording the issue you are experiencing.": "1.下の[画面の記録]ボタンをクリックして、発生している問題の記録を開始します。",
|
140 |
+
"2. Once you have finished recording the issue, click on the 'Stop Recording' button (the same button, but the label changes depending on whether you are actively recording or not).": "2.問題の記録が終了したら、[記録の停止]ボタンをクリックします(同じボタンですが、アクティブに記録しているかどうかによってラベルが変わります)。",
|
141 |
+
"3. Go to [GitHub Issues](https://github.com/IAHispano/Applio/issues) and click on the 'New Issue' button.": "3. [GitHub Issues](https://github.com/IAHispano/Applio/issues)に移動し、[New Issue]ボタンをクリックします。",
|
142 |
+
"4. Complete the provided issue template, ensuring to include details as needed, and utilize the assets section to upload the recorded file from the previous step.": "4. 提供された課題テンプレートに記入し、必要に応じて詳細を含め、アセット セクションを使用して前の手順で記録したファイルをアップロードします。",
|
143 |
+
"Record Screen": "録画画面",
|
144 |
+
"Record": "記録",
|
145 |
+
"Stop Recording": "記録の停止",
|
146 |
+
"Introduce the model .pth path": "モデルの .pth パスを導入する",
|
147 |
+
"See Model Information": "「モデル情報」を参照",
|
148 |
+
"## Download Model": "## モデルのダウンロード",
|
149 |
+
"Model Link": "モデルリンク",
|
150 |
+
"Introduce the model link": "モデルリンクの紹介",
|
151 |
+
"Download Model": "モデルのダウンロード",
|
152 |
+
"## Drop files": "## ファイルのドロップ",
|
153 |
+
"Drag your .pth file and .index file into this space. Drag one and then the other.": ".pth ファイルと .index ファイルをこのスペースにドラッグします。一方をドラッグしてから、もう一方をドラッグします。",
|
154 |
+
"TTS Voices": "TTS ボイス",
|
155 |
+
"Select the TTS voice to use for the conversion.": "変換に使用する TTS 音声を選択します。",
|
156 |
+
"Text to Synthesize": "合成するテキスト",
|
157 |
+
"Enter the text to synthesize.": "合成するテキストを入力します。",
|
158 |
+
"Or you can upload a .txt file": "または、.txtファイルをアップロードすることもできます",
|
159 |
+
"Enter text to synthesize": "合成するテキストを入力する",
|
160 |
+
"Output Path for TTS Audio": "TTSオーディオの出力パス",
|
161 |
+
"Output Path for RVC Audio": "RVCオーディオの出力パス",
|
162 |
+
"Enable Applio integration with Discord presence": "Applio と Discord のプレゼンスの統合を有効にする",
|
163 |
+
"It will activate the possibility of displaying the current Applio activity in Discord.": "これにより、Discordで現在のApplioアクティビティを表示する可能性がアクティブになります。",
|
164 |
+
"Enable Applio integration with applio.org/models using flask": "フラスコを使用して Applio と applio.org/models の統合を有効にする",
|
165 |
+
"It will activate the possibility of downloading models with a click from the website.": "ウェブサイトからクリックするだけでモデルをダウンロードする可能性がアクティブになります。",
|
166 |
+
"Theme": "テーマ",
|
167 |
+
"Select the theme you want to use. (Requires restarting Applio)": "使用するテーマを選択します。(Applioの再起動が必要)",
|
168 |
+
"Language": "言語",
|
169 |
+
"Select the language you want to use. (Requires restarting Applio)": "使用する言語を選択します。(Applioの再起動が必要)",
|
170 |
+
"Plugin Installer": "プラグインインストーラ",
|
171 |
+
"Drag your plugin.zip to install it": "plugin.zipをドラッグしてインストールします",
|
172 |
+
"Version Checker": "バージョンチェッカー",
|
173 |
+
"Check which version of Applio is the latest to see if you need to update.": "更新が必要かどうか、Applioのどのバージョンが最新かを確認してください。",
|
174 |
+
"Check for updates": "アップデートを確認する"
|
175 |
+
}
|
assets/i18n/languages/jv_JV.json
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
{}
|
assets/i18n/languages/ko_KO.json
ADDED
@@ -0,0 +1,175 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"Ultimate voice cloning tool, meticulously optimized for unrivaled power, modularity, and user-friendly experience.": "타의 추종을 불허하는 성능, 모듈성 및 사용자 친화적인 경험을 위해 세심하게 최적화된 궁극의 음성 복제 도구입니다.",
|
3 |
+
"This section contains some extra utilities that often may be in experimental phases.": "이 섹션에는 아직 실험 단계에 있는 추가 유틸리티가 포함되어 있습니다.",
|
4 |
+
"Output Information": "출력 정보",
|
5 |
+
"The output information will be displayed here.": "출력 정보가 여기에 표시됩니다.",
|
6 |
+
"Inference": "추론",
|
7 |
+
"Train": "모델 학습",
|
8 |
+
"Extra": "기타 도구",
|
9 |
+
"Merge Audios": "오디오 병합",
|
10 |
+
"Processing": "처리",
|
11 |
+
"Audio Analyzer": "오디오 분석기",
|
12 |
+
"Model Information": "모델 정보",
|
13 |
+
"Plugins": "플러그인",
|
14 |
+
"Download": "다운로드",
|
15 |
+
"Report a Bug": "버그 신고",
|
16 |
+
"Settings": "설정",
|
17 |
+
"Preprocess": "사전 처리",
|
18 |
+
"Model Name": "모델명",
|
19 |
+
"Name of the new model.": "새 모델의 이름입니다.",
|
20 |
+
"Enter model name": "모델명 입력",
|
21 |
+
"Dataset Path": "데이터 세트 경로",
|
22 |
+
"Path to the dataset folder.": "데이터 세트 폴더의 경로입니다.",
|
23 |
+
"Refresh Datasets": "데이터 세트 새로 고침",
|
24 |
+
"Dataset Creator": "데이터셋 생성기",
|
25 |
+
"Dataset Name": "데이터 세트 이름",
|
26 |
+
"Name of the new dataset.": "새 데이터 세트의 이름입니다.",
|
27 |
+
"Enter dataset name": "데이터 세트 이름 입력",
|
28 |
+
"Upload Audio Dataset": "오디오 데이터 세트 업로드",
|
29 |
+
"The audio file has been successfully added to the dataset. Please click the preprocess button.": "오디오 파일이 데이터 세트에 성공적으로 추가되었습니다. 전처리 버튼을 클릭해주세요.",
|
30 |
+
"Enter dataset path": "데이터 세트 경로 입력",
|
31 |
+
"Sampling Rate": "샘플링 레이트",
|
32 |
+
"The sampling rate of the audio files.": "오디오 파일의 샘플링 레이트입니다.",
|
33 |
+
"RVC Version": "RVC 버전",
|
34 |
+
"The RVC version of the model.": "모델의 RVC 버전입니다.",
|
35 |
+
"Preprocess Dataset": "데이터 세트 사전 처리",
|
36 |
+
"Extract": "추출물",
|
37 |
+
"Hop Length": "홉 길이",
|
38 |
+
"Denotes the duration it takes for the system to transition to a significant pitch change. Smaller hop lengths require more time for inference but tend to yield higher pitch accuracy.": "시스템이 중요한 피치 변화로 전환되는 데 걸리는 시간을 나타냅니다. 홉 길이가 작을수록 추론에 더 많은 시간이 필요하지만 피치 정확도가 높아지는 경향이 있습니다.",
|
39 |
+
"Batch Size": "배치 크기(Batch Size)",
|
40 |
+
"It's advisable to align it with the available VRAM of your GPU. A setting of 4 offers improved accuracy but slower processing, while 8 provides faster and standard results.": "GPU의 사용 가능한 VRAM에 맞추는 것이 좋습니다. 4로 설정하면 정확도가 향상되지만 처리 속도가 느려지고, 8로 설정하면 더 빠르고 표준적인 결과를 얻을 수 있습니다.",
|
41 |
+
"Save Every Epoch": "모든 Epoch를 저장합니다",
|
42 |
+
"Determine at how many epochs the model will saved at.": "모델이 몇 epoch에 저장될지 결정합니다.",
|
43 |
+
"Total Epoch": "Total Epoch(총 에포크)",
|
44 |
+
"Specifies the overall quantity of epochs for the model training process.": "모델 학습 프로세스에 대한 전체 epoch 수를 지정합니다.",
|
45 |
+
"Pretrained": "사전학습 모델 사용",
|
46 |
+
"Save Only Latest": "마지막 파일만 저장(Save Only Latest)",
|
47 |
+
"Enabling this setting will result in the G and D files saving only their most recent versions, effectively conserving storage space.": "이 설정을 활성화하면 마지막으로 저장된 G 및 D 파일만 남게 되므로 저장 공간을 효과적으로 절약할 수 있습니다.",
|
48 |
+
"Save Every Weights": "모든 가중치 저장",
|
49 |
+
"This setting enables you to save the weights of the model at the conclusion of each epoch.": "이 설정을 사용하면 각 Epoch가 끝날 때 모델의 가중치를 저장할 수 있습니다.",
|
50 |
+
"Custom Pretrained": "커스텀 사전학습 모델 사용",
|
51 |
+
"Utilizing custom pretrained models can lead to superior results, as selecting the most suitable pretrained models tailored to the specific use case can significantly enhance performance.": "특정 사용 사례에 맞는 가장 적합한 커스텀 사전학습 모델을 선택하면 성능이 크게 향상될 수 있고 우수한 결과를 얻을 수 있습니다.",
|
52 |
+
"Upload Pretrained Model": "사전학습 된 모델 업로드",
|
53 |
+
"Refresh Custom Pretraineds": "커스텀 사전학습 모델 새로 고침",
|
54 |
+
"Pretrained Custom Settings": "커스텀 사전학습 모델 설정",
|
55 |
+
"The file you dropped is not a valid pretrained file. Please try again.": "드롭한 파일이 유효한 사전학습 모델 파일이 아닙니다. 다시 시도하십시오.",
|
56 |
+
"Click the refresh button to see the pretrained file in the dropdown menu.": "새로 고침 버튼을 클릭하면 드롭다운 메뉴에서 사전 학습 된 파일을 볼 수 있습니다.",
|
57 |
+
"Pretrained G Path": "커스텀 사전학습 모델 G",
|
58 |
+
"Pretrained D Path": "커스텀 사전학습 모델 D",
|
59 |
+
"GPU Settings": "GPU 설정",
|
60 |
+
"Sets advanced GPU settings, recommended for users with better GPU architecture.": "고급 GPU 아키텍처를 사용하는 사용자에게 권장되는 GPU 설정.",
|
61 |
+
"GPU Custom Settings": "GPU 커스텀 설정",
|
62 |
+
"GPU Number": "GPU 번호",
|
63 |
+
"0 to ∞ separated by -": "0 - ∞ - 로 구분",
|
64 |
+
"GPU Information": "GPU 정보",
|
65 |
+
"Pitch Guidance": "음정(Pitch) 안내",
|
66 |
+
"By employing pitch guidance, it becomes feasible to mirror the intonation of the original voice, including its pitch. This feature is particularly valuable for singing and other scenarios where preserving the original melody or pitch pattern is essential.": "음정(Pitch) 가이던스를 사용하면 음정을 포함하여 원래 목소리의 억양을 미러링할 수 있습니다. 이 기능은 노래 및 원래 멜로디 또는 음정 패턴의 보존이 필수적인 것에 특히 유용합니다.",
|
67 |
+
"Utilize pretrained models when training your own. This approach reduces training duration and enhances overall quality.": "자체 모델을 학습할 때 사전 학습된 모델을 활용합니다. 이 접근 방식은 학습 시간을 줄이고 전반적인 품질을 향상시킵니다.",
|
68 |
+
"Extract Features": "특징 추출",
|
69 |
+
"Start Training": "트레이닝 시작하기",
|
70 |
+
"Generate Index": "인덱스 생성",
|
71 |
+
"Voice Model": "음성 모델",
|
72 |
+
"Select the voice model to use for the conversion.": "변환에 사용할 음성 모델을 선택합니다.",
|
73 |
+
"Index File": "색인 파일",
|
74 |
+
"Select the index file to use for the conversion.": "변환에 사용할 인덱스 파일을 선택합니다.",
|
75 |
+
"Refresh": "새로고침",
|
76 |
+
"Unload Voice": "음성 언로드",
|
77 |
+
"Single": "싱글",
|
78 |
+
"Upload Audio": "오디오 업로드",
|
79 |
+
"Select Audio": "오디오 선택",
|
80 |
+
"Select the audio to convert.": "변환할 오디오를 선택합니다.",
|
81 |
+
"Advanced Settings": "고급 설정",
|
82 |
+
"Clear Outputs (Deletes all audios in assets/audios)": "출력 지우기(에셋/오디오의 모든 오디오 삭제)",
|
83 |
+
"Custom Output Path": "사용자 지정 출력 경로",
|
84 |
+
"Output Path": "출력 경로",
|
85 |
+
"The path where the output audio will be saved, by default in assets/audios/output.wav": "출력 오디오가 저장될 경로 입니다, 기본값 assets/audios/output.wav",
|
86 |
+
"Split Audio": "오디오 분할",
|
87 |
+
"Split the audio into chunks for inference to obtain better results in some cases.": "경우에 따라 더 나은 결과를 얻기 위해 오디오를 청크로 분할합니다.",
|
88 |
+
"Autotune": "오토튠",
|
89 |
+
"Apply a soft autotune to your inferences, recommended for singing conversions.": "추론 시 소프트 오토튠을 적용합니다. 노래에 권장합니다",
|
90 |
+
"Clean Audio": "디-노이즈 오디오",
|
91 |
+
"Clean your audio output using noise detection algorithms, recommended for speaking audios.": "노이즈 감지 알고리즘을 사용하여 출력되는 오디오의 불필요한 정보를 정리합니다. 연설과 같은 스피치 오디오에 적합합니다.",
|
92 |
+
"Clean Strength": "감지 강도",
|
93 |
+
"Set the clean-up level to the audio you want, the more you increase it the more it will clean up, but it is possible that the audio will be more compressed.": "감지 레벨을 높이면 높일수록 정리가 더 많이 되지만 오디오가 더 압축되어 음질 저하가 생길 수 있습니다.",
|
94 |
+
"Pitch": "음정",
|
95 |
+
"Set the pitch of the audio, the higher the value, the higher the pitch.": "오디오의 음정(Pitch)을 설정합니다. 값이 높을수록 음정이 높아집니다.",
|
96 |
+
"Filter Radius": "필터 반경",
|
97 |
+
"If the number is greater than or equal to three, employing median filtering on the collected tone results has the potential to decrease respiration.": "숫자가 3보다 크거나 같을 때 수집된 톤 결과에 중앙값 필터링을 사용하여 호흡등의 소리를 감소 시킬 수 있습니다",
|
98 |
+
"Search Feature Ratio": "특성 검색 비율(Search Feature Ratio)",
|
99 |
+
"Influence exerted by the index file; a higher value corresponds to greater influence. However, opting for lower values can help mitigate artifacts present in the audio.": "특성 인덱스 파일이 미치는 영향; 값이 높을수록 모델의 특성을 잘 나타내지만 값이 낮을수록 인공적인 느낌을 줄어들 수도 있습니다.",
|
100 |
+
"Volume Envelope": "볼륨 엔벨로프(Volume Envelope)",
|
101 |
+
"Substitute or blend with the volume envelope of the output. The closer the ratio is to 1, the more the output envelope is employed.": "출력의 볼륨 포락선(Envelope)로 대체하거나 혼합합니다. 비율이 1에 가까울수록 출력 엔벨로프가 더 많이 사용됩니다.",
|
102 |
+
"Protect Voiceless Consonants": "무성 자음 보호",
|
103 |
+
"Safeguard distinct consonants and breathing sounds to prevent electro-acoustic tearing and other artifacts. Pulling the parameter to its maximum value of 0.5 offers comprehensive protection. However, reducing this value might decrease the extent of protection while potentially mitigating the indexing effect.": "뚜렷한 자음과 숨소리를 보호하여 전자 음향 찢어짐 및 기타 아티팩트를 방지합니다. 설정값을 최대치인 0.5로 끌어오면 포괄적인 보호가 제공됩니다. 반대로 보호 범위를 낮출 경우 인덱싱 효과를 완화할 수 있습니다",
|
104 |
+
"Pitch extraction algorithm": "음정(Pitch) 추출 알고리즘",
|
105 |
+
"Pitch extraction algorithm to use for the audio conversion. The default algorithm is rmvpe, which is recommended for most cases.": "오디오 변환에 사용할 음정 추출 알고리즘입니다. 디폴트 알고리즘은 rmvpe이며, 대부분의 경우에 권장됩니다.",
|
106 |
+
"Convert": "변환",
|
107 |
+
"Export Audio": "오디오 내보내기",
|
108 |
+
"Batch": "일괄",
|
109 |
+
"Input Folder": "입력 폴더",
|
110 |
+
"Select the folder containing the audios to convert.": "변환할 오디오가 포함된 폴더를 선택합니다.",
|
111 |
+
"Enter input path": "입력 경로 입력",
|
112 |
+
"Output Folder": "출력 폴더",
|
113 |
+
"Select the folder where the output audios will be saved.": "출력 오디오를 저장할 폴더를 선택합니다.",
|
114 |
+
"Enter output path": "출력 경로 입력",
|
115 |
+
"Get information about the audio": "오디오에 대한 정보 가져오기",
|
116 |
+
"Information about the audio file": "오디오 파일에 대한 정보",
|
117 |
+
"Waiting for information...": "정보를 기다리는 중...",
|
118 |
+
"## Voice Blender": "## 목소리 혼합",
|
119 |
+
"Select two voice models, set your desired blend percentage, and blend them into an entirely new voice.": "두 개의 음성 모델을 선택하고 원하는 혼합 비율을 설정하면 완전히 새로운 음성으로 혼합됩니다.",
|
120 |
+
"Voice Blender": "목소리 혼합",
|
121 |
+
"Drag and drop your model here": "여기에 모델을 끌어다 놓습니다.",
|
122 |
+
"You can also use a custom path.": "사용자 지정 경로를 사용할 수도 있습니다.",
|
123 |
+
"Blend Ratio": "합성 비율(Blend Ratio)",
|
124 |
+
"Adjusting the position more towards one side or the other will make the model more similar to the first or second.": "위치를 양쪽 방향으로 조정하며 두 모델의 혼합 비중을 선택할 수 있습니다.",
|
125 |
+
"Fusion": "목소리 혼합",
|
126 |
+
"Path to Model": "모델 경로",
|
127 |
+
"Enter path to model": "모델 경로 입력",
|
128 |
+
"Model information to be placed": "배치할 모델 정보",
|
129 |
+
"Inroduce the model information": "모델 정보 도입",
|
130 |
+
"The information to be placed in the model (You can leave it blank or put anything).": "모델의 정보(비워 두거나 아무 내용을 써도 됩니다).",
|
131 |
+
"View model information": "모델 정보 보기",
|
132 |
+
"Introduce the model pth path": "모델 pth 경로 소개",
|
133 |
+
"View": "보기",
|
134 |
+
"Model extraction": "모델 추출",
|
135 |
+
"Model conversion": "모델 변환",
|
136 |
+
"Pth file": "Pth 파일",
|
137 |
+
"Output of the pth file": "pth 파일의 출력",
|
138 |
+
"# How to Report an Issue on GitHub": "# GitHub에서 문제를 보고하는 방법",
|
139 |
+
"1. Click on the 'Record Screen' button below to start recording the issue you are experiencing.": "1. 아래의 '녹화 화면' 버튼을 클릭하여 발생한 문제의 녹화를 시작합니다.",
|
140 |
+
"2. Once you have finished recording the issue, click on the 'Stop Recording' button (the same button, but the label changes depending on whether you are actively recording or not).": "2. 문제 기록이 끝나면 '기록 중지' 버튼(동일한 버튼이지만 현재 기록 중인지 여부에 따라 레이블이 변경됨)을 클릭합니다.",
|
141 |
+
"3. Go to [GitHub Issues](https://github.com/IAHispano/Applio/issues) and click on the 'New Issue' button.": "3. [GitHub 문제](https://github.com/IAHispano/Applio/issues)로 이동하여 '새 문제' 버튼을 클릭합니다.",
|
142 |
+
"4. Complete the provided issue template, ensuring to include details as needed, and utilize the assets section to upload the recorded file from the previous step.": "4. 제공된 문제 템플릿을 완료하고 필요에 따라 세부 정보를 포함하고 자산 섹션을 활용하여 이전 단계에서 기록된 파일을 업로드합니다.",
|
143 |
+
"Record Screen": "녹화 화면",
|
144 |
+
"Record": "기록",
|
145 |
+
"Stop Recording": "기록 중지",
|
146 |
+
"Introduce the model .pth path": "모델 .pth 경로 소개",
|
147 |
+
"See Model Information": "모델 정보 보기",
|
148 |
+
"## Download Model": "## 모델 다운로드",
|
149 |
+
"Model Link": "모델 링크",
|
150 |
+
"Introduce the model link": "모델 소개 링크",
|
151 |
+
"Download Model": "모델 다운로드",
|
152 |
+
"## Drop files": "## 파일 드롭",
|
153 |
+
"Drag your .pth file and .index file into this space. Drag one and then the other.": ".pth 파일과 .index 파일을 이 공간으로 드래그합니다. 하나를 드래그한 다음 다른 하��를 드래그합니다.",
|
154 |
+
"TTS Voices": "TTS 음성",
|
155 |
+
"Select the TTS voice to use for the conversion.": "변환에 사용할 TTS 음성을 선택합니다.",
|
156 |
+
"Text to Synthesize": "합성할 텍스트(Text to Synthesize)",
|
157 |
+
"Enter the text to synthesize.": "합성할 텍스트를 입력합니다.",
|
158 |
+
"Or you can upload a .txt file": "또는 .txt 파일을 업로드할 수 있습니다.",
|
159 |
+
"Enter text to synthesize": "합성할 텍스트 입력",
|
160 |
+
"Output Path for TTS Audio": "TTS 오디오의 출력 경로",
|
161 |
+
"Output Path for RVC Audio": "RVC 오디오의 출력 경로",
|
162 |
+
"Enable Applio integration with Discord presence": "Discord와 Applio 통합 활성화",
|
163 |
+
"It will activate the possibility of displaying the current Applio activity in Discord.": "Discord에서 Applio의 활동이 표시되는 기능을 활성화합니다.",
|
164 |
+
"Enable Applio integration with applio.org/models using flask": "플라스크를 사용하여 applio.org/models 와 Applio 통합 활성화",
|
165 |
+
"It will activate the possibility of downloading models with a click from the website.": "웹 사이트에서 클릭 한 번으로 모델을 다운로드 할 수 있습니다.",
|
166 |
+
"Theme": "테마",
|
167 |
+
"Select the theme you want to use. (Requires restarting Applio)": "사용할 테마를 선택합니다. (Applio를 다시 시작해야 함)",
|
168 |
+
"Language": "언어",
|
169 |
+
"Select the language you want to use. (Requires restarting Applio)": "사용할 언어를 선택합니다. (Applio를 다시 시작해야 함)",
|
170 |
+
"Plugin Installer": "플러그인 인스톨러",
|
171 |
+
"Drag your plugin.zip to install it": "plugin.zip 드래그하여 설치하십시오.",
|
172 |
+
"Version Checker": "버전 검사기",
|
173 |
+
"Check which version of Applio is the latest to see if you need to update.": "Applio의 최신 버전을 확인하여 업데이트가 필요한지 확인하십시오.",
|
174 |
+
"Check for updates": "업데이트 확인"
|
175 |
+
}
|
assets/i18n/languages/ml_IN.json
ADDED
@@ -0,0 +1,204 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"Ultimate voice cloning tool, meticulously optimized for unrivaled power, modularity, and user-friendly experience.": "അനന്തമായ ശക്തി, മോഡുലാരിറ്റി, ഉപയോക്തൃ-സൗഹൃദ അനുഭവത്തിനായി യാഥാർത്ഥ്യമാക്കിയ അത്യുന്നതമായ വോയ്സ് ക്ലോണിങ് ടൂൾ.\n[മലയാളത്തിലേക്ക് വായന: Enes](https://discord.com/users/1140031358006202468)",
|
3 |
+
"This section contains some extra utilities that often may be in experimental phases.": "ഈ പേരിലെ കൊണ്ടാടാൻ പ്രയോജനപ്രദമായ എന്നതിനാൽ കഴിഞ്ഞത് സാധാരണയായ പോസിക്കുകളിൽ അവസാനിക്കാത്ത ചില യന്ത്രങ്ങൾ ഉള്ളതാണ്.",
|
4 |
+
"Output Information": "പ്രണാമം വിവരം",
|
5 |
+
"The output information will be displayed here.": "ഇവിടെ പ്രണയ വിവരങ്ങൾ പ്രദശിപ്പിക്കപ്പെടും.",
|
6 |
+
"Inference": "സൂചന",
|
7 |
+
"Train": "പ്രശിക്ഷണം",
|
8 |
+
"Extra": "അധികം",
|
9 |
+
"Merge Audios": "ഓഡിയോ ഒടിക്കുക",
|
10 |
+
"Processing": "പ്രൊസസ്സിംഗ്",
|
11 |
+
"Audio Analyzer": "ഓഡിയോ വിശ്ലേഷണകൾ",
|
12 |
+
"Model Information": "മോഡൽ വിവരങ്ങൾ",
|
13 |
+
"Plugins": "പ്ലഗിൻസ്",
|
14 |
+
"Download": "ഡൗൺലോഡ്",
|
15 |
+
"Report a Bug": "പിശക് റിപ്പോർട്ട്",
|
16 |
+
"Settings": "സെറ്റിംഗുകൾ",
|
17 |
+
"Preprocess": "പ്രൊസസ്",
|
18 |
+
"Model Name": "മോഡൽ പേര്",
|
19 |
+
"Name of the new model.": "പുതിയ മോഡലിന്റെ പേര്.",
|
20 |
+
"Enter model name": "മോഡൽ പേര് നൽകുക",
|
21 |
+
"Dataset Path": "ഡാറ്റാസെറ്റ് പാത",
|
22 |
+
"Path to the dataset folder.": "ഡാറ്റാസെറ്റ് ഫോൾഡർക്കുള്ള പാത.",
|
23 |
+
"Refresh Datasets": "ഡാറ്റാസെറ്റുകൾ പുനഃസൃഷ്ടിക്കുക",
|
24 |
+
"Dataset Creator": "ഡാറ്റാസെറ്റ് സൃഷ്ടാവ്",
|
25 |
+
"Dataset Name": "ഡാറ്റാസെറ്റ് പേര്",
|
26 |
+
"Name of the new dataset.": "പുതിയ ഡാറ്റാസെറ്റിന്റെ പേര്.",
|
27 |
+
"Enter dataset name": "ഡാറ്റാസെറ്റ് പേര് നൽകുക",
|
28 |
+
"Upload Audio Dataset": "ഓഡിയോ ഡാറ്റാസെറ്റ് അപ്ലോഡ് ചെയ്യുക",
|
29 |
+
"The audio file has been successfully added to the dataset. Please click the preprocess button.": "ഓഡിയോ ഫയൽ യഥാർത്ഥമായി ഡാറ്റാസെറ്റിലേക്ക് ചേർന്നു. ദയവായി പ്രൊസെസ് ബട്ടൺ അമർത്തുക.",
|
30 |
+
"Enter dataset path": "ഡാറ്റാസെറ്റ് പാത നൽകുക",
|
31 |
+
"Sampling Rate": "സാമ്പ്ലിംഗ് റേറ്റ്",
|
32 |
+
"The sampling rate of the audio files.": "ഓഡിയോ ഫയലുകളുടെ സാമ്പ്ലിംഗ് റേറ്റ്.",
|
33 |
+
"RVC Version": "RVC പതിപ്പ്",
|
34 |
+
"The RVC version of the model.": "മോഡലിന്റെ RVC പതിപ്പ്.",
|
35 |
+
"Preprocess Dataset": "ഡാറ്റാസെറ്റ് പ്രൊസെസ് ചെയ്യുക",
|
36 |
+
|
37 |
+
"Embedder Model": "Embedder Model",
|
38 |
+
"Model used for learning speaker embedding.": "സ്പീക്കർ എംബെഡ്ഡിംഗ് പഠിപ്പിക്കാൻ ഉപയോഗിക്കുന്ന മോഡൽ.",
|
39 |
+
"Extract": "എക്സ്ട്രാക്ട്",
|
40 |
+
"Hop Length": "ഹോപ്പ് ലെന്ത്",
|
41 |
+
"Denotes the duration it takes for the system to transition to a significant pitch change. Smaller hop lengths require more time for inference but tend to yield higher pitch accuracy.": "സിസ്റ്റത്തിൽ ഒരു വിശദ പിച്ച് മാറ്റത്തിന്റെ ദാരിദ്ര്യം സൂചിപ്പിക്കുന്നു. ചെറിയ ഹോപ്പ് ലെന്തുകള് ഇൻഫരൻസിനായി കൂടുതൽ സമയം ആവശ്യപ്പെടുന്നു, എന്നിരുന്നാലും ഉയരമായ പിച്ച് അക്ക്യൂറസി നൽകുന്നു.",
|
42 |
+
"Batch Size": "ബാച്ച് വലുപ്പം",
|
43 |
+
"It's advisable to align it with the available VRAM of your GPU. A setting of 4 offers improved accuracy but slower processing, while 8 provides faster and standard results.": "നിനക്ക് ലഭ്യമായ GPU-യുടെ VRAM നുസരിച്ച് അലൈൻ ചെയ്യുന്നത് പ്രാധാന്യപ്പെടുന്നു. 4-ന്റെ സെറ്റിംഗ് മൊത്തം അക്ക്യൂറസി പരിഷ്കർത്തനവും എല്ലാത്തിനെയും അവലംബപ്പെടുന്നു, എന്നിരുന്നാലും 8 വലുപ്പം അനുഭവജീവനത്തിനായി ഉന്നയിക്കുന്നു.",
|
44 |
+
"Save Every Epoch": "എന്നാൽ എന്റെ എപ്പൊക്കാലിലെയും മോഡൽ സേവ് ചെയ്യുന്നതിനു വരെ",
|
45 |
+
"Determine at how many epochs the model will be saved at.": "എന്താണ് എപ്പൊക്കാലിൽ മോഡൽ സേവ് ചെയ്യപ്പെടുന്നതെന്ന് തിരഞ്ഞെടുക്കുക.",
|
46 |
+
"Total Epoch": "മൊത്തം എപ്പൊക്ക്",
|
47 |
+
"Specifies the overall quantity of epochs for the model training process.": "മോഡൽ പ്രശിക്ഷണ പ്രക്രിയയ്ക്കായി എപ്പൊക്ക് എത്രയാണ് എന്നത് നിര്ദിഷ്ടമാക്കുന്നു.",
|
48 |
+
"Pretrained": "പ്രീട്രെയിനെഡ്",
|
49 |
+
"Save Only Latest": "കേവലായി പുതിയത് മാത്രം സേവ് ചെയ്യുക",
|
50 |
+
"Enabling this setting will result in the G and D files saving only their most recent versions, effectively conserving storage space.": "ഈ സെറ്റിംഗ് പ്രവർത്തനത്തിനായി ക്രമീകരിച്ചാൽ, G മറ്റും D ഫയലുകൾ അവരുടെ അവസാന പതിപ്പുകൾക്ക് മാത്രം സേവ് ചെയ്യും, പ്രഭാവകരമായി സ്റ്റോറേജ് സ്ഥലം സംരക്ഷിക്കുന്നതാണ്.",
|
51 |
+
"Save Every Weights": "എന്റെ എപ്പൊക്കാലിലും ഭാരം സേവ് ചെയ്യുക",
|
52 |
+
"This setting enables you to save the weights of the model at the conclusion of each epoch.": "ഈ സെറ്റിംഗ് നിര്ദ്ദേശപ്പെടുന്ന ഓരോ എപ്പൊക്കിലും മോഡലിന്റെ ഭാരങ്ങൾ സേവ് ചെയ്യാൻ കഴിയുന്നു.",
|
53 |
+
"Custom Pretrained": "കസ്റ്റം പ്രീട്രെയിനെഡ്",
|
54 |
+
"Utilizing custom pretrained models can lead to superior results, as selecting the most suitable pretrained models tailored to the specific use case can significantly enhance performance.": "കസ്റ്റം പ്രീട്രെയിനെഡ് മോഡലുകൾ ഉപയോഗിക്കുന്നത് ഉന്നത ഫലങ്ങൾ നൽകിയാൽ, സ്പഷ്ടമായ ഉപയോഗ കേസിനായി കൈമേലെ പ്രീട്രെയിനെഡ് മോഡലുകൾ തിരഞ്ഞെടുക്കുന്നത് സാധാരണയായ പ്രദർശനത്തെ വളർത്തുന്നതിനും പ്രദർശനം വളർത്തുന്നതിനും കൂടുതൽ സഹായകമാകും.",
|
55 |
+
"Upload Pretrained Model": "പ്രീട്രെയിനെഡ് മോഡൽ അപ്ലോഡ് ചെയ്യുക",
|
56 |
+
"Refresh Custom Pretraineds": "കസ്റ്റം പ്രീട്രെയിനെഡുകൾ പുനഃസ്വന്തമാക്കുക",
|
57 |
+
"Pretrained Custom Settings": "പ്രീട്രെയിനെഡ് കസ്റ്റം സെറ്റിംഗുകൾ",
|
58 |
+
"The file you dropped is not a valid pretrained file. Please try again.": "നിനക്ക് ഡ്രോപ്പ് ചെയ്യിയ ഫയൽ ഒരു സാധാരണ പ്രീട്രെയിനെഡ് ഫയലല്ല. ദയവായി വീണ്ടും ശ്രയിക്കുക.",
|
59 |
+
"Click the refresh button to see the pretrained file in the dropdown menu.": "പ്രീട്രെയിനെഡ് ഫയലെ ഡ്രോപ്പ്ഡൌൺ മെനുവിലെത്താൻ റെഫ്രഷ് ബട്ടൺ ക്ലിക്കുചെയ്യുക.",
|
60 |
+
"Pretrained G Path": "കസ്റ്റം പ്രീട്രെയിനെഡ് G പാത",
|
61 |
+
"Pretrained D Path": "കസ്റ്റം പ്രീട്രെയിനെഡ് D പാത",
|
62 |
+
"GPU Settings": "GPU സെറ്റിംഗുകൾ",
|
63 |
+
"Sets advanced GPU settings, recommended for users with better GPU architecture.": "അട്വാൻസ്ഡ് GPU സെ��്റിംഗുകൾ സജ്ജീവമാക്കുന്നു, പ്രശസ്ത GPU ആർക്കിടെയുള്ള ഉപയോക്താക്കളിനായി ശിഫാരസ് ചെയ്തത്.",
|
64 |
+
"GPU Custom Settings": "GPU കസ്റ്റം സെറ്റിംഗുകൾ",
|
65 |
+
"GPU Number": "GPU നമ്പർ",
|
66 |
+
"0 to ∞ separated by -": "0 മുതൽ ∞ വരെ - ഒടുക്കിയ",
|
67 |
+
"GPU Information": "GPU വിവരം",
|
68 |
+
"Pitch Guidance": "പിച്ച് ഗൈഡൻസ്",
|
69 |
+
"By employing pitch guidance, it becomes feasible to mirror the intonation of the original voice, including its pitch. This feature is particularly valuable for singing and other scenarios where preserving the original melody or pitch pattern is essential.": "പിച്ച് ഗൈഡൻസ് ഉപയോഗിച്ച്, ഓരിജിനൽ വോയ്സിന്റെ ഇൻറോണേഷനെ, അതിന്റെ പിച്ചു സേവനേന്ന്, സോണ്റിംഗ് മുതലായ സന്നിധികളിൽ പ്രാഥമിക സ്വരം അല്ലെങ്കിൽ പിച്ച് നമ്പറെ പരിരക്ഷിക്കേണ്ടതായ സ്ഥിതികളിലേക്ക് മികച്ച ഫലങ്ങൾ പ്രാപ്തമാക്കാനാകുന്നു.",
|
70 |
+
"Utilize pretrained models when training your own. This approach reduces training duration and enhances overall quality.": "നിനക്ക് സ്വന്തമായി പ്രശിക്ഷണം നടത്തുമ്പോൾ പ്രീട്രെയിനെഡ് മോഡലുകൾ ഉപയോഗിക്കുക. ഈ രീതി പ്രശിക്ഷണ സമയം കുറയ്ക്കുന്നുവെങ്കിൽ മൊത്തം ഗുണമേന്മ വരും.",
|
71 |
+
"Extract Features": "ഫീച്ചർ എക്സ്ട്രാക്ട്",
|
72 |
+
"Overtraining Detector": "ഓവർട്രെയിനിംഗ് ഡിറ്റക്റ്റർ",
|
73 |
+
"Detect overtraining to prevent the model from learning the training data too well and losing the ability to generalize to new data.": "പ്രശിക്ഷണ ഡാറ്റയെ നിങ്ങളുടെ മോഡൽ അതിന്റെ തരംതിരിച്ചു പഠിക്കാൻ അനുവദിക്കുന്നത് നിലവിൽ നിന്ന് ഓവർട്രെയിനിംഗ് ശ്രമിക്കുക.",
|
74 |
+
"Overtraining Detector Settings": "ഓവർട്രെയിനിംഗ് ഡിറ്റക്റ്റർ സെറ്റിംഗുകൾ",
|
75 |
+
"Overtraining Threshold": "ഓവർട്രെയിനിംഗ് താഴ്ന്ന മിതം",
|
76 |
+
"Set the maximum number of epochs you want your model to stop training if no improvement is detected.": "യാത്രാവധി പരിശോധിച്ചിട്ടില്ലാത്ത അഭിവൃദ്ധി നിരയെടുക്കുകയാണെങ്കിൽ നിങ്ങളുടെ മോഡൽ പരിശോധനയെന്നത് പ്രശിക്ഷണം നിലനിൽക്കാനുള്ള ഏറ്റവും ഉന്നത എപ്പോക്കുകൾ സജ്ജമാക്കുക.",
|
77 |
+
|
78 |
+
"Start Training": "പ്രശിക്ഷണം ആരംഭിക്കുക",
|
79 |
+
"Stop Training & Restart Applio": "പ്രശിക്ഷണം നിർത്തുക & അപ്ലിയോ പുനഃപ്രാരംഭിക്കുക",
|
80 |
+
"Generate Index": "ഇൻഡെക്സ് സൃഷ്ടിക്കുക",
|
81 |
+
|
82 |
+
"Export Model": "എക്സ്പോർട്ട് മോഡൽ",
|
83 |
+
"The button 'Upload' is only for google colab: Uploads the exported files to the ApplioExported folder in your Google Drive.": "'അപ്ലോഡ്' ബട്ടൺ കേവലം ഗൂഗിൾ കോളാബിന് മാത്രം: നിങ്ങളുടെ ഗൂഗിൾ ഡ്രൈവിലെ ApplioExported ഫോൾഡറിലേക്ക് എക്സ്പോർട്ട് ചെയ്യുന്നു.",
|
84 |
+
"Exported Pth file": "എക്സ്പോർട്ട് ചെയ്ത Pth ഫയൽ",
|
85 |
+
"Exported Index file": "എക്സ്പോർട്ട് ചെയ്ത ഇൻഡെക്സ് ഫയൽ",
|
86 |
+
"Select the pth file to be exported": "എക്സ്പോർട്ട് ചെയ്യാൻ ആദ്യം pth ഫയൽ തിരഞ്ഞെടുക്കുക",
|
87 |
+
"Select the index file to be exported": "എക്സ്പോർട്ട് ചെയ്യാൻ ആദ്യം ഇൻഡെക്സ് ഫയൽ തിരഞ്ഞെടുക്കുക",
|
88 |
+
"Upload": "അപ്ലോഡ്",
|
89 |
+
|
90 |
+
"Voice Model": "വോയ്സ് മോഡൽ",
|
91 |
+
"Select the voice model to use for the conversion.": "കണ്വേർഷനിനായി ഉപയോഗിക്കാൻ വോയ്സ് മോഡലുകൾ തിരഞ്ഞെടുക്കുക.",
|
92 |
+
"Index File": "ഇൻഡെക്സ് ഫയൽ",
|
93 |
+
"Select the index file to use for the conversion.": "കണ്വേർഷനിനായി ഉപയോഗിക്കേണ്ട ഇൻഡെക്സ് ഫയലുകൾ തിരഞ്ഞെടുക്കുക.",
|
94 |
+
"Refresh": "പുനഃസ്വന്തമാക്കുക",
|
95 |
+
"Unload Voice": "വോയ്സ് അൺലോഡ്",
|
96 |
+
"Single": "ഏകത്വം",
|
97 |
+
"Upload Audio": "ഓഡിയോ അപ്ലോഡ് ചെയ്യുക",
|
98 |
+
"Select Audio": "ഓഡിയോ തിരഞ്ഞെടുക്കുക",
|
99 |
+
"Select the audio to convert.": "കണ്വേർട്ട് ചെയ്യാൻ ഓഡിയോ തിരഞ്ഞെടുക്കുക.",
|
100 |
+
"Advanced Settings": "പുതുമയായ സെറ്റിംഗുകൾ",
|
101 |
+
"Clear Outputs (Deletes all audios in assets/audios)": "പരിമാറ്റുക (assets/audios എല്ലാ ഓഡിയോകൾ ഇല്ലാതാക്കുക)",
|
102 |
+
"Custom Output Path": "കസ്റ്റം ഔട്ട്പുട്ട് പാത",
|
103 |
+
"Output Path": "ഔട്ട്പുട്ട് പാത",
|
104 |
+
"The path where the output audio will be saved, by default in assets/audios/output.wav": "ഓട്ട്പുട്ട് ഓഡിയോ സേവ്ചെയ്യപ്പെടുന്നത്, സ്വഭാവമായി assets/audios/output.wav ഇല്",
|
105 |
+
"Split Audio": "ഓഡിയോ വിഭാഗീകരണം",
|
106 |
+
"Split the audio into chunks for inference to obtain better results in some cases.": "അനുമാനത്തിന് കൂടുതൽ ഫലങ്ങൾ ലഭിക്കാൻ ഓഡിയോ ഭാഗങ്ങൾക്ക് വിഭാഗീകരണം ചെയ്യുക.",
|
107 |
+
"Autotune": "ഓട്ടോട്യൂൺ",
|
108 |
+
"Apply a soft autotune to your inferences, recommended for singing conversions.": "സോഫ്റ്റ് ഓട്ടോട്യൂൺ ആപ്ലയുകയും, സിംഗിങ് കൺവേർഷനുകളില് ശിഫാരസ് ചെയ്യുകയും.",
|
109 |
+
"Clean Audio": "ശുദ്ധമായ ഓഡിയോ",
|
110 |
+
"Clean your audio output using noise detection algorithms, recommended for speaking audios.": "ശുദ്ധമായി നോയിസ് ഡിറ്റക്ഷൻ ആൾഗോരിതങ്ങൾ ഉപയോഗിച്ച് നിനക്ക് എത്ര പ്രയോജനപ്രദമായ ഓഡിയോ പരിഷ്കരിക്കാൻ, സ്പീക്കിംഗ് ഓഡിയോക്കിന് ശിഫാരസ് ചെയ്യുക.",
|
111 |
+
"Clean Strength": "ശുദ്ധി ശക്തി",
|
112 |
+
"Set the clean-up level to the audio you want, the more you increase it the more it will clean up, but it is possible that the audio will be more compressed.": "നിനക്ക് അവശ്യമായ ഓഡിയോക്ക് ശുദ്ധിയുടെ നില സജ്ജീവമാക്കുക, അതെക്കും കൂടുതൽ ഉള്ളതും അതിനെക്കുറിച്ച് ചോദിക്കുന്നതെന്തെങ്കിലും ശുദ്ധി ചെയ്തിരിക്കുന്ന ഓഡിയോ കമ്പ്രസ്ഡ് ആയിരിക്കാനുള്ള സാധ്യതയുണ്ട്.",
|
113 |
+
"Pitch": "പിച്ച്",
|
114 |
+
"Set the pitch of the audio, the higher the value, the higher the pitch.": "ഓഡിയോയുടെ പിച്ച് സജ്ജീവമാക്കുക, അതെക്കും ഉയരുന്നുവെങ്കിലും പിച്ച്.",
|
115 |
+
"Filter Radius": "ഫിൽട്ടർ റേഡിയസ്",
|
116 |
+
"If the number is greater than or equal to three, employing median filtering on the collected tone results has the potential to decrease respiration.": "സംഖ്യ 3 അല്ലെങ്കിൽ അതിനേക്കാൾ കൂടുതൽ ആയിരിക്കുന്നാല്, ശ്വസനം കുറയ്ക്കാന് ശേഷിക്കുന്ന രീതിയില് കൂടുതല് കഴിവുള്ളതാണ്.",
|
117 |
+
"Search Feature Ratio": "സേര്ച്ച് ഫീച്ചർ റേഷ്യോ",
|
118 |
+
"Influence exerted by the index file; a higher value corresponds to greater influence. However, opting for lower values can help mitigate artifacts present in the audio.": "ഇനഡെക്സ് ഫയലായി വികസിക്കുന്ന പ്രഭാവം; ഉയര്ന്ന മൂല്യം ഉയരത്തിന് അനുബന്ധ പ്രഭാവമുള്ള���ാണ്. എനിക്ക് കുറഞ്ഞ മൂല്യങ്ങളെ അനുവദിക്കാനും ആര്ടിഫാക്ടുകള് നിലവിലുള്ള ഓഡിയോയിലെ ബുദ്ധിമുട്ടുകൾ ഉപയോഗപ്പെടുന്നു.",
|
119 |
+
"Volume Envelope": "വോള്യൂം എൻവലപ്പ്",
|
120 |
+
"Substitute or blend with the volume envelope of the output. The closer the ratio is to 1, the more the output envelope is employed.": "ആഉട്ട്പുട്ട് ഒറ്റവന്നേറ്റത്തിന്റെ വോള്യൂം എൻവലപ്പ് സ്ഥലപ്പെടുത്തുക. അനുഭവം 1-ക്കു സമീപമായിരിക്കുന്നതും, അനുഭവ എൻവലപ്പ് ഉപയോഗപ്പെടുന്നതും കൂടുതൽ ആണ്.",
|
121 |
+
"Protect Voiceless Consonants": "വോയ്സ്ലസ് കോൺസനന്റുകൾ സംരക്ഷിക്കുക",
|
122 |
+
"Safeguard distinct consonants and breathing sounds to prevent electro-acoustic tearing and other artifacts. Pulling the parameter to its maximum value of 0.5 offers comprehensive protection. However, reducing this value might decrease the extent of protection while potentially mitigating the indexing effect.": "എല്ലാവര്ക്കും പ്രകടമായ കോൺസനന്റുകൾ ഒഴുകുന്നത് എന്നതുകൊണ്ടുതന്നെ ഇലക്ട്രോ-ഓക്കുസ്റ്റിക് കൊതിയും മറ്റു ആർട്ടിഫാക്ടുകളും പ്രതിരക്ഷിക്കുന്നതിനുള്ള അരികോട്. പാരാമീറ്ററിനെ അതിന്റെ 0.5 എന്നേക്കും ഉച്ചക്കൊണ്ട് കൂട്ടിക്കൊള്ളൽ സാമൂഹ്യപ്രതിരക്ഷ നൽകുന്നു. എന്നാല്, ഈ മൂല്യം കുറഞ്ഞാക്കാൻ സാധ്യതയുണ്ട്, പ്രതിരക്ഷണം താഴെ കുറഞ്ഞുകൂടാൻ സഹായകരമാവുക.",
|
123 |
+
"Pitch extraction algorithm": "പിച്ച് എക്സ്ട്രാക്ഷൻ ആൾഗോരിതം",
|
124 |
+
"Pitch extraction algorithm to use for the audio conversion. The default algorithm is rmvpe, which is recommended for most cases.": "ഓഡിയോ കൺവേർഷനിനായി ഉപയോഗിക്കേണ്ട പിച്ച് എക്സ്ട്രാക്ഷൻ ആൾഗോരിതം. സ്വതന്ത്ര ആൾഗോരിതത്താണ് rmvpe, അത് പലതരത്തിലുള്ള പ്രസ്താവനകളില് ശിഫാരസ് ചെയ്യപ്പെടുന്നു.",
|
125 |
+
|
126 |
+
"Convert": "കൺവേർട്ട് ചെയ്യുക",
|
127 |
+
"Export Audio": "ഓഡിയോ എക്സ്പോർട്ട് ചെയ്യുക",
|
128 |
+
|
129 |
+
"Batch": "ബാച്ച്",
|
130 |
+
"Input Folder": "ഇൻപുട്ട് ഫോൾഡർ",
|
131 |
+
"Select the folder containing the audios to convert.": "കൺവേർട്ട് ചെയ്യാൻ ഓഡിയോകളെ കാണുന്ന ഫോൾഡർ തിരഞ്ഞെടുക്കുക.",
|
132 |
+
"Enter input path": "ഇൻപുട്ട് പാത നൽകുക",
|
133 |
+
"Output Folder": "ഔട്ട്പുട്ട് ഫോൾഡർ",
|
134 |
+
"Select the folder where the output audios will be saved.": "ഔട്ട്പുട്ട് ഓഡിയോകൾ സേവ്ചെയ്യപ്പെടുന്ന ഫോൾഡർ തിരഞ്ഞെടുക്കുക.",
|
135 |
+
"Enter output path": "ഔട്ട്പുട്ട് പാത നൽകുക",
|
136 |
+
|
137 |
+
"Get information about the audio": "ഓഡിയോയുടെ കുറിപ്പ് നേടുക",
|
138 |
+
|
139 |
+
"## Voice Blender": "## വോയ്സ് ബ്ലെന്ഡർ",
|
140 |
+
"Select two voice models, set your desired blend percentage, and blend them into an entirely new voice.": "രണ്ട് വോയ്സ് മോഡലുകൾ തിരഞ്ഞെടുക്കുക, നിനക്ക് ആഗ്രഹിക്കുന്ന ബ്ലെന്റ് ശതകം സജ്ജീവമാക്കുക, അവയുടെ ബ്ലെന്റും പൂർണ്ണമായും പുതിയ ഒരു വോയ്സായാക്കുക.",
|
141 |
+
"Voice Blender": "വോയ്സ് ബ്ലെന്ഡർ",
|
142 |
+
"Drag and drop your model here": "നിനക്ക് ശൈലിക്കുകയോരോ മോഡൽ ഇവിടെ വികസിപ്പിക്കുക",
|
143 |
+
"You can also use a custom path.": "നിനക്ക് ഒരു സ്വന്തമായ പാതയും ഉപയോഗി���്കാം.",
|
144 |
+
"Blend Ratio": "ബ്ലെന്റ് അനുപാതം",
|
145 |
+
"Adjusting the position more towards one side or the other will make the model more similar to the first or second.": "സ്ഥാനം കൊണ്ടുകൂടുതൽ പ്രതിരൂപമാക്കാൻ മുന്നേറ്റം ഒന്നിലേറ്റെത്തിനു അല്ലെങ്കിൽ മറ്റൊന്നിലേറ്റെത്തിനു സാധിക്കും.",
|
146 |
+
"Fusion": "ഫ്യൂഷൻ",
|
147 |
+
"Path to Model": "മോഡലിന്റെ പാത",
|
148 |
+
"Enter path to model": "മോഡലിനെ സജ്ജീവമാക്കാൻ പാത നൽകുക",
|
149 |
+
"Model information to be placed": "പ്ലേസ്മെന്റ് ചെയ്യാൻ ആവശ്യമായ മോഡലിന്റെ വിവരം",
|
150 |
+
"Introduce the model information": "മോഡലിന്റെ വിവരം പരിചയപ്പെടുക",
|
151 |
+
"The information to be placed in the model (You can leave it blank or put anything).": "മോഡലില് സ്ഥലപ്പെടുത്താനുള്ള വിവരം (നിനക്ക് വിടാവുകയും അല്ലെങ്കിൽ എന്തെങ്കിലും ചേരുകയും ചെയ്യാം).",
|
152 |
+
"View model information": "മോഡലിന്റെ വിവരം കാണുക",
|
153 |
+
"Introduce the model pth path": "മോഡലിന്റെ pth പാത പരിചയപ്പെടുക",
|
154 |
+
"View": "കാണുക",
|
155 |
+
"Model extraction": "മോഡൽ എക്സ്ട്രാക്ഷൻ",
|
156 |
+
"Model conversion": "മോഡൽ കൺവേർഷൻ",
|
157 |
+
"Pth file": "Pth ഫയൽ",
|
158 |
+
"Output of the pth file": "Pth ഫയലിന്റെ പ്രോഡക്റ്റ്",
|
159 |
+
"# How to Report an Issue on GitHub": "# GitHub-ലെ ഒരു ഇഷ്യൂ റിപ്പോർട്ട് ചെയ്യുന്നതിനുള്ള രീതി",
|
160 |
+
"1. Click on the 'Record Screen' button below to start recording the issue you are experiencing.": "1. നിന്റെ അനുഭവപ്പെടുന്ന ഇഷ്യൂ റെക്കോർഡുചെയ്യുന്നതിന് താഴെ 'Record Screen' ബട്ടൺ ക്ലിക്കുചെയ്യുക.",
|
161 |
+
"2. Once you have finished recording the issue, click on the 'Stop Recording' button (the same button, but the label changes depending on whether you are actively recording or not).": "2. ഇഷ്യൂ റെക്കോർഡുചെയ്തുതീർക്കുന്നതിനുശേഷം, 'Stop Recording' ബട്ടൺ ക്ലിക്കുചെയ്യുക (അത് തുടർന്നിരിക്കുന്നുമോ എന്ന് താഴെയോ കാണുന്ന ലേബല് അനുസരിച്ച് മാറുന്നു).",
|
162 |
+
"3. Go to [GitHub Issues](https://github.com/IAHispano/Applio/issues) and click on the 'New Issue' button.": "3. [GitHub Issues](https://github.com/IAHispano/Applio/issues) സ്ഥലത്തേക്ക് പോകുക, 'New Issue' ബട്ടൺ ക്ലിക്കുചെയ്യുക.",
|
163 |
+
"4. Complete the provided issue template, ensuring to include details as needed, and utilize the assets section to upload the recorded file from the previous step.": "4. നൽകിയ ഇഷ്യൂ ടെംപ്ലേറ്റ് പൂർത്തിയാക്കുക, ആവശ്യമായ വിവരങ്ങളെ ചേർക്കുന്നതിനുശേഷം, പഴയ ഘടനയിൽ റെക്കോർഡുചെയ്ത ഫയൽ അപ്ലോഡ് ചെയ്യുന്നതിന് എസെറ്റ് വിഭാഗം ഉപയോഗിക്കുക.",
|
164 |
+
"Record Screen": "റെക്കോർഡ് സ്ക്രീൻ",
|
165 |
+
"Record": "റെക്കോർഡ്",
|
166 |
+
"Stop Recording": "റെക്കോർഡുനിർത്തുക",
|
167 |
+
"Introduce the model .pth path": "മോഡൽ .pth പാത പരിചയപ്പെടുക",
|
168 |
+
"See Model Information": "മോഡൽ വിവരങ്ങൾ കാണുക",
|
169 |
+
"## Download Model": "## മോഡൽ ഡൗൺലോഡ്",
|
170 |
+
"Model Link": "മോഡൽ ലിങ്ക്",
|
171 |
+
"Introduce the model link": "മോഡൽ ലിങ്ക് പരിചയപ്പെടുക",
|
172 |
+
"Download Model": "മോഡൽ ഡൗൺലോഡ്",
|
173 |
+
"## Drop files": "## ഫയലുകൾ ഇടുക",
|
174 |
+
"## Search Model": "## മോഡൽ തിരയൽ",
|
175 |
+
"Search": "തിരയൽ",
|
176 |
+
"Introduce the model name to search.": "തിരയുന്നതിനായി മോഡൽ പേര് അറിയിക്കുക.",
|
177 |
+
"We couldn't find models by that name.": "അനുബന്ധമായ പേരിൽ മോഡൽസ് കണ്ട���ത്താനായില്ല.",
|
178 |
+
|
179 |
+
"Drag your .pth file and .index file into this space. Drag one and then the other.": "നിനക്ക് .pth ഫയലുകളും .index ഫയലുകളും ഇവിടെ ഡ്രാഗ് ചെയ്യുക. ഒന്നുകിട്ട് പിന്നെ മറ്റൊന്നു ഡ്രാഗ് ചെയ്യുക.",
|
180 |
+
"TTS Voices": "TTS വോയ്സുകൾ",
|
181 |
+
"Select the TTS voice to use for the conversion.": "മാറ്റത്തിനായി ഉപയോഗിക്കാൻ TTS വോയ്സ് തിരഞ്ഞെടുക്കുക.",
|
182 |
+
"Text to Synthesize": "സിന്തിയസൈസ് ചെയ്യുന്ന ടെക്സ്റ്റ്",
|
183 |
+
"Enter the text to synthesize.": "സിന്തിയസൈസ് ചെയ്യാൻ ടെക്സ്റ്റ് നൽകുക.",
|
184 |
+
"Or you can upload a .txt file": "അല്ലെങ്കിൽ .txt ഫയൽ അപ്ലോഡ് ചെയ്യാം",
|
185 |
+
"Enter text to synthesize": "സിന്തിയസൈസ് ചെയ്യാൻ ടെക്സ്റ്റ് നൽകുക",
|
186 |
+
"Output Path for TTS Audio": "TTS ഓഡിയോക്ക് ഔട്ട്പുട്ട് പാത",
|
187 |
+
"Output Path for RVC Audio": "RVC ഓഡിയോക്ക് ഔട്ട്പുട്ട് പാത",
|
188 |
+
"Enable Applio integration with Discord presence": "Discord പ്രസന്നതയോട് Applio ഇൻറഗ്രേഷൻ സജീവമാക്കുക",
|
189 |
+
"It will activate the possibility of displaying the current Applio activity in Discord.": "ഇത് Discord-നായിരിക്കുന്ന നിലാവ് കാണാനുള്ള സാധ്യത സജീവമാക്കും.",
|
190 |
+
"Enable Applio integration with applio.org/models using flask": "flask ഉപയോഗിച്ച് applio.org/models ഇൻറഗ്രേഷൻ Applio സജീവമാക്കുക",
|
191 |
+
"It will activate the possibility of downloading models with a click from the website.": "ഇത് വെബ്സൈറ്റിൽ ഒരു ക്ലിക്ക് ചെയ്യുമ്പോൾ മോഡലുകൾ ഡൗൺലോഡ് ചെയ്യാനുള്ള സാധ്യത സജീവമാക്കും.",
|
192 |
+
"Enable fake GPU": "വഞ്ചി ജിപിയു ഇയക്കുക",
|
193 |
+
"Training is currently unsupported due to the absence of a GPU. To activate the training tab, navigate to the settings tab and enable the 'Fake GPU' option.": "പ്രശിക്ഷണം തറന്ന് നിലവിലുള്ളതിന് ജിപിയു ഇല്ലാതെ പ്രസ്താവിക്കുന്നതിനായി തിരഞ്ഞെടുക്കുന്നത് അനുവദിക്കാൻ 'ഫെയ്ക് ജിപിയു' ഓപ്ഷൻ സജ്ജമാക്കുക എന്ന് ക്രമീകരിക്കാൻ തിരിച്ചുവരുക. ",
|
194 |
+
"Activates the train tab. However, please note that this device lacks GPU capabilities, hence training is not supported. This option is only for testing purposes. (This option will restart Applio)": "പ്രശിക്ഷണം തുടങ്ങുന്നു. എങ്കിലും, ദയവായി ശ്രദ്ധിക്കുക എന്നത് നിങ്ങളുടെ ഉപകരണത്തിൽ GPU സാധ്യതകൾ ഇല്ലാത്തതാണ്, അതിനാൽ പ്രശിക്ഷണം അനുവദനീയമല്ല. ഈ ഓപ്ഷൻ ഇപ്പോൾ പരീക്ഷണങ്ങളിക്കായാണ്. (ഈ ഓപ്ഷൻ അപ്ലിയോ പുനഃസജ്ജമാക്കും)",
|
195 |
+
"Theme": "തീം",
|
196 |
+
"Select the theme you want to use. (Requires restarting Applio)": "നിനക്ക് ഉപയോഗിക്കാൻ എന്താണെന്ന് നിങ്ങളുടെ തീം തിരഞ്ഞെടുക്കുക. (Applio പുനഃസജീവമാക്കാൻ ആവശ്യമാണ്)",
|
197 |
+
"Language": "ഭാഷ",
|
198 |
+
"Select the language you want to use. (Requires restarting Applio)": "നിങ്ങളുടെ ഉപയോഗത്തിന് നിങ്ങളുടെ ഭാഷ തിരഞ്ഞെടുക്കുക. (Applio പുനഃസജീവമാക്കാൻ ആവശ്യമാണ്)",
|
199 |
+
"Plugin Installer": "പ്ലഗിൻ ഇൻസ്റ്റാൾലർ",
|
200 |
+
"Drag your plugin.zip to install it": "അതിനായി നിനക്ക് നിന്നെത്തിയ .zip ഫയല് ഇൻസ്റ്റാൾ ചെയ്യാൻ ഇവിടെ ഡ്രാഗ് ചെയ്യുക",
|
201 |
+
"Version Checker": "വേര്ഷന് ചെക്കർ",
|
202 |
+
"Check which version of Applio is the latest to see if you need to update.": "നിനക്ക് അപ്ഡേറ്റുചെയ്യേണ്ടതോ എന്ന് അപ്ലിയോയുടെ ഏറ്റവും പുതിയ പതിപ്പായത് പരിശോധിക്കുക.",
|
203 |
+
"Check for updates": "അപ്ഡേറ്റുകൾ പരിശോധിക്കുക"
|
204 |
+
}
|
assets/i18n/languages/mr_MR.json
ADDED
@@ -0,0 +1,175 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"Ultimate voice cloning tool, meticulously optimized for unrivaled power, modularity, and user-friendly experience.": "अल्टिमेट व्हॉइस क्लोनिंग टूल, अप्रतिम शक्ती, मॉड्युलरिटी आणि वापरकर्ता-अनुकूल अनुभवासाठी काळजीपूर्वक ऑप्टिमाइझ केलेले.",
|
3 |
+
"This section contains some extra utilities that often may be in experimental phases.": "या विभागात काही अतिरिक्त उपयोगिता आहेत ज्या बर्याचदा प्रायोगिक टप्प्यात असू शकतात.",
|
4 |
+
"Output Information": "आउटपुट माहिती",
|
5 |
+
"The output information will be displayed here.": "आउटपुट माहिती येथे प्रदर्शित केली जाईल.",
|
6 |
+
"Inference": "निष्कर्ष",
|
7 |
+
"Train": "आगगाडी",
|
8 |
+
"Extra": "अतिरिक्त",
|
9 |
+
"Merge Audios": "Merges Tऑडिओ",
|
10 |
+
"Processing": "प्रोसेसिंग",
|
11 |
+
"Audio Analyzer": "ऑडिओ विश्लेषक",
|
12 |
+
"Model Information": "मॉडेल माहिती",
|
13 |
+
"Plugins": "प्लगइन्स",
|
14 |
+
"Download": "डाउनलोड करा",
|
15 |
+
"Report a Bug": "बग ची नोंद करा",
|
16 |
+
"Settings": "सेटिंग्स",
|
17 |
+
"Preprocess": "पूर्वप्रक्रिया",
|
18 |
+
"Model Name": "मॉडेलचे नाव",
|
19 |
+
"Name of the new model.": "नवीन मॉडेलचे नाव .",
|
20 |
+
"Enter model name": "मॉडेल नाव प्रविष्ट करा",
|
21 |
+
"Dataset Path": "डेटासेट पथ",
|
22 |
+
"Path to the dataset folder.": "डेटासेट फोल्डरचा मार्ग.",
|
23 |
+
"Refresh Datasets": "डेटासेट रिफ्रेश करा",
|
24 |
+
"Dataset Creator": "डेटासेट निर्माता",
|
25 |
+
"Dataset Name": "डेटासेट चे नाव",
|
26 |
+
"Name of the new dataset.": "नवीन डेटासेटचे नाव.",
|
27 |
+
"Enter dataset name": "डेटासेट नाव प्रविष्ट करा",
|
28 |
+
"Upload Audio Dataset": "ऑडिओ डेटासेट अपलोड करा",
|
29 |
+
"The audio file has been successfully added to the dataset. Please click the preprocess button.": "ऑडिओ फाइल डेटासेटमध्ये यशस्वीरित्या जोडली गेली आहे. कृपया प्रीप्रोसेस बटणावर क्लिक करा.",
|
30 |
+
"Enter dataset path": "डेटासेट मार्ग प्रविष्ट करा",
|
31 |
+
"Sampling Rate": "नमुना दर",
|
32 |
+
"The sampling rate of the audio files.": "ऑडिओ फायलींचे नमुने घेण्याचा दर.",
|
33 |
+
"RVC Version": "आरव्हीसी आवृत्ती",
|
34 |
+
"The RVC version of the model.": "मॉडेलची आरव्हीसी आवृत्ती.",
|
35 |
+
"Preprocess Dataset": "Preprocess Dataset",
|
36 |
+
"Extract": "अर्क",
|
37 |
+
"Hop Length": "हॉप लांबी",
|
38 |
+
"Denotes the duration it takes for the system to transition to a significant pitch change. Smaller hop lengths require more time for inference but tend to yield higher pitch accuracy.": "प्रणालीला महत्त्वपूर्ण खेळपट्टी बदलाकडे संक्रमण होण्यासाठी लागणारा कालावधी दर्शवितो. लहान हॉप लांबीसाठी अनुमानासाठी अधिक वेळ लागतो परंतु खेळपट्टीची अचूकता जास्त असते.",
|
39 |
+
"Batch Size": "बॅच आकार",
|
40 |
+
"It's advisable to align it with the available VRAM of your GPU. A setting of 4 offers improved accuracy but slower processing, while 8 provides faster and standard results.": "हे आपल्या जीपीयूच्या उपलब्ध व्हीआरएएमसह संरेखित करण्याचा सल्ला दिला जातो. 4 ची सेटिंग सुधारित अचूकता परंतु हळू प्रक्रिया प्रदान करते, तर 8 वेगवान आणि मानक परिणाम प्रदान करते.",
|
41 |
+
"Save Every Epoch": "प्रत्येक युग वाचवा",
|
42 |
+
"Determine at how many epochs the model will saved at.": "मॉडेल किती युगात जतन करेल हे ठरवा.",
|
43 |
+
"Total Epoch": "एकूण युग",
|
44 |
+
"Specifies the overall quantity of epochs for the model training process.": "मॉड��ल प्रशिक्षण प्रक्रियेसाठी युगांची एकूण मात्रा निर्दिष्ट करते.",
|
45 |
+
"Pretrained": "पूर्वप्रशिक्षित",
|
46 |
+
"Save Only Latest": "फक्त लेटेस्ट सेव्ह करा",
|
47 |
+
"Enabling this setting will result in the G and D files saving only their most recent versions, effectively conserving storage space.": "ही सेटिंग सक्षम केल्याने जी आणि डी फायली केवळ त्यांच्या अलीकडील आवृत्त्या वाचवतील आणि स्टोरेज स्पेस प्रभावीपणे जतन करतील.",
|
48 |
+
"Save Every Weights": "प्रत्येक वजन वाचवा",
|
49 |
+
"This setting enables you to save the weights of the model at the conclusion of each epoch.": "ही सेटिंग आपल्याला प्रत्येक युगाच्या शेवटी मॉडेलची वजने वाचविण्यास सक्षम करते.",
|
50 |
+
"Custom Pretrained": "सानुकूल पूर्वप्रशिक्षित",
|
51 |
+
"Utilizing custom pretrained models can lead to superior results, as selecting the most suitable pretrained models tailored to the specific use case can significantly enhance performance.": "सानुकूल पूर्वप्रशिक्षित मॉडेल्स चा वापर केल्यास उत्कृष्ट परिणाम मिळू शकतात, कारण विशिष्ट वापर प्रकरणानुसार सर्वात योग्य पूर्वप्रशिक्षित मॉडेल्स ची निवड केल्यास कार्यक्षमता लक्षणीय वाढू शकते.",
|
52 |
+
"Upload Pretrained Model": "पूर्वप्रशिक्षित मॉडेल अपलोड करा",
|
53 |
+
"Refresh Custom Pretraineds": "रिफ्रेश सानुकूल पूर्वप्रशिक्षित",
|
54 |
+
"Pretrained Custom Settings": "पूर्वप्रशिक्षित सानुकूल सेटिंग्ज",
|
55 |
+
"The file you dropped is not a valid pretrained file. Please try again.": "आपण टाकलेली फाईल वैध पूर्वप्रशिक्षित फाइल नाही. कृपया पुन्हा प्रयत्न करा.",
|
56 |
+
"Click the refresh button to see the pretrained file in the dropdown menu.": "ड्रॉपडाउन मेनूमध्ये पूर्वप्रशिक्षित फाइल पाहण्यासाठी रिफ्रेश बटणावर क्लिक करा.",
|
57 |
+
"Pretrained G Path": "सानुकूल पूर्वप्रशिक्षित जी",
|
58 |
+
"Pretrained D Path": "सानुकूल पूर्वप्रशिक्षित डी",
|
59 |
+
"GPU Settings": "जीपीयू सेटिंग्स",
|
60 |
+
"Sets advanced GPU settings, recommended for users with better GPU architecture.": "प्रगत जीपीयू सेटिंग्ज सेट करा, चांगल्या जीपीयू आर्किटेक्चर असलेल्या वापरकर्त्यांसाठी शिफारस केली आहे.",
|
61 |
+
"GPU Custom Settings": "जीपीयू सानुकूल सेटिंग्स",
|
62 |
+
"GPU Number": "जीपीयू नंबर",
|
63 |
+
"0 to ∞ separated by -": "0 ते ∞ वेगळे केले जातात -",
|
64 |
+
"GPU Information": "जीपीयू माहिती",
|
65 |
+
"Pitch Guidance": "खेळपट्टी मार्गदर्शन",
|
66 |
+
"By employing pitch guidance, it becomes feasible to mirror the intonation of the original voice, including its pitch. This feature is particularly valuable for singing and other scenarios where preserving the original melody or pitch pattern is essential.": "खेळपट्टीमार्गदर्शनाचा वापर करून मूळ आवाजाच्या खेळपट्टीसह त्याच्या अंतर्मुखतेचे प्रतिबिंब उमटविणे शक्य होते. हे वैशिष्ट्य गायन आणि इतर दृश्यांसाठी विशेषतः मौल्यवान आहे जिथे मूळ सूर किंवा पिच पॅटर्न जतन करणे आवश्यक आहे.",
|
67 |
+
"Utilize pretrained models when training your own. This approach reduces training duration and enhances overall quality.": "स्वत: चे प्रशिक्षण देताना पूर्वप्रशिक्षित मॉडेल्स वापरा. हा दृष्टिकोन प्रशिक्षण कालावधी कमी करतो आणि एकंदर गुणवत्ता वाढवतो.",
|
68 |
+
"Extract Features": "अर्क वैशिष्ट्ये",
|
69 |
+
"Start Training": "प्रशिक्षण सुरू करा",
|
70 |
+
"Generate Index": "इंडेक्स तयार करा",
|
71 |
+
"Voice Model": "व्हॉइस मॉडेल",
|
72 |
+
"Select the voice model to use for the conversion.": "रूपांतरणासाठी वापरण्यासाठी व्हॉइस मॉडेल निवडा.",
|
73 |
+
"Index File": "अनुक्रमणिका फाइल",
|
74 |
+
"Select the index file to use for the conversion.": "रूपांतरणासाठी वापरण्यासाठी अनुक्रमणिका फाइल निवडा.",
|
75 |
+
"Refresh": "टवटवी आणणे",
|
76 |
+
"Unload Voice": "आवाज अनलोड करा",
|
77 |
+
"Single": "अविवाहित",
|
78 |
+
"Upload Audio": "ऑडिओ अपलोड करा",
|
79 |
+
"Select Audio": "ऑडिओ निवडा",
|
80 |
+
"Select the audio to convert.": "रूपांतरित करण्यासाठी ऑडिओ निवडा.",
|
81 |
+
"Advanced Settings": "प्रगत सेटिंग्ज",
|
82 |
+
"Clear Outputs (Deletes all audios in assets/audios)": "स्पष्ट आउटपुट (मालमत्ता / ऑडिओमधील सर्व ऑडिओ हटवतात)",
|
83 |
+
"Custom Output Path": "सानुकूल आउटपुट पथ",
|
84 |
+
"Output Path": "आउटपुट पथ",
|
85 |
+
"The path where the output audio will be saved, by default in assets/audios/output.wav": "तो मार्ग जिथे आउटपुट ऑडिओ जतन केला जाईल, मालमत्ता / ऑडिओ / output.wav मध्ये डिफॉल्टद्वारे",
|
86 |
+
"Split Audio": "स्प्लिट ऑडिओ",
|
87 |
+
"Split the audio into chunks for inference to obtain better results in some cases.": "काही प्रकरणांमध्ये चांगले परिणाम मिळविण्यासाठी अनुमानासाठी ऑडिओचे तुकडे करा.",
|
88 |
+
"Autotune": "Autotune",
|
89 |
+
"Apply a soft autotune to your inferences, recommended for singing conversions.": "गायन रूपांतरणासाठी शिफारस केलेल्या आपल्या निष्कर्षांवर सॉफ्ट ऑटोट्यून लागू करा.",
|
90 |
+
"Clean Audio": "स्वच्छ ऑडिओ",
|
91 |
+
"Clean your audio output using noise detection algorithms, recommended for speaking audios.": "ध्वनी शोध अल्गोरिदम वापरुन आपले ऑडिओ आउटपुट स्वच्छ करा, ऑडिओ बोलण्यासाठी शिफारस केली आहे.",
|
92 |
+
"Clean Strength": "स्वच्छ शक्ती",
|
93 |
+
"Set the clean-up level to the audio you want, the more you increase it the more it will clean up, but it is possible that the audio will be more compressed.": "आपल्याला हव्या असलेल्या ऑडिओमध्ये क्लीन-अप पातळी सेट करा, आपण ते जितके वाढवाल तितके ते साफ होईल, परंतु ऑडिओ अधिक संकुचित होण्याची शक्यता आहे.",
|
94 |
+
"Pitch": "खेळपट्टी",
|
95 |
+
"Set the pitch of the audio, the higher the value, the higher the pitch.": "ऑडिओची खेळपट्टी सेट करा, किंमत जितकी जास्त तितकी खेळपट्टी जास्त.",
|
96 |
+
"Filter Radius": "फिल्टर त्रिज्या",
|
97 |
+
"If the number is greater than or equal to three, employing median filtering on the collected tone results has the potential to decrease respiration.": "जर संख्या तीनपेक्षा जास्त किंवा समान असेल तर संकलित टोन परिणामांवर मध्यम फिल्टरिंग वापरल्यास श्वसन कमी होण्याची क्षमता असते.",
|
98 |
+
"Search Feature Ratio": "शोध वैशिष्ट्य गुणोत्तर",
|
99 |
+
"Influence exerted by the index file; a higher value corresponds to greater influence. However, opting for lower values can help mitigate artifacts present in the audio.": "अनुक्रमणिका संचिकेने टाकलेला प्रभाव; उच्च मूल्य अधिक प्रभावाशी संबंधित आहे. तथापि, कमी मूल्यांची निवड केल्याने ���डिओमध्ये असलेल्या कलाकृती कमी होण्यास मदत होते.",
|
100 |
+
"Volume Envelope": "Volume लिफाफा",
|
101 |
+
"Substitute or blend with the volume envelope of the output. The closer the ratio is to 1, the more the output envelope is employed.": "आउटपुटच्या व्हॉल्यूम लिफाफ्यासह पर्याय किंवा मिश्रण करा. गुणोत्तर 1 च्या जितके जवळ असेल तितके आउटपुट लिफाफा वापरला जातो.",
|
102 |
+
"Protect Voiceless Consonants": "आवाजहीन व्यंजनांचे रक्षण करा",
|
103 |
+
"Safeguard distinct consonants and breathing sounds to prevent electro-acoustic tearing and other artifacts. Pulling the parameter to its maximum value of 0.5 offers comprehensive protection. However, reducing this value might decrease the extent of protection while potentially mitigating the indexing effect.": "इलेक्ट्रो-ध्वनिक फाटणे आणि इतर कलाकृती टाळण्यासाठी विशिष्ट व्यंजने आणि श्वासोच्छवासाच्या आवाजांचे रक्षण करा. पॅरामीटरला त्याच्या 0.5 च्या जास्तीत जास्त मूल्यावर खेचणे व्यापक संरक्षण प्रदान करते. तथापि, हे मूल्य कमी केल्याने अनुक्रमणिका प्रभाव संभाव्यत: कमी करताना संरक्षणाची व्याप्ती कमी होऊ शकते.",
|
104 |
+
"Pitch extraction algorithm": "पिच निष्कर्षण अल्गोरिदम",
|
105 |
+
"Pitch extraction algorithm to use for the audio conversion. The default algorithm is rmvpe, which is recommended for most cases.": "ऑडिओ रूपांतरणासाठी वापरण्यासाठी पिच एक्सट्रॅक्शन अल्गोरिदम. डिफॉल्ट अल्गोरिदम आरएमव्हीपीई आहे, ज्याची शिफारस बहुतेक प्रकरणांमध्ये केली जाते.",
|
106 |
+
"Convert": "धर्मांतर करा",
|
107 |
+
"Export Audio": "निर्यात ऑडिओ",
|
108 |
+
"Batch": "तुकडी",
|
109 |
+
"Input Folder": "इनपुट फोल्डर",
|
110 |
+
"Select the folder containing the audios to convert.": "रूपांतरित करण्यासाठी ऑडिओ असलेले फोल्डर निवडा.",
|
111 |
+
"Enter input path": "इनपुट पथ प्रविष्ट करा",
|
112 |
+
"Output Folder": "आउटपुट फोल्डर",
|
113 |
+
"Select the folder where the output audios will be saved.": "फोल्डर निवडा जेथे आउटपुट ऑडिओ सेव्ह केले जातील.",
|
114 |
+
"Enter output path": "आउटपुट पथ प्रविष्ट करा",
|
115 |
+
"Get information about the audio": "ऑडिओबद्दल माहिती मिळवा",
|
116 |
+
"Information about the audio file": "ऑडिओ फाईलची माहिती",
|
117 |
+
"Waiting for information...": "माहितीच्या प्रतीक्षेत...",
|
118 |
+
"## Voice Blender": "## व्हॉइस ब्लेंडर",
|
119 |
+
"Select two voice models, set your desired blend percentage, and blend them into an entirely new voice.": "दोन व्हॉईस मॉडेल निवडा, आपली इच्छित मिश्रण टक्केवारी सेट करा आणि त्यांना पूर्णपणे नवीन आवाजात मिसळा.",
|
120 |
+
"Voice Blender": "व्हॉइस ब्लेंडर",
|
121 |
+
"Drag and drop your model here": "आपले मॉडेल येथे खेचून टाका आणि सोडा",
|
122 |
+
"You can also use a custom path.": "आपण सानुकूल मार्ग देखील वापरू शकता.",
|
123 |
+
"Blend Ratio": "मिश्रण गुणोत्तर",
|
124 |
+
"Adjusting the position more towards one side or the other will make the model more similar to the first or second.": "एका किंवा दुसर्या बाजूला स्थिती अधिक समायोजित केल्याने मॉडेल पहिल्या किंवा दुसर्या बाजूला अधिक समान होईल.",
|
125 |
+
"Fusion": "फ्यूजन",
|
126 |
+
"Path to Model": "मॉडेल चा मार्ग",
|
127 |
+
"Enter path to model": "मॉडेलचा मार्ग प्रविष्ट करा",
|
128 |
+
"Model information to be placed": "मॉडेल माहिती ठेवली जाईल",
|
129 |
+
"Inroduce the model information": "मॉडेल ची माहिती सादर करा",
|
130 |
+
"The information to be placed in the model (You can leave it blank or put anything).": "मॉडेलमध्ये ठेवली जाणारी माहिती (आपण ती रिकामी ठेवू शकता किंवा काहीही टाकू शकता).",
|
131 |
+
"View model information": "मॉडेल माहिती पहा",
|
132 |
+
"Introduce the model pth path": "मॉडेल पीटीएच पथ सादर करा",
|
133 |
+
"View": "पहा",
|
134 |
+
"Model extraction": "मॉडेल निष्कर्षण",
|
135 |
+
"Model conversion": "मॉडेल रूपांतरण",
|
136 |
+
"Pth file": "पीटीएच फाईल",
|
137 |
+
"Output of the pth file": "पीटीएच फाईलचे आउटपुट",
|
138 |
+
"# How to Report an Issue on GitHub": "# गिटहबवर एखाद्या समस्येची नोंद कशी करावी",
|
139 |
+
"1. Click on the 'Record Screen' button below to start recording the issue you are experiencing.": "1. आपण अनुभवत असलेल्या समस्येचे रेकॉर्डिंग सुरू करण्यासाठी खालील 'रेकॉर्ड स्क्रीन' बटणावर क्लिक करा.",
|
140 |
+
"2. Once you have finished recording the issue, click on the 'Stop Recording' button (the same button, but the label changes depending on whether you are actively recording or not).": "२. अंक रेकॉर्ड िंग पूर्ण झाल्यावर 'स्टॉप रेकॉर्डिंग' बटणावर क्लिक करा (तेच बटण, पण तुम्ही सक्रियपणे रेकॉर्डिंग करत आहात की नाही यावर अवलंबून लेबल बदलते).",
|
141 |
+
"3. Go to [GitHub Issues](https://github.com/IAHispano/Applio/issues) and click on the 'New Issue' button.": "3. [गिटहब इश्यूज] (https://github.com/IAHispano/Applio/issues) वर जा आणि 'न्यू इश्यू' बटणावर क्लिक करा.",
|
142 |
+
"4. Complete the provided issue template, ensuring to include details as needed, and utilize the assets section to upload the recorded file from the previous step.": "4. प्रदान केलेले इश्यू टेम्पलेट पूर्ण करा, आवश्यकतेनुसार तपशील समाविष्ट करण्याची खात्री करा आणि मागील चरणातून रेकॉर्ड केलेली फाइल अपलोड करण्यासाठी मालमत्ता विभागाचा वापर करा.",
|
143 |
+
"Record Screen": "रेकॉर्ड स्क्रीन",
|
144 |
+
"Record": "नोंदणे",
|
145 |
+
"Stop Recording": "रेकॉर्डिंग थांबवा",
|
146 |
+
"Introduce the model .pth path": "मॉडेल .पीटीएच पथ सादर करा",
|
147 |
+
"See Model Information": "मॉडेल माहिती पहा",
|
148 |
+
"## Download Model": "## मॉडेल डाऊनलोड करा",
|
149 |
+
"Model Link": "मॉडेल लिंक",
|
150 |
+
"Introduce the model link": "मॉडेल लिंक ची ओळख करून द्या",
|
151 |
+
"Download Model": "मॉडेल डाउनलोड करा",
|
152 |
+
"## Drop files": "## फाइल्स ड्रॉप करा",
|
153 |
+
"Drag your .pth file and .index file into this space. Drag one and then the other.": "आपली .pth फाइल आणि .अनुक्रमणिका फाईल या जागेत खेचून घ्या. एकाला ओढून घ्या आणि मग दुसरं.",
|
154 |
+
"TTS Voices": "टीटीएस आवाज",
|
155 |
+
"Select the TTS voice to use for the conversion.": "रूपांतरणासाठी वापरण्यासाठी टीटीएस आवाज निवडा.",
|
156 |
+
"Text to Synthesize": "संश्लेषित करण्यासाठी मजकूर",
|
157 |
+
"Enter the text to synthesize.": "संश्लेषित करण्यासाठी मजकूर प्रविष्ट करा.",
|
158 |
+
"Or you can upload a .txt file": "किंवा तुम्ही .txt फाईल अपलोड करू शकता",
|
159 |
+
"Enter text to synthesize": "संश्लेषित करण्यासाठी मजकूर प्रविष्ट करा",
|
160 |
+
"Output Path for TTS Audio": "टीटीएस ऑडिओसाठी आउटपुट पथ",
|
161 |
+
"Output Path for RVC Audio": "आरव्हीसी ऑडिओसाठी आउटपुट पथ",
|
162 |
+
"Enable Applio integration with Discord presence": "डिस्कॉर्ड उपस्थितीसह अनुप्रयोग एकीकरण सक्षम करा",
|
163 |
+
"It will activate the possibility of displaying the current Applio activity in Discord.": "हे डिस्कॉर्डमध्ये सध्याची ऍप्लिओ क्रियाकलाप प्रदर्शित करण्याची शक्यता सक्रिय करेल.",
|
164 |
+
"Enable Applio integration with applio.org/models using flask": "फ्लास्क वापरुन applio.org/models अनुप्रयोगा एकीकरण सक्षम करा",
|
165 |
+
"It will activate the possibility of downloading models with a click from the website.": "हे वेबसाइटवरून एका क्लिकवर मॉडेल्स डाउनलोड करण्याची शक्यता सक्रिय करेल.",
|
166 |
+
"Theme": "थीम :",
|
167 |
+
"Select the theme you want to use. (Requires restarting Applio)": "आपण वापरू इच्छित थीम निवडा. (अनुप्रयोग पुन्हा सुरू करणे आवश्यक आहे)",
|
168 |
+
"Language": "भाषा",
|
169 |
+
"Select the language you want to use. (Requires restarting Applio)": "आपल्याला जी भाषा वापरायची आहे ती निवडा. (अनुप्रयोग पुन्हा सुरू करणे आवश्यक आहे)",
|
170 |
+
"Plugin Installer": "Plugin Installer",
|
171 |
+
"Drag your plugin.zip to install it": "ते स्थापित करण्यासाठी आपले plugin.zip खेचून घ्या",
|
172 |
+
"Version Checker": "Version Checker",
|
173 |
+
"Check which version of Applio is the latest to see if you need to update.": "आपल्याला अद्ययावत करण्याची आवश्यकता आहे की नाही हे पाहण्यासाठी अ ॅप्लिओची कोणती आवृत्ती नवीनतम आहे ते पहा.",
|
174 |
+
"Check for updates": "अपडेट्ससाठी पहा"
|
175 |
+
}
|
assets/i18n/languages/ms_MS.json
ADDED
@@ -0,0 +1,175 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"Ultimate voice cloning tool, meticulously optimized for unrivaled power, modularity, and user-friendly experience.": "Alat pengklonan suara muktamad, dioptimumkan dengan teliti untuk kuasa yang tiada tandingan, modulariti, dan pengalaman mesra pengguna.",
|
3 |
+
"This section contains some extra utilities that often may be in experimental phases.": "Bahagian ini mengandungi beberapa utiliti tambahan yang selalunya berada dalam fasa percubaan.",
|
4 |
+
"Output Information": "Maklumat Output",
|
5 |
+
"The output information will be displayed here.": "Maklumat output akan dipaparkan di sini.",
|
6 |
+
"Inference": "Inferens",
|
7 |
+
"Train": "Kereta api",
|
8 |
+
"Extra": "Tambahan",
|
9 |
+
"Merge Audios": "Mencantumkan Audio",
|
10 |
+
"Processing": "Pemprosesan",
|
11 |
+
"Audio Analyzer": "Penganalisis Audio",
|
12 |
+
"Model Information": "Maklumat Model",
|
13 |
+
"Plugins": "Plugin",
|
14 |
+
"Download": "Muat turun",
|
15 |
+
"Report a Bug": "Laporkan pepijat",
|
16 |
+
"Settings": "Seting",
|
17 |
+
"Preprocess": "Praproses",
|
18 |
+
"Model Name": "Nama Model",
|
19 |
+
"Name of the new model.": "Nama model baharu.",
|
20 |
+
"Enter model name": "Masukkan nama model",
|
21 |
+
"Dataset Path": "Laluan Set Data",
|
22 |
+
"Path to the dataset folder.": "Laluan ke folder set data.",
|
23 |
+
"Refresh Datasets": "Menyegar semula Set Data",
|
24 |
+
"Dataset Creator": "Pencipta Set Data",
|
25 |
+
"Dataset Name": "Nama Set Data",
|
26 |
+
"Name of the new dataset.": "Nama set data baru.",
|
27 |
+
"Enter dataset name": "Masukkan nama set data",
|
28 |
+
"Upload Audio Dataset": "Muat naik Set Data Audio",
|
29 |
+
"The audio file has been successfully added to the dataset. Please click the preprocess button.": "Fail audio telah berjaya ditambahkan pada set data. Sila klik butang praproses.",
|
30 |
+
"Enter dataset path": "Memasukkan laluan set data",
|
31 |
+
"Sampling Rate": "Kadar Persampelan",
|
32 |
+
"The sampling rate of the audio files.": "Kadar pensampelan fail audio.",
|
33 |
+
"RVC Version": "Versi RVC",
|
34 |
+
"The RVC version of the model.": "Versi RVC model.",
|
35 |
+
"Preprocess Dataset": "Set Data Praproses",
|
36 |
+
"Extract": "Cabutan",
|
37 |
+
"Hop Length": "Panjang Hop",
|
38 |
+
"Denotes the duration it takes for the system to transition to a significant pitch change. Smaller hop lengths require more time for inference but tend to yield higher pitch accuracy.": "Menunjukkan tempoh yang diperlukan untuk sistem beralih kepada perubahan padang yang ketara. Panjang hop yang lebih kecil memerlukan lebih banyak masa untuk kesimpulan tetapi cenderung menghasilkan ketepatan padang yang lebih tinggi.",
|
39 |
+
"Batch Size": "Saiz kelompok",
|
40 |
+
"It's advisable to align it with the available VRAM of your GPU. A setting of 4 offers improved accuracy but slower processing, while 8 provides faster and standard results.": "Anda dinasihatkan untuk menyelaraskannya dengan VRAM GPU anda yang tersedia. Tetapan 4 menawarkan ketepatan yang lebih baik tetapi pemprosesan yang lebih perlahan, manakala 8 memberikan hasil yang lebih cepat dan standard.",
|
41 |
+
"Save Every Epoch": "Simpan Setiap Zaman",
|
42 |
+
"Determine at how many epochs the model will saved at.": "Tentukan berapa zaman model akan disimpan.",
|
43 |
+
"Total Epoch": "Jumlah Zaman",
|
44 |
+
"Specifies the overall quantity of epochs for the model training process.": "Menentukan kuantiti keseluruhan zaman untuk proses latihan model.",
|
45 |
+
"Pretrained": "Dipralatih",
|
46 |
+
"Save Only Latest": "Simpan Terkini Sahaja",
|
47 |
+
"Enabling this setting will result in the G and D files saving only their most recent versions, effectively conserving storage space.": "Mendayakan tetapan ini akan menyebabkan fail G dan D menyimpan hanya versi terbaru mereka, menjimatkan ruang storan dengan berkesan.",
|
48 |
+
"Save Every Weights": "Jimat Setiap Berat",
|
49 |
+
"This setting enables you to save the weights of the model at the conclusion of each epoch.": "Tetapan ini membolehkan anda menjimatkan berat model pada akhir setiap zaman.",
|
50 |
+
"Custom Pretrained": "Pralatih Tersuai",
|
51 |
+
"Utilizing custom pretrained models can lead to superior results, as selecting the most suitable pretrained models tailored to the specific use case can significantly enhance performance.": "Menggunakan model pra-latihan tersuai boleh membawa kepada hasil yang unggul, kerana memilih model pra-latihan yang paling sesuai yang disesuaikan dengan kes penggunaan tertentu dapat meningkatkan prestasi dengan ketara.",
|
52 |
+
"Upload Pretrained Model": "Muat naik Model Pralatih",
|
53 |
+
"Refresh Custom Pretraineds": "Menyegar Semula Pralatihan Tersuai",
|
54 |
+
"Pretrained Custom Settings": "Seting Tersuai Pralatih",
|
55 |
+
"The file you dropped is not a valid pretrained file. Please try again.": "Fail yang anda gugurkan bukan fail pralatih yang sah. Sila cuba lagi.",
|
56 |
+
"Click the refresh button to see the pretrained file in the dropdown menu.": "Klik butang segar semula untuk melihat fail pralatih dalam menu juntai bawah.",
|
57 |
+
"Pretrained G Path": "Custom Pretrained G",
|
58 |
+
"Pretrained D Path": "Custom Pretrained D",
|
59 |
+
"GPU Settings": "Seting GPU",
|
60 |
+
"Sets advanced GPU settings, recommended for users with better GPU architecture.": "Menetapkan tetapan GPU lanjutan, disyorkan untuk pengguna dengan seni bina GPU yang lebih baik.",
|
61 |
+
"GPU Custom Settings": "Seting Tersuai GPU",
|
62 |
+
"GPU Number": "Nombor GPU",
|
63 |
+
"0 to ∞ separated by -": "0 hingga ∞ dipisahkan oleh -",
|
64 |
+
"GPU Information": "Maklumat GPU",
|
65 |
+
"Pitch Guidance": "Panduan Padang",
|
66 |
+
"By employing pitch guidance, it becomes feasible to mirror the intonation of the original voice, including its pitch. This feature is particularly valuable for singing and other scenarios where preserving the original melody or pitch pattern is essential.": "Dengan menggunakan panduan padang, ia boleh dilaksanakan untuk mencerminkan intonasi suara asal, termasuk padangnya. Ciri ini amat berharga untuk nyanyian dan senario lain di mana mengekalkan corak melodi atau padang asal adalah penting.",
|
67 |
+
"Utilize pretrained models when training your own. This approach reduces training duration and enhances overall quality.": "Gunakan model yang telah dilatih semasa melatih anda sendiri. Pendekatan ini mengurangkan tempoh latihan dan meningkatkan kualiti keseluruhan.",
|
68 |
+
"Extract Features": "Ciri Ekstrak",
|
69 |
+
"Start Training": "Mulakan Latihan",
|
70 |
+
"Generate Index": "Menjana Indeks",
|
71 |
+
"Voice Model": "Model Suara",
|
72 |
+
"Select the voice model to use for the conversion.": "Pilih model suara untuk digunakan untuk penukaran.",
|
73 |
+
"Index File": "Fail Indeks",
|
74 |
+
"Select the index file to use for the conversion.": "Pilih fail indeks untuk digunakan untuk penukaran.",
|
75 |
+
"Refresh": "Refresh",
|
76 |
+
"Unload Voice": "Memunggah Suara",
|
77 |
+
"Single": "Tunggal",
|
78 |
+
"Upload Audio": "Muat naik Audio",
|
79 |
+
"Select Audio": "Pilih Audio",
|
80 |
+
"Select the audio to convert.": "Pilih audio untuk ditukar.",
|
81 |
+
"Advanced Settings": "Seting Lanjutan",
|
82 |
+
"Clear Outputs (Deletes all audios in assets/audios)": "Kosongkan Output (Memadamkan semua audio dalam aset/audio)",
|
83 |
+
"Custom Output Path": "Laluan Output Tersuai",
|
84 |
+
"Output Path": "Laluan Output",
|
85 |
+
"The path where the output audio will be saved, by default in assets/audios/output.wav": "Laluan di mana audio output akan disimpan, secara lalai dalam aset/audio/output.wav",
|
86 |
+
"Split Audio": "Audio Pisah",
|
87 |
+
"Split the audio into chunks for inference to obtain better results in some cases.": "Pisahkan audio kepada ketulan untuk kesimpulan untuk mendapatkan hasil yang lebih baik dalam beberapa kes.",
|
88 |
+
"Autotune": "Autotune",
|
89 |
+
"Apply a soft autotune to your inferences, recommended for singing conversions.": "Gunakan autotune lembut pada kesimpulan anda, disyorkan untuk penukaran nyanyian.",
|
90 |
+
"Clean Audio": "Audio Bersih",
|
91 |
+
"Clean your audio output using noise detection algorithms, recommended for speaking audios.": "Bersihkan output audio anda menggunakan algoritma pengesanan bunyi, disyorkan untuk bercakap audio.",
|
92 |
+
"Clean Strength": "Kekuatan Bersih",
|
93 |
+
"Set the clean-up level to the audio you want, the more you increase it the more it will clean up, but it is possible that the audio will be more compressed.": "Tetapkan tahap pembersihan ke audio yang anda mahukan, semakin banyak anda meningkatkannya semakin banyak ia akan membersihkan, tetapi ada kemungkinan audio akan lebih dimampatkan.",
|
94 |
+
"Pitch": "Pitch",
|
95 |
+
"Set the pitch of the audio, the higher the value, the higher the pitch.": "Tetapkan padang audio, semakin tinggi nilai, semakin tinggi padang.",
|
96 |
+
"Filter Radius": "Jejari Penapis",
|
97 |
+
"If the number is greater than or equal to three, employing median filtering on the collected tone results has the potential to decrease respiration.": "Sekiranya bilangannya lebih besar daripada atau sama dengan tiga, menggunakan penapisan median pada hasil nada yang dikumpulkan berpotensi untuk mengurangkan pernafasan.",
|
98 |
+
"Search Feature Ratio": "Nisbah Ciri Carian",
|
99 |
+
"Influence exerted by the index file; a higher value corresponds to greater influence. However, opting for lower values can help mitigate artifacts present in the audio.": "Pengaruh yang dikenakan oleh fail indeks; Nilai yang lebih tinggi sepadan dengan pengaruh yang lebih besar. Walau bagaimanapun, memilih nilai yang lebih rendah boleh membantu mengurangkan artifak yang terdapat dalam audio.",
|
100 |
+
"Volume Envelope": "Sampul Kelantangan",
|
101 |
+
"Substitute or blend with the volume envelope of the output. The closer the ratio is to 1, the more the output envelope is employed.": "Gantikan atau gabungkan dengan sampul kelantangan output. Semakin dekat nisbahnya kepada 1, semakin banyak sampul output digunakan.",
|
102 |
+
"Protect Voiceless Consonants": "Lindungi Konsonan Tanpa Suara",
|
103 |
+
"Safeguard distinct consonants and breathing sounds to prevent electro-acoustic tearing and other artifacts. Pulling the parameter to its maximum value of 0.5 offers comprehensive protection. However, reducing this value might decrease the extent of protection while potentially mitigating the indexing effect.": "Lindungi konsonan yang berbeza dan bunyi pernafasan untuk mengelakkan koyakan elektro-akustik dan artifak lain. Menarik parameter ke nilai maksimum 0.5 menawarkan perlindungan komprehensif. Walau bagaimanapun, mengurangkan nilai ini mungkin mengurangkan tahap perlindungan sambil berpotensi mengurangkan kesan pengindeksan.",
|
104 |
+
"Pitch extraction algorithm": "Algoritma pengekstrakan padang",
|
105 |
+
"Pitch extraction algorithm to use for the audio conversion. The default algorithm is rmvpe, which is recommended for most cases.": "Algoritma pengekstrakan padang untuk digunakan untuk penukaran audio. Algoritma lalai ialah rmvpe, yang disyorkan untuk kebanyakan kes.",
|
106 |
+
"Convert": "Menukar",
|
107 |
+
"Export Audio": "Eksport Audio",
|
108 |
+
"Batch": "Kelompok",
|
109 |
+
"Input Folder": "Input Folder",
|
110 |
+
"Select the folder containing the audios to convert.": "Pilih folder yang mengandungi audio untuk ditukar.",
|
111 |
+
"Enter input path": "Masukkan laluan input",
|
112 |
+
"Output Folder": "Output Folder",
|
113 |
+
"Select the folder where the output audios will be saved.": "Pilih folder di mana audio output akan disimpan.",
|
114 |
+
"Enter output path": "Masukkan laluan output",
|
115 |
+
"Get information about the audio": "Mendapatkan maklumat tentang audio",
|
116 |
+
"Information about the audio file": "Maklumat mengenai fail audio",
|
117 |
+
"Waiting for information...": "Menunggu maklumat...",
|
118 |
+
"## Voice Blender": "## Pengisar Suara",
|
119 |
+
"Select two voice models, set your desired blend percentage, and blend them into an entirely new voice.": "Pilih dua model suara, tetapkan peratusan campuran yang anda inginkan, dan gabungkannya ke dalam suara yang sama sekali baru.",
|
120 |
+
"Voice Blender": "Pengisar Suara",
|
121 |
+
"Drag and drop your model here": "Seret dan lepas model anda di sini",
|
122 |
+
"You can also use a custom path.": "Anda juga boleh menggunakan laluan tersuai.",
|
123 |
+
"Blend Ratio": "Nisbah Campuran",
|
124 |
+
"Adjusting the position more towards one side or the other will make the model more similar to the first or second.": "Melaraskan kedudukan lebih ke arah satu sisi atau yang lain akan menjadikan model lebih serupa dengan yang pertama atau kedua.",
|
125 |
+
"Fusion": "Gabungan",
|
126 |
+
"Path to Model": "Laluan ke Model",
|
127 |
+
"Enter path to model": "Masukkan laluan ke model",
|
128 |
+
"Model information to be placed": "Maklumat model yang akan diletakkan",
|
129 |
+
"Inroduce the model information": "Menghasut maklumat model",
|
130 |
+
"The information to be placed in the model (You can leave it blank or put anything).": "Maklumat yang akan diletakkan dalam model (Anda boleh membiarkannya kosong atau meletakkan apa-apa).",
|
131 |
+
"View model information": "Lihat maklumat model",
|
132 |
+
"Introduce the model pth path": "Perkenalkan laluan pth model",
|
133 |
+
"View": "Lihat",
|
134 |
+
"Model extraction": "Pengekstrakan model",
|
135 |
+
"Model conversion": "Penukaran model",
|
136 |
+
"Pth file": "Pth fail",
|
137 |
+
"Output of the pth file": "Output fail pth",
|
138 |
+
"# How to Report an Issue on GitHub": "# Cara Melaporkan Isu di GitHub",
|
139 |
+
"1. Click on the 'Record Screen' button below to start recording the issue you are experiencing.": "1. Klik pada butang 'Skrin Rekod' di bawah untuk mula merakam isu yang anda alami.",
|
140 |
+
"2. Once you have finished recording the issue, click on the 'Stop Recording' button (the same button, but the label changes depending on whether you are actively recording or not).": "2. Setelah anda selesai merakam isu ini, klik pada butang 'Hentikan Rakaman' (butang yang sama, tetapi label berubah bergantung pada sama ada anda merakam secara aktif atau tidak).",
|
141 |
+
"3. Go to [GitHub Issues](https://github.com/IAHispano/Applio/issues) and click on the 'New Issue' button.": "3. Pergi ke [Isu GitHub](https://github.com/IAHispano/Applio/issues) dan klik pada butang 'Isu Baru'.",
|
142 |
+
"4. Complete the provided issue template, ensuring to include details as needed, and utilize the assets section to upload the recorded file from the previous step.": "4. Lengkapkan templat isu yang disediakan, pastikan untuk memasukkan butiran mengikut keperluan, dan gunakan bahagian aset untuk memuat naik fail yang dirakam dari langkah sebelumnya.",
|
143 |
+
"Record Screen": "Skrin Rakam",
|
144 |
+
"Record": "Rekod",
|
145 |
+
"Stop Recording": "Hentikan Rakaman",
|
146 |
+
"Introduce the model .pth path": "Memperkenalkan model laluan .pth",
|
147 |
+
"See Model Information": "Lihat Maklumat Model",
|
148 |
+
"## Download Model": "## Muat Turun Model",
|
149 |
+
"Model Link": "Pautan Model",
|
150 |
+
"Introduce the model link": "Memperkenalkan pautan model",
|
151 |
+
"Download Model": "Model Muat Turun",
|
152 |
+
"## Drop files": "## Jatuhkan fail",
|
153 |
+
"Drag your .pth file and .index file into this space. Drag one and then the other.": "Seret fail .pth dan fail .index anda ke dalam ruang ini. Seret satu dan kemudian yang lain.",
|
154 |
+
"TTS Voices": "Suara TTS",
|
155 |
+
"Select the TTS voice to use for the conversion.": "Pilih suara TTS untuk digunakan bagi penukaran.",
|
156 |
+
"Text to Synthesize": "Teks untuk Mensintesis",
|
157 |
+
"Enter the text to synthesize.": "Masukkan teks untuk mensintesiskan.",
|
158 |
+
"Or you can upload a .txt file": "Atau anda boleh memuat naik fail .txt",
|
159 |
+
"Enter text to synthesize": "Masukkan teks untuk mensintesis saiz",
|
160 |
+
"Output Path for TTS Audio": "Laluan output untuk TTS Audio",
|
161 |
+
"Output Path for RVC Audio": "Laluan Output untuk Audio RVC",
|
162 |
+
"Enable Applio integration with Discord presence": "Dayakan integrasi Applio dengan kehadiran Discord",
|
163 |
+
"It will activate the possibility of displaying the current Applio activity in Discord.": "Ia akan mengaktifkan kemungkinan memaparkan aktiviti Applio semasa di Discord.",
|
164 |
+
"Enable Applio integration with applio.org/models using flask": "Dayakan integrasi Applio dengan applio.org/models menggunakan kelalang",
|
165 |
+
"It will activate the possibility of downloading models with a click from the website.": "Ia akan mengaktifkan kemungkinan memuat turun model dengan satu klik dari laman web.",
|
166 |
+
"Theme": "Tema",
|
167 |
+
"Select the theme you want to use. (Requires restarting Applio)": "Pilih tema yang anda mahu gunakan. (Memerlukan memulakan semula Applio)",
|
168 |
+
"Language": "Bahasa",
|
169 |
+
"Select the language you want to use. (Requires restarting Applio)": "Pilih bahasa yang anda mahu gunakan. (Memerlukan memulakan semula Applio)",
|
170 |
+
"Plugin Installer": "Pemasang Plugin",
|
171 |
+
"Drag your plugin.zip to install it": "Seret plugin.zip anda untuk memasangnya",
|
172 |
+
"Version Checker": "Penyemak Versi",
|
173 |
+
"Check which version of Applio is the latest to see if you need to update.": "Semak versi Applio yang terkini untuk melihat sama ada anda perlu mengemas kini.",
|
174 |
+
"Check for updates": "Semak kemas kini"
|
175 |
+
}
|