FASTSPEECH2-Pytorch-Korean-Multi-Speaker
Este projeto é implementado no TTS multi-falante coreano, combinando vocoder Hifi-Gan com o FastSpeech2.
Introdução
Este projeto tem como objetivo desenvolver o TTS do projeto 'Visible Personalizado AI' . É substituído pelas vozes das pessoas ao seu redor querem, em vez das vozes de 'Siri', 'Bixby' e 'Ari'. (Ex. Cônjuge, filho, filha, pais, etc.)
Para lidar com a produção imediata de alto-falantes de IA, em vez de excelente desempenho de Tacotron2 e Glow Wave, o modelo de vocoder MostSpeech2 e não autorregressivo e o modelo de vocoder com sede em GaN adotou a velocidade de qualidade e produção.
Com base no código -fonte do FastSpeech2 que corresponde ao conjunto de dados coreano KSS implementado no DLLab.
Propósito do projeto
- Uso de modelo acústico-FastSpeech2, modelo de vocoder-hifigan para velocidade de síntese rápida e alto desempenho
- Transferir o aprendizado de uso para personalizar com pequenas quantidades de dados (
+ Clonagem com tiro zero Projeto lateral ) - Implementação de incorporação de alto-falante para aprender multi-falante para pré-treinar
- Configuração do pipeline para que o processo de aprendizado seja realizado no conjunto de dados coreano para o ponta a ponta
Conjunto de dados
- Para pré-trep, aprenda usando a voz de conversa gratuita do AIHUB.
- Em média, 1 hora e 30 minutos, aprendendo com 30 homens e 28 dados femininos em consideração
- Cada orador concedeu um ID de número único no processo de pré -tratamento
- Para o tune fino, consulte o script KSS e registre a voz do novo orador nas frases de 100 frases-300 frases-600 para avaliar o desempenho.
Contribuição (Add do Projeto Previus)
O conteúdo adicionado no código usado é o seguinte.
Implementação de incorporação de alto-falante (coreano multi-falante FastSpeech2)
- Adicione a camada de incorporação ao modelo
- Saída do codificador e implementação de código (incorporação, integrador de alto -falante)
- Implementação de função get_speakers () que importa e armazena informações de incorporação
Data_Preprocessing.py-End-to-end Data Pré-tratamento de implementação contendo todos os itens abaixo

Resposta à síntese instável de frases longas
- Defina -o para ser anexado após a síntese em uma unidade de caracteres especial (unidade de sentença)

Importar código -fonte G2PK e aplicar apenas números e inglês
- Modifique o pacote do G2PK existente para apenas o idioma coreano sem a instalação do PIP.
Obras presas
Salve o diretório WAV e o arquivo JSON ou Transcript no diretório de nomes de dados/dados, conforme mostrado.
Aprenda Montral forçou Alinger em Kaldi a aprender TextGrid , aprendendo dados de áudio.
# lab 생성, mfa 학습, lab 분리
python data_preprocessing.py
Salve o gerador aprendido pelo HIFI-GAN para avaliação durante o aprendizado no diretório Vocoder/Preteden_models.
- Escreva os dados diretamente de acordo com o formato ou crie uma transcrição referindo -se à função do data_preprocessing.py
- Armazene a transcrição gerada e o diretório dos dados no conjunto de dados e execute o data_proprocessing.py
- O trabalho da MFA é concluído e o arquivo textGrid.zip é criado no diretório superior
- Preprocess.py executa e verifica a pasta processada.
Trem
Configure o caminho do tamanho do lote do HPARAM.PY, o gerador HIFI-GAN e comece a aprender.
Se você estiver estudando, pode aprender adicionando RESTORE_STEP.
python train.py --restore_step [step]
Transferência de aprendizado
Se você executar pré-trem para multi-falantes, o armazenamento de armazenamento_info.json gerou automaticamente durante o aprendizado pré-trep
Coloque o Speaker_info.json no topo do diretório
Execute Python da mesma maneira que realizar um estudo em trem
python train.py --restore_step [pre-train의 step]
Sintetize
- Sintetizado com o arquivo snythesize.py.
python synthesize.py --step [step수]
- Seleção sintética 1, 2, 3 como um script apresentado aleatoriamente
- 4 Selecione 4
Model Pipeline
Este pipeline é um pipeline de fluxo para o aprendizado e a criação do TTS que corresponde ao serviço.

Os contêineres são amplamente classificados como quatro.
- Contêiner de banco de dados que contém o caminho e as informações do usuário dos dados
- Criação da transcrição, simplificação do nome do arquivo, extração textgrid com MFA, contêiner de pré -processamento de dados para o modelo
- Aprendendo o contêiner para pré-treinamento
- Aprendendo o contêiner para ajuste fino em novos dados
Na situação real do serviço, apenas três contêineres funcionarão.