|
--- |
|
tags: |
|
- espnet |
|
- audio |
|
- audio-to-audio |
|
language: en |
|
datasets: |
|
- wsj0_2mix |
|
license: cc-by-4.0 |
|
--- |
|
|
|
## ESPnet2 ENH model |
|
|
|
### `lichenda/wsj0_2mix_skim_noncausal` |
|
|
|
This model was trained by LiChenda using wsj0_2mix recipe in [espnet](https://github.com/espnet/espnet/). |
|
|
|
### Demo: How to use in ESPnet2 |
|
|
|
```bash |
|
cd espnet |
|
git checkout ac3c10cfe4faf82c0bb30f8b32d9e8692363e0a9 |
|
pip install -e . |
|
cd egs2/wsj0_2mix/enh1 |
|
./run.sh --skip_data_prep false --skip_train true --download_model lichenda/wsj0_2mix_skim_noncausal |
|
``` |
|
|
|
<!-- Generated by ./scripts/utils/show_enh_score.sh --> |
|
# RESULTS |
|
## Environments |
|
- date: `Wed Feb 23 16:42:06 CST 2022` |
|
- python version: `3.7.11 (default, Jul 27 2021, 14:32:16) [GCC 7.5.0]` |
|
- espnet version: `espnet 0.10.7a1` |
|
- pytorch version: `pytorch 1.8.1` |
|
- Git hash: `ac3c10cfe4faf82c0bb30f8b32d9e8692363e0a9` |
|
- Commit date: `Fri Feb 11 16:22:52 2022 +0800` |
|
|
|
|
|
## .. |
|
|
|
config: conf/tuning/train_enh_skim_tasnet_noncausal.yaml |
|
|
|
|dataset|STOI|SAR|SDR|SIR| |
|
|---|---|---|---|---| |
|
|enhanced_cv_min_8k|0.96|19.17|18.70|29.56| |
|
|enhanced_tt_min_8k|0.97|18.96|18.45|29.31| |
|
|
|
## ENH config |
|
|
|
<details><summary>expand</summary> |
|
|
|
``` |
|
config: conf/tuning/train_enh_skim_tasnet_noncausal.yaml |
|
print_config: false |
|
log_level: INFO |
|
dry_run: false |
|
iterator_type: chunk |
|
output_dir: exp/enh_train_enh_skim_tasnet_noncausal_raw |
|
ngpu: 1 |
|
seed: 0 |
|
num_workers: 4 |
|
num_att_plot: 3 |
|
dist_backend: nccl |
|
dist_init_method: env:// |
|
dist_world_size: null |
|
dist_rank: null |
|
local_rank: 0 |
|
dist_master_addr: null |
|
dist_master_port: null |
|
dist_launcher: null |
|
multiprocessing_distributed: false |
|
unused_parameters: false |
|
sharded_ddp: false |
|
cudnn_enabled: true |
|
cudnn_benchmark: false |
|
cudnn_deterministic: true |
|
collect_stats: false |
|
write_collected_feats: false |
|
max_epoch: 150 |
|
patience: 20 |
|
val_scheduler_criterion: |
|
- valid |
|
- loss |
|
early_stopping_criterion: |
|
- valid |
|
- loss |
|
- min |
|
best_model_criterion: |
|
- - valid |
|
- si_snr |
|
- max |
|
- - valid |
|
- loss |
|
- min |
|
keep_nbest_models: 1 |
|
nbest_averaging_interval: 0 |
|
grad_clip: 5.0 |
|
grad_clip_type: 2.0 |
|
grad_noise: false |
|
accum_grad: 1 |
|
no_forward_run: false |
|
resume: true |
|
train_dtype: float32 |
|
use_amp: false |
|
log_interval: null |
|
use_matplotlib: true |
|
use_tensorboard: true |
|
use_wandb: false |
|
wandb_project: null |
|
wandb_id: null |
|
wandb_entity: null |
|
wandb_name: null |
|
wandb_model_log_interval: -1 |
|
detect_anomaly: false |
|
pretrain_path: null |
|
init_param: [] |
|
ignore_init_mismatch: false |
|
freeze_param: [] |
|
num_iters_per_epoch: null |
|
batch_size: 8 |
|
valid_batch_size: null |
|
batch_bins: 1000000 |
|
valid_batch_bins: null |
|
train_shape_file: |
|
- exp/enh_stats_8k/train/speech_mix_shape |
|
- exp/enh_stats_8k/train/speech_ref1_shape |
|
- exp/enh_stats_8k/train/speech_ref2_shape |
|
valid_shape_file: |
|
- exp/enh_stats_8k/valid/speech_mix_shape |
|
- exp/enh_stats_8k/valid/speech_ref1_shape |
|
- exp/enh_stats_8k/valid/speech_ref2_shape |
|
batch_type: folded |
|
valid_batch_type: null |
|
fold_length: |
|
- 80000 |
|
- 80000 |
|
- 80000 |
|
sort_in_batch: descending |
|
sort_batch: descending |
|
multiple_iterator: false |
|
chunk_length: 16000 |
|
chunk_shift_ratio: 0.5 |
|
num_cache_chunks: 1024 |
|
train_data_path_and_name_and_type: |
|
- - dump/raw/tr_min_8k/wav.scp |
|
- speech_mix |
|
- sound |
|
- - dump/raw/tr_min_8k/spk1.scp |
|
- speech_ref1 |
|
- sound |
|
- - dump/raw/tr_min_8k/spk2.scp |
|
- speech_ref2 |
|
- sound |
|
valid_data_path_and_name_and_type: |
|
- - dump/raw/cv_min_8k/wav.scp |
|
- speech_mix |
|
- sound |
|
- - dump/raw/cv_min_8k/spk1.scp |
|
- speech_ref1 |
|
- sound |
|
- - dump/raw/cv_min_8k/spk2.scp |
|
- speech_ref2 |
|
- sound |
|
allow_variable_data_keys: false |
|
max_cache_size: 0.0 |
|
max_cache_fd: 32 |
|
valid_max_cache_size: null |
|
optim: adam |
|
optim_conf: |
|
lr: 0.001 |
|
eps: 1.0e-08 |
|
weight_decay: 0 |
|
scheduler: reducelronplateau |
|
scheduler_conf: |
|
mode: min |
|
factor: 0.7 |
|
patience: 1 |
|
init: xavier_uniform |
|
model_conf: |
|
stft_consistency: false |
|
loss_type: mask_mse |
|
mask_type: null |
|
criterions: |
|
- name: si_snr |
|
conf: |
|
eps: 1.0e-07 |
|
wrapper: pit |
|
wrapper_conf: |
|
weight: 1.0 |
|
independent_perm: true |
|
use_preprocessor: false |
|
encoder: conv |
|
encoder_conf: |
|
channel: 64 |
|
kernel_size: 2 |
|
stride: 1 |
|
separator: skim |
|
separator_conf: |
|
causal: false |
|
num_spk: 2 |
|
layer: 6 |
|
nonlinear: relu |
|
unit: 128 |
|
segment_size: 250 |
|
dropout: 0.1 |
|
mem_type: hc |
|
seg_overlap: true |
|
decoder: conv |
|
decoder_conf: |
|
channel: 64 |
|
kernel_size: 2 |
|
stride: 1 |
|
required: |
|
- output_dir |
|
version: 0.10.7a1 |
|
distributed: false |
|
``` |
|
|
|
</details> |
|
|
|
|
|
|
|
### Citing ESPnet |
|
|
|
```BibTex |
|
@inproceedings{watanabe2018espnet, |
|
author={Shinji Watanabe and Takaaki Hori and Shigeki Karita and Tomoki Hayashi and Jiro Nishitoba and Yuya Unno and Nelson Yalta and Jahn Heymann and Matthew Wiesner and Nanxin Chen and Adithya Renduchintala and Tsubasa Ochiai}, |
|
title={{ESPnet}: End-to-End Speech Processing Toolkit}, |
|
year={2018}, |
|
booktitle={Proceedings of Interspeech}, |
|
pages={2207--2211}, |
|
doi={10.21437/Interspeech.2018-1456}, |
|
url={http://dx.doi.org/10.21437/Interspeech.2018-1456} |
|
} |
|
|
|
|
|
@inproceedings{ESPnet-SE, |
|
author = {Chenda Li and Jing Shi and Wangyou Zhang and Aswin Shanmugam Subramanian and Xuankai Chang and |
|
Naoyuki Kamo and Moto Hira and Tomoki Hayashi and Christoph B{"{o}}ddeker and Zhuo Chen and Shinji Watanabe}, |
|
title = {ESPnet-SE: End-To-End Speech Enhancement and Separation Toolkit Designed for {ASR} Integration}, |
|
booktitle = {{IEEE} Spoken Language Technology Workshop, {SLT} 2021, Shenzhen, China, January 19-22, 2021}, |
|
pages = {785--792}, |
|
publisher = {{IEEE}}, |
|
year = {2021}, |
|
url = {https://doi.org/10.1109/SLT48900.2021.9383615}, |
|
doi = {10.1109/SLT48900.2021.9383615}, |
|
timestamp = {Mon, 12 Apr 2021 17:08:59 +0200}, |
|
biburl = {https://dblp.org/rec/conf/slt/Li0ZSCKHHBC021.bib}, |
|
bibsource = {dblp computer science bibliography, https://dblp.org} |
|
} |
|
|
|
|
|
``` |
|
|
|
or arXiv: |
|
|
|
```bibtex |
|
@misc{watanabe2018espnet, |
|
title={ESPnet: End-to-End Speech Processing Toolkit}, |
|
author={Shinji Watanabe and Takaaki Hori and Shigeki Karita and Tomoki Hayashi and Jiro Nishitoba and Yuya Unno and Nelson Yalta and Jahn Heymann and Matthew Wiesner and Nanxin Chen and Adithya Renduchintala and Tsubasa Ochiai}, |
|
year={2018}, |
|
eprint={1804.00015}, |
|
archivePrefix={arXiv}, |
|
primaryClass={cs.CL} |
|
} |
|
``` |
|
|
|
Citing SkiM: |
|
```bibtex |
|
@article{li2022skim, |
|
title={SkiM: Skipping Memory LSTM for Low-Latency Real-Time Continuous Speech Separation}, |
|
author={Li, Chenda and Yang, Lei and Wang, Weiqin and Qian, Yanmin}, |
|
journal={arXiv preprint arXiv:2201.10800}, |
|
year={2022} |
|
} |
|
``` |
|
|