Aprendizagem pessoal com IA
e orientação prática
讯飞绘镜

MegaTTS3: um modelo leve para sintetizar a fala em chinês e inglês

Introdução geral

O MegaTTS3 é uma ferramenta de síntese de fala de código aberto desenvolvida pela ByteDance em colaboração com a Universidade de Zhejiang, com foco na geração de fala em chinês e inglês de alta qualidade. Seu modelo principal tem apenas 0,45B de parâmetros, é leve e eficiente, oferecendo suporte à geração de fala mista em chinês e inglês e à clonagem de fala. O projeto está hospedado no GitHub e fornece código e modelos pré-treinados para download gratuito. O MegaTTS3 pode imitar a voz alvo com alguns segundos de amostras de áudio e também suporta o ajuste da intensidade do sotaque. Ele é adequado para pesquisa acadêmica, criação de conteúdo e desenvolvimento de aplicativos de fala, com recursos de controle de pronúncia e duração a serem adicionados no futuro.

MegaTTS3:合成中英文语音的轻量模型-1


 

Lista de funções

  • Gere falas em chinês, inglês e mistas com saída natural e suave.
  • A clonagem de fala de alta qualidade é obtida com uma pequena quantidade de áudio que imita um timbre específico.
  • Oferece suporte ao ajuste da intensidade do sotaque para gerar fala com sotaque ou pronúncia padrão.
  • Use latentes acústicas para melhorar a eficiência do treinamento do modelo.
  • Vocodificador WaveVAE integrado de alta qualidade para maior inteligibilidade e realismo da fala.
  • Os submódulos Aligner e Graphme-to-Phoneme são fornecidos para dar suporte à análise da fala.
  • Código-fonte aberto e modelos pré-treinados para desenvolvimento definido pelo usuário.

 

Usando a Ajuda

O MegaTTS3 requer alguma experiência básica em programação, especialmente com Python e ambientes de aprendizagem profunda. A seguir, instruções detalhadas de instalação e uso.

Processo de instalação

  1. Ambiente construído
    MegaTTS3 Recomendado Python 3.9. Isso pode ser feito com Conda Crie um ambiente virtual:

    conda create -n megatts3-env python=3.9
    conda activate megatts3-env
    

    Após a ativação, todas as operações são realizadas nesse ambiente.

  2. Código de download
    Execute o seguinte comando em um terminal para clonar GitHub Armazém:

    git clone https://github.com/bytedance/MegaTTS3.git
    cd MegaTTS3
    
  3. Instalação de dependências
    Ofertas de projetos requirements.txtSe você quiser instalar as bibliotecas necessárias, execute o seguinte comando:

    pip install -r requirements.txt
    

    O tempo de instalação varia de acordo com a rede e o dispositivo e geralmente é concluído em alguns minutos.

  4. Obtendo o modelo
    Os modelos pré-treinados podem ser baixados do Google Drive ou do Hugging Face (consulte os links oficiais). README). Faça o download e descompacte-o em ./checkpoints/ Pasta. Exemplo:

    • comandante-em-chefe (militar) model.pth colocar em ./checkpoints/model.pth.
    • pré-extraído latents Os arquivos precisam ser baixados do link especificado para o mesmo diretório.
  5. instalação de teste
    Execute um comando de teste simples para verificar o ambiente:

    python tts/infer_cli.py --input_wav 'assets/Chinese_prompt.wav' --input_text "测试" --output_dir ./gen
    

    Se nenhum erro for relatado, a instalação foi bem-sucedida.

Funções principais

síntese de fala

A geração de fala é a função principal do MegaTTS3. Ela requer a entrada de texto e áudio de referência:

  • Preparar o documento
    existir assets/ no áudio de referência (por exemplo Chinese_prompt.wavlatents Arquivos (por exemplo. Chinese_prompt.npy). Se não houver latentsÉ necessário ter arquivos oficiais pré-extraídos.
  • Executar comando
    Entrada:

    CUDA_VISIBLE_DEVICES=0 python tts/infer_cli.py --input_wav 'assets/Chinese_prompt.wav' --input_text "你好,这是一段测试语音" --output_dir ./gen
    
    • --input_wav é o caminho de áudio de referência.
    • --input_text é o texto a ser sintetizado.
    • --output_dir é a pasta de saída.
  • Exibir resultados
    A fala gerada é salva no arquivo ./gen/output.wavO filme está disponível para reprodução direta.

clonagem de fala

São necessários apenas alguns segundos de amostras de áudio para imitar um som específico:

  • Prepare um áudio de referência claro (recomenda-se de 5 a 10 segundos).
  • Use o comando de síntese acima para especificar o --input_wav.
  • A voz de saída será a mais próxima possível do tom de referência.

controle de acentuação

Ajuste da intensidade do acento por meio de parâmetros p_w responder cantando t_w::

  • Digite o áudio em inglês com sotaque:
    CUDA_VISIBLE_DEVICES=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
    
  • p_w abordagem 1.0 O sotaque original é mantido às vezes, e o aumento tende à pronúncia padrão.
  • t_w Controles para similaridade de timbre, geralmente mais do que p_w your (honorífico) 0-3.
  • Gerar pronúncia padronizada:
    CUDA_VISIBLE_DEVICES=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
    

Operações da interface do usuário da Web

Suporta a operação por meio de uma interface da Web:

  • Em execução:
    CUDA_VISIBLE_DEVICES=0 python tts/gradio_api.py
    
  • Abra seu navegador e digite o endereço (padrão) localhost:7860), carregar áudio e texto para gerar fala.CPU Aproximadamente 30 segundos no ambiente.

Uso do submódulo

Alinhador

  • funcionalidadeAlinhamento de fala e texto: Alinhe a fala e o texto.
  • uso: Executar tts/frontend_function.py O código de exemplo para segmentação de fala ou reconhecimento de fonemas no

Grafema para fonema

  • funcionalidadeConversão de texto em fonemas: converte texto em fonemas.
  • uso: Referência tts/infer_cli.pyque pode ser usado para análise de pronúncia.

WaveVAE

  • funcionalidadeÁudio comprimido: O áudio comprimido é latents e reconstruído.
  • restrição: os parâmetros do codificador não são divulgados e só podem ser usados com o codificador pré-extraído latents.

advertência

  • Os parâmetros do codificador WaveVAE não estão disponíveis por motivos de segurança e só podem ser usados com o codificador WaveVAE oficial. latents Documentação.
  • O projeto foi lançado em 22 de março de 2025 e ainda está em desenvolvimento, com novas pronúncias e ajustes de duração planejados.
  • GPU Recomendações aceleradas.CPU Funciona, mas é lento.

 

 

cenário do aplicativo

  1. pesquisa acadêmica
    Os pesquisadores podem testar as técnicas de síntese de fala com o MegaTTS3, analisando o latents O efeito do
  2. Auxílios educacionais
    Converta livros didáticos em fala e gere audiolivros para aprimorar a experiência de aprendizado.
  3. criação de conteúdo
    Gere narração para vídeos ou podcasts e economize nos custos de gravação manual.
  4. interação por voz
    Os desenvolvedores podem integrá-lo em seus dispositivos para permitir o diálogo por voz em inglês e chinês.

 

QA

  1. Quais são os idiomas suportados?
    Oferece suporte a chinês, inglês e fala mista, com a possibilidade de expansão para outros idiomas no futuro.
  2. deve GPU O quê? - Não sei.
    Não é necessário.CPU Ele pode ser executado, mas é lento e é recomendável usar o GPU.
  3. Como faço para lidar com falhas na instalação?
    atualização pip(pip install --upgrade pip), verificando a rede ou em GitHub Enviar edição.
  4. Por que os codificadores WaveVAE estão faltando?
    Não divulgado por motivos de segurança, é necessária uma pré-extração oficial latents.
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " MegaTTS3: um modelo leve para sintetizar a fala em chinês e inglês
pt_BRPortuguês do Brasil