3 pontos por GN⁺ 2023-11-20 | 1 comentários | Compartilhar no WhatsApp

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|speaker e, 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.yml inclui 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

 
GN⁺ 2023-11-20
Comentários do Hacker News
  • Experiência desenvolvendo um chatbot de voz 100% local com StyleTTS2

    • Um chatbot criado com open source como StyleTTS2, Whisper e OpenHermes2-Mistral-7B oferece um tempo de resposta muito mais rápido que o ChatGPT.
    • Ao contrário dos assistentes de voz tradicionais, permite conversas naturais e, em especial, pode ser instalado e usado para conversar com um clique em um PC gamer com Windows equipado com uma GPU Nvidia de 12 GB.
    • A demo é um pouco instável (precisa de fones de ouvido, roda como aplicativo de console etc.), mas mostra o potencial de um futuro executável em um PC gamer com uma combinação de open source.
  • Opinião pessoal sobre a qualidade de voz do StyleTTS2

    • A voz é muito boa, mas antes de usar eu gostaria de cloná-la com uma voz agradável de minha preferência.
  • Compartilhando experiência de instalação e uso do StyleTTS2

    • Compartilha a experiência de testar o StyleTTS2 e notas passo a passo que podem ser úteis para configuração local.
    • Na comparação de velocidade/qualidade com o modelo LJSpeech, o StyleTTS2 é muito rápido e a qualidade também é boa.
  • Experiência com a instalação e funcionamento do StyleTTS2

    • A documentação é um pouco incompleta, então a instalação foi um pouco trabalhosa, mas depois de cerca de 20 minutos já estava funcionando bem no WSL Ubuntu 22.04.
    • A qualidade de áudio é muito boa e é muito rápido, especialmente ao usar uma GPU 4090.
    • Ainda não alcança a qualidade da Eleven Labs, mas o ponto forte da Eleven é sua biblioteca variada de vozes de alta qualidade e o recurso de clonagem de voz instantânea, que funciona surpreendentemente bem com apenas uma amostra de 5 minutos.
    • Espero que esses recursos possam ser usados integralmente em projetos totalmente open source.
  • Comparação entre exemplos de voz do StyleTTS2 e voz real

    • Os exemplos de voz do TTS2 soam mais naturais do que a voz real.
    • Estou animado para usar essa tecnologia em arquivos ePub sem audiolivro, especialmente light novels japonesas.
  • Avaliação da qualidade de voz do StyleTTS2

    • A qualidade de voz é excelente, em um nível inimaginável no começo dos anos 2000.
    • Há perspectivas interessantes para jogos em que um LLM assume personagens e o TTS dá voz aos NPCs.
  • Opinião sobre o título e o conteúdo do StyleTTS2

    • Atualmente o título no Hacker News é "StyleTTS2 – Text-to-speech open source com qualidade Eleven Labs", mas nem o título real nem o artigo no arXiv mencionam a Eleven Labs.
    • Expressa preocupação com esse tipo de formulação editorial.
  • Pergunta sobre o tempo de inferência do StyleTTS2

    • Pergunta sobre uma estimativa aproximada do tempo de inferência em CPUs modernas.
  • Pergunta sobre a licença do StyleTTS2

    • Pergunta se, por a licença não ser MIT, isso significa que não pode ser usado comercialmente.
  • Perspectiva de marketplace para modelos de text-to-speech

    • Curiosidade sobre se um marketplace de LoRAs no estilo Civitai também surgirá para modelos de text-to-speech.