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

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

Introdução geral

O F5-TTS é um novo sistema não-autoregressivo de conversão de texto em fala (TTS) baseado em um transformador de difusão (DiT) compatível com o fluxo. O sistema aprimora significativamente a qualidade e a eficiência da síntese usando o modelo ConvNeXt para otimizar a representação do texto e 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: clonagem de fala sem amostras para gerar vozes clonadas suaves e emocionalmente ricas-1

 

F5-TTS: clonagem de fala sem amostras para gerar vozes clonadas suaves e emocionalmente ricas-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

# Instalar o PyTorch (com suporte a CUDA)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

# Instalar transformadores
pip install transformers

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

# Inicie um aplicativo Gradio (interface da Web)
f5-tts_infer-gradio

# Especifique a porta/host
f5-tts_infer-gradio --port 7860 --host 0.0.0.0

# Inicie um link de compartilhamento
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 .
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

# Importe as bibliotecas necessárias
importar 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

# Clone e instale o projeto
!git clone https://github.com/SWivid/F5-TTS.git
 F5-TTS
!pip install -e .

!ngrok config add-authtoken 2hKI7tLqJVdnbgM8pxM4nyYP7kQ_3vL3RWtqXQUUdwY5JE4nj

# Configuração do ngrok e do gradio
import gradio as gr
from pyngrok import ngrok
importar threading
import time
import socket
import requests

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

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

# Certifique-se de que o ngrok não esteja em execução
ngrok.kill()

# Inicie o Gradio em um novo thread
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()

# Aguardando o início do serviço Gradio
print("Aguardando o início do serviço Gradio...")
print("Aguardando o início do serviço Gradio...") if wait_for_server(7860).
 print("O serviço Gradio foi iniciado")
 # Iniciando o ngrok
 public_url = ngrok.connect(7860)
 print(f"\n=== Informações de acesso ===")
 print(f "URL do ngrok: {public_url}")
 print("===============\n")
print(f "URL do Ngrok: {public_url}")
 print("Tempo limite de inicialização do serviço Gradio")

# Mantenha o aplicativo em execução
while True.
 time.sleep(1)
 time.sleep(1)
 except KeyboardInterrupt: ngrok.kill()
 ngrok.kill()
 ngrok.kill()

!f5-tts_infer-cli \\
---modelo "F5-TTS" \\
--ref_audio "/content/test.MP3" \\
--ref_text "Bem-vindo ao Chief AI Sharing Circle, a Microsoft lançou o OmniParser, uma grande ferramenta de análise de tela baseada em modelo. Essa ferramenta foi projetada para aprimorar a automação da interface do usuário." \
--gen_text "Bem-vindo ao Círculo de Compartilhamento do Chefe de IA, hoje demonstraremos em detalhes outro projeto de clonagem de fala de código aberto."

 

Processo de uso

Modelos de treinamento

  1. Defina as configurações de aceleração, como o uso de várias GPUs e FP16:
    acelerar a configuração
    
  2. Iniciar o treinamento:
    acelerar o lançamento do arquivo 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 teste_inferir_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

Chefe do Círculo de Compartilhamento de IAEste 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

Chefe do Círculo de Compartilhamento de IA

O Chief AI Sharing Circle se concentra no aprendizado de IA, fornecendo conteúdo abrangente de aprendizado de IA, ferramentas de IA e orientação prática. Nosso objetivo é ajudar os usuários a dominar a tecnologia de IA e explorar juntos o potencial ilimitado da IA por meio de conteúdo de alta qualidade e compartilhamento de experiências práticas. Seja você um iniciante em IA ou um especialista sênior, este é o lugar ideal para adquirir conhecimento, aprimorar suas habilidades e realizar inovações.

Entre em contato conosco
pt_BRPortuguês do Brasil