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.
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
- Ambiente construído
MegaTTS3 RecomendadoPython 3.9
. Isso pode ser feito comConda
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.
- Código de download
Execute o seguinte comando em um terminal para clonarGitHub
Armazém:git clone https://github.com/bytedance/MegaTTS3.git cd MegaTTS3
- Instalação de dependências
Ofertas de projetosrequirements.txt
Se 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.
- 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.
- comandante-em-chefe (militar)
- 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
existirassets/
no áudio de referência (por exemploChinese_prompt.wav
elatents
Arquivos (por exemplo.Chinese_prompt.npy
). Se não houverlatents
É 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.wav
O 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
abordagem1.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 quep_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.py
que 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
- pesquisa acadêmica
Os pesquisadores podem testar as técnicas de síntese de fala com o MegaTTS3, analisando olatents
O efeito do - Auxílios educacionais
Converta livros didáticos em fala e gere audiolivros para aprimorar a experiência de aprendizado. - criação de conteúdo
Gere narração para vídeos ou podcasts e economize nos custos de gravação manual. - 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
- 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. - deve
GPU
O quê? - Não sei.
Não é necessário.CPU
Ele pode ser executado, mas é lento e é recomendável usar oGPU
. - Como faço para lidar com falhas na instalação?
atualizaçãopip
(pip install --upgrade pip
), verificando a rede ou emGitHub
Enviar edição. - Por que os codificadores WaveVAE estão faltando?
Não divulgado por motivos de segurança, é necessária uma pré-extração oficiallatents
.