|
--- |
|
tags: |
|
- espnet |
|
- audio |
|
- diarization |
|
language: noinfo |
|
datasets: |
|
- librimix |
|
license: cc-by-4.0 |
|
--- |
|
|
|
## ESPnet2 DIAR model |
|
|
|
### `espnet/YushiUeda_librimix_diar_enh_2_3_spk_lmf` |
|
|
|
This model was trained by YushiUeda using librimix recipe in [espnet](https://github.com/espnet/espnet/). |
|
|
|
### Demo: How to use in ESPnet2 |
|
|
|
```bash |
|
cd espnet |
|
git checkout 4f0f9a2435549211ef670354d09eb45883441b2d |
|
pip install -e . |
|
cd egs2/librimix/diar_enh2 |
|
./run.sh --skip_data_prep false --skip_train true --download_model espnet/YushiUeda_librimix_diar_enh_2_3_spk_lmf |
|
``` |
|
|
|
<!-- Generated by local/show_enh_score.sh --> |
|
# RESULTS |
|
## Environments |
|
- date: `Sat Mar 26 08:47:28 EDT 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.10.1+cu102` |
|
- Git hash: `4f0f9a2435549211ef670354d09eb45883441b2d` |
|
- Commit date: `Tue Mar 15 10:52:24 2022 -0400` |
|
|
|
|
|
## .. |
|
|
|
config: conf/tuning/train_diar_enh_convtasnet_lmf_adapt.yaml |
|
|
|
|dataset|STOI|SAR|SDR|SIR|SI_SNR|DER| |
|
|---|---|---|---|---|---|---| |
|
|diarized_enhanced_test|0.7667|8.1685|6.6069|15.2114|5.4204|6.04| |
|
|
|
## DIAR config |
|
|
|
<details><summary>expand</summary> |
|
|
|
``` |
|
config: conf/tuning/train_diar_enh_convtasnet_lmf_adapt.yaml |
|
print_config: false |
|
log_level: INFO |
|
dry_run: false |
|
iterator_type: chunk |
|
output_dir: exp/diar_enh_train_diar_enh_convtasnet_lmf_adapt |
|
ngpu: 1 |
|
seed: 0 |
|
num_workers: 4 |
|
num_att_plot: 3 |
|
dist_backend: nccl |
|
dist_init_method: env:// |
|
dist_world_size: 4 |
|
dist_rank: 0 |
|
local_rank: 0 |
|
dist_master_addr: localhost |
|
dist_master_port: 38467 |
|
dist_launcher: null |
|
multiprocessing_distributed: true |
|
unused_parameters: false |
|
sharded_ddp: false |
|
cudnn_enabled: true |
|
cudnn_benchmark: false |
|
cudnn_deterministic: true |
|
collect_stats: false |
|
write_collected_feats: false |
|
max_epoch: 100 |
|
patience: 4 |
|
val_scheduler_criterion: |
|
- valid |
|
- loss |
|
early_stopping_criterion: |
|
- valid |
|
- loss |
|
- min |
|
best_model_criterion: |
|
- - valid |
|
- si_snr_loss |
|
- min |
|
keep_nbest_models: 1 |
|
nbest_averaging_interval: 0 |
|
grad_clip: 5.0 |
|
grad_clip_type: 2.0 |
|
grad_noise: false |
|
accum_grad: 4 |
|
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: |
|
- exp/diar_enh_train_diar_enh_convtasnet_lmf/valid.si_snr_loss.best.pth |
|
ignore_init_mismatch: false |
|
freeze_param: [] |
|
num_iters_per_epoch: null |
|
batch_size: 4 |
|
valid_batch_size: null |
|
batch_bins: 1000000 |
|
valid_batch_bins: null |
|
train_shape_file: |
|
- exp/diar_enh_stats_8k/train/speech_mix_shape |
|
- exp/diar_enh_stats_8k/train/spk_labels_shape |
|
- exp/diar_enh_stats_8k/train/speech_ref1_shape |
|
- exp/diar_enh_stats_8k/train/speech_ref2_shape |
|
- exp/diar_enh_stats_8k/train/speech_ref3_shape |
|
- exp/diar_enh_stats_8k/train/noise_ref1_shape |
|
valid_shape_file: |
|
- exp/diar_enh_stats_8k/valid/speech_mix_shape |
|
- exp/diar_enh_stats_8k/valid/spk_labels_shape |
|
- exp/diar_enh_stats_8k/valid/speech_ref1_shape |
|
- exp/diar_enh_stats_8k/valid/speech_ref2_shape |
|
- exp/diar_enh_stats_8k/valid/speech_ref3_shape |
|
- exp/diar_enh_stats_8k/valid/noise_ref1_shape |
|
batch_type: folded |
|
valid_batch_type: null |
|
fold_length: |
|
- 800 |
|
- 80000 |
|
- 80000 |
|
- 80000 |
|
- 80000 |
|
- 80000 |
|
sort_in_batch: descending |
|
sort_batch: descending |
|
multiple_iterator: false |
|
chunk_length: 24000 |
|
chunk_shift_ratio: 0.5 |
|
num_cache_chunks: 1024 |
|
train_data_path_and_name_and_type: |
|
- - dump/raw/train/wav.scp |
|
- speech_mix |
|
- sound |
|
- - dump/raw/train/espnet_rttm |
|
- spk_labels |
|
- rttm |
|
- - dump/raw/train/spk1.scp |
|
- speech_ref1 |
|
- sound |
|
- - dump/raw/train/spk2.scp |
|
- speech_ref2 |
|
- sound |
|
- - dump/raw/train/spk3.scp |
|
- speech_ref3 |
|
- sound |
|
- - dump/raw/train/noise1.scp |
|
- noise_ref1 |
|
- sound |
|
valid_data_path_and_name_and_type: |
|
- - dump/raw/dev/wav.scp |
|
- speech_mix |
|
- sound |
|
- - dump/raw/dev/espnet_rttm |
|
- spk_labels |
|
- rttm |
|
- - dump/raw/dev/spk1.scp |
|
- speech_ref1 |
|
- sound |
|
- - dump/raw/dev/spk2.scp |
|
- speech_ref2 |
|
- sound |
|
- - dump/raw/dev/spk3.scp |
|
- speech_ref3 |
|
- sound |
|
- - dump/raw/dev/noise1.scp |
|
- noise_ref1 |
|
- 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-07 |
|
weight_decay: 0 |
|
scheduler: reducelronplateau |
|
scheduler_conf: |
|
mode: min |
|
factor: 0.5 |
|
patience: 1 |
|
num_spk: 3 |
|
init: xavier_uniform |
|
model_conf: |
|
loss_type: si_snr |
|
diar_weight: 0.2 |
|
attractor_weight: 0.2 |
|
use_preprocessor: true |
|
criterions: |
|
- name: si_snr |
|
conf: |
|
eps: 1.0e-07 |
|
wrapper: pit2 |
|
wrapper_conf: |
|
weight: 1.0 |
|
independent_perm: true |
|
frontend: default |
|
frontend_conf: |
|
fs: 8k |
|
hop_length: 64 |
|
specaug: specaug |
|
specaug_conf: |
|
apply_time_warp: false |
|
apply_freq_mask: true |
|
freq_mask_width_range: |
|
- 0 |
|
- 30 |
|
num_freq_mask: 2 |
|
apply_time_mask: true |
|
time_mask_width_range: |
|
- 0 |
|
- 40 |
|
num_time_mask: 2 |
|
normalize: null |
|
normalize_conf: {} |
|
diar_encoder: transformer |
|
diar_encoder_conf: |
|
input_size: 208 |
|
input_layer: conv2d8 |
|
num_blocks: 4 |
|
linear_units: 512 |
|
dropout_rate: 0.1 |
|
output_size: 256 |
|
attention_heads: 4 |
|
attention_dropout_rate: 0.1 |
|
diar_decoder: linear |
|
diar_decoder_conf: {} |
|
label_aggregator: label_aggregator |
|
label_aggregator_conf: |
|
win_length: 256 |
|
hop_length: 64 |
|
attractor: rnn |
|
attractor_conf: |
|
unit: 256 |
|
layer: 1 |
|
dropout: 0.1 |
|
attractor_grad: true |
|
enh_encoder: conv |
|
enh_encoder_conf: |
|
channel: 512 |
|
kernel_size: 16 |
|
stride: 8 |
|
separator: tcn |
|
separator_conf: |
|
layer: 8 |
|
stack: 3 |
|
bottleneck_dim: 128 |
|
hidden_dim: 512 |
|
kernel: 3 |
|
causal: false |
|
norm_type: gLN |
|
mask_module: mask |
|
mask_module_conf: |
|
max_num_spk: 3 |
|
mask_nonlinear: relu |
|
input_dim: 512 |
|
bottleneck_dim: 128 |
|
enh_decoder: conv |
|
enh_decoder_conf: |
|
channel: 512 |
|
kernel_size: 16 |
|
stride: 8 |
|
required: |
|
- output_dir |
|
version: 0.10.7a1 |
|
distributed: true |
|
``` |
|
|
|
</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} |
|
} |
|
|
|
|
|
|
|
|
|
``` |
|
|
|
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} |
|
} |
|
``` |
|
|