<div align="center">

<h1>Retrieval-based-Voice-Conversion-WebUI</h1> Un framework simple et facile à utiliser pour la conversion vocale (modificateur de voix) basé sur VITS<br><br>

madewithlove

<img src="https://counter.seku.su/cmoe?name=rvc&theme=r34" /><br>

Open In Colab Licence Huggingface

Discord

Journal de mise à jour | FAQ | AutoDL·Formation d'un chanteur AI pour 5 centimes | Enregistrement des expériences comparatives) | Démonstration en ligne

</div>


English | 中文简体 | 日本語 | 한국어 (韓國語) | Turc

Cliquez ici pour voir notre vidéo de démonstration !

Conversion vocale en temps réel avec RVC : w-okada/voice-changer

Le modèle de base est formé avec près de 50 heures de données VCTK de haute qualité et open source. Aucun souci concernant les droits d'auteur, n'hésitez pas à l'utiliser.

Attendez-vous au modèle de base RVCv3 : plus de paramètres, plus de données, de meilleurs résultats, une vitesse d'inférence presque identique, et nécessite moins de données pour la formation.

Introduction

Ce dépôt a les caractéristiques suivantes :

Configuration de l'environnement

Exécutez les commandes suivantes dans un environnement Python de version supérieure à 3.8.

(Windows/Linux)
Installez d'abord les dépendances principales via pip :

# Installez Pytorch et ses dépendances essentielles, sautez si déjà installé.
# Voir : https://pytorch.org/get-started/locally/
pip install torch torchvision torchaudio

# Pour les utilisateurs de Windows avec une architecture Nvidia Ampere (RTX30xx), en se basant sur l'expérience #21, spécifiez la version CUDA correspondante pour Pytorch.
# pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117

Vous pouvez utiliser poetry pour installer les dépendances :

# Installez l'outil de gestion des dépendances Poetry, sautez si déjà installé.
# Voir : https://python-poetry.org/docs/#installation
curl -sSL https://install.python-poetry.org | python3 -

# Installez les dépendances avec poetry.
poetry install

Ou vous pouvez utiliser pip pour installer les dépendances :

Cartes Nvidia :

pip install -r requirements.txt

Cartes AMD/Intel :
pip install -

r requirements-dml.txt


Les utilisateurs de Mac peuvent exécuter run.sh pour installer les dépendances :

sh ./run.sh

Préparation d'autres modèles pré-entraînés

RVC nécessite d'autres modèles pré-entraînés pour l'inférence et la formation.

Vous pouvez télécharger ces modèles depuis notre espace Hugging Face.

Voici une liste des modèles et autres fichiers requis par RVC :

./assets/hubert/hubert_base.pt

./assets/pretrained 

./assets/uvr5_weights

Pour tester la version v2 du modèle, téléchargez également :

./assets/pretrained_v2

Si vous utilisez Windows, vous pourriez avoir besoin de ces fichiers pour ffmpeg et ffprobe, sautez cette étape si vous avez déjà installé ffmpeg et ffprobe.

Les utilisateurs d'ubuntu/debian peuvent installer ces deux bibliothèques avec apt install ffmpeg. Les utilisateurs de Mac peuvent les installer avec brew install ffmpeg (prérequis : avoir installé brew).

FFMPEG: https://huggingface.co/lj1995/VoiceConversionWebUI/blob/main/ffmpeg.exe

FFPROBE: https://huggingface.co/lj1995/VoiceConversionWebUI/blob/main/ffprobe.exe

Si vous souhaitez utiliser le dernier algorithme RMVPE de pitch vocal, téléchargez les paramètres du modèle de pitch et placez-les dans le répertoire racine de RVC.

https://huggingface.co/lj1995/VoiceConversionWebUI/blob/main/rmvpe.pt

Les utilisateurs de cartes AMD/Intel nécessitant l'environnement DML doivent télécharger :


https://huggingface.co/lj1995/VoiceConversionWebUI/blob/main/rmvpe.onnx

Ensuite, exécutez la commande suivante pour démarrer WebUI :

python infer-web.py

Si vous utilisez Windows ou macOS, vous pouvez télécharger et extraire RVC-beta.7z. Les utilisateurs de Windows peuvent exécuter go-web.bat pour démarrer WebUI, tandis que les utilisateurs de macOS peuvent exécuter sh ./run.sh.

Il y a également un Guide facile pour les débutants.doc inclus pour référence.

Lancer via ligne de commande

Le fichier commander.py sert à lancer les anciens et nouveaux models en ligne de commandes, voici comment faire :

Pour lancer les premiers modèles :

runtime\python.exe commander.py 0 "C:\ YOUR PATH FOR THE ROOT \INPUTS_VOCAL\vocal.wav" "C:\ YOUR PATH FOR THE ROOT \logs\MODEL_v1.index" harvest "test_v1.wav" "C:\ YOUR PATH FOR THE ROOT \weights\MODEL_V1.pth" 0.66 cuda:0 True 3 0 1 0.33

Les nouveaux modèles :

 runtime\python.exe commander.py 0 "C:\ YOUR PATH FOR THE ROOT \INPUTS_VOCAL\vocal.wav" "C:\ YOUR PATH FOR THE ROOT \logs\MODEL_v2.index" harvest "test_v2.wav" "C:\ YOUR PATH FOR THE ROOT \weights\MODEL.pth" 0.6 cuda:0 True 5 True 3 0 2 0.33

Explication des arguments :

Pour utiliser ce script via la ligne de commande, vous devez spécifier un certain nombre d'arguments. Voici la structure de la commande et une explication de chaque argument :

runtime\python.exe commander.py [f0up_key] [input_path] [index_path] [f0method] [opt_path] [model_path] [index_rate] [device] [is_half] [filter_radius] [resample_sr] [rms_mix_rate] [protect]

Explication des arguments :

  1. python commander.py: Cette commande sert à exécuter votre script Python.

  2. f0up_key : Une clé pour spécifier la mise à jour de la fréquence fondamentale (F0). (ex : 0)

  3. input_path : Le chemin du fichier audio d'entrée que vous voulez traiter. (ex : "C:\Chemin\vers\le\fichier\vocal.wav")

  4. index_path : Le chemin du fichier index qui stocke ou récupère des informations supplémentaires pour le traitement. (ex : "C:\Chemin\vers\le\fichier\logs\MODEL_v2.index")

  5. f0method : La méthode utilisée pour extraire le pitch (F0) du fichier audio. Les options possibles sont "harvest" ou "pm". (ex : "harvest")

  6. opt_path : Le chemin où le fichier audio traité sera sauvegardé. (ex : "C:\Chemin\vers\le\fichier\sortie.wav")

  7. model_path : Le chemin vers le fichier modèle qui sera utilisé pour le traitement. (ex : "C:\Chemin\vers\le\modèle\model.pth")

  8. index_rate : Le taux d'index utilisé pendant le traitement. Ce doit être une valeur de type float. (ex : 0.6)

  9. device : Le périphérique sur lequel le traitement sera effectué. Les options possibles sont les identifiants des GPU (comme "cuda:0") ou "cpu". (ex : "cuda:0")

  10. is_half : Un booléen indiquant si le modèle doit utiliser une précision mixte pendant le traitement. Les options possibles sont True ou False. (ex : True)

  11. filter_radius : La taille du rayon du filtre, une valeur de type int. (ex : 5)

  12. resample_sr : Le taux d'échantillonnage pour le rééchantillonnage, une valeur de type int. (ex : 44100)

  13. rms_mix_rate : Un taux utilisé pour ajuster le mixage RMS pendant le traitement, une valeur de type float. (ex : 0.5)

  14. protect : Une valeur utilisée pour ajuster un paramètre de protection pendant le traitement, une valeur de type float. (ex : 0.33)

Exemple d'utilisation :

python commander.py 0 "C:\Chemin\vers\le\fichier\vocal.wav" "C:\Chemin\vers\le\fichier\logs\MODEL_v2.index" harvest "C:\Chemin\vers\le\fichier\sortie.wav" "C:\Chemin\vers\le\modèle\model.pth" 0.6 cuda:0 True 5 44100 0.5 0.33

Crédits

Remerciements à tous les contributeurs pour leurs efforts

<a href="https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI/graphs/contributors" target="_blank"> <img src="https://contrib.rocks/image?repo=RVC-Project/Retrieval-based-Voice-Conversion-WebUI" /> </a>