F5-TTS: clonación de voz sin muestras para generar voces clonadas suaves y emocionalmente ricas.

Introducción general

F5-TTS es un novedoso sistema de conversión de texto a voz (TTS) no autorregresivo basado en un convertidor de difusión de flujo ajustado (Diffusion TransformadorF5-TTS admite el entrenamiento en conjuntos de datos multilingües con una síntesis muy natural y eficaz). El sistema mejora significativamente la calidad y la eficacia de la síntesis utilizando el modelo ConvNeXt para optimizar la representación del texto y facilitar la alineación con el habla.F5-TTS admite el entrenamiento en conjuntos de datos multilingües con capacidades de muestra cero altamente naturales y expresivas, cambio de código sin fisuras y eficacia en el control de la velocidad. El proyecto es de código abierto y pretende fomentar el desarrollo comunitario.

Este modelo prescinde de los complejos módulos de los sistemas TTS tradicionales, como los modelos de duración, la alineación de fonemas y los codificadores de texto, y en su lugar genera el habla rellenando el texto con la misma longitud que el habla de entrada y aplicando métodos de eliminación de ruido.

Una de las principales innovaciones del F5-TTS es Muestreo de oscilación que mejora significativamente la eficacia en la fase de inferencia y permite el procesamiento en tiempo real. Esta característica es adecuada para escenarios que requieren una síntesis rápida del habla, como los asistentes de voz y los sistemas de habla interactivos.

Compatibilidad con F5-TTS clonación del habla con muestra ceroTambién ofrece la posibilidad de generar una amplia gama de voces y acentos sin necesidad de grandes cantidades de datos de entrenamiento. control emocional responder cantando Ajuste de la velocidad Funciones. Gracias a su gran compatibilidad multilingüe, el sistema es especialmente adecuado para aplicaciones que requieren la generación de diversos contenidos de audio, como audiolibros, módulos de aprendizaje electrónico y materiales de marketing.

 

F5-TTS:少样本语音克隆,生成流畅且感情丰富的克隆声音

 

F5-TTS:少样本语音克隆,生成流畅且感情丰富的克隆声音

 

Lista de funciones

  • Conversión de texto a voz: Convierte el texto introducido en voz natural y fluida.
  • Generación sin muestras: genere habla de alta calidad sin muestras pregrabadas.
  • Reproducción emocional: apoyo a la generación de discurso con emociones.
  • Control de velocidad: el usuario puede controlar la velocidad de generación del habla.
  • Soporte multilingüe: admite la generación de voz en varios idiomas.
  • Código fuente abierto: se proporciona el código completo y los puntos de control del modelo para facilitar el uso y el desarrollo por parte de la comunidad.

 

Utilizar la ayuda

Proceso de instalación

conda create -n f5-tts python=3.10
conda activate f5-tts


sudo apt update
sudo apt install -y ffmpeg


pip uninstall torch torchvision torchaudio transformers

# 安装 PyTorch(包含 CUDA 支持)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

# 安装 transformers
pip install transformers




git clone https://github.com/SWivid/F5-TTS.git
cd F5-TTS
pip install -e .


# Launch a Gradio app (web interface)
f5-tts_infer-gradio

# Specify the port/host
f5-tts_infer-gradio --port 7860 --host 0.0.0.0

# Launch a share link
f5-tts_infer-gradio --share

Comando de instalación con un solo clic de F5-TTS

conda create -n f5-tts python=3.10 -y && \
conda activate f5-tts && \
sudo apt update && sudo apt install -y ffmpeg && \
pip uninstall -y torch torchvision torchaudio transformers && \
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 transformers && \
git clone https://github.com/SWivid/F5-TTS.git && \
cd F5-TTS && \
pip install -e . && \
f5-tts_infer-gradio --port 7860 --host 0.0.0.0

 

F5-TTS google Colab en marcha

Nota: es necesario registrarse en ngrok para solicitar una clave que permita penetrar en la intranet.

F5-TTS:少样本语音克隆,生成流畅且感情丰富的克隆声音

 

!pip install pyngrok transformers gradio

# 导入所需库
import os
from pyngrok import ngrok


!apt-get update && apt-get install -y ffmpeg
!pip uninstall -y torch torchvision torchaudio transformers
!pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 transformers

# 克隆并安装项目
!git clone https://github.com/SWivid/F5-TTS.git
%cd F5-TTS
!pip install -e .




!ngrok config add-authtoken 2hKI7tLqJVdnbgM8pxM4nyYP7kQ_3vL3RWtqXQUUdwY5JE4nj


# 配置 ngrok 和 gradio
import gradio as gr
from pyngrok import ngrok
import threading
import time
import socket
import requests

def is_port_in_use(port):
    with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
        return s.connect_ex(('localhost', port)) == 0

def wait_for_server(port, timeout=60):
    start_time = time.time()
    while time.time() - start_time < timeout:
        if is_port_in_use(port):
            try:
                response = requests.get(f'http://localhost:{port}')
                if response.status_code == 200:
                    return True
            except:
                pass
        time.sleep(2)
    return False

# 确保 ngrok 没有在运行
ngrok.kill()

# 在新线程中启动 Gradio
def run_gradio():
    import sys
    import f5_tts.infer.infer_gradio
    sys.argv = ['f5-tts_infer-gradio', '--port', '7860', '--host', '0.0.0.0']
    f5_tts.infer.infer_gradio.main()

thread = threading.Thread(target=run_gradio)
thread.daemon = True
thread.start()

# 等待 Gradio 服务启动
print("等待 Gradio 服务启动...")
if wait_for_server(7860):
    print("Gradio 服务已启动")
    # 启动 ngrok
    public_url = ngrok.connect(7860)
    print(f"\n=== 访问信息 ===")
    print(f"Ngrok URL: {public_url}")
    print("===============\n")
else:
    print("Gradio 服务启动超时")

# 保持程序运行
while True:
    try:
        time.sleep(1)
    except KeyboardInterrupt:
        ngrok.kill()
        break




!f5-tts_infer-cli \
--model "F5-TTS" \
--ref_audio "/content/test.MP3" \
--ref_text "欢迎来到首席AI分享圈,微软发布了一款基于大模型的屏幕解析工具OmniParser.这款工具是专为增强用户界面自动化而设计的它." \
--gen_text "欢迎来到首席AI分享圈,今天将为大家详细演示另一款开源语音克隆项目。"

 

Proceso de utilización

Modelos de formación

  1. Configure los ajustes de aceleración, como el uso de varias GPU y FP16:
    accelerate config
    
  2. Iniciar la formación:
    accelerate launch test_train.py
    

inferencia

  1. Descargar puntos de control de modelos preentrenados.
  2. Razonamiento único:
    • Modifique el archivo de configuración para cumplir los requisitos, por ejemplo, duración y tamaño de paso fijos:
      python test_infer_single.py
      
  3. Razonamiento por lotes:
    • Prepare el conjunto de datos de prueba y actualice la ruta:
      bash test_infer_batch.sh
      

Procedimiento de funcionamiento detallado

  1. Conversión de texto a voz::
    • Una vez introducido el texto, el sistema lo convierte automáticamente en voz, y el usuario puede seleccionar diferentes estilos de voz y emociones.
  2. Generación de muestra cero::
    • El usuario no necesita proporcionar muestras pregrabadas y el sistema genera un habla de alta calidad basada en el texto introducido.
  3. reproducción emocional::
    • Los usuarios pueden seleccionar diferentes etiquetas de emoción y el sistema generará el habla con la emoción correspondiente.
  4. control de velocidad::
    • Los usuarios pueden controlar la velocidad de generación del habla ajustando los parámetros para satisfacer las necesidades de distintos escenarios.
  5. Soporte multilingüe::
    • El sistema admite la generación de voz en varios idiomas, y los usuarios pueden elegir diferentes lenguas según sus necesidades.

 

Instalador F5 One-Click

Quark: https://pan.quark.cn/s/3a7054a379ce

© declaración de copyright

Artículos relacionados

Sin comentarios

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