cnn_vocoder
1.0.0
참고 : 저는 더 이상이 프로젝트를 진행하지 않습니다. #9를 참조하십시오.
이 작업은 다중 헤드 컨볼 루션 신경 네트워크를 사용하여 빠른 스펙트럼 반전으로 설명 된 M-CNN 모델에서 영감을 얻었습니다. 저자는 간단한 상향 샘플링 네트워크조차도 스펙트로 그램/멜 스피어 그램에서 파형을 합성하기에 충분하다는 것을 보여줍니다.
이 저장소에서는 Mel-Spectrogram 기능보다 더 많은 정보가 포함되어 있기 때문에 교육 모델에 스펙트로 그램 기능을 사용합니다. 그러나 스펙트로 그램에서 멜 스피어 그램으로의 변환은 선형 투영 일 뿐이므로 기본적으로 간단한 네트워크 예측 스펙트로 그램을 Mel-Spectrogram에서 훈련시킬 수 있습니다. 또한 Mel-Spectrogram 기능에서 보코더를 훈련시킬 수 있도록 매개 변수를 변경할 수도 있습니다.
M-CNN과 비교하면 제안 된 네트워크에는 몇 가지 차이점이 있습니다.
$ pip install -r requirements.txt실험에 ljspeech 데이터 세트를 사용합니다. 아직 없다면 데이터 세트를 다운로드하여 어딘가에 넣으십시오.
그런 다음 명령을 실행하여 실험을 위해 데이터 세트를 생성 할 수 있습니다.
$ python preprocessing.py --samples_per_audio 20
--out_dir ljspeech
--data_dir path/to/ljspeech/dataset
--n_workers 4$ python train.py --out_dir ${output_directory}더 많은 교육 옵션은 실행하십시오.
$ python train.py --help$ python gen_spec.py -i sample.wav -o out.npz$ python synthesis.py --model_path path/to/checkpoint
--spec_path out.npz
--out_path out.wav여기에서 미리 훈련 된 모델을 얻을 수 있습니다.
이 구현은 내 코드에 설명 된대로 Nvidia, Ryuichi Yamamoto, Keith Ito의 코드를 사용합니다.
MIT