VoiceCraft: herramienta de código abierto de clonación de voz sin muestras y conversión de texto a voz

Introducción general

VoiceCraft es una herramienta de código abierto para la edición del habla y la síntesis del habla sin muestras basada en el modelo de lenguaje Neural Codec. Emplea un innovador método de generación de secuencias codificadas que permite realizar operaciones de inserción, eliminación y sustitución en secuencias de voz existentes para generar un habla editada natural y coherente. Además, VoiceCraft admite la síntesis del habla con muestra cero, lo que elimina la necesidad de realizar ajustes adicionales para hablantes específicos. La herramienta obtiene buenos resultados en varias tareas de procesamiento del habla, superando con creces a los actuales modelos SOTA de la industria.

VoiceCraft:开源零样本语音克隆与文本转语音工具

 

Lista de funciones

  • Edición de voz: admite operaciones de inserción, eliminación y sustitución para generar una voz de edición natural y fluida.
  • Síntesis de voz de muestra cero: genera la voz del locutor de destino sin ajustes adicionales.
  • Basado en la arquitectura Transformer: se utilizan técnicas de enmascaramiento causal y apilamiento retardado para mejorar la calidad de la generación.
  • Modelos de código abierto: descarga y uso gratuitos en Huggingface y AI Express.
  • Interfaz de usuario interactiva: la integración con la biblioteca Gradio permite a los usuarios controlar y probar modelos de forma intuitiva.

 

Utilizar la ayuda

Proceso de instalación

  1. Clona el repositorio del proyecto en un directorio local:
    git clone git@github.com:jasonppy/VoiceCraft.git
    cd VoiceCraft
    
  2. Asegúrate de que Docker y NVIDIA Container Toolkit están instalados en tu sistema (los sistemas Windows tienen controladores integrados):
    sudo apt-get install -y nvidia-container-toolkit-base
    
  3. Cree la imagen Docker:
    docker build --tag "voicecraft" .
    
  4. Inicie un contenedor existente o cree uno nuevo e introduzca todas las GPU:
    ./start-jupyter.sh  # Linux
    start-jupyter.bat   # Windows
    
  5. Abra un navegador y acceda a la URL que aparece en el terminal:
    docker logs jupyter
    
  6. Opcional: acceso al interior del contenedor desde otra terminal:
    docker exec -it jupyter /bin/bash
    export USER=(your_linux_username_used_above)
    export HOME=/home/$USER
    sudo apt-get update
    
  7. Compruebe que la tarjeta gráfica es visible en el contenedor:
    nvidia-smi
    
  8. Abrir en el navegadorinference_tts.ipynbLa célula se ejecuta paso a paso.

Entorno

  1. Crear y activar un entorno virtual:
    conda create -n voicecraft python=3.9.16
    conda activate voicecraft
    
  2. Instale las dependencias necesarias:
    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
    

Ejemplo de razonamiento

  1. Razonamiento de la edición de voz:
    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
    
  2. Inferencia de síntesis del habla con muestra cero:
    python tts_demo.py -h
    

Gradio

  1. Ejecútalo en Colab:
    Open in Colab
    
  2. Funcionando localmente:
    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
    

problemas comunes

  • ¿Cómo mejorar la naturalidad del habla generada? Asegúrese de que el contenido del texto de entrada es coherente con el estilo y el contexto de la muestra de voz de destino.
  • ¿Qué debo hacer si el archivo de voz generado tiene ruido? Pruebe a utilizar muestras de habla de mayor calidad o a ajustar los parámetros del modelo.
© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...