Skip to content

gruporaia/TTS-AutoTuning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

86 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fine-tuning Automático de Modelos de Text To Speech

Modelos atuais permitem clonagem de voz de qualquer pessoa utilizando um áudio curto de referência. Entretanto, algumas características podem não ser tão bem reproduzidas, como sotaques, pronúncia de vocabulário específico, timbre, efeitos da voz, etc. Para contornar esse problema, pode-se fazer finetuning desses modelos, permitindo que o modelo aprenda com mais exemplos. Entretanto, esse processo é muito trabalhoso e envolve várias subtarerfas. Pensando nisso, este projeto propõe-se a simplificar esse cenário ao desenvolver uma automação de fine-tuning para modelos de TTS. O projeto conta com:

  • Gerador de datasets a partir de áudio brutos em língua portuguesa.
  • Normalizador de textos em língua portuguesa. (Aplicação que expande abreviações e reescreve símbolos de maneira extensa para que o modelo de voz seja capaz de gerar fala de maneira correta).
  • Avaliação dos resultados dos modelos através das métricas UTMOS, CER e SECS, que analisam a qualidade da fala gerada em termos de conteúdo falado e naturalidade da voz sintetizada.
  • Exemplo de fine-tuning com o modelo XTTS-v2 em língua portuguesa.
  • Exemplo de fine-tuning com o modelo Orpheus-TTS em língua inglesa.
  • Interface interativa desenvolvida em Streamlit, que pode ser usada para manipular, em alto nível, os componentes citados acima.

Os três primeiros itens dessa lista estão disponíveis para uso direto da comunidade através do nosso repositório TTS_Utils.

⚙️ Funcionamento

A partir do nosso TTS_Utils, conseguimos transformar qualquer conjunto de áudios não processados em um dataset pronto para ser utilizado para treinar um modelo de TTS. Utilizando-se disso, elaboramos um pipeline de finetuning automático, através de uma interface em Streamlit, de dois modelos de TTS: o xTTS-v2 e o Orpheus-TTS.

Com os modelos treinados, permitimos, através da mesma interface, o uso deles para inferência.

Image

🛠️ Como rodar

Clonando repositório

git clone https://github.com/gruporaia/TTS-AutoTuning.git
cd TTS-AutoTuning

Instalando dependências

O repositório foi construído usando Python 3.11.11.

Usando pip:

pip install -r requirements.txt

ou usando miniconda:

conda env create -f environment.yml

OBS: talvez seja necessário instalar a dependência 'FFmpeg'. Você pode fazer isso com conda ou apt install.

Executando o projeto

cd app/
streamlit run app.py   #Abre a interface web

📊 Interface

Image Image

Próximos passos

  • Utilizar melhores modelos para clonagem de voz.
  • Permitir maior autonomia para treinar os modelos através da aplicação, possibilitando variar mais parâmetros de maneira livre e retornando logs de treinamento na interface.

💻 Quem somos

LogoRAIA Este projeto foi desenvolvido pelos membros do RAIA (Rede de Avanço de Inteligência Artificial), uma iniciativa estudantil do Instituto de Ciências Matemáticas e de Computação (ICMC) da USP - São Carlos. Somos estudantes que compartilham o objetivo de criar soluções inovadoras utilizando inteligência artificial para impactar positivamente a sociedade. Para saber mais, acesse nosso site ou nosso Instagram!

Projeto feito com supervisão do Professor Moacir Ponti - Site

Desenvolvedores

About

Pipeline para finetuning automático de modelos de Text to Speech.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages