
Google Brain의 고 충실도 Wavegrad Vocoder (Paper)의 구현 (Pytorch). 6 번의 고품질 세대가있는 Github에 대한 첫 번째 구현.
generated_samples 폴더 참조). 매개 변수 수 : 15.810.401
| 모델 | 안정적인 | RTX 2080 TI | 테슬라 K80 | 인텔 Xeon 2.3GHz* |
|---|---|---|---|---|
| 1000 반복 | + | 9.59 | - | - |
| 100 회복 | + | 0.94 | 5.85 | - |
| 50 반복 | + | 0.45 | 2.92 | - |
| 25 반복 | + | 0.22 | 1.45 | - |
| 12 반복 | + | 0.10 | 0.69 | 4.55 |
| 6 반복 | + | 0.04 | 0.33 | 2.09 |
* 참고 : Intel Xeon CPU의 이전 버전을 사용했습니다.
Wavegrad는 Wavenet-similar 샘플링 품질로 데이터 밀도의 기울기를 추정하여 파형 생성을위한 조건부 모델입니다. 이 보코더는 Gan, 정상화 흐름, 고전적인자가 회귀 모델이 아닙니다 . 보코더의 주요 개념은 Langevin 역학을 활용하고 일치하는 프레임 워크를 사용하는 DDPM ( Denoing Diffusion Probilistic Models )을 기반으로합니다. 고전적인 DDPM과 비교할 때 Wavegrad는 초고속 수렴 (6 개 반복 및 아마도 더 낮은) WRT Langevin Dynamics 반복 샘플링 체계를 달성합니다.
git clone https://github.com/ivanvovk/WaveGrad.git
cd WaveGradpip install -r requirements.txtfilelists 폴더에 포함 된 것과 같은 오디오 데이터의 기차 및 테스트 필수리스트를 만들 수 있습니다.configs 폴더에서 구성 파일*을 만듭니다. * 참고 : STFT의 hop_length 변경하려면 구성에서 업 샘플링 factors 의 제품이 새로운 hop_length 와 동일해야합니다.
runs/train.sh 스크립트 및 가시 GPU 장치 및 구성 파일로의 경로를 지정하십시오. 둘 이상의 GPU를 지정하면 교육이 분산 모드로 실행됩니다.sh runs/train.sh 실행합니다 tensorboard --logdir=logs/YOUR_LOGDIR_FOLDER . 모든 로깅 정보 및 체크 포인트는 logs/YOUR_LOGDIR_FOLDER 에 저장됩니다. logdir 구성 파일에 지정됩니다.
모델이 훈련되면 그리드는 notebooks/inference.ipynb 에서 필요한 수의 반복에 대한 최상의 일정*을 검색하십시오. 이 코드는 병렬 처리를 지원하므로 검색을 가속화하기 위해 둘 이상의 작업을 지정할 수 있습니다.
* 참고 : 그리드 검색은 소수의 반복 (6 또는 7)에만 필요합니다. 더 많은 숫자의 경우 Fibonacci 시퀀스 benchmark.fibonacci(...) 초기화 : 25 개 반복에 사용하여 잘 작동합니다. 예를 들어, 좋은 25 개회 일정에서 요소를 복사하여 고차 일정을 구축 할 수 있습니다.
benchmark.fibonacci(...) 사용하여 25- 격리 일정을 얻었다.Mel-Spectrogram을 일부 폴더에 넣으십시오. FilleList를 만드십시오. 그런 다음이 명령을 자신의 주장으로 실행하십시오.
sh runs/inference.sh -c < your-config > -ch < your-checkpoint > -ns < your-noise-schedule > -m < your-mel-filelist > -v " yes " 더 많은 추론 세부 사항은 notebooks/inference.ipynb 에 제공됩니다. 또한 모델의 노이즈 일정을 설정하고 가장 좋은 구성표를 검색하는 방법을 찾을 수 있습니다.
생성 된 오디오의 예는 generated_samples 폴더에 제공됩니다. 후자의 최상의 일정을 발견하면 1000 개별과 6 개의 정화 추론 사이의 품질 저하가 눈에 띄지 않습니다.
이 Google 드라이브 링크를 통해 ljspeech (22khz)에서 사전 간 체크 포인트 파일*을 찾을 수 있습니다.
* 참고 : 업로드 된 Checkpoint는 단일 키 'model' 이 포함 된 dict 입니다.