vali-98 / xtts-rvc-ui Goto Github PK
View Code? Open in Web Editor NEWA Gradio UI for XTTSv2 and RVC.
License: MIT License
A Gradio UI for XTTSv2 and RVC.
License: MIT License
Edit: Forked it here https://github.com/brentjohnston/XTTS-RVC-UI-ExtraOptions
Here is a modified app.py to which I added temperature and repetition penalty sliders from alltalk_tts. It makes a noticeable difference. I believe you want to stay in 0-1.5 range for temperature, and 0.8-2 range for rep penalty. It also only autoplays back the RVC output while typing, and updates the playback in realtime as you choose settings making it faster to find your most preferred settings.
You can also modify the model config.json and edit top_k and top_p settings for further tweaking. Here is what I am using:
"top_k": 70,
"top_p": 0.95,
Here is modified app.py:
import torch
from TTS.api import TTS
import gradio as gr
from rvc import Config, load_hubert, get_vc, rvc_infer
import gc, os, sys, argparse, requests
from pathlib import Path
parser = argparse.ArgumentParser(
prog='XTTS-RVC-UI',
description='Gradio UI for XTTSv2 and RVC'
)
parser.add_argument('-s', '--silent', action=argparse.BooleanOptionalAction, default=False)
args = parser.parse_args()
if args.silent:
print('Enabling silent mode.')
sys.stdout = open(os.devnull, 'w')
def download_models():
rvc_files = ['hubert_base.pt', 'rmvpe.pt']
for file in rvc_files:
if not os.path.isfile(f'./models/{file}'):
print(f'Downloading {file}')
r = requests.get(f'https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/{file}')
with open(f'./models/{file}', 'wb') as f:
f.write(r.content)
xtts_files = ['vocab.json', 'config.json', 'dvae.path', 'mel_stats.pth', 'model.pth']
for file in xtts_files:
if not os.path.isfile(f'./models/xtts/{file}'):
print(f'Downloading {file}')
r = requests.get(f'https://huggingface.co/coqui/XTTS-v2/resolve/v2.0.2/{file}')
with open(f'./models/xtts/{file}', 'wb') as f:
f.write(r.content)
[Path(_dir).mkdir(parents=True, exist_ok=True) for _dir in ['./models/xtts', './voices', './rvcs']]
download_models()
device = "cuda:0" if torch.cuda.is_available() else "cpu"
print("Device: " + device)
config = Config(device, device != 'cpu')
hubert_model = load_hubert(device, config.is_half, "./models/hubert_base.pt")
tts = TTS(model_path="./models/xtts", config_path='./models/xtts/config.json').to(device)
voices = []
rvcs = []
langs = ["en", "es", "fr", "de", "it", "pt", "pl", "tr", "ru", "nl", "cs", "ar", "zh-cn", "hu", "ko", "ja", "hi"]
def get_rvc_voices():
global voices
voices = os.listdir("./voices")
global rvcs
rvcs = list(filter(lambda x: x.endswith(".pth"), os.listdir("./rvcs")))
return [rvcs, voices]
def runtts(rvc, voice, text, pitch_change, index_rate, temperature, repetition_penalty, language):
try:
if not text.strip():
raise ValueError("Text input is required for synthesis.")
# Ensure the TTS function uses the temperature and repetition penalty parameters
audio = tts.tts_to_file(
text=text,
speaker_wav="./voices/" + voice,
language=language,
file_path="./output.wav",
temperature=temperature, # Add temperature here
repetition_penalty=repetition_penalty # Add repetition penalty here
)
voice_change(rvc, pitch_change, index_rate)
return ["./output.wav", "./outputrvc.wav"]
except Exception as e:
print(f"Error in runtts: {e}")
return [None, None]
def main():
get_rvc_voices()
print(rvcs)
print(voices)
interface = gr.Interface(
fn=runtts,
inputs=[
gr.Dropdown(choices=rvcs, value=rvcs[0] if len(rvcs) > 0 else '', label='RVC model'),
gr.Dropdown(choices=voices, value=voices[0] if len(voices) > 0 else '', label='Voice sample'),
gr.Textbox(placeholder="Write here...", label='Text', elem_id="text_input"),
gr.Slider(minimum=-12, maximum=12, value=0, step=1, label="Pitch"),
gr.Slider(minimum=0, maximum=1, value=0.75, step=0.05, label="Index Rate"),
gr.Slider(minimum=0.0, maximum=2.0, value=1.0, step=0.001, label="Temperature"),
gr.Slider(minimum=0.0, maximum=2.0, value=1.0, step=0.001, label="Repetition Penalty"),
gr.Dropdown(choices=langs, value=langs[0], label='Language')
],
outputs=[
gr.Audio(label="TTS result", type="filepath", interactive=False),
gr.Audio(label="RVC result", type="filepath", interactive=False, autoplay=True)
],
live=True,
title="XTTS RVC UI",
description="XTTS and RVC integration"
)
js_code = """
<script>
let timeout = null;
const inputElem = document.querySelector("#text_input input");
inputElem.addEventListener('input', function() {
clearTimeout(timeout);
timeout = setTimeout(() => {
document.querySelector('button:contains("Submit")').click();
}, 2000);
});
</script>
"""
interface.launch(server_name="127.0.0.1", server_port=5000, quiet=True, share=False)
class RVC_Data:
def __init__(self):
self.current_model = {}
self.cpt = {}
self.version = {}
self.net_g = {}
self.tgt_sr = {}
self.vc = {}
def load_cpt(self, modelname, rvc_model_path):
try:
if self.current_model != modelname:
print("Loading new model")
del self.cpt, self.version, self.net_g, self.tgt_sr, self.vc
self.cpt, self.version, self.net_g, self.tgt_sr, self.vc = get_vc(device, config.is_half, config, rvc_model_path)
self.current_model = modelname
except Exception as e:
print(f"Error in load_cpt: {e}")
input("Press Enter to continue...")
rvc_data = RVC_Data()
def voice_change(rvc, pitch_change, index_rate):
try:
modelname = os.path.splitext(rvc)[0]
print("Using RVC model: " + modelname)
rvc_model_path = "./rvcs/" + rvc
rvc_index_path = "./rvcs/" + modelname + ".index" if os.path.isfile("./rvcs/" + modelname + ".index") and index_rate != 0 else ""
if rvc_index_path != "":
print("Index file found!")
rvc_data.load_cpt(modelname, rvc_model_path)
rvc_infer(
index_path=rvc_index_path,
index_rate=index_rate,
input_path="./output.wav",
output_path="./outputrvc.wav",
pitch_change=pitch_change,
f0_method="rmvpe",
cpt=rvc_data.cpt,
version=rvc_data.version,
net_g=rvc_data.net_g,
filter_radius=3,
tgt_sr=rvc_data.tgt_sr,
rms_mix_rate=0.25,
protect=0,
crepe_hop_length=0,
vc=rvc_data.vc,
hubert_model=hubert_model
)
gc.collect()
except Exception as e:
print(f"Error in voice_change: {e}")
input("Press Enter to continue...")
if __name__ == "__main__":
try:
main()
except Exception as e:
print(f"An error occurred: {e}")
input("Press Enter to exit...")
Where can I find them so I can get this properly installed?
Edit: Build tools 2022 is not supported on my Windows 10 system. How do I install the UI now?
I understand that this repo has the MIT license. I just want to double check though, XTTS was licensed by coqui correct? So their non MIT license applies to the output from XTTS?
If I try to run it by clicking start.bat, the cmd window flashes and immediately exits. The same thing happens when I try to activate the venv by clicking activate.bat!
If I run python app.py from the cmd line, this happens:
D:\AI\XTTS-RVC-UI>python app.py
2024-01-01 12:45:17 | INFO | fairseq.tasks.text_to_speech | Please install tensorboardX: pip install tensorboardX
2024-01-01 12:45:17 | WARNING | xformers | WARNING[XFORMERS]: xFormers can't load C++/CUDA extensions. xFormers was built for:
PyTorch 2.0.1+cu118 with CUDA 1108 (you have 2.1.0+cpu)
Python 3.10.11 (you have 3.10.6)
Please reinstall xformers (see https://github.com/facebookresearch/xformers#installing-xformers)
Memory-efficient attention, SwiGLU, sparse and more won't be available.
Set XFORMERS_MORE_DETAILS=1 for more details
2024-01-01 12:45:17 | WARNING | xformers | Triton is not available, some optimizations will not be enabled.
This is just a warning: No module named 'triton'
2024-01-01 12:45:17 | INFO | faiss.loader | Loading faiss with AVX2 support.
2024-01-01 12:45:17 | INFO | faiss.loader | Could not load library with AVX2 support due to:
ModuleNotFoundError("No module named 'faiss.swigfaiss_avx2'")
2024-01-01 12:45:17 | INFO | faiss.loader | Loading faiss.
2024-01-01 12:45:17 | INFO | faiss.loader | Successfully loaded faiss.
Device: cpu
No supported N-card found, use CPU for inference
2024-01-01 12:45:17 | INFO | fairseq.tasks.hubert_pretraining | current directory is D:\AI\XTTS-RVC-UI
2024-01-01 12:45:17 | INFO | fairseq.tasks.hubert_pretraining | HubertPretrainingTask Config {'_name': 'hubert_pretraining', 'data': 'metadata', 'fine_tuning': False, 'labels': ['km'], 'label_dir': 'label', 'label_rate': 50.0, 'sample_rate': 16000, 'normalize': False, 'enable_padding': False, 'max_keep_size': None, 'max_sample_size': 250000, 'min_sample_size': 32000, 'single_target': False, 'random_crop': True, 'pad_audio': False}
2024-01-01 12:45:17 | INFO | fairseq.models.hubert.hubert | HubertModel Config: {'_name': 'hubert', 'label_rate': 50.0, 'extractor_mode': default, 'encoder_layers': 12, 'encoder_embed_dim': 768, 'encoder_ffn_embed_dim': 3072, 'encoder_attention_heads': 12, 'activation_fn': gelu, 'layer_type': transformer, 'dropout': 0.1, 'attention_dropout': 0.1, 'activation_dropout': 0.0, 'encoder_layerdrop': 0.05, 'dropout_input': 0.1, 'dropout_features': 0.1, 'final_dim': 256, 'untie_final_proj': True, 'layer_norm_first': False, 'conv_feature_layers': '[(512,10,5)] + [(512,3,2)] * 4 + [(512,2,2)] * 2', 'conv_bias': False, 'logit_temp': 0.1, 'target_glu': False, 'feature_grad_mult': 0.1, 'mask_length': 10, 'mask_prob': 0.8, 'mask_selection': static, 'mask_other': 0.0, 'no_mask_overlap': False, 'mask_min_space': 1, 'mask_channel_length': 10, 'mask_channel_prob': 0.0, 'mask_channel_selection': static, 'mask_channel_other': 0.0, 'no_mask_channel_overlap': False, 'mask_channel_min_space': 1, 'conv_pos': 128, 'conv_pos_groups': 16, 'latent_temp': [2.0, 0.5, 0.999995], 'skip_masked': False, 'skip_nomask': False, 'checkpoint_activations': False, 'required_seq_len_multiple': 2, 'depthwise_conv_kernel_size': 31, 'attn_type': '', 'pos_enc_type': 'abs', 'fp16': False}
C:\Users\mattb\AppData\Local\Programs\Python\Python310\lib\site-packages\torch\nn\utils\weight_norm.py:30: UserWarning: torch.nn.utils.weight_norm is deprecated in favor of torch.nn.utils.parametrizations.weight_norm.
warnings.warn("torch.nn.utils.weight_norm is deprecated in favor of torch.nn.utils.parametrizations.weight_norm.")
> Using model: xtts
[]
[]
C:\Users\mattb\AppData\Local\Programs\Python\Python310\lib\site-packages\gradio\components\dropdown.py:163: UserWarning: The value passed into gr.Dropdown() is not in the list of choices. Please update the list of choices to include: or set allow_custom_value=True.
warnings.warn(
Running on local URL: http://0.0.0.0:5000
If I go to that URL, nothing comes up.
Hi, I found RVC models on voice-models.com, e.g.Trump, Obama etc I mean you name it, many RVC models of many influencers and famous people can be found online.
I downloaded the file, renamed the index to match the model. Tried to use it. Got an error which didn't help much but somehow I guessed I had to provide also a voice sample...
Why a voice sample is needed? I spent a bunch of time to find some trump voice sample and I'm not even sure if this helps to use the Trump RVC model...
What kind of a voice model should I use? I guess it depends on the RVC model, right? So I don't really need a sample of trump voice to use the trump RVC model, or if I find it, it actually helps?
For best results, how long should the voice sample be, how many words? Quality?
This is worth to add in the readme (that a voice sample is mandatory) maybe provide one already, so people can start using this repo immediately?
Also, what is the index rate for? By default it's 0.75, what is it supposed to do if we use a higher or lower value?
Thanks for anyone who can clarify these things. So far this repo looks very promising, thanks for creating it.
Removed the specific versionings, and still managed to get this error:
cl : Command line warning D9002 : ignoring unknown option '-std=c++11'
cl : Command line warning D9002 : ignoring unknown option '-O3'
libbleu.cpp
C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.38.33130\include\yvals.h(20): fatal error C1083: Cannot open include file: 'crtdbg.h': No such file or directory
error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.38.33130\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for fairseq
Failed to build fairseq
ERROR: Could not build wheels for fairseq, which is required to install pyproject.toml-based projects
Can you explain why the numpy requirements are conflicting?
And why this won't work out of the gate?
What have you tested it on?
Do you have a YouTube video of your install methodology?
Thanks a million! <3
I encountered an error while installing the packages from requirements.txt. The installation process fails specifically when trying to install the jamo package.
Clone the XTTS-RVC-UI repository.
Create a new virtual environment.
Activate the virtual environment.
Run pip install -r requirements.txt.
All packages listed in requirements.txt, including jamo, should be installed successfully without any errors.
Actual Behavior:
The installation process fails with an error when trying to install the jamo package. The error message indicates a UnicodeDecodeError while decoding the long_description in the setup.py file of the jamo package.
Copy code error: subprocess-exited-with-error
× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [8 lines of output]
Traceback (most recent call last):
File "<string>", line 2, in <module>
File "<pip-setuptools-caller>", line 34, in <module>
File "C:\Users\Erater\AppData\Local\Temp\pip-install-ar579h5m\jamo_e0714986d64243ed8ddb467868cc1551\setup.py", line 11, in <module>
long_description = f.read()
File "C:\Users\Erater\AppData\Local\Programs\Python\Python310\lib\encodings\cp1252.py", line 23, in decode
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x90 in position 707: character maps to <undefined>
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
Operating System: Windows
Python Version: 3.10.14
pip Version: 24.0
I have created a new virtual environment and activated it before running the pip install -r requirements.txt command. The error occurs specifically with the jamo package, while other packages seem to install without issues.
Please advise on how to resolve this installation error with the jamo package. Let me know if you need any further information or details.
Having trouble getting the TTS RVC WebUI installed getting this error:
ERROR: Cannot install -r requirements.txt (line 1), -r requirements.txt (line 12), -r requirements.txt (line 3), -r requirements.txt (line 4), -r requirements.txt (line 7), -r requirements.txt (line 9) and numpy==1.22.0 because these package versions have conflicting dependencies.
The conflict is caused by:
The user requested numpy==1.22.0
fairseq 0.12.2 depends on numpy; python_version >= "3.7"
gradio 4.7.1 depends on numpy~=1.0
librosa 0.10.0 depends on numpy>=1.20.3
pyworld 0.3.4 depends on numpy
scipy 1.11.4 depends on numpy=1.21.6
tts 0.21.1 depends on numpy>=1.24.3; python_version > "3.10"
To fix this you could try to:
ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts
I have forked this repository to make it into an extension.
https://github.com/rsxdalv/extension_xtts_rvc_ui
As an extension, this UI does not need to focus on installation issues, but instead can focus on the UI itself. Additionally, the repository can be installed as a package:
pip install git+https://github.com/rsxdalv/extension_xtts_rvc_ui
Let me know if there are any suggestions, or questions about it.
I want to generate a public link instead of using the local url. How can I do that?
I have a few issues, this is shared across XTTS and other TTS iv'e ran on cmd for requirements. I havn't cracked at it for a long time yet but i'd much appreciate help and or guidance my knowledge of this stuff isn't great. I'd try no virtual environment and virtual just in case. I tried following the instructions very closely but i feel like i'm missing something.
C:\Users\Bradley\Desktop\retry\XTTS-RVC-UI>pip install -r requirements.txt
Defaulting to user installation because normal site-packages is not writeable
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Collecting fairseq==0.12.2 (from -r requirements.txt (line 1))
Downloading fairseq-0.12.2.tar.gz (9.6 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9.6/9.6 MB 16.6 MB/s eta 0:00:00
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
Collecting faiss_cpu==1.7.4 (from -r requirements.txt (line 2))
Downloading faiss-cpu-1.7.4.tar.gz (57 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 57.4/57.4 kB ? eta 0:00:00
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting gradio==4.7.1 (from -r requirements.txt (line 3))
Downloading gradio-4.7.1-py3-none-any.whl.metadata (17 kB)
Collecting librosa==0.10.0 (from -r requirements.txt (line 4))
Downloading librosa-0.10.0-py3-none-any.whl.metadata (8.3 kB)
Collecting numpy==1.22.0 (from -r requirements.txt (line 5))
Downloading numpy-1.22.0.zip (11.3 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 11.3/11.3 MB 15.2 MB/s eta 0:00:00
Installing build dependencies ... done
Getting requirements to build wheel ... done
ERROR: Exception:
Traceback (most recent call last):
File "C:\Users\Bradley\AppData\Roaming\Python\Python312\site-packages\pip_internal\cli\base_command.py", line 179, in exc_logging_wrapper
status = run_func(*args)
^^^^^^^^^^^^^^^
File "C:\Users\Bradley\AppData\Roaming\Python\Python312\site-packages\pip_internal\cli\req_command.py", line 67, in wrapper
return func(self, options, args)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Bradley\AppData\Roaming\Python\Python312\site-packages\pip_internal\commands\install.py", line 377, in run
requirement_set = resolver.resolve(
^^^^^^^^^^^^^^^^^
File "C:\Users\Bradley\AppData\Roaming\Python\Python312\site-packages\pip_internal\resolution\resolvelib\resolver.py", line 95, in resolve
result = self._result = resolver.resolve(
^^^^^^^^^^^^^^^^^
File "C:\Users\Bradley\AppData\Roaming\Python\Python312\site-packages\pip_vendor\resolvelib\resolvers.py", line 546, in resolve
state = resolution.resolve(requirements, max_rounds=max_rounds)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Bradley\AppData\Roaming\Python\Python312\site-packages\pip_vendor\resolvelib\resolvers.py", line 397, in resolve
self._add_to_criteria(self.state.criteria, r, parent=None)
File "C:\Users\Bradley\AppData\Roaming\Python\Python312\site-packages\pip_vendor\resolvelib\resolvers.py", line 173, in _add_to_criteria
if not criterion.candidates:
^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Bradley\AppData\Roaming\Python\Python312\site-packages\pip_vendor\resolvelib\structs.py", line 156, in bool
return bool(self._sequence)
^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Bradley\AppData\Roaming\Python\Python312\site-packages\pip_internal\resolution\resolvelib\found_candidates.py", line 174, in bool
return any(self)
^^^^^^^^^
File "C:\Users\Bradley\AppData\Roaming\Python\Python312\site-packages\pip_internal\resolution\resolvelib\found_candidates.py", line 162, in
return (c for c in iterator if id(c) not in self._incompatible_ids)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Bradley\AppData\Roaming\Python\Python312\site-packages\pip_internal\resolution\resolvelib\found_candidates.py", line 53, in _iter_built
candidate = func()
^^^^^^
File "C:\Users\Bradley\AppData\Roaming\Python\Python312\site-packages\pip_internal\resolution\resolvelib\factory.py", line 185, in _make_candidate_from_link
base: Optional[BaseCandidate] = self._make_base_candidate_from_link(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Bradley\AppData\Roaming\Python\Python312\site-packages\pip_internal\resolution\resolvelib\factory.py", line 231, in _make_base_candidate_from_link
self._link_candidate_cache[link] = LinkCandidate(
^^^^^^^^^^^^^^
File "C:\Users\Bradley\AppData\Roaming\Python\Python312\site-packages\pip_internal\resolution\resolvelib\candidates.py", line 303, in init
super().init(
File "C:\Users\Bradley\AppData\Roaming\Python\Python312\site-packages\pip_internal\resolution\resolvelib\candidates.py", line 158, in init
self.dist = self._prepare()
^^^^^^^^^^^^^^^
File "C:\Users\Bradley\AppData\Roaming\Python\Python312\site-packages\pip_internal\resolution\resolvelib\candidates.py", line 235, in _prepare
dist = self._prepare_distribution()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Bradley\AppData\Roaming\Python\Python312\site-packages\pip_internal\resolution\resolvelib\candidates.py", line 314, in _prepare_distribution
return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Bradley\AppData\Roaming\Python\Python312\site-packages\pip_internal\operations\prepare.py", line 527, in prepare_linked_requirement
return self._prepare_linked_requirement(req, parallel_builds)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Bradley\AppData\Roaming\Python\Python312\site-packages\pip_internal\operations\prepare.py", line 642, in _prepare_linked_requirement
dist = _get_prepared_distribution(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Bradley\AppData\Roaming\Python\Python312\site-packages\pip_internal\operations\prepare.py", line 72, in _get_prepared_distribution
abstract_dist.prepare_distribution_metadata(
File "C:\Users\Bradley\AppData\Roaming\Python\Python312\site-packages\pip_internal\distributions\sdist.py", line 56, in prepare_distribution_metadata
self._install_build_reqs(finder)
File "C:\Users\Bradley\AppData\Roaming\Python\Python312\site-packages\pip_internal\distributions\sdist.py", line 126, in _install_build_reqs
build_reqs = self._get_build_requires_wheel()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Bradley\AppData\Roaming\Python\Python312\site-packages\pip_internal\distributions\sdist.py", line 103, in _get_build_requires_wheel
return backend.get_requires_for_build_wheel()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Bradley\AppData\Roaming\Python\Python312\site-packages\pip_internal\utils\misc.py", line 709, in get_requires_for_build_wheel
return super().get_requires_for_build_wheel(config_settings=cs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Bradley\AppData\Roaming\Python\Python312\site-packages\pip_vendor\pyproject_hooks_impl.py", line 166, in get_requires_for_build_wheel
return self._call_hook('get_requires_for_build_wheel', {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Bradley\AppData\Roaming\Python\Python312\site-packages\pip_vendor\pyproject_hooks_impl.py", line 321, in _call_hook
raise BackendUnavailable(data.get('traceback', ''))
pip._vendor.pyproject_hooks._impl.BackendUnavailable: Traceback (most recent call last):
File "C:\Users\Bradley\AppData\Roaming\Python\Python312\site-packages\pip_vendor\pyproject_hooks_in_process_in_process.py", line 77, in build_backend
obj = import_module(mod_path)
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Lib\importlib_init.py", line 90, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1387, in _gcd_import
File "", line 1360, in _find_and_load
File "", line 1310, in _find_and_load_unlocked
File "", line 488, in _call_with_frames_removed
File "", line 1387, in _gcd_import
File "", line 1360, in _find_and_load
File "", line 1331, in _find_and_load_unlocked
File "", line 935, in _load_unlocked
File "", line 995, in exec_module
File "", line 488, in call_with_frames_removed
File "C:\Users\Bradley\AppData\Local\Temp\pip-build-env-ocr45sok\overlay\Lib\site-packages\setuptools_init.py", line 10, in
import distutils.core
ModuleNotFoundError: No module named 'distutils'
C:\Users\Bradley\Desktop\retry\XTTS-RVC-UI>python -m venv myenv //here i now test with virtual environment
C:\Users\Bradley\Desktop\retry\XTTS-RVC-UI>myenv\Scripts\activate
(myenv) C:\Users\Bradley\Desktop\retry\XTTS-RVC-UI>pip install -r requirements.txt //now tried running reqs in virtual env
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Collecting fairseq==0.12.2 (from -r requirements.txt (line 1))
Downloading fairseq-0.12.2.tar.gz (9.6 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9.6/9.6 MB 14.3 MB/s eta 0:00:00
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
Collecting faiss_cpu==1.7.4 (from -r requirements.txt (line 2))
Downloading faiss-cpu-1.7.4.tar.gz (57 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 57.4/57.4 kB ? eta 0:00:00
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting gradio==4.7.1 (from -r requirements.txt (line 3))
Downloading gradio-4.7.1-py3-none-any.whl.metadata (17 kB)
Collecting librosa==0.10.0 (from -r requirements.txt (line 4))
Downloading librosa-0.10.0-py3-none-any.whl.metadata (8.3 kB)
Collecting numpy==1.22.0 (from -r requirements.txt (line 5))
Downloading numpy-1.22.0.zip (11.3 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 11.3/11.3 MB 16.0 MB/s eta 0:00:00
Installing build dependencies ... done
Getting requirements to build wheel ... done
ERROR: Exception:
Traceback (most recent call last):
File "C:\Users\Bradley\Desktop\retry\XTTS-RVC-UI\myenv\Lib\site-packages\pip_internal\cli\base_command.py", line 180, in exc_logging_wrapper
status = run_func(*args)
^^^^^^^^^^^^^^^
File "C:\Users\Bradley\Desktop\retry\XTTS-RVC-UI\myenv\Lib\site-packages\pip_internal\cli\req_command.py", line 245, in wrapper
return func(self, options, args)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Bradley\Desktop\retry\XTTS-RVC-UI\myenv\Lib\site-packages\pip_internal\commands\install.py", line 377, in run
requirement_set = resolver.resolve(
^^^^^^^^^^^^^^^^^
File "C:\Users\Bradley\Desktop\retry\XTTS-RVC-UI\myenv\Lib\site-packages\pip_internal\resolution\resolvelib\resolver.py", line 95, in resolve
result = self._result = resolver.resolve(
^^^^^^^^^^^^^^^^^
File "C:\Users\Bradley\Desktop\retry\XTTS-RVC-UI\myenv\Lib\site-packages\pip_vendor\resolvelib\resolvers.py", line 546, in resolve
state = resolution.resolve(requirements, max_rounds=max_rounds)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Bradley\Desktop\retry\XTTS-RVC-UI\myenv\Lib\site-packages\pip_vendor\resolvelib\resolvers.py", line 397, in resolve
self._add_to_criteria(self.state.criteria, r, parent=None)
File "C:\Users\Bradley\Desktop\retry\XTTS-RVC-UI\myenv\Lib\site-packages\pip_vendor\resolvelib\resolvers.py", line 173, in _add_to_criteria
if not criterion.candidates:
^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Bradley\Desktop\retry\XTTS-RVC-UI\myenv\Lib\site-packages\pip_vendor\resolvelib\structs.py", line 156, in bool
return bool(self._sequence)
^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Bradley\Desktop\retry\XTTS-RVC-UI\myenv\Lib\site-packages\pip_internal\resolution\resolvelib\found_candidates.py", line 155, in bool
return any(self)
^^^^^^^^^
File "C:\Users\Bradley\Desktop\retry\XTTS-RVC-UI\myenv\Lib\site-packages\pip_internal\resolution\resolvelib\found_candidates.py", line 143, in
return (c for c in iterator if id(c) not in self._incompatible_ids)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Bradley\Desktop\retry\XTTS-RVC-UI\myenv\Lib\site-packages\pip_internal\resolution\resolvelib\found_candidates.py", line 47, in _iter_built
candidate = func()
^^^^^^
File "C:\Users\Bradley\Desktop\retry\XTTS-RVC-UI\myenv\Lib\site-packages\pip_internal\resolution\resolvelib\factory.py", line 182, in _make_candidate_from_link
base: Optional[BaseCandidate] = self._make_base_candidate_from_link(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Bradley\Desktop\retry\XTTS-RVC-UI\myenv\Lib\site-packages\pip_internal\resolution\resolvelib\factory.py", line 228, in _make_base_candidate_from_link
self._link_candidate_cache[link] = LinkCandidate(
^^^^^^^^^^^^^^
File "C:\Users\Bradley\Desktop\retry\XTTS-RVC-UI\myenv\Lib\site-packages\pip_internal\resolution\resolvelib\candidates.py", line 290, in init
super().init(
File "C:\Users\Bradley\Desktop\retry\XTTS-RVC-UI\myenv\Lib\site-packages\pip_internal\resolution\resolvelib\candidates.py", line 156, in init
self.dist = self._prepare()
^^^^^^^^^^^^^^^
File "C:\Users\Bradley\Desktop\retry\XTTS-RVC-UI\myenv\Lib\site-packages\pip_internal\resolution\resolvelib\candidates.py", line 222, in _prepare
dist = self._prepare_distribution()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Bradley\Desktop\retry\XTTS-RVC-UI\myenv\Lib\site-packages\pip_internal\resolution\resolvelib\candidates.py", line 301, in _prepare_distribution
return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Bradley\Desktop\retry\XTTS-RVC-UI\myenv\Lib\site-packages\pip_internal\operations\prepare.py", line 525, in prepare_linked_requirement
return self._prepare_linked_requirement(req, parallel_builds)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Bradley\Desktop\retry\XTTS-RVC-UI\myenv\Lib\site-packages\pip_internal\operations\prepare.py", line 640, in _prepare_linked_requirement
dist = _get_prepared_distribution(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Bradley\Desktop\retry\XTTS-RVC-UI\myenv\Lib\site-packages\pip_internal\operations\prepare.py", line 71, in _get_prepared_distribution
abstract_dist.prepare_distribution_metadata(
File "C:\Users\Bradley\Desktop\retry\XTTS-RVC-UI\myenv\Lib\site-packages\pip_internal\distributions\sdist.py", line 54, in prepare_distribution_metadata
self._install_build_reqs(finder)
File "C:\Users\Bradley\Desktop\retry\XTTS-RVC-UI\myenv\Lib\site-packages\pip_internal\distributions\sdist.py", line 124, in _install_build_reqs
build_reqs = self._get_build_requires_wheel()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Bradley\Desktop\retry\XTTS-RVC-UI\myenv\Lib\site-packages\pip_internal\distributions\sdist.py", line 101, in _get_build_requires_wheel
return backend.get_requires_for_build_wheel()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Bradley\Desktop\retry\XTTS-RVC-UI\myenv\Lib\site-packages\pip_internal\utils\misc.py", line 745, in get_requires_for_build_wheel
return super().get_requires_for_build_wheel(config_settings=cs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Bradley\Desktop\retry\XTTS-RVC-UI\myenv\Lib\site-packages\pip_vendor\pyproject_hooks_impl.py", line 166, in get_requires_for_build_wheel
return self._call_hook('get_requires_for_build_wheel', {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Bradley\Desktop\retry\XTTS-RVC-UI\myenv\Lib\site-packages\pip_vendor\pyproject_hooks_impl.py", line 321, in _call_hook
raise BackendUnavailable(data.get('traceback', ''))
pip._vendor.pyproject_hooks._impl.BackendUnavailable: Traceback (most recent call last):
File "C:\Users\Bradley\Desktop\retry\XTTS-RVC-UI\myenv\Lib\site-packages\pip_vendor\pyproject_hooks_in_process_in_process.py", line 77, in build_backend
obj = import_module(mod_path)
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Lib\importlib_init.py", line 90, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1387, in _gcd_import
File "", line 1360, in _find_and_load
File "", line 1310, in _find_and_load_unlocked
File "", line 488, in _call_with_frames_removed
File "", line 1387, in _gcd_import
File "", line 1360, in _find_and_load
File "", line 1331, in _find_and_load_unlocked
File "", line 935, in _load_unlocked
File "", line 995, in exec_module
File "", line 488, in call_with_frames_removed
File "C:\Users\Bradley\AppData\Local\Temp\pip-build-env-2uu2ojo1\overlay\Lib\site-packages\setuptools_init.py", line 10, in
import distutils.core
ModuleNotFoundError: No module named 'distutils'
[notice] A new release of pip is available: 24.0 -> 24.1.2
[notice] To update, run: python.exe -m pip install --upgrade pip
(myenv) C:\Users\Bradley\Desktop\retry\XTTS-RVC-UI>pip install setuptools //gave up and installed setup tools dependency since distutlis is apparently not in newer python? (i didnt know this)
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Collecting setuptools
Downloading setuptools-71.0.4-py3-none-any.whl.metadata (6.5 kB)
Downloading setuptools-71.0.4-py3-none-any.whl (2.3 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.3/2.3 MB 10.0 MB/s eta 0:00:00
Installing collected packages: setuptools
Successfully installed setuptools-71.0.4
[notice] A new release of pip is available: 24.0 -> 24.1.2
[notice] To update, run: python.exe -m pip install --upgrade pip
(myenv) C:\Users\Bradley\Desktop\retry\XTTS-RVC-UI>pip install -r requirements.txt
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Collecting fairseq==0.12.2 (from -r requirements.txt (line 1))
Downloading fairseq-0.12.2.tar.gz (9.6 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9.6/9.6 MB 14.3 MB/s eta 0:00:00
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
Collecting faiss_cpu==1.7.4 (from -r requirements.txt (line 2))
Downloading faiss-cpu-1.7.4.tar.gz (57 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 57.4/57.4 kB ? eta 0:00:00
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting gradio==4.7.1 (from -r requirements.txt (line 3))
Downloading gradio-4.7.1-py3-none-any.whl.metadata (17 kB)
Collecting librosa==0.10.0 (from -r requirements.txt (line 4))
Downloading librosa-0.10.0-py3-none-any.whl.metadata (8.3 kB)
Collecting numpy==1.22.0 (from -r requirements.txt (line 5))
Downloading numpy-1.22.0.zip (11.3 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 11.3/11.3 MB 16.8 MB/s eta 0:00:00
Installing build dependencies ... done
Getting requirements to build wheel ... error
error: subprocess-exited-with-error
× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> [33 lines of output]
Traceback (most recent call last):
File "C:\Users\Bradley\Desktop\retry\XTTS-RVC-UI\myenv\Lib\site-packages\pip_vendor\pyproject_hooks_in_process_in_process.py", line 353, in
main()
File "C:\Users\Bradley\Desktop\retry\XTTS-RVC-UI\myenv\Lib\site-packages\pip_vendor\pyproject_hooks_in_process_in_process.py", line 335, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Bradley\Desktop\retry\XTTS-RVC-UI\myenv\Lib\site-packages\pip_vendor\pyproject_hooks_in_process_in_process.py", line 112, in get_requires_for_build_wheel
backend = _build_backend()
^^^^^^^^^^^^^^^^
File "C:\Users\Bradley\Desktop\retry\XTTS-RVC-UI\myenv\Lib\site-packages\pip_vendor\pyproject_hooks_in_process_in_process.py", line 77, in build_backend
obj = import_module(mod_path)
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Lib\importlib_init.py", line 90, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1387, in _gcd_import
File "", line 1360, in _find_and_load
File "", line 1310, in _find_and_load_unlocked
File "", line 488, in _call_with_frames_removed
File "", line 1387, in _gcd_import
File "", line 1360, in _find_and_load
File "", line 1331, in _find_and_load_unlocked
File "", line 935, in load_unlocked
File "", line 995, in exec_module
File "", line 488, in call_with_frames_removed
File "C:\Users\Bradley\AppData\Local\Temp\pip-build-env-6qb0lzw4\overlay\Lib\site-packages\setuptools_init.py", line 16, in
import setuptools.version
File "C:\Users\Bradley\AppData\Local\Temp\pip-build-env-6qb0lzw4\overlay\Lib\site-packages\setuptools\version.py", line 1, in
import pkg_resources
File "C:\Users\Bradley\AppData\Local\Temp\pip-build-env-6qb0lzw4\overlay\Lib\site-packages\pkg_resources_init.py", line 2172, in
register_finder(pkgutil.ImpImporter, find_on_path)
^^^^^^^^^^^^^^^^^^^
AttributeError: module 'pkgutil' has no attribute 'ImpImporter'. Did you mean: 'zipimporter'?
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error
× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
Hey please will you add support of Hindi language as xtts officially support it also there is a option to choose HI in language section but its giving error
can i add another language like Bahasa Indonesia? if yes, how can i do it?
That is all. When I press submit it creates an output.wmv file which looks like the correct result, but both in the console and in the UI itself I have error messages, but I have trained the models using RVC v2 in xtts-finetune-webui. So I don't know if "output.wmv" is TTS result or RVC result ...
Regards
Hello! Thank you for making this awesome little app, it's very useful!
I noticed that some of my RVC files that worked on other programs, were not producing the expected results on your client. I tracked the issue down to a typo in this line:
Line 102 in 11889f7
It should be rvcs, not rvc. Now .index files are loading just fine, and voices sound more accurate.
I don't know how to submit a pull request but I thought this was probably just as good. Thanks again!
I am getting this error:
python app.py Traceback (most recent call last): File "/home/pi4/social/XTTS-RVC-UI/app.py", line 4, in <module> from rvc import Config, load_hubert, get_vc, rvc_infer File "/home/pi4/social/XTTS-RVC-UI/rvc.py", line 6, in <module> from fairseq import checkpoint_utils File "/home/pi4/social/.vsocial/lib/python3.11/site-packages/fairseq/__init__.py", line 20, in <module> from fairseq.distributed import utils as distributed_utils File "/home/pi4/social/.vsocial/lib/python3.11/site-packages/fairseq/distributed/__init__.py", line 7, in <module> from .fully_sharded_data_parallel import ( File "/home/pi4/social/.vsocial/lib/python3.11/site-packages/fairseq/distributed/fully_sharded_data_parallel.py", line 10, in <module> from fairseq.dataclass.configs import DistributedTrainingConfig File "/home/pi4/social/.vsocial/lib/python3.11/site-packages/fairseq/dataclass/__init__.py", line 6, in <module> from .configs import FairseqDataclass File "/home/pi4/social/.vsocial/lib/python3.11/site-packages/fairseq/dataclass/configs.py", line 1104, in <module> @dataclass ^^^^^^^^^ File "/usr/lib/python3.11/dataclasses.py", line 1220, in dataclass return wrap(cls) ^^^^^^^^^ File "/usr/lib/python3.11/dataclasses.py", line 1210, in wrap return _process_class(cls, init, repr, eq, order, unsafe_hash, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/dataclasses.py", line 958, in _process_class cls_fields.append(_get_field(cls, name, type, kw_only)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/dataclasses.py", line 815, in _get_field raise ValueError(f'mutable default {type(f.default)} for field ' ValueError: mutable default <class 'fairseq.dataclass.configs.CommonConfig'> for field common is not allowed: use default_factory
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.