VoiceCraft : Outil open source de clonage de la parole à zéro échantillon et de synthèse vocale
Introduction générale
VoiceCraft est un outil open source d'édition de la parole et de synthèse vocale sans échantillon basé sur le modèle de langage Neural Codec. Il utilise une méthode innovante de génération de séquences codées qui permet des opérations d'insertion, de suppression et de remplacement sur des séquences de parole existantes afin de générer une parole éditée naturelle et cohérente. VoiceCraft prend également en charge la synthèse vocale sans échantillon, ce qui élimine le besoin d'un réglage fin supplémentaire pour des locuteurs spécifiques. L'outil fonctionne bien sur plusieurs tâches de traitement de la parole, surpassant de manière significative les modèles SOTA actuels de l'industrie.

Liste des fonctions
- Édition vocale : prise en charge des opérations d'insertion, de suppression et de remplacement pour générer une voix d'édition naturelle et fluide.
- Synthèse vocale sans échantillon : génère la voix du locuteur cible sans réglage fin supplémentaire.
- Sur la base de l'architecture Transformer : les techniques de masquage causal et d'empilage retardé sont utilisées pour améliorer la qualité de la génération.
- Modèles open source : téléchargeables et utilisables gratuitement sur Huggingface et AI Express.
- Interface interactive : l'intégration avec la bibliothèque Gradio permet aux utilisateurs de contrôler et de tester les modèles de manière intuitive.
Utiliser l'aide
Processus d'installation
- Cloner le référentiel du projet dans un répertoire local :
git clone git@github.com:jasonppy/VoiceCraft.git cd VoiceCraft
- Assurez-vous que Docker et NVIDIA Container Toolkit sont installés sur votre système (les systèmes Windows ont des pilotes intégrés) :
sudo apt-get install -y nvidia-container-toolkit-base
- Construire l'image Docker :
docker build --tag "voicecraft" .
- Démarrer un conteneur existant ou créer un nouveau conteneur et passer tous les GPU :
./start-jupyter.sh # Linux start-jupyter.bat # Windows
- Ouvrez un navigateur et accédez à l'URL affichée sur le terminal :
docker logs jupyter
- Facultatif : accès à l'intérieur du conteneur à partir d'un autre terminal :
docker exec -it jupyter /bin/bash export USER=(your_linux_username_used_above) export HOME=/home/$USER sudo apt-get update
- Vérifiez que la carte graphique est visible dans le conteneur :
nvidia-smi
- Ouvrir dans votre navigateur
inference_tts.ipynb
La cellule est exécutée étape par étape.
Paramètres environnementaux
- Créer et activer un environnement virtuel :
conda create -n voicecraft python=3.9.16 conda activate voicecraft
- Installer les dépendances nécessaires :
pip install -e git+https://github.com/facebookresearch/audiocraft.git@c5157b5bf14bf83449c17ea1eeb66c19fb4bc7f0#egg=audiocraft pip install xformers==0.0.22 pip install torchaudio==2.0.2 torch==2.0.1 apt-get install ffmpeg apt-get install espeak-ng pip install tensorboard==2.16.2 pip install phonemizer==3.2.1 pip install datasets==2.16.0 pip install torchmetrics==0.11.1 pip install huggingface_hub==0.22.2 conda install -c conda-forge montreal-forced-aligner=2.2.17 openfst=1.8.2 kaldi=5.5.1068 mfa model download dictionary english_us_arpa mfa model download acoustic english_us_arpa conda install -n voicecraft ipykernel --no-deps --force-reinstall
Exemple de raisonnement
- Raisonnement de l'édition vocale :
python phonemize_encodec_encode_hf.py --dataset_size xs --download_to path/to/store_huggingface_downloads --save_dir path/to/store_extracted_codes_and_phonemes --encodec_model_path path/to/encodec_model --mega_batch_size 120 --batch_size 32 --max_len 30000
- Inférence de synthèse vocale à zéro échantillon :
python tts_demo.py -h
Gradio
- L'exécuter dans Colab :
Open in Colab
- Exécution locale :
apt-get install -y espeak espeak-data libespeak1 libespeak-dev apt-get install -y festival* apt-get install -y build-essential apt-get install -y flac libasound2-dev libsndfile1-dev vorbis-tools apt-get install -y libxml2-dev libxslt-dev zlib1g-dev pip install -r gradio_requirements.txt python gradio_app.py
problèmes courants
- Comment améliorer le naturel de la parole générée ? Veillez à ce que le contenu du texte d'entrée soit cohérent avec le style et le contexte de l'échantillon de discours cible.
- Que dois-je faire si le fichier vocal généré est bruyant ? Essayez d'utiliser des échantillons de parole de meilleure qualité ou d'ajuster les paramètres du modèle.
© déclaration de droits d'auteur
L'article est protégé par le droit d'auteur et ne doit pas être reproduit sans autorisation.
Articles connexes
Pas de commentaires...