* feat(audio): use PyAV instead of ffmpeg replaced usage of ffmpeg in favor of PyAV (`av`) * refactor(audio): store all of the audio related functions in the `infer.lib.audio` refactors previous commit to have singular functions for each task, all located in `infer.lib.audio` * fix(audio): remove downsample_audio from mdxnet.py it is no longer needed, since it's imported from infer.lib.audio * docs: remove every ffmpeg mention in the documentation to avoid confusion * chore(requirements): remove ffmpeg-python and ffmpy from all requirements * fix(audio): fix loading for UVR wrapped gathering of META info from the stream into a function fixes loading for UVR * fix(audio): use np.frombuffer() instead of direct conversion of the resampled frames this fixes traceback on preprocessing * feat(audio): pre-allocate decoded_audio array in the load_audio function this should improve performance, even if just a little * Revert "docs: remove every ffmpeg mention in the documentation to avoid confusion" This reverts commit1e05bbce03. * chore(format): run black on dev * fix(requirements): revert removal of ffmpeg in unitest.yml and Dockerfile * Revert "fix(requirements): revert removal of ffmpeg in unitest.yml and Dockerfile" This reverts commite28a0eebb2. * feat(audio): pre-allocate numpy array to store the AudioFrame data in ndarray of dtype float32 * chore(format): run black on dev * fix(audio): fix the decoded_audio size estimation in estimated_total_samples we multiply by `sr` instead of `container.streams.audio[0].rate` since we want to estimate size of the OUTPUT file, not the input one. - Added dynamic resizing, in case something goes wrong and the size of decoded_audio is estimated incorrectly Fixed function `load_audio` when the input audio's samplerate does not match the desired samplerate (`sr`) * chore(format): run black on dev * refactor(audio): remove `clean_path()` function as it serves no purpose anymore * docs: remove everything related to ffmpeg this includes everything except for formats support specification in the training_tips docs, since it has nothing to do with what ffmpeg does/did but rather what audio formats are supported (all the ones that ffmpeg supports!) * docs: fix order of the steps in preparation in the READMEs --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Retrieval-based-Voice-Conversion-WebUI
Un framework simple et facile à utiliser pour la conversion vocale (modificateur de voix) basé sur VITS
Journal de mise à jour | FAQ | AutoDL·Formation d'un chanteur AI pour 5 centimes | Enregistrement des expériences comparatives | Démonstration en ligne
English | 中文简体 | 日本語 | 한국어 (韓國語) | Français | Turc | Português
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 AMD et Intel.
Configuration de l'environnement
Exécutez les commandes suivantes dans un environnement Python de version 3.8 ou supérieure.
(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
# Pour Linux + carte AMD, utilisez cette version de Pytorch:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm5.4.2
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/main.txt
# Cartes AMD/Intel :
pip install -r requirements/dml.txt
# Cartes Intel avec IPEX
pip install -r requirements/ipex.txt
# Cartes AMD sur Linux (ROCm)
pip install -r requirements/amd.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.
#Télécharger tous les modèles depuis https://huggingface.co/lj1995/VoiceConversionWebUI/tree/main/
python tools/download_models.py
Ou 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 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
Pour les utilisateurs d'Intel ARC avec IPEX, exécutez d'abord source /opt/intel/oneapi/setvars.sh.
Ensuite, exécutez la commande suivante pour démarrer WebUI :
python 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.
Compatibilité ROCm pour les cartes AMD (seulement Linux)
Installez tous les pilotes décrits ici.
Sur Arch utilisez pacman pour installer le pilote:
pacman -S rocm-hip-sdk rocm-opencl-sdk
Vous devrez peut-être créer ces variables d'environnement (par exemple avec RX6700XT):
export ROCM_PATH=/opt/rocm
export HSA_OVERRIDE_GFX_VERSION=10.3.0
Assurez-vous que votre utilisateur est dans les groupes render et video:
sudo usermod -aG render $USERNAME
sudo usermod -aG video $USERNAME
Enfin vous pouvez exécuter WebUI:
python web.py
Crédits
- ContentVec
- VITS
- HIFIGAN
- Gradio
- Ultimate Vocal Remover
- audio-slicer
- Extraction de la hauteur vocale : RMVPE