StyleTTS2 – tecnologia open source de conversão de texto em fala com qualidade ElevenLabs
(github.com/yl4579)Modelo de texto-para-fala em nível humano, StyleTTS 2
- O StyleTTS 2 alcança síntese de texto-para-fala (TTS) em nível humano por meio de aprendizado adversarial com difusão de estilo e grandes modelos de linguagem de fala.
- O modelo alcança difusão latente eficiente ao modelar o estilo como uma variável aleatória latente por meio de um modelo de difusão, gerando assim o estilo mais adequado ao texto sem voz de referência.
- Ele usa um grande modelo de linguagem de fala pré-treinado como discriminador e melhora a naturalidade da fala ao realizar treinamento de ponta a ponta com uma nova modelagem diferenciável de duração.
Pré-requisitos
- É necessário Python versão 3.7 ou superior.
- Clone o repositório do StyleTTS 2 e instale os requisitos Python necessários.
- Baixe o dataset LJSpeech, faça upsampling para 24 kHz e descompacte-o na pasta de dados.
- Se for usar o dataset LibriTTS, é preciso combinar train-clean-360 e train-clean-100 e renomear a pasta para train-clean-460.
Treinamento
- É possível executar o treinamento da primeira e da segunda etapa em sequência, e o modelo é salvo em um formato específico.
- O formato da lista de dados deve ser
filename.wav|transcription|speakere, no caso de um modelo multi-speaker, é necessário amostragem de áudio de referência para o treinamento do modelo de difusão de estilo.
Configurações importantes
- O arquivo
config.ymlinclui configurações importantes, como o caminho de texto OOD (out-of-distribution) para aprendizado adversarial com SLM, comprimento mínimo e máximo para treinamento, se será feito treinamento de modelo multi-speaker e a porcentagem de batch para evitar problemas de OOM (out-of-memory).
Módulos pré-treinados
- A pasta ASR contém um alinhador de texto pré-treinado, a pasta JDC contém um extrator de pitch pré-treinado e a pasta PLBERT contém o modelo PL-BERT pré-treinado.
Problemas comuns
- São apresentadas soluções para problemas como perda tornando-se NaN e falta de memória, como ajustar o tamanho do batch ou reduzir o valor de
max_len.
Fine-tuning
- É fornecido um script de fine-tuning que usa DP por meio da modificação do script
train_second.py, e o DDP atualmente não funciona.
Inferência
- Consulte os arquivos de notebook para inferência com os datasets LJSpeech e LibriTTS; para o LibriTTS, é necessário um arquivo de áudio de referência.
- É possível baixar o modelo StyleTTS 2 pré-treinado e, antes do uso, deve-se informar ao ouvinte que as amostras de voz sintetizada foram geradas pelo modelo StyleTTS 2, ou usar uma voz para a qual se tenha permissão de uso.
Opinião do GN⁺
O ponto mais importante deste texto é que o StyleTTS 2 alcançou síntese TTS em nível humano, mostrando o potencial do aprendizado adversarial com difusão de estilo e grandes modelos de linguagem de fala. Essa tecnologia pode melhorar significativamente a naturalidade da síntese de voz e, ao oferecer a capacidade de gerar diversos estilos mesmo sem voz de referência, pode ter grande impacto no avanço de interfaces baseadas em voz e assistentes digitais.
1 comentários
Comentários do Hacker News
Experiência desenvolvendo um chatbot de voz 100% local com StyleTTS2
Opinião pessoal sobre a qualidade de voz do StyleTTS2
Compartilhando experiência de instalação e uso do StyleTTS2
Experiência com a instalação e funcionamento do StyleTTS2
Comparação entre exemplos de voz do StyleTTS2 e voz real
Avaliação da qualidade de voz do StyleTTS2
Opinião sobre o título e o conteúdo do StyleTTS2
Pergunta sobre o tempo de inferência do StyleTTS2
Pergunta sobre a licença do StyleTTS2
Perspectiva de marketplace para modelos de text-to-speech