Home
Login
2noise/ChatTTS

Modelo de voz generativo projetado especificamente para cenários de diálogo, suporta entrada mista em chinês e inglês e capacidade de múltiplos falantes.

AGPL-3.0Python 36.8k2noise Last Updated: 2025-05-23
https://github.com/2noise/ChatTTS

ChatTTS - Modelo de Texto para Voz para Cenários de Diálogo Profissional

Visão Geral do Projeto

ChatTTS é um modelo generativo de texto para voz (TTS) projetado especificamente para cenários de diálogo, desenvolvido pela equipe 2noise. O projeto recebeu mais de 35.000 estrelas no GitHub, sendo um dos projetos de TTS de código aberto mais populares atualmente.

Endereço do Projeto: https://github.com/2noise/ChatTTS Equipe de Desenvolvimento: 2noise Licença de Código Aberto: AGPLv3+ (código) / CC BY-NC 4.0 (modelo) Principais Idiomas Suportados: Chinês, Inglês

O objetivo principal do ChatTTS é fornecer uma experiência de interação de voz natural e fluida para aplicativos de diálogo, como assistentes LLM. Em comparação com os modelos TTS tradicionais, ele tem um desempenho superior em cenários de diálogo.

Principais Funções e Características

🎯 Design Otimizado para Diálogo

  • Otimizado para cenários de diálogo: Otimizado especificamente para aplicativos de bate-papo, assistentes LLM e outros aplicativos de diálogo.
  • Experiência de diálogo natural: A voz gerada é mais natural e fluida, adequada para cenários de diálogo humano-máquina.
  • Diálogo interativo: Suporta a consistência da voz em conversas de várias rodadas.

🎭 Suporte a Vários Locutores

  • Capacidade de múltiplos locutores: Suporta a alternância entre diferentes locutores, permitindo diálogos com vários personagens.
  • Amostragem de locutores: Pode amostrar aleatoriamente características de locutores de uma distribuição gaussiana.
  • Controle de tom: Suporta a personalização e fixação de tons específicos, mantendo a consistência do personagem.

🎵 Controle de Prosódia Refinado

  • Controle de riso: Suporta a adição de diferentes graus de efeitos de riso [laugh], [laugh_0-2].
  • Controle de pausa: Controla com precisão as pausas e intervalos na voz [uv_break], [lbreak], [break_0-7].
  • Controle de entonação: Suporta o ajuste do grau de coloquialidade [oral_0-9].
  • Expressão emocional: Capaz de prever e controlar características de prosódia de grão fino, incluindo mudanças de entonação.

🌐 Suporte a Vários Idiomas

  • Mistura de chinês e inglês: Suporta nativamente a entrada mista de chinês e inglês, sem a necessidade de marcação de idioma.
  • Adaptação de idioma: Reconhece e processa automaticamente o conteúdo de texto em diferentes idiomas.
  • Expansão futura: Planeja suportar mais idiomas.

⚡ Vantagens Técnicas

  • Arquitetura avançada: Baseado em uma arquitetura de modelo auto-regressivo, inspirada em tecnologias avançadas como Bark e Valle.
  • Vantagem de prosódia: Supera a maioria dos modelos TTS de código aberto em termos de desempenho de prosódia.
  • Pré-treinamento de alta qualidade: O modelo principal é treinado com mais de 100.000 horas de dados de áudio em chinês e inglês.
  • Amigável ao código aberto: Fornece um modelo básico pré-treinado de 40.000 horas para uso em pesquisa.

Especificações e Desempenho do Modelo

Dados de Treinamento

  • Modelo principal: Treinado com mais de 100.000 horas de dados de áudio em chinês e inglês.
  • Versão de código aberto: Modelo pré-treinado de 40.000 horas (sem SFT).
  • Fonte de dados: Fontes de dados de áudio disponíveis publicamente.

Métricas de Desempenho

  • Requisitos de GPU: Requer pelo menos 4 GB de memória GPU para gerar 30 segundos de áudio.
  • Velocidade de geração: Uma GPU 4090 gera aproximadamente 7 tokens semânticos por segundo.
  • Fator de tempo real (RTF): Aproximadamente 0,3.
  • Qualidade de áudio: Saída com taxa de amostragem de 24kHz.

Requisitos de Hardware

  • Configuração mínima: 4 GB+ de memória GPU.
  • Configuração recomendada: Placas gráficas de ponta, como RTX 3090/4090.
  • CPU: Suporta aceleração de processador multi-core.
  • Memória: Recomenda-se 16 GB+ de memória do sistema.

Instalação e Uso

Instalação Rápida

# Clonar o projeto
git clone https://github.com/2noise/ChatTTS
cd ChatTTS

# Instalar dependências
pip install --upgrade -r requirements.txt

# Ou usar um ambiente conda
conda create -n chattts python=3.11
conda activate chattts
pip install -r requirements.txt

Exemplo de Uso Básico

import ChatTTS
import torch
import torchaudio

# Inicializar o modelo
chat = ChatTTS.Chat()
chat.load(compile=False)  # Defina como True para obter melhor desempenho

# Texto para voz
texts = ["你好,我是ChatTTS", "Hello, I am ChatTTS"]
wavs = chat.infer(texts)

# Salvar arquivos de áudio
for i, wav in enumerate(wavs):
    torchaudio.save(f"output_{i}.wav", torch.from_numpy(wav).unsqueeze(0), 24000)

Funções de Controle Avançado

# Amostrar locutor aleatoriamente
rand_spk = chat.sample_random_speaker()

# Definir parâmetros de inferência
params_infer_code = ChatTTS.Chat.InferCodeParams(
    spk_emb=rand_spk,      # Incorporação do locutor
    temperature=0.3,        # Parâmetro de temperatura
    top_P=0.7,             # Amostragem top-P
    top_K=20,              # Amostragem top-K
)

# Definir parâmetros de refinamento de texto
params_refine_text = ChatTTS.Chat.RefineTextParams(
    prompt='[oral_2][laugh_0][break_6]',  # Adicionar controle de prosódia
)

# Gerar voz
wavs = chat.infer(
    texts,
    params_refine_text=params_refine_text,
    params_infer_code=params_infer_code,
)

Casos de Uso

🤖 Assistentes de IA e Chatbots

  • Saída de voz para sistemas de diálogo LLM
  • Sistemas inteligentes de atendimento ao cliente
  • Aplicativos de assistente virtual

📚 Educação e Treinamento

  • Plataformas de educação online
  • Aplicativos de aprendizado de idiomas
  • Produção de audiolivros

🎬 Criação de Conteúdo

  • Produção de podcasts
  • Dublagem de vídeos
  • Geração de conteúdo de áudio

🏢 Aplicações Empresariais

  • Transmissão de resumos de reuniões
  • Vocalização de avisos e anúncios
  • Recursos de acessibilidade

Arquitetura Técnica

Componentes Principais

  • Codificador de texto: Processa a compreensão semântica do texto de entrada.
  • Preditor de prosódia: Prevê e controla as características de prosódia da voz.
  • Vocoder: Converte características em formas de onda de áudio de alta qualidade.
  • Codificador de locutor: Processa a incorporação de características de múltiplos locutores.

Características do Modelo

  • Arquitetura auto-regressiva: Modelo de geração auto-regressivo baseado em Transformer.
  • Treinamento de ponta a ponta: Estrutura de treinamento unificada de ponta a ponta.
  • Fusão multimodal: Fusão eficaz de informações de texto, prosódia e locutor.

Precauções e Limitações

Restrições de Uso

  • Uso acadêmico: Os modelos publicados são apenas para uso em pesquisa acadêmica.
  • Restrições comerciais: Não pode ser usado para fins comerciais ou ilegais.
  • Considerações éticas: Ruído de alta frequência foi adicionado para evitar uso malicioso.

Limitações Técnicas

  • Duração do áudio: A qualidade pode diminuir com áudios mais longos.
  • Requisitos de computação: Requer altos recursos de computação de GPU.
  • Suporte a idiomas: Atualmente, suporta principalmente chinês e inglês.

Problemas Comuns

  • Velocidade de geração: Pode ser melhorada otimizando a configuração de hardware e ajustando os parâmetros.
  • Qualidade de áudio: O formato de compressão MP3 pode afetar a qualidade final.
  • Estabilidade: Modelos auto-regressivos podem apresentar saídas instáveis.

Conclusão

ChatTTS, como um modelo TTS projetado especificamente para cenários de diálogo, se destaca nos seguintes aspectos:

🎯 Profissionalismo: Otimizado especificamente para cenários de diálogo, com excelente desempenho em aplicativos como chatbots e assistentes de IA.

🚀 Avanço tecnológico: Adota as mais recentes tecnologias de aprendizado profundo, liderando em controle de prosódia e suporte a múltiplos locutores.

🌟 Valor de código aberto: Fornece uma solução completa de código aberto, reduzindo a barreira de entrada para o uso de tecnologia TTS de alta qualidade.

🤝 Comunidade ativa: Possui uma comunidade de desenvolvedores ativa e ricos recursos de ecossistema.

⚡ Praticidade: Fornece funcionalidades completas, desde o uso básico até o controle avançado, atendendo a diferentes níveis de necessidade.

O surgimento do ChatTTS preenche a lacuna de modelos TTS dedicados a cenários de diálogo, fornecendo um forte suporte técnico para a construção de uma experiência de interação de voz humano-máquina mais natural. Com o desenvolvimento contínuo da tecnologia e a contribuição contínua da comunidade, acredita-se que o ChatTTS desempenhará um papel cada vez mais importante no campo da síntese de voz.