pytorch implementation of “MOSNet: Deep Learning based Objective Assessment for Voice Conversion”


Linux Ubuntu 20.04

  • GPU: GeForce RTX 2080 Ti
  • CUDA version: 10.0

Python 3.7

  • pytorch==1.4.0
  • numpy==1.19.5
  • tqdm
  • scipy==1.6.2
  • pandas==1.2.4
  • matplotlib
  • librosa==0.6.0


Reproducing results in the paper

  1. cd ./data and run bash to download the VCC2018 evaluation results and submitted speech. (downsample the submitted speech might take some times)
  2. Run python to prepare the evaluation results. (Run python to do the bootstrap experiment for intrinsic MOS calculation)
  3. Run python to extract .wav to .h5
  4. Run python -c config.json to train a CNN-BLSTM version of MOSNet.
  5. Run python -c config.json --epoch BEST_EPOCH --is_fp16 to test a CNN-BLSTM version of MOSNet.


Thanks to the authors of the paper MOSNet and the code is based on their tensorflow implementation
However, my workstation will show OOM errors even with BATCH_SIZE=4 under tensorflow2.0 and RTX 2080 Ti. Therefore I implement the code with pytorch. Currently only 7700MiB memory is used when BATCH_SIZE=64.
If you find any problem with my code, you can write a issue.


If you find this work useful in your research, please consider citing:

  author={Lo, Chen-Chou and Fu, Szu-Wei and Huang, Wen-Chin and Wang, Xin and Yamagishi, Junichi and Tsao, Yu and Wang, Hsin-Min},
  title={MOSNet: Deep Learning based Objective Assessment for Voice Conversion},
  booktitle={Proc. Interspeech 2019},


This work is released under MIT License (see LICENSE file for details).

VCC2018 Database & Results

The model is trained on the large listening evaluation results released by the Voice Conversion Challenge 2018.
The listening test results can be downloaded from here
The databases and results (submitted speech) can be downloaded from here


View Github