Development/AI

Tacotron2 TTS 한국어 예제 실습 (KSS dataset) - (1)

고고마코드 2022. 5. 13. 15:19
반응형

Development Environment - Colab Plus
Toolkit - ESPnet
TTS Model - Tactron2
dataset - KSS

본 글은 ESPnet 설치부터 훈련까지의 과정입니다.
활용 예제를 보시려면 다음 글을 참고하세요.

Tacotron2 TTS 한국어 예제 실습 (KSS datasets) - (2)


dataset 준비

https://www.kaggle.com/datasets/bryanpark/korean-single-speaker-speech-dataset

위 링크에서 dataset 및 script 다운로드


기본 세팅

google drive connect

# google drive 연결
from google.colab import drive
drive.mount('/content/drive')

ESPnet 설치

#espnet setup
!git clone https://github.com/espnet/espnet
!cd /content/espnet; pip install -q -e .
%cd /content/espnet/tools/
! ./setup_anaconda.sh anaconda espnet 3.8
!make
!. ./activate_python.sh; python3 check_install.py
!source /content/espnet/tools/activate_python.sh && pip install g2pK
%cd /content/espnet/egs2/kss/tts1/

경로 설정

KSS dataset 경로 설정

KSS=경로

결과물 경로 설정

expdir=경로

dump 경로 설정

dumpdir=경로

훈련

기본

!./run.sh

훈련 파라미터 설정

# Run with the following command for tacotron2:
! ./run.sh \
    --fs 44100 \
    --fmin 80 \
    --fmax 22050 \
    --n_mels 120 \
    --n_fft 2048 \
    --n_shift 512 \
    --win_length 2048 \
    --train_config conf/tuning/train_tacotron2.yaml \
    --inference_config conf/tuning/decode_tacotron2.yaml \
    --token_type phn \
    --g2p korean_jaso \
    --cleaner korean_cleaner \
    --expdir 결과물경로 \
    --dumpdir dump경로

expdir

이미 학습한 결과물을 이어서 학습시키려면 학습한 결과물의 경로를 입력합니다.
해당 경로만 맞춰주면 다음에 학습시킬 때 자동으로 학습을 이어서 훈련합니다.

dumpdir

dumpdir을 지정하지 않으면 학습을 이어서 진행할 경우 stage 1~5를 계속 실행해야 합니다.
stage 에 대한 자세한 내용은 공식 문서에서 확인하세요.
espnet/egs2/kss/tts1

학습을 이어서 하더라도 stage 1~5 는 다시 할 필요가 없습니다. (stage 1~5는 1번만 하면 됩니다.)
stage 6만 실행한다면 아래 코드처럼 --stage 6 을 추가하면 됩니다.

!./run.sh --stage 6 \
    --fs 44100 \
    --fmin 80 \
    --fmax 22050 \
    --n_mels 120 \
    ...

참고자료

  1. https://github.com/espnet/espnet/tree/master/egs2/kss/tts1

반응형