README.md

July 12, 2018 · View on GitHub

Speech Separation with uPIT

Speech separation with utterance-level PIT(Permutation Invariant Training)

Requirements

see requirements.txt

Usage

  1. Generate dataset using create-speaker-mixtures.zip

  2. Prepare cmvn, .scp and configure experiments in .yaml files

  3. Training:

    ./run_pit.py --config $conf --num-epoches 100 > $checkpoint/train.log 2>&1 &
    
  4. Inference:

    ./separate.py --dump-dir cache $mdl_dir/train.yaml $mdl_dir/epoch.40.pkl egs.scp
    

Experiments

ConfigureMaskEpochFMFFMMFF/MMAVG
config-1AM-ReLU7510.416.737.357.198.82
config-2AM-sigmoid509.955.996.726.358.26
config-3PSM-ReLU7310.296.547.287.098.71
config-4PSM-ReLU8010.376.597.297.108.76
config-5PSM-ReLU6210.587.007.557.409.01
config-6PSM-ReLU6210.477.447.787.699.10
config-7PSM-ReLU6110.437.177.417.348.91
-IAM-oracle-12.4912.7311.5811.8812.19
-IBM-oracle-12.9413.2012.0412.3512.65
-IRM-oracle-12.8613.1411.9612.2712.57
-PSM-oracle-15.7916.0314.9015.2015.50

Reference

  • Kolbæk M, Yu D, Tan Z H, et al. Multitalker speech separation with utterance-level permutation invariant training of deep recurrent neural networks[J]. IEEE/ACM Transactions on Audio, Speech and Language Processing (TASLP), 2017, 25(10): 1901-1913.