├── README.md
├── assets
├── demo
│ ├── ff
│ │ ├── 6_444o0314.wav
│ │ ├── 6_None1_clean.png
│ │ ├── 6_None1_clean.wav
│ │ ├── 6_None1_noisy.png
│ │ ├── 6_None1_noisy.wav
│ │ ├── 6_None1_pre.png
│ │ ├── 6_None1_pre.wav
│ │ ├── 6_ref_444c020v.wav
│ │ ├── 7_053o020e.wav
│ │ ├── 7_None1_clean.png
│ │ ├── 7_None1_clean.wav
│ │ ├── 7_None1_noisy.png
│ │ ├── 7_None1_noisy.wav
│ │ ├── 7_None1_pre.png
│ │ ├── 7_None1_pre.wav
│ │ └── 7_ref_053o020r.wav
│ ├── fm_mf
│ │ ├── 0_445c0206.wav
│ │ ├── 0_None1_clean.png
│ │ ├── 0_None1_clean.wav
│ │ ├── 0_None1_noisy.png
│ │ ├── 0_None1_noisy.wav
│ │ ├── 0_None1_pre.png
│ │ ├── 0_None1_pre.wav
│ │ ├── 0_ref_445o030h.wav
│ │ ├── 1_22gc0105.wav
│ │ ├── 1_None1_clean.png
│ │ ├── 1_None1_clean.wav
│ │ ├── 1_None1_noisy.png
│ │ ├── 1_None1_noisy.wav
│ │ ├── 1_None1_pre.png
│ │ ├── 1_None1_pre.wav
│ │ └── 1_ref_22gc010r.wav
│ └── mm
│ │ ├── 4_22go0107.wav
│ │ ├── 4_None1_clean.png
│ │ ├── 4_None1_clean.wav
│ │ ├── 4_None1_noisy.png
│ │ ├── 4_None1_noisy.wav
│ │ ├── 4_None1_pre.png
│ │ ├── 4_None1_pre.wav
│ │ ├── 4_ref_22ga010b.wav
│ │ ├── 5_051c010u.wav
│ │ ├── 5_None1_clean.png
│ │ ├── 5_None1_clean.wav
│ │ ├── 5_None1_noisy.png
│ │ ├── 5_None1_noisy.wav
│ │ ├── 5_None1_pre.png
│ │ ├── 5_None1_pre.wav
│ │ └── 5_ref_051a050n.wav
├── framework.png
├── model.png
└── onset_offset_demo.png
└── data
└── wsj
├── mix_2_spk_voiceP_tt_WSJ.txt
├── spk_test_WSJ.lst
└── spk_train_WSJ.lst
/README.md:
--------------------------------------------------------------------------------
1 | # WASE
2 |
3 | ## Overview
4 |
5 | Demo samples of our paper *Wase: Learning When to Attend for Speaker Extraction in Cocktail Party Environments*. WASE first explicitly models **start/end time of speech** (**onset/offset cues**) in speaker extraction problem.
6 |
7 | ~~We will release code soon.~~ The source code is available in [WASE_202112](https://github.com/aispeech-lab/WASE_202112). If you have any question about implementation details, feel free to ask me (haoyunzhe2017@ia.ac.cn).
8 |
9 | 
10 |
11 | ## Model
12 |
13 | WASE is adapted based on our previous proposed [framework](http://www.interspeech2020.org/uploadfile/pdf/Mon-3-11-6.pdf), which includes five modules: voiceprint encoder, onset/offset detector, speech encoder, speech decoder, and speaker extraction module.
14 |
15 | In this work, we focus on the onset/offset cues of speech and verify their effectiveness in speaker extraction task. We also combine the onset/offset cues and voiceprint cue. Onset/offset
16 | cues model start/end time of speech and voiceprint cue models the
17 | voice characteristics. The combination of two perceptual cues bring a significant performance improvement, while extra needed parameters are negligible. Please see the figure below for detailed model structure.
18 |
19 | 
20 | ***************************************************************
21 |
22 | ## Datasets
23 | * [WSJ0](https://catalog.ldc.upenn.edu/LDC93S6A)
24 |
25 | The training samples are generated by randomly selecting speeches of different speakers from *si_tr_s* of WSJ0, and mixing them at various signal-to-noise ratios (SNR). The evaluating samples are generated by fixed list *./data/wsj/mix_2_spk_voiceP_tt_WSJ.txt*.
26 | You may need the command below to modify the evaluating data path.
27 | ```bash
28 | sed -i 's/home\/aa/YOUR PATH/g' data/wsj/mix_2_spk_voiceP_tt_WSJ.txt
29 | ```
30 |
31 | ## Result
32 |
33 | ### Audio Sample
34 |
35 |
36 | - Listen to audio samples at [*./assets/demo*](./assets/demo).
37 | - Spectrogram samples (clean/mixture/prediction).
38 |
39 |
40 |

41 |
42 |

43 |
44 |

45 |
46 |
47 | - Onset / Offset Visualization.
48 |
49 |
50 |

51 |
52 |
53 | This figure contains a lot of information about onset/offset cues.
54 | 1. The first modulation is almost straight. We attribute this strange phenomenon to its location near the input, where there is very little processing to mixture speech. This also reminds us that the first modulation position may be too early for onset/offset detection.
55 | 2. Except for the first modulation, the other modulation phenomena are in line with expectations. In particular, the last modulation is relatively stable with fewer spikes.
56 | 3. The last modulation has slight spikes between the start and the offset. We find that these spikes are consistent with the overlap of clean speech and inference speech. The detector seems to have lower confidence in these places than in other places where there is only clean speech or no clean speech at all.
57 |
58 |
59 | ### Metric
60 |
61 | | Methods | #Params | SDRi(dB) |
62 | | ---------------------- | ----- | ---- |
63 | | [SBF-MTSAL](https://ieeexplore.ieee.org/document/8683874) | 19.3M | 7.30 |
64 | | [SBF-MTSAL-Concat](https://ieeexplore.ieee.org/document/8683874) | 8.9M | 8.39 |
65 | | [SpEx](https://ieeexplore.ieee.org/document/9067003) | 10.8M | 14.6 |
66 | | [SpEx+](https://arxiv.org/abs/2005.04686) | 13.3M | 17.2 |
67 | | WASE (onset / offset + voiceprint) | 7.5M | 17.05 |
68 |
69 |
70 | ## Citations
71 |
72 | If you find this repo helpful, please consider citing:
73 |
74 | ```
75 | @inproceedings{hao2021wase,
76 | title={Wase: Learning When to Attend for Speaker Extraction in Cocktail Party Environments},
77 | author={Hao, Yunzhe and Xu, Jiaming and Zhang, Peng and Xu, Bo},
78 | booktitle={ICASSP 2021-2021 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP)},
79 | pages={6104--6108},
80 | year={2021},
81 | organization={IEEE}
82 | }
83 | ```
84 |
85 | ```
86 | @inproceedings{hao2020unified,
87 | title={A Unified Framework for Low-Latency Speaker Extraction in Cocktail Party Environments},
88 | author={Hao, Yunzhe and Xu, Jiaming and Shi, Jing and Zhang, Peng and Qin, Lei and Xu, Bo},
89 | booktitle={Proc. Interspeech 2020},
90 | pages={1431--1435},
91 | year={2020}
92 | }
93 | ```
94 | For more detailed descirption, you can further explore the whole paper with [this link](https://doi.org/10.1109/ICASSP39728.2021.9413411).
95 |
96 |
--------------------------------------------------------------------------------
/assets/demo/ff/6_444o0314.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/ff/6_444o0314.wav
--------------------------------------------------------------------------------
/assets/demo/ff/6_None1_clean.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/ff/6_None1_clean.png
--------------------------------------------------------------------------------
/assets/demo/ff/6_None1_clean.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/ff/6_None1_clean.wav
--------------------------------------------------------------------------------
/assets/demo/ff/6_None1_noisy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/ff/6_None1_noisy.png
--------------------------------------------------------------------------------
/assets/demo/ff/6_None1_noisy.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/ff/6_None1_noisy.wav
--------------------------------------------------------------------------------
/assets/demo/ff/6_None1_pre.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/ff/6_None1_pre.png
--------------------------------------------------------------------------------
/assets/demo/ff/6_None1_pre.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/ff/6_None1_pre.wav
--------------------------------------------------------------------------------
/assets/demo/ff/6_ref_444c020v.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/ff/6_ref_444c020v.wav
--------------------------------------------------------------------------------
/assets/demo/ff/7_053o020e.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/ff/7_053o020e.wav
--------------------------------------------------------------------------------
/assets/demo/ff/7_None1_clean.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/ff/7_None1_clean.png
--------------------------------------------------------------------------------
/assets/demo/ff/7_None1_clean.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/ff/7_None1_clean.wav
--------------------------------------------------------------------------------
/assets/demo/ff/7_None1_noisy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/ff/7_None1_noisy.png
--------------------------------------------------------------------------------
/assets/demo/ff/7_None1_noisy.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/ff/7_None1_noisy.wav
--------------------------------------------------------------------------------
/assets/demo/ff/7_None1_pre.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/ff/7_None1_pre.png
--------------------------------------------------------------------------------
/assets/demo/ff/7_None1_pre.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/ff/7_None1_pre.wav
--------------------------------------------------------------------------------
/assets/demo/ff/7_ref_053o020r.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/ff/7_ref_053o020r.wav
--------------------------------------------------------------------------------
/assets/demo/fm_mf/0_445c0206.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/fm_mf/0_445c0206.wav
--------------------------------------------------------------------------------
/assets/demo/fm_mf/0_None1_clean.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/fm_mf/0_None1_clean.png
--------------------------------------------------------------------------------
/assets/demo/fm_mf/0_None1_clean.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/fm_mf/0_None1_clean.wav
--------------------------------------------------------------------------------
/assets/demo/fm_mf/0_None1_noisy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/fm_mf/0_None1_noisy.png
--------------------------------------------------------------------------------
/assets/demo/fm_mf/0_None1_noisy.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/fm_mf/0_None1_noisy.wav
--------------------------------------------------------------------------------
/assets/demo/fm_mf/0_None1_pre.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/fm_mf/0_None1_pre.png
--------------------------------------------------------------------------------
/assets/demo/fm_mf/0_None1_pre.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/fm_mf/0_None1_pre.wav
--------------------------------------------------------------------------------
/assets/demo/fm_mf/0_ref_445o030h.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/fm_mf/0_ref_445o030h.wav
--------------------------------------------------------------------------------
/assets/demo/fm_mf/1_22gc0105.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/fm_mf/1_22gc0105.wav
--------------------------------------------------------------------------------
/assets/demo/fm_mf/1_None1_clean.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/fm_mf/1_None1_clean.png
--------------------------------------------------------------------------------
/assets/demo/fm_mf/1_None1_clean.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/fm_mf/1_None1_clean.wav
--------------------------------------------------------------------------------
/assets/demo/fm_mf/1_None1_noisy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/fm_mf/1_None1_noisy.png
--------------------------------------------------------------------------------
/assets/demo/fm_mf/1_None1_noisy.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/fm_mf/1_None1_noisy.wav
--------------------------------------------------------------------------------
/assets/demo/fm_mf/1_None1_pre.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/fm_mf/1_None1_pre.png
--------------------------------------------------------------------------------
/assets/demo/fm_mf/1_None1_pre.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/fm_mf/1_None1_pre.wav
--------------------------------------------------------------------------------
/assets/demo/fm_mf/1_ref_22gc010r.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/fm_mf/1_ref_22gc010r.wav
--------------------------------------------------------------------------------
/assets/demo/mm/4_22go0107.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/mm/4_22go0107.wav
--------------------------------------------------------------------------------
/assets/demo/mm/4_None1_clean.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/mm/4_None1_clean.png
--------------------------------------------------------------------------------
/assets/demo/mm/4_None1_clean.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/mm/4_None1_clean.wav
--------------------------------------------------------------------------------
/assets/demo/mm/4_None1_noisy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/mm/4_None1_noisy.png
--------------------------------------------------------------------------------
/assets/demo/mm/4_None1_noisy.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/mm/4_None1_noisy.wav
--------------------------------------------------------------------------------
/assets/demo/mm/4_None1_pre.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/mm/4_None1_pre.png
--------------------------------------------------------------------------------
/assets/demo/mm/4_None1_pre.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/mm/4_None1_pre.wav
--------------------------------------------------------------------------------
/assets/demo/mm/4_ref_22ga010b.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/mm/4_ref_22ga010b.wav
--------------------------------------------------------------------------------
/assets/demo/mm/5_051c010u.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/mm/5_051c010u.wav
--------------------------------------------------------------------------------
/assets/demo/mm/5_None1_clean.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/mm/5_None1_clean.png
--------------------------------------------------------------------------------
/assets/demo/mm/5_None1_clean.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/mm/5_None1_clean.wav
--------------------------------------------------------------------------------
/assets/demo/mm/5_None1_noisy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/mm/5_None1_noisy.png
--------------------------------------------------------------------------------
/assets/demo/mm/5_None1_noisy.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/mm/5_None1_noisy.wav
--------------------------------------------------------------------------------
/assets/demo/mm/5_None1_pre.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/mm/5_None1_pre.png
--------------------------------------------------------------------------------
/assets/demo/mm/5_None1_pre.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/mm/5_None1_pre.wav
--------------------------------------------------------------------------------
/assets/demo/mm/5_ref_051a050n.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/demo/mm/5_ref_051a050n.wav
--------------------------------------------------------------------------------
/assets/framework.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/framework.png
--------------------------------------------------------------------------------
/assets/model.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/model.png
--------------------------------------------------------------------------------
/assets/onset_offset_demo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aispeech-lab/WASE/8020de0c3530f7cd3db0a9155dcbe15fe50eb22f/assets/onset_offset_demo.png
--------------------------------------------------------------------------------
/data/wsj/spk_test_WSJ.lst:
--------------------------------------------------------------------------------
1 | 440
2 | 441
3 | 442
4 | 443
5 | 444
6 | 445
7 | 446
8 | 447
9 | 050
10 | 051
11 | 052
12 | 053
13 | 22g
14 | 22h
15 | 420
16 | 421
17 | 422
18 | 423
19 |
--------------------------------------------------------------------------------
/data/wsj/spk_train_WSJ.lst:
--------------------------------------------------------------------------------
1 | 011
2 | 012
3 | 013
4 | 014
5 | 015
6 | 016
7 | 017
8 | 018
9 | 019
10 | 01a
11 | 01b
12 | 01c
13 | 01d
14 | 01e
15 | 01f
16 | 01g
17 | 01i
18 | 01j
19 | 01k
20 | 01l
21 | 01m
22 | 01n
23 | 01o
24 | 01p
25 | 01q
26 | 01r
27 | 01s
28 | 01t
29 | 01u
30 | 01v
31 | 01w
32 | 01x
33 | 01y
34 | 01z
35 | 020
36 | 021
37 | 022
38 | 023
39 | 024
40 | 025
41 | 026
42 | 027
43 | 028
44 | 029
45 | 02a
46 | 02b
47 | 02c
48 | 02d
49 | 02e
50 | 204
51 | 205
52 | 206
53 | 207
54 | 208
55 | 209
56 | 20a
57 | 20b
58 | 20c
59 | 20d
60 | 20e
61 | 20f
62 | 20g
63 | 20h
64 | 20i
65 | 20j
66 | 20k
67 | 20l
68 | 20m
69 | 20n
70 | 20o
71 | 20p
72 | 20q
73 | 20r
74 | 20s
75 | 20t
76 | 20u
77 | 20v
78 | 401
79 | 403
80 | 404
81 | 405
82 | 406
83 | 407
84 | 408
85 | 409
86 | 40a
87 | 40b
88 | 40c
89 | 40d
90 | 40e
91 | 40f
92 | 40g
93 | 40h
94 | 40i
95 | 40j
96 | 40k
97 | 40l
98 | 40m
99 | 40n
100 | 40o
101 | 40p
102 |
--------------------------------------------------------------------------------