Aprendizagem pessoal com IA
e orientação prática
豆包Marscode1

F5-TTS: clonagem de fala sem amostras para gerar vozes clonadas suaves e emocionalmente ricas

Introdução geral

O F5-TTS é um novo sistema de conversão de texto em fala (TTS) não-autoregressivo baseado em um conversor de difusão compatível com o fluxo (Diffusion TransformadorO F5-TTS oferece suporte ao treinamento em conjuntos de dados multilíngues com síntese altamente natural e eficiente). O sistema aprimora significativamente a qualidade e a eficiência da síntese usando o modelo ConvNeXt para otimizar a representação do texto para facilitar o alinhamento com a fala. O F5-TTS oferece suporte ao treinamento em conjuntos de dados multilíngues com recursos de amostra zero altamente naturais e expressivos, alternância de código contínua e eficiência de controle de velocidade. O projeto é de código aberto e visa a promover o desenvolvimento da comunidade.

Esse modelo elimina os módulos complexos dos sistemas TTS tradicionais, como modelos de duração, alinhamento de fonemas e codificadores de texto, e, em vez disso, consegue gerar a fala preenchendo o texto com o mesmo comprimento da fala de entrada e aplicando métodos de redução de ruído.

Uma das principais inovações do F5-TTS é Amostragem de oscilação que melhora significativamente a eficiência na fase de inferência e permite recursos de processamento em tempo real. Esse recurso é adequado para cenários que exigem síntese rápida de fala, como assistentes de voz e sistemas de fala interativa.


Suporte ao F5-TTS clonagem de fala de amostra zeroEle também oferece a capacidade de gerar uma ampla variedade de vozes e sotaques sem a necessidade de grandes quantidades de dados de treinamento. controle emocional responder cantando Ajuste de velocidade Funcionalidade. Com forte suporte multilíngue, o sistema é particularmente adequado para aplicativos que exigem a geração de conteúdo de áudio diversificado, como audiolivros, módulos de e-learning e materiais de marketing.

 

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

 

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

 

Lista de funções

  • Conversão de texto em fala: converta o texto de entrada em uma fala natural e suave.
  • Geração de amostra zero: gere fala de alta qualidade sem amostras pré-gravadas.
  • Reprodução emocional: suporte para gerar discurso com emoções.
  • Controle de velocidade: o usuário pode controlar a velocidade de geração da fala.
  • Suporte a vários idiomas: suporta a geração de fala em vários idiomas.
  • Código-fonte aberto: o código completo e os pontos de verificação do modelo são fornecidos para facilitar o uso e o desenvolvimento da comunidade.

 

Usando a Ajuda

Processo de instalação

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 instalação em um clique do 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 em execução

Observação: o registro no ngrok é necessário para solicitar uma chave para obter penetração na intranet.

 

!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分享圈,今天将为大家详细演示另一款开源语音克隆项目。"

 

Processo de uso

Modelos de treinamento

  1. Defina as configurações de aceleração, como o uso de várias GPUs e FP16:
    accelerate config
    
  2. Iniciar o treinamento:
    accelerate launch test_train.py
    

inferência

  1. Faça o download dos pontos de controle do modelo pré-treinado.
  2. Raciocínio único:
    • Modifique o arquivo de configuração para atender aos requisitos, por exemplo, duração fixa e tamanho da etapa:
      python test_infer_single.py
      
  3. Raciocínio de lote:
    • Prepare o conjunto de dados de teste e atualize o caminho:
      bash test_infer_batch.sh
      

Procedimento de operação detalhado

  1. Conversão de texto em fala::
    • Depois que o texto é inserido, o sistema o converte automaticamente em fala, e o usuário pode selecionar diferentes estilos de fala e emoções.
  2. Geração de amostra zero::
    • O usuário não precisa fornecer nenhuma amostra pré-gravada e o sistema gera uma fala de alta qualidade com base no texto de entrada.
  3. reprodução emocional::
    • Os usuários podem selecionar diferentes rótulos de emoção e o sistema gerará a fala com a emoção correspondente.
  4. controle de velocidade::
    • Os usuários podem controlar a velocidade da geração de fala ajustando os parâmetros para atender às necessidades de diferentes cenários.
  5. Suporte a vários idiomas::
    • O sistema suporta a geração de fala em vários idiomas, e os usuários podem escolher diferentes idiomas conforme necessário.

 

Instalador do F5 One-Click

首席AI分享圈Este conteúdo foi ocultado pelo autor. Digite o código de verificação para visualizar o conteúdo
Captcha:
Preste atenção ao número público do WeChat deste site, responda "CAPTCHA, um tipo de teste de desafio-resposta (computação)", obtenha o código de verificação. Pesquise no WeChat por "Chefe do Círculo de Compartilhamento de IA"ou"Aparência-AI"ou WeChat escaneando o lado direito do código QR pode prestar atenção a esse número público do WeChat do site.

Endereço para download de documentos relacionados
Os direitos autorais dos recursos de download © pertencem ao autor; todos os recursos deste site são da rede, apenas para fins de aprendizado; por favor, apoie a versão original!
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " F5-TTS: clonagem de fala sem amostras para gerar vozes clonadas suaves e emocionalmente ricas
pt_BRPortuguês do Brasil