Retrieval-based-Voice-Conversion-WebUI
Un framework simple et facile à utiliser pour la conversion vocale (modificateur de voix) basé sur VITSJournal de mise à jour | FAQ | AutoDL·Formation d'un chanteur AI pour 5 centimes | Enregistrement des expériences comparatives) | Démonstration en ligne
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 :
- Utilise le top1 pour remplacer les caractéristiques de la source d'entrée par les caractéristiques de l'ensemble d'entraînement pour éliminer les fuites de timbre vocal.
- Peut être formé rapidement même sur une carte graphique relativement moins performante.
- Obtient de bons résultats même avec peu de données pour la formation (il est recommandé de collecter au moins 10 minutes de données vocales avec un faible bruit de fond).
- Peut changer le timbre vocal en fusionnant des modèles (avec l'aide de l'onglet ckpt-merge).
- Interface web simple et facile à utiliser.
- Peut appeler le modèle UVR5 pour séparer rapidement la voix et l'accompagnement.
- Utilise l'algorithme de pitch vocal le plus avancé InterSpeech2023-RMVPE pour éliminer les problèmes de voix muette. Meilleurs résultats, plus rapide que crepe_full, et moins gourmand en ressources.
- Support d'accélération pour les cartes A et I.
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 :
python commander.py
: Cette commande sert à exécuter votre script Python.f0up_key
: Une clé pour spécifier la mise à jour de la fréquence fondamentale (F0). (ex : 0)input_path
: Le chemin du fichier audio d'entrée que vous voulez traiter. (ex : "C:\Chemin\vers\le\fichier\vocal.wav")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")f0method
: La méthode utilisée pour extraire le pitch (F0) du fichier audio. Les options possibles sont "harvest" ou "pm". (ex : "harvest")opt_path
: Le chemin où le fichier audio traité sera sauvegardé. (ex : "C:\Chemin\vers\le\fichier\sortie.wav")model_path
: Le chemin vers le fichier modèle qui sera utilisé pour le traitement. (ex : "C:\Chemin\vers\le\modèle\model.pth")index_rate
: Le taux d'index utilisé pendant le traitement. Ce doit être une valeur de type float. (ex : 0.6)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")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)filter_radius
: La taille du rayon du filtre, une valeur de type int. (ex : 5)resample_sr
: Le taux d'échantillonnage pour le rééchantillonnage, une valeur de type int. (ex : 44100)rms_mix_rate
: Un taux utilisé pour ajuster le mixage RMS pendant le traitement, une valeur de type float. (ex : 0.5)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
- ContentVec
- VITS
- HIFIGAN
- Gradio
- FFmpeg
- Ultimate Vocal Remover
- audio-slicer
- Extraction de la hauteur vocale : RMVPE