Em nosso artigo, propusemos o HIFI-GAN: um modelo baseado em GaN capaz de gerar uma fala de alta fidelidade com eficiência.
Fornecemos nossa implementação e modelos pré -criados como código aberto neste repositório.
Resumo: Vários trabalhos recentes sobre síntese de fala empregaram redes adversárias generativas (GANs) para produzir formas de onda brutas. Embora esses métodos melhorem a eficiência da amostragem e o uso da memória, a qualidade da amostra ainda não atingiu a dos modelos generativos autorregressivos e baseados em fluxo. Neste trabalho, propomos o HIFI-GAN, que alcança a síntese de fala eficiente e de alta fidelidade. Como o áudio da fala consiste em sinais sinusoidais com vários períodos, demonstramos que a modelagem de padrões periódicos de um áudio é crucial para melhorar a qualidade da amostra. Uma avaliação humana subjetiva (pontuação média de opinião, MOS) de um conjunto de dados de alto-falante indica que nosso método proposto demonstra semelhança com a qualidade humana, gerando 22,05 kHz de áudio de alta fidelidade 167,9 vezes mais rápido que em tempo real em uma única GPU V100. Mostramos ainda a generalidade do HIFI-GAN para a inversão de espectro do espectro do MEL de falantes invisíveis e síntese de ponta a ponta. Finalmente, uma pequena versão pegada do HIFI-GAN gera amostras 13,4 vezes mais rápida que o tempo real na CPU com qualidade comparável a uma contraparte autoregressiva.
Visite nosso site de demonstração para amostras de áudio.
LJSpeech-1.1/wavs python train.py --config config_v1.json
Para treinar o gerador V2 ou V3, substitua config_v1.json por config_v2.json ou config_v3.json .
Os pontos de verificação e a cópia do arquivo de configuração são salvos no diretório cp_hifigan por padrão.
Você pode alterar o caminho adicionando -Opção --checkpoint_path .
Perda de validação durante o treinamento com o gerador V1. 
Você também pode usar modelos pré -rastreados que fornecemos.
Baixe modelos pré -tenhados
Os detalhes de cada pasta são como a seguir:
| Nome da pasta | Gerador | Conjunto de dados | Tuneado fino |
|---|---|---|---|
| Lj_v1 | V1 | LJSpeech | Não |
| Lj_v2 | V2 | LJSpeech | Não |
| Lj_v3 | V3 | LJSpeech | Não |
| Lj_ft_t2_v1 | V1 | LJSpeech | Sim (Tacotron2) |
| Lj_ft_t2_v2 | V2 | LJSpeech | Sim (Tacotron2) |
| Lj_ft_t2_v3 | V3 | LJSpeech | Sim (Tacotron2) |
| Vctk_v1 | V1 | Vctk | Não |
| Vctk_v2 | V2 | Vctk | Não |
| Vctk_v3 | V3 | Vctk | Não |
| Universal_v1 | V1 | Universal | Não |
Fornecemos ao modelo universal pesos discriminadores que podem ser usados como base para o aprendizado de transferência para outros conjuntos de dados.
.npy . Audio File : LJ001-0001.wav
Mel-Spectrogram File : LJ001-0001.npy
ft_dataset e copie os arquivos gerados por espectrograma MEL para ela. python train.py --fine_tuning True --config config_v1.json
test_files e copie os arquivos WAV no diretório. python inference.py --checkpoint_file [generator checkpoint file path]
Os arquivos WAV gerados são salvos em generated_files por padrão.
Você pode alterar o caminho adicionando --output_dir .
test_mel_files e a cópia gerou arquivos MEL-Spectrograma no diretório. python inference_e2e.py --checkpoint_file [generator checkpoint file path]
Os arquivos WAV gerados são salvos em generated_files_from_mel por padrão.
Você pode alterar o caminho adicionando --output_dir .
Nós nos referimos a Waveglow, Melgan e Tacotron2 para implementar isso.