Home
Login

MegaTTS3: Modelo de síntese de voz de alta qualidade e zero-shot, desenvolvido pela ByteDance, com suporte para clonagem de voz bilíngue em chinês e inglês

Apache-2.0Python 5.5kbytedance Last Updated: 2025-05-11

MegaTTS3 - Descrição Detalhada do Projeto

Visão Geral do Projeto

MegaTTS3 é um sistema de síntese de voz zero-shot de alta qualidade desenvolvido pela ByteDance, baseado na tecnologia de Transformador de Difusão Latente Aprimorado com Alinhamento Esparso (Sparse Alignment Enhanced Latent Diffusion Transformer). Este projeto é destinado principalmente para fins de pesquisa acadêmica, oferecendo poderosas funcionalidades de texto para voz (TTS) e clonagem de voz.

Principais Características

🚀 Leve e Eficiente

  • Escala de Parâmetros: A rede principal do transformador de difusão TTS tem apenas 0.45B parâmetros.
  • Inferência Eficiente: Design de arquitetura otimizado para geração rápida de voz.

🎧 Clonagem de Voz de Altíssima Qualidade

  • Síntese Zero-Shot: Clone novas vozes de falantes sem necessidade de treinamento.
  • Alta Fidelidade: Qualidade de voz gerada próxima à gravação original.
  • Experiência Online: Experimente no Huggingface Demo.

🌍 Suporte Bilíngue

  • Multilíngue: Suporta síntese de voz em chinês e inglês simultaneamente.
  • Troca de Código: Suporta geração de voz mista em chinês e inglês.
  • Translinguístico: Vozes em inglês podem sintetizar voz em chinês (com controle de sotaque).

✍️ Alta Controlabilidade

  • Controle da Intensidade do Sotaque: Ajuste o grau de sotaque da voz gerada.
  • Ajuste Fino da Pronúncia: Suporta ajuste fino da pronúncia e duração (em breve).
  • Peso da Inteligibilidade: Controle a clareza da voz através do parâmetro p_w.
  • Peso da Similaridade: Controle a similaridade com a voz original através do parâmetro t_w.

Arquitetura Técnica

Componentes Principais

  1. Modelo Principal TTS
  • Baseado no Transformador de Difusão Latente Aprimorado com Alinhamento Esparso.
  • Suporta síntese de voz zero-shot.
  • Capacidade de clonagem de voz de alta qualidade.
  1. Alinhador de Voz-Texto (Speech-Text Aligner)
  • Treinado usando pseudo-rótulos gerados por um grande número de modelos especialistas MFA.
  • Utilização: preparação de conjuntos de dados, filtragem de ruído, reconhecimento de fonemas, segmentação de voz.
  1. Conversor de Grafema para Fonema (G2P)
  • Ajustado com base no modelo Qwen2.5-0.5B.
  • Fornece conversão robusta de grafema para fonema.
  1. WaveVAE
  • Poderoso autoencoder variacional de forma de onda.
  • Comprime voz de 24kHz em representações latentes acústicas de 25Hz.
  • Reconstrói a forma de onda original quase sem perdas.

Instalação e Uso

Requisitos do Sistema

  • Python 3.10
  • Suporte para Linux/Windows/Docker
  • Aceleração GPU opcional (recomendado)

Início Rápido

  1. Clone o Repositório
git clone https://github.com/bytedance/MegaTTS3
cd MegaTTS3
  1. Configuração do Ambiente
conda create -n megatts3-env python=3.10
conda activate megatts3-env
pip install -r requirements.txt
export PYTHONPATH="/path/to/MegaTTS3:$PYTHONPATH"
  1. Download do Modelo
  • Baixe os modelos pré-treinados do Google Drive ou Huggingface.
  • Coloque os arquivos do modelo no diretório ./checkpoints/xxx.

Modo de Uso

Inferência de Linha de Comando (Padrão)

# Síntese de voz em chinês
python tts/infer_cli.py --input_wav 'assets/Chinese_prompt.wav' --input_text "另一边的桌上,一位读书人嗤之以鼻道,'佛子三藏,神子燕小鱼是什么样的人物,李家的那个李子夜如何与他们相提并论?'" --output_dir ./gen

# Síntese de voz em inglês (alta expressividade)
python tts/infer_cli.py --input_wav 'assets/English_prompt.wav' --input_text 'As his long promised tariff threat turned into reality this week, top human advisers began fielding a wave of calls from business leaders.' --output_dir ./gen --p_w 2.0 --t_w 3.0

Síntese com Controle de Sotaque

# Manter o sotaque original (p_w ≈ 1.0)
python tts/infer_cli.py --input_wav 'assets/English_prompt.wav' --input_text '这是一条有口音的音频。' --output_dir ./gen --p_w 1.0 --t_w 3.0

# Pronúncia padrão (p_w > 2.0)
python tts/infer_cli.py --input_wav 'assets/English_prompt.wav' --input_text '这条音频的发音标准一些了吗?' --output_dir ./gen --p_w 2.5 --t_w 2.5

Interface Web

python tts/gradio_api.py

Descrição dos Parâmetros

Parâmetros Principais

  • p_w (Peso da Inteligibilidade): Controla a clareza da voz; áudios de prompt com muito ruído precisam de um valor p_w mais alto.
  • t_w (Peso da Similaridade): Controla a similaridade com a voz original, geralmente 0-3 pontos maior que p_w.
  • Passos de Inferência: Padrão de 10 passos, a inferência na CPU leva cerca de 30 segundos.

Controle de Sotaque

  • p_w ≈ 1.0: Mantém o sotaque original do falante.
  • Aumento de p_w: Aproxima-se da pronúncia padrão.
  • Intervalo de t_w: Geralmente entre 2.0-5.0, um aumento razoável pode melhorar a expressividade.

Segurança e Limitações

Considerações de Segurança

  • Codificador WaveVAE: Por razões de segurança, os parâmetros do codificador não são divulgados.
  • Representações Latentes Pré-Extraídas: A inferência só pode ser realizada usando arquivos latentes .npy pré-extraídos.
  • Uso Acadêmico: O projeto é destinado principalmente para pesquisa acadêmica.

Fluxo de Uso

  1. Prepare o arquivo de áudio (formato .wav, <24 segundos, nome do arquivo sem espaços).
  2. Envie para a fila de solicitação de voz.
  3. Após a verificação de segurança, obtenha o arquivo latente .npy correspondente.
  4. Use os arquivos .wav e .npy para inferência.

Licença e Citação

  • Licença: Apache-2.0 License
  • Data de Lançamento: 22 de março de 2025
  • Mantenedor: ByteDance

Cenários de Aplicação

Principais Usos

  1. Pesquisa em Síntese de Voz: Fornece uma linha de base TTS de alta qualidade para pesquisadores.
  2. Clonagem de Voz: Implementa assistentes de voz personalizados.
  3. Aplicações Multilíngues: Suporta a criação de conteúdo bilíngue em chinês e inglês.
  4. Pesquisa de Sotaque: Pesquisa e controle de características de sotaque na voz.

Aplicações Estendidas

  • Preparação de Conjuntos de Dados: Use o alinhador para preparar dados para o treinamento do modelo.
  • Filtragem da Qualidade da Voz: Filtre conjuntos de dados de voz em larga escala.
  • Reconhecimento de Fonemas: Realize análise de nível de fonema da voz.
  • Conversão de Voz: Implemente a conversão de voz entre diferentes falantes.

Notas

  1. Download do Modelo: É necessário baixar manualmente os arquivos do modelo pré-treinado.
  2. Gerenciamento de Dependências: Preste atenção à correspondência das versões pydantic e gradio.
  3. Variáveis de Ambiente: Configure corretamente PYTHONPATH e CUDA_VISIBLE_DEVICES.
  4. Formato de Arquivo: O áudio de entrada deve estar no formato .wav e ter menos de 24 segundos de duração.
  5. Revisão de Segurança: Os arquivos de voz enviados devem passar por uma revisão de segurança.