diffgan-tts의 Pytorch 구현 : Denoing Diffusion Gans를 사용한 고 충실도 및 효율적인 텍스트 음성


오디오 샘플은 /데모에서 사용할 수 있습니다.
데이터 세트는 다음 문서에서 LJSpeech 및 VCTK 와 같은 데이터 세트의 이름을 나타냅니다.
모델은 모델 유형을 나타냅니다 ( ' Naive ', ' Aux ', ' Shallow '중에서 선택).
파이썬 종속성을 설치할 수 있습니다
pip3 install -r requirements.txt
사전에 걸린 모델을 다운로드하고 넣어야합니다.
output/ckpt/DATASET_naive/ .output/ckpt/DATASET_shallow/ ' 얕은 '모델. ' 얕은 '모델의 체크 포인트에는 ' 얕은 '및 ' 보조 '모델이 모두 포함되어 있으며이 두 모델은 전체 프로세스의 결과를 제외한 모든 디렉토리를 공유합니다.단일 스피커 TTS 의 경우 실행하십시오
python3 synthesize.py --text "YOUR_DESIRED_TEXT" --model MODEL --restore_step RESTORE_STEP --mode single --dataset DATASET
멀티 스피커 TTS 의 경우 실행하십시오
python3 synthesize.py --text "YOUR_DESIRED_TEXT" --model MODEL --speaker_id SPEAKER_ID --restore_step RESTORE_STEP --mode single --dataset DATASET
학습 된 스피커 사전은 preprocessed_data/DATASET/speakers.json 에서 찾을 수 있으며 생성 된 발화는 output/result/ 에 넣습니다.
배치 추론도 지원됩니다
python3 synthesize.py --source preprocessed_data/DATASET/val.txt --model MODEL --restore_step RESTORE_STEP --mode batch --dataset DATASET
preprocessed_data/DATASET/val.txt 의 모든 발화를 종합합니다.
합성 된 발화의 피치/볼륨/말하기 속도는 원하는 피치/에너지/지속 시간 비율을 지정하여 제어 할 수 있습니다. 예를 들어, 말하기 속도를 20 % 증가시키고 양을 20 % 감소시킬 수 있습니다.
python3 synthesize.py --text "YOUR_DESIRED_TEXT" --model MODEL --restore_step RESTORE_STEP --mode single --dataset DATASET --duration_control 0.8 --energy_control 0.8
제어 가능성은 FastSpeech2에서 유래되며 Diffgan-TT의 중요한 관심은 아닙니다.
지원되는 데이터 세트는입니다
LJSPEECH : 단일 스피커 영어 데이터 세트는 총 7 개의 논픽션 책에서 여성 스피커 독서 구절의 13100 개의 짧은 오디오 클립으로 구성되어 있으며 총 약 24 시간입니다.
VCTK : CSTR VCTK 코퍼스에는 다양한 악센트가있는 110 명의 영어 사용자 ( 멀티 스피커 TTS )가 발표 한 음성 데이터가 포함되어 있습니다. 각 스피커는 신문, 레인보우 통로 및 Speech Accent Archive에 사용되는 Elicitation 단락에서 선택된 약 400 개의 문장을 읽습니다.
외부 스피커 임베더가있는 멀티 스피커 TT 의 경우 스피커를 포함시키기 위해 Philipperemy의 DeepSpeaker의 Rescnn SoftMax+Triplet Pretrated 모델을 다운로드하여 ./deepspeaker/pretrained_models/ 에서 찾으십시오.
달리다
python3 prepare_align.py --dataset DATASET
일부 준비.
강제 정렬의 경우, 몬트리올 강제 정렬 (MFA)은 발화와 음소 시퀀스 사이의 정렬을 얻는 데 사용됩니다. 데이터 세트에 대한 사전 추출 된 정렬이 여기에 제공됩니다. preprocessed_data/DATASET/TextGrid/ 에서 파일을 압축해야합니다. 또는 혼자서 Aligner를 실행할 수 있습니다.
그 후, 전처리 스크립트를 실행하십시오
python3 preprocess.py --dataset DATASET
' 순진한 ', ' 보조 '및 ' 얕은 '의 세 가지 유형의 모델을 훈련시킬 수 있습니다.
순진한 버전 훈련 ( ' Naive ') :
순진한 버전을 훈련하십시오
python3 train.py --model naive --dataset DATASET
얕은 버전의 기본 음향 모델 교육 ( ' Aux ') :
얕은 버전을 훈련 시키려면 미리 훈련 된 FastSpeech2가 필요합니다. 아래 명령을 사용하면 보조 (MEL) 디코더를 포함한 FastSpeech2 모듈을 훈련시킬 수 있습니다.
python3 train.py --model aux --dataset DATASET
얕은 버전 훈련 ( ' 얕은 ') : :
보조 (MEL) 디코더를 포함하여 사전 훈련 된 FastSpeech2를 활용하려면 다음 명령으로 보조 FastSpeech2 교육의 최종 단계를 사용하여 --restore_step 통과해야합니다.
python3 train.py --model shallow --restore_step RESTORE_STEP --dataset DATASET
예를 들어, 보조 훈련 중에 마지막 체크 포인트가 200000 단계에서 저장되면 --restore_step 200000 으로 설정해야합니다. 그런 다음 AUX 모델을로드하고 동결 한 다음 활성 얕은 확산 메커니즘 하에서 훈련을 계속합니다.
사용
tensorboard --logdir output/log/DATASET
지역 호스트에서 텐서 보드를 제공합니다. 손실 곡선, 합성 된 멜 스피어 그램 및 오디오가 표시됩니다.






lambda_fm 스칼라 값에 고정됩니다.'none' 과 'DeepSpeaker' 사이)를 설정하여 전환 할 수 있습니다.
About Section (메인 페이지의 오른쪽 상단)의 "이 저장소 인용"으로이 저장소를 인용하십시오.