Implementação da eSposech. Para todos os detalhes, consulte nosso artigo aceito no ACM MM 2023: Composech: Speech de uma etapa e síntese de voz de canto via modelo de consistência.
Autores : Zhen Ye, Wei Xue, Xu Tan, Jie Chen, Qifeng Liu, Yike Guo.
2024-04-26
2023-12-01
2023-11-30
2023-10-21
Página de demonstração : link.
Modelos probabilísticos de difusão de denoising (DDPMS) mostraram desempenho promissor para a síntese da fala. No entanto, é necessário um grande número de etapas iterativas para obter alta qualidade de amostra, o que restringe a velocidade de inferência. Manter a qualidade da amostra enquanto aumenta a velocidade de amostragem tornou -se uma tarefa desafiadora. Neste artigo, propomos um método de síntese de fala baseado em MO DEL , que atinge a síntese de fala através de uma única etapa de amostragem de difusão enquanto atinge a alta qualidade de áudio. A restrição de consistência é aplicada para destilar um modelo de consistência de um modelo de professor bem projetado baseado em difusão, que acaba gera performances superiores na vasossech destilada. Nossos experimentos mostram que, ao gerar gravações de áudio por uma única etapa de amostragem, a eSoSpeech atinge uma velocidade de inferência mais de 150 vezes mais rápida que o tempo real em uma única GPU da NVIDIA A100, comparável ao FastSpeech2, tornando a síntese de fala baseada em difusão verdadeiramente prática. Enquanto isso, as avaliações objetivas e subjetivas sobre a síntese de texto e voz e canto mostram que os modelos de professores propostos produzem a melhor qualidade de áudio, e a edição baseada em uma etapa baseada em amostragem atinge a melhor velocidade de inferência com melhor ou comparável qualidade de áudio com outras linhas de base do modelo de difusão multi-passos convencionais.
Construir monotonic_align Code (Cython):
cd model/monotonic_align ; python setup.py build_ext --inplace ; cd ../.. Execute o script inference.py fornecendo caminho para o arquivo de texto, caminho para o ponto de verificação, número de amostragem:
python inference.py -f < text file > -c < checkpoint > -t < sampling steps > Confira a pasta out para áudios gerados. Observe que no arquivo params. Professor = Verdadeiro é para o nosso modelo de professor, False é para a nossa vasoespech. Além disso, usamos o mesmo vocoder em graduados. Você pode baixá -lo e colocar na pasta de verificação.
Usamos os conjuntos de dados LJSpeech e seguimos o trem/teste/Val Split no FastSpeech2, você pode alterar a divisão na pasta FS2_TXT. Em seguida, execute o script de train.py ,
python train.py Observe que no arquivo params. Professor = Verdadeiro é para o nosso modelo de professor, False é para a nossa vasoespech. Enquanto treinam a EcoSpeech, o diretório de ponto de verificação do professor deve ser fornecido.
Os pontos de verificação treinados no LJSpeech podem ser baixados aqui.
Gostaria de agradecer especial aos autores de graduados, já que nossa base de código é emprestada principalmente da graduação.
Você pode enviar solicitações de puxar ou compartilhar algumas idéias comigo. Informações de contato: zhen ye ([email protected])