├── LICENSE
├── README.md
├── audio_samples
├── .DS_Store
├── clean
│ ├── 2307.wav
│ ├── 4607.wav
│ └── 54.wav
├── corrupted
│ ├── 2307.wav
│ ├── 4607.wav
│ └── 54.wav
├── improved
│ ├── 2307.wav
│ ├── 4607.wav
│ └── 54.wav
├── sample_2307.png
├── sample_4607.png
└── sample_54.png
├── figures
├── clean_2307.png
├── clean_4607.png
├── clean_54.png
├── concealed_2307.png
├── concealed_4607.png
├── concealed_54.png
├── corrupted_2307.png
├── corrupted_4607.png
└── corrupted_54.png
├── index.md
├── models
├── tPLCnet_l.tflite
├── tPLCnet_m.tflite
└── tPLCnet_s.tflite
├── run_tPLCnet_tflite.py
├── test_files
├── 1214.wav
├── 1214_is_lost.txt
├── 2307.wav
├── 2307_is_lost.txt
├── 54.wav
└── 54_is_lost.txt
└── test_files_out
├── 1214.wav
├── 2307.wav
└── 54.wav
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2022 Nils L. Westhausen
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # tPLCnet: Real-time Deep Packet Loss Concealment in the Time Domain Using a Short Temporal Context
2 |
3 | ## Interspeech Paper:
4 | The paper can be found [here](https://www.isca-speech.org/archive/pdfs/interspeech_2022/westhausen22_interspeech.pdf).
5 |
6 | When using the models please cite:
7 | ```bibtex
8 | @inproceedings{westhausen22_interspeech,
9 | author={Nils L. Westhausen and Bernd T. Meyer},
10 | title={{tPLCnet: Real-time Deep Packet Loss Concealment in the Time Domain Using a Short Temporal Context}},
11 | year=2022,
12 | booktitle={Proc. Interspeech 2022},
13 | pages={2903--2907},
14 | doi={10.21437/Interspeech.2022-10157}
15 | }
16 | ```
17 |
18 | ## Audio Samples:
19 | If you are looking at the README.md directly on GitHub, go this [webpage](https://breizhn.github.io/tPLCnet/) to listen to the audio samples.
20 |
21 | ---
22 |
23 | ### 4607.wav
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 | ---
36 |
37 | ### 2307.wav
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 | ---
50 |
51 | ### 54.wav
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 | ---
64 | ## Video Presentation:
65 |
66 |
67 |
--------------------------------------------------------------------------------
/audio_samples/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/breizhn/tPLCnet/5a370788b5a3fd6e4af1dccd9d29e30a9303e6e5/audio_samples/.DS_Store
--------------------------------------------------------------------------------
/audio_samples/clean/2307.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/breizhn/tPLCnet/5a370788b5a3fd6e4af1dccd9d29e30a9303e6e5/audio_samples/clean/2307.wav
--------------------------------------------------------------------------------
/audio_samples/clean/4607.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/breizhn/tPLCnet/5a370788b5a3fd6e4af1dccd9d29e30a9303e6e5/audio_samples/clean/4607.wav
--------------------------------------------------------------------------------
/audio_samples/clean/54.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/breizhn/tPLCnet/5a370788b5a3fd6e4af1dccd9d29e30a9303e6e5/audio_samples/clean/54.wav
--------------------------------------------------------------------------------
/audio_samples/corrupted/2307.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/breizhn/tPLCnet/5a370788b5a3fd6e4af1dccd9d29e30a9303e6e5/audio_samples/corrupted/2307.wav
--------------------------------------------------------------------------------
/audio_samples/corrupted/4607.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/breizhn/tPLCnet/5a370788b5a3fd6e4af1dccd9d29e30a9303e6e5/audio_samples/corrupted/4607.wav
--------------------------------------------------------------------------------
/audio_samples/corrupted/54.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/breizhn/tPLCnet/5a370788b5a3fd6e4af1dccd9d29e30a9303e6e5/audio_samples/corrupted/54.wav
--------------------------------------------------------------------------------
/audio_samples/improved/2307.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/breizhn/tPLCnet/5a370788b5a3fd6e4af1dccd9d29e30a9303e6e5/audio_samples/improved/2307.wav
--------------------------------------------------------------------------------
/audio_samples/improved/4607.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/breizhn/tPLCnet/5a370788b5a3fd6e4af1dccd9d29e30a9303e6e5/audio_samples/improved/4607.wav
--------------------------------------------------------------------------------
/audio_samples/improved/54.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/breizhn/tPLCnet/5a370788b5a3fd6e4af1dccd9d29e30a9303e6e5/audio_samples/improved/54.wav
--------------------------------------------------------------------------------
/audio_samples/sample_2307.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/breizhn/tPLCnet/5a370788b5a3fd6e4af1dccd9d29e30a9303e6e5/audio_samples/sample_2307.png
--------------------------------------------------------------------------------
/audio_samples/sample_4607.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/breizhn/tPLCnet/5a370788b5a3fd6e4af1dccd9d29e30a9303e6e5/audio_samples/sample_4607.png
--------------------------------------------------------------------------------
/audio_samples/sample_54.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/breizhn/tPLCnet/5a370788b5a3fd6e4af1dccd9d29e30a9303e6e5/audio_samples/sample_54.png
--------------------------------------------------------------------------------
/figures/clean_2307.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/breizhn/tPLCnet/5a370788b5a3fd6e4af1dccd9d29e30a9303e6e5/figures/clean_2307.png
--------------------------------------------------------------------------------
/figures/clean_4607.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/breizhn/tPLCnet/5a370788b5a3fd6e4af1dccd9d29e30a9303e6e5/figures/clean_4607.png
--------------------------------------------------------------------------------
/figures/clean_54.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/breizhn/tPLCnet/5a370788b5a3fd6e4af1dccd9d29e30a9303e6e5/figures/clean_54.png
--------------------------------------------------------------------------------
/figures/concealed_2307.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/breizhn/tPLCnet/5a370788b5a3fd6e4af1dccd9d29e30a9303e6e5/figures/concealed_2307.png
--------------------------------------------------------------------------------
/figures/concealed_4607.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/breizhn/tPLCnet/5a370788b5a3fd6e4af1dccd9d29e30a9303e6e5/figures/concealed_4607.png
--------------------------------------------------------------------------------
/figures/concealed_54.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/breizhn/tPLCnet/5a370788b5a3fd6e4af1dccd9d29e30a9303e6e5/figures/concealed_54.png
--------------------------------------------------------------------------------
/figures/corrupted_2307.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/breizhn/tPLCnet/5a370788b5a3fd6e4af1dccd9d29e30a9303e6e5/figures/corrupted_2307.png
--------------------------------------------------------------------------------
/figures/corrupted_4607.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/breizhn/tPLCnet/5a370788b5a3fd6e4af1dccd9d29e30a9303e6e5/figures/corrupted_4607.png
--------------------------------------------------------------------------------
/figures/corrupted_54.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/breizhn/tPLCnet/5a370788b5a3fd6e4af1dccd9d29e30a9303e6e5/figures/corrupted_54.png
--------------------------------------------------------------------------------
/index.md:
--------------------------------------------------------------------------------
1 | # tPLCnet: Real-time Deep Packet Loss Concealment in the Time Domain Using a Short Temporal Context
2 |
3 |
4 | ## Interspeech Paper:
5 | The paper can be found [here](https://www.isca-speech.org/archive/pdfs/interspeech_2022/westhausen22_interspeech.pdf).
6 |
7 | When using the models please cite:
8 | ```bibtex
9 | @inproceedings{westhausen22_interspeech,
10 | author={Nils L. Westhausen and Bernd T. Meyer},
11 | title={{tPLCnet: Real-time Deep Packet Loss Concealment in the Time Domain Using a Short Temporal Context}},
12 | year=2022,
13 | booktitle={Proc. Interspeech 2022},
14 | pages={2903--2907},
15 | doi={10.21437/Interspeech.2022-10157}
16 | }
17 | ```
18 |
19 |
20 | ## Audio Samples:
21 |
22 |
23 | ### 4607.wav
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 | ---
38 |
39 | ### 2307.wav
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 | ---
54 |
55 | ### 54.wav
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 | ---
70 | ## Video Presentation:
71 |
72 |
73 |
74 |
--------------------------------------------------------------------------------
/models/tPLCnet_l.tflite:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/breizhn/tPLCnet/5a370788b5a3fd6e4af1dccd9d29e30a9303e6e5/models/tPLCnet_l.tflite
--------------------------------------------------------------------------------
/models/tPLCnet_m.tflite:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/breizhn/tPLCnet/5a370788b5a3fd6e4af1dccd9d29e30a9303e6e5/models/tPLCnet_m.tflite
--------------------------------------------------------------------------------
/models/tPLCnet_s.tflite:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/breizhn/tPLCnet/5a370788b5a3fd6e4af1dccd9d29e30a9303e6e5/models/tPLCnet_s.tflite
--------------------------------------------------------------------------------
/run_tPLCnet_tflite.py:
--------------------------------------------------------------------------------
1 | """
2 | Script to run the pretrained TF-LITE models of the tPLCnet.
3 | Just change "tflite_model_name" to the desired model and run the skript with:
4 | $ python run_tPLCnet_tflite.py
5 |
6 | Author: Nils L. Westhausen (Feb 2023)
7 | """
8 |
9 | import tensorflow as tf
10 | import os
11 | import time
12 | import numpy as np
13 | from tqdm import tqdm
14 | import soundfile as sf
15 | import fnmatch
16 | import scipy
17 |
18 |
19 | os.environ["CUDA_VISIBLE_DEVICES"] = ''
20 |
21 | path_to_audio = './test_files/'
22 | tflite_model_name = './models/tPLCnet_l.tflite'
23 | target_folder = './test_files_out/'
24 |
25 | if not os.path.exists(target_folder):
26 | os.makedirs(target_folder)
27 |
28 | # frame length for the model structure
29 | frame_len = 160
30 | print(tflite_model_name)
31 | file_names = fnmatch.filter(os.listdir(path_to_audio), '*.wav')
32 |
33 | interpreter_test = tf.lite.Interpreter(model_path=tflite_model_name)
34 | interpreter_test.allocate_tensors()
35 | input_details = interpreter_test.get_input_details()
36 | output_details = interpreter_test.get_output_details()
37 |
38 |
39 | for file in tqdm(file_names):
40 |
41 | # load audio file
42 | mix, fs = sf.read(os.path.join(path_to_audio, file))
43 | # load annotation for lost frames. It assumes annotation for 20 ms frames not 10 ms
44 | annotation = np.loadtxt(os.path.join(path_to_audio, file.replace('.wav','_is_lost.txt')))
45 | # pad the input file
46 | mix = np.concatenate((np.zeros((160)), mix, np.zeros((160))), axis=0)
47 | # double annotation since it is annotated for 20 ms.
48 | annotation = np.repeat(annotation, 2)
49 | # enable processing on the edges. Basically this tells the model to run one more time after a lost frame
50 | # to make a smooth transition to the original signal.
51 | annotation = annotation + np.roll(annotation, -1)
52 | annotation = (annotation > 0).astype('float32')
53 | annotation = np.concatenate((np.zeros((1)), annotation))
54 | # initialize buffers
55 | buffer = np.zeros(input_details[0]['shape']).astype('float32')
56 | last_out = np.zeros((1,1,160)).astype('float32')
57 | out_buffer = np.zeros((320)).astype('float32')
58 | win = scipy.signal.hann(320, sym=False)
59 |
60 | out_frames = []
61 | for idx, ano in enumerate(annotation):
62 | # fill buffer
63 | buffer = np.roll(buffer, -1, axis=1)
64 | buffer[0:1, -1, :] = np.copy(mix[(idx+1)*160:(idx+2)*160])
65 | buffer[0:1, -2, :] = np.copy(mix[(idx)*160:(idx+1)*160])
66 | buffer[0:1, -3, :] = np.copy(out_buffer[:160])
67 |
68 | if ano == 1:
69 | # run model if frame is lost
70 | interpreter_test.set_tensor(input_details[0]['index'], buffer.astype('float32'))
71 | interpreter_test.invoke()
72 | out_frame = interpreter_test.get_tensor(output_details[0]['index'])
73 | out_buffer = np.roll(out_buffer, -160)
74 | out_buffer[160:] = np.zeros((160))
75 | out_buffer = out_buffer + np.squeeze(out_frame) # hann window is compiled into the model
76 | out_frames.append(np.copy(out_buffer[:160]))
77 |
78 | else:
79 | # copy original signal if frame is not lost
80 | out_buffer = np.roll(out_buffer, -160)
81 | out_buffer[160:] = np.zeros((160))
82 | out_buffer = out_buffer + mix[(idx)*frame_len:(idx)*frame_len + 320] * win
83 | out_frames.append(np.copy(out_buffer[:160]))
84 |
85 | cleaned = np.reshape(np.stack(out_frames, axis=0), (-1))
86 | cleaned = np.squeeze(cleaned)
87 | out_audio = cleaned[160:]
88 | sf.write(os.path.join(target_folder, file), out_audio, fs)
89 |
90 |
91 |
92 |
--------------------------------------------------------------------------------
/test_files/1214.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/breizhn/tPLCnet/5a370788b5a3fd6e4af1dccd9d29e30a9303e6e5/test_files/1214.wav
--------------------------------------------------------------------------------
/test_files/1214_is_lost.txt:
--------------------------------------------------------------------------------
1 | 0
2 | 0
3 | 0
4 | 0
5 | 0
6 | 0
7 | 0
8 | 1
9 | 1
10 | 0
11 | 0
12 | 1
13 | 0
14 | 0
15 | 1
16 | 0
17 | 1
18 | 0
19 | 0
20 | 0
21 | 1
22 | 0
23 | 1
24 | 0
25 | 0
26 | 0
27 | 0
28 | 0
29 | 0
30 | 0
31 | 0
32 | 0
33 | 0
34 | 0
35 | 1
36 | 0
37 | 0
38 | 0
39 | 0
40 | 0
41 | 0
42 | 1
43 | 1
44 | 0
45 | 0
46 | 0
47 | 0
48 | 0
49 | 0
50 | 0
51 | 0
52 | 1
53 | 0
54 | 0
55 | 1
56 | 1
57 | 0
58 | 0
59 | 1
60 | 0
61 | 1
62 | 0
63 | 0
64 | 0
65 | 1
66 | 1
67 | 0
68 | 0
69 | 0
70 | 1
71 | 1
72 | 0
73 | 0
74 | 0
75 | 0
76 | 0
77 | 1
78 | 1
79 | 0
80 | 0
81 | 0
82 | 0
83 | 0
84 | 1
85 | 0
86 | 0
87 | 0
88 | 0
89 | 1
90 | 0
91 | 0
92 | 0
93 | 1
94 | 0
95 | 0
96 | 0
97 | 0
98 | 1
99 | 0
100 | 0
101 | 0
102 | 0
103 | 0
104 | 0
105 | 0
106 | 0
107 | 0
108 | 0
109 | 0
110 | 0
111 | 0
112 | 0
113 | 0
114 | 0
115 | 0
116 | 0
117 | 0
118 | 0
119 | 0
120 | 0
121 | 0
122 | 0
123 | 0
124 | 1
125 | 0
126 | 1
127 | 0
128 | 1
129 | 1
130 | 0
131 | 1
132 | 0
133 | 1
134 | 0
135 | 0
136 | 1
137 | 0
138 | 0
139 | 0
140 | 0
141 | 0
142 | 0
143 | 0
144 | 0
145 | 1
146 | 1
147 | 0
148 | 1
149 | 0
150 | 0
151 | 1
152 | 0
153 | 1
154 | 0
155 | 0
156 | 0
157 | 0
158 | 1
159 | 0
160 | 0
161 | 1
162 | 0
163 | 0
164 | 0
165 | 0
166 | 0
167 | 1
168 | 0
169 | 0
170 | 0
171 | 0
172 | 0
173 | 1
174 | 1
175 | 0
176 | 0
177 | 0
178 | 0
179 | 0
180 | 1
181 | 0
182 | 0
183 | 0
184 | 1
185 | 0
186 | 0
187 | 0
188 | 1
189 | 0
190 | 0
191 | 0
192 | 1
193 | 0
194 | 0
195 | 1
196 | 0
197 | 0
198 | 0
199 | 0
200 | 0
201 | 0
202 | 0
203 | 1
204 | 0
205 | 0
206 | 1
207 | 1
208 | 0
209 | 0
210 | 1
211 | 0
212 | 0
213 | 0
214 | 0
215 | 0
216 | 0
217 | 0
218 | 0
219 | 0
220 | 0
221 | 0
222 | 0
223 | 0
224 | 0
225 | 0
226 | 0
227 | 0
228 | 0
229 | 0
230 | 0
231 | 0
232 | 0
233 | 0
234 | 1
235 | 0
236 | 1
237 | 0
238 | 0
239 | 0
240 | 0
241 | 1
242 | 1
243 | 0
244 | 0
245 | 0
246 | 0
247 | 0
248 | 0
249 | 0
250 | 0
251 | 0
252 | 0
253 | 0
254 | 0
255 | 1
256 | 1
257 | 1
258 | 1
259 | 1
260 | 0
261 | 0
262 | 1
263 | 0
264 | 0
265 | 0
266 | 1
267 | 1
268 | 0
269 | 0
270 | 0
271 | 1
272 | 0
273 | 0
274 | 0
275 | 1
276 | 0
277 | 0
278 | 0
279 | 0
280 | 0
281 | 0
282 | 0
283 | 0
284 | 0
285 | 1
286 | 0
287 | 0
288 | 1
289 | 0
290 | 0
291 | 0
292 | 1
293 | 0
294 | 0
295 | 0
296 | 0
297 | 0
298 | 0
299 | 0
300 | 0
301 | 0
302 | 0
303 | 0
304 | 0
305 | 0
306 | 0
307 | 1
308 | 0
309 | 1
310 | 0
311 | 0
312 | 0
313 | 1
314 | 1
315 | 0
316 | 0
317 | 1
318 | 0
319 | 0
320 | 0
321 | 0
322 | 0
323 | 0
324 | 0
325 | 0
326 | 0
327 | 0
328 | 0
329 | 0
330 | 1
331 | 0
332 | 0
333 | 1
334 | 0
335 | 0
336 | 0
337 | 0
338 | 0
339 | 0
340 | 0
341 | 1
342 | 0
343 | 0
344 | 0
345 | 0
346 | 1
347 | 0
348 | 0
349 | 0
350 | 0
351 | 0
352 | 1
353 | 0
354 | 1
355 | 0
356 | 1
357 | 0
358 | 0
359 | 0
360 | 0
361 | 0
362 | 0
363 | 0
364 | 0
365 | 1
366 | 0
367 | 0
368 | 0
369 | 1
370 | 0
371 | 0
372 | 0
373 | 0
374 | 0
375 | 0
376 | 0
377 | 0
378 | 1
379 | 0
380 | 0
381 | 0
382 | 1
383 | 1
384 | 1
385 | 1
386 | 1
387 | 0
388 | 1
389 | 0
390 | 0
391 | 0
392 | 0
393 | 0
394 | 1
395 | 0
396 | 0
397 | 1
398 | 1
399 | 0
400 | 1
401 | 0
402 | 0
403 | 1
404 | 0
405 | 0
406 | 1
407 | 0
408 | 0
409 | 0
410 | 0
411 | 0
412 | 0
413 | 1
414 | 1
415 | 0
416 | 0
417 | 1
418 | 0
419 | 1
420 | 0
421 | 0
422 | 0
423 | 0
424 | 0
425 | 1
426 | 1
427 | 0
428 | 0
429 | 0
430 | 0
431 | 0
432 | 1
433 | 0
434 | 1
435 | 0
436 | 1
437 | 0
438 | 0
439 | 0
440 | 0
441 | 0
442 | 1
443 | 1
444 | 0
445 | 0
446 | 0
447 | 1
448 | 0
449 | 1
450 | 1
451 | 0
452 | 1
453 | 0
454 | 0
455 | 1
456 | 0
457 | 0
458 | 0
459 | 1
460 | 0
461 | 1
462 | 1
463 | 0
464 | 0
465 | 1
466 | 0
467 | 1
468 | 1
469 |
--------------------------------------------------------------------------------
/test_files/2307.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/breizhn/tPLCnet/5a370788b5a3fd6e4af1dccd9d29e30a9303e6e5/test_files/2307.wav
--------------------------------------------------------------------------------
/test_files/2307_is_lost.txt:
--------------------------------------------------------------------------------
1 | 0
2 | 0
3 | 0
4 | 0
5 | 0
6 | 0
7 | 0
8 | 0
9 | 0
10 | 0
11 | 0
12 | 0
13 | 0
14 | 0
15 | 0
16 | 0
17 | 0
18 | 0
19 | 0
20 | 0
21 | 0
22 | 0
23 | 0
24 | 0
25 | 0
26 | 0
27 | 0
28 | 0
29 | 0
30 | 0
31 | 0
32 | 0
33 | 0
34 | 0
35 | 0
36 | 0
37 | 0
38 | 0
39 | 0
40 | 0
41 | 0
42 | 0
43 | 0
44 | 0
45 | 0
46 | 0
47 | 0
48 | 0
49 | 0
50 | 0
51 | 0
52 | 0
53 | 0
54 | 0
55 | 0
56 | 0
57 | 0
58 | 0
59 | 0
60 | 0
61 | 0
62 | 0
63 | 0
64 | 0
65 | 0
66 | 0
67 | 0
68 | 0
69 | 0
70 | 0
71 | 0
72 | 0
73 | 0
74 | 0
75 | 0
76 | 0
77 | 0
78 | 0
79 | 0
80 | 0
81 | 0
82 | 0
83 | 0
84 | 0
85 | 0
86 | 0
87 | 0
88 | 0
89 | 0
90 | 0
91 | 0
92 | 0
93 | 0
94 | 0
95 | 0
96 | 0
97 | 0
98 | 0
99 | 0
100 | 0
101 | 0
102 | 0
103 | 0
104 | 0
105 | 0
106 | 0
107 | 0
108 | 0
109 | 0
110 | 0
111 | 0
112 | 0
113 | 0
114 | 0
115 | 0
116 | 0
117 | 0
118 | 0
119 | 0
120 | 0
121 | 0
122 | 0
123 | 0
124 | 0
125 | 0
126 | 0
127 | 0
128 | 0
129 | 0
130 | 0
131 | 0
132 | 0
133 | 0
134 | 0
135 | 0
136 | 0
137 | 0
138 | 0
139 | 0
140 | 0
141 | 0
142 | 0
143 | 0
144 | 0
145 | 0
146 | 0
147 | 0
148 | 0
149 | 0
150 | 0
151 | 0
152 | 0
153 | 0
154 | 0
155 | 0
156 | 0
157 | 0
158 | 0
159 | 0
160 | 0
161 | 0
162 | 0
163 | 0
164 | 0
165 | 0
166 | 0
167 | 0
168 | 0
169 | 0
170 | 0
171 | 0
172 | 0
173 | 0
174 | 0
175 | 0
176 | 0
177 | 0
178 | 0
179 | 0
180 | 0
181 | 0
182 | 0
183 | 0
184 | 0
185 | 0
186 | 0
187 | 0
188 | 0
189 | 0
190 | 0
191 | 0
192 | 0
193 | 0
194 | 0
195 | 0
196 | 0
197 | 0
198 | 0
199 | 0
200 | 0
201 | 0
202 | 0
203 | 0
204 | 0
205 | 1
206 | 1
207 | 1
208 | 1
209 | 1
210 | 1
211 | 0
212 | 0
213 | 0
214 | 0
215 | 0
216 | 0
217 | 0
218 | 0
219 | 0
220 | 0
221 | 0
222 | 0
223 | 0
224 | 0
225 | 0
226 | 0
227 | 0
228 | 0
229 | 0
230 | 0
231 | 0
232 | 0
233 | 0
234 | 0
235 | 0
236 | 0
237 | 0
238 | 0
239 | 0
240 | 0
241 | 0
242 | 0
243 | 0
244 | 0
245 | 0
246 | 0
247 | 0
248 | 0
249 | 0
250 | 0
251 | 0
252 | 0
253 | 0
254 | 0
255 | 0
256 | 0
257 | 1
258 | 1
259 | 1
260 | 1
261 | 1
262 | 1
263 | 1
264 | 1
265 | 1
266 | 0
267 | 0
268 | 0
269 | 0
270 | 1
271 | 0
272 | 1
273 | 0
274 | 0
275 | 0
276 | 0
277 | 0
278 | 0
279 | 0
280 | 0
281 | 0
282 | 0
283 | 0
284 | 0
285 | 0
286 | 0
287 | 0
288 | 0
289 | 0
290 | 0
291 | 0
292 | 0
293 | 0
294 | 0
295 | 0
296 | 0
297 | 0
298 | 0
299 | 0
300 | 0
301 | 0
302 | 0
303 | 0
304 | 0
305 | 0
306 | 0
307 | 0
308 | 0
309 | 0
310 | 0
311 | 0
312 | 0
313 | 0
314 | 0
315 | 0
316 | 0
317 | 0
318 | 0
319 | 0
320 | 0
321 | 0
322 | 0
323 | 1
324 | 1
325 | 1
326 | 1
327 | 1
328 | 1
329 | 0
330 | 0
331 | 0
332 | 0
333 | 0
334 | 0
335 | 1
336 | 0
337 | 1
338 | 0
339 | 0
340 | 0
341 | 0
342 | 0
343 | 0
344 | 0
345 | 0
346 | 0
347 | 1
348 | 0
349 | 0
350 | 0
351 | 0
352 | 0
353 | 0
354 | 0
355 | 0
356 | 0
357 | 0
358 | 0
359 | 0
360 | 0
361 | 0
362 | 0
363 | 0
364 | 0
365 | 0
366 | 0
367 | 0
368 | 0
369 | 0
370 | 0
371 | 0
372 | 0
373 | 0
374 | 0
375 | 0
376 | 0
377 | 0
378 | 0
379 | 0
380 | 0
381 | 0
382 | 0
383 | 0
384 | 0
385 | 0
386 | 0
387 | 0
388 | 0
389 | 0
390 | 0
391 | 0
392 | 1
393 | 1
394 | 0
395 | 0
396 | 0
397 | 0
398 | 0
399 | 0
400 | 0
401 | 0
402 | 0
403 | 0
404 | 0
405 | 0
406 | 0
407 | 0
408 | 0
409 | 0
410 | 0
411 | 0
412 | 0
413 | 0
414 | 0
415 | 0
416 | 0
417 | 0
418 | 0
419 | 0
420 | 0
421 | 0
422 | 0
423 | 1
424 | 1
425 | 1
426 | 0
427 | 0
428 | 0
429 | 0
430 | 0
431 | 0
432 | 0
433 | 0
434 | 0
435 | 0
436 | 0
437 | 0
438 | 0
439 | 0
440 | 0
441 | 0
442 | 0
443 | 0
444 | 0
445 | 0
446 | 0
447 | 0
448 | 0
449 | 0
450 | 0
451 | 0
452 | 0
453 | 0
454 | 0
455 | 0
456 | 0
457 | 0
458 | 0
459 | 0
460 | 0
461 | 0
462 | 0
463 | 0
464 | 0
465 | 0
466 | 0
467 | 0
468 | 0
469 |
--------------------------------------------------------------------------------
/test_files/54.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/breizhn/tPLCnet/5a370788b5a3fd6e4af1dccd9d29e30a9303e6e5/test_files/54.wav
--------------------------------------------------------------------------------
/test_files/54_is_lost.txt:
--------------------------------------------------------------------------------
1 | 1
2 | 1
3 | 1
4 | 0
5 | 1
6 | 1
7 | 1
8 | 0
9 | 1
10 | 1
11 | 1
12 | 0
13 | 1
14 | 1
15 | 1
16 | 0
17 | 1
18 | 1
19 | 1
20 | 0
21 | 1
22 | 1
23 | 1
24 | 0
25 | 1
26 | 1
27 | 1
28 | 0
29 | 1
30 | 1
31 | 1
32 | 0
33 | 1
34 | 1
35 | 1
36 | 0
37 | 1
38 | 1
39 | 0
40 | 1
41 | 1
42 | 0
43 | 1
44 | 1
45 | 0
46 | 1
47 | 1
48 | 0
49 | 1
50 | 0
51 | 1
52 | 1
53 | 1
54 | 1
55 | 1
56 | 0
57 | 1
58 | 1
59 | 1
60 | 1
61 | 0
62 | 1
63 | 1
64 | 1
65 | 0
66 | 1
67 | 1
68 | 1
69 | 0
70 | 1
71 | 1
72 | 1
73 | 0
74 | 1
75 | 1
76 | 1
77 | 0
78 | 1
79 | 1
80 | 1
81 | 0
82 | 1
83 | 1
84 | 1
85 | 0
86 | 1
87 | 1
88 | 1
89 | 1
90 | 0
91 | 1
92 | 1
93 | 1
94 | 0
95 | 1
96 | 1
97 | 1
98 | 1
99 | 0
100 | 1
101 | 1
102 | 1
103 | 0
104 | 1
105 | 1
106 | 1
107 | 0
108 | 1
109 | 1
110 | 1
111 | 0
112 | 1
113 | 1
114 | 1
115 | 1
116 | 0
117 | 1
118 | 1
119 | 1
120 | 1
121 | 1
122 | 0
123 | 1
124 | 1
125 | 0
126 | 1
127 | 1
128 | 1
129 | 0
130 | 1
131 | 1
132 | 1
133 | 0
134 | 1
135 | 1
136 | 0
137 | 1
138 | 1
139 | 1
140 | 1
141 | 1
142 | 0
143 | 1
144 | 1
145 | 1
146 | 1
147 | 1
148 | 1
149 | 0
150 | 1
151 | 1
152 | 1
153 | 0
154 | 1
155 | 1
156 | 1
157 | 1
158 | 0
159 | 1
160 | 1
161 | 1
162 | 1
163 | 1
164 | 0
165 | 1
166 | 1
167 | 1
168 | 0
169 | 1
170 | 1
171 | 1
172 | 1
173 | 1
174 | 0
175 | 1
176 | 1
177 | 1
178 | 1
179 | 1
180 | 0
181 | 1
182 | 1
183 | 1
184 | 0
185 | 1
186 | 1
187 | 1
188 | 0
189 | 1
190 | 1
191 | 1
192 | 1
193 | 1
194 | 0
195 | 1
196 | 1
197 | 0
198 | 1
199 | 1
200 | 1
201 | 1
202 | 1
203 | 1
204 | 0
205 | 1
206 | 1
207 | 1
208 | 1
209 | 0
210 | 1
211 | 1
212 | 1
213 | 0
214 | 1
215 | 1
216 | 1
217 | 1
218 | 1
219 | 1
220 | 1
221 | 0
222 | 1
223 | 1
224 | 1
225 | 1
226 | 0
227 | 1
228 | 1
229 | 1
230 | 1
231 | 1
232 | 1
233 | 1
234 | 0
235 | 1
236 | 1
237 | 1
238 | 1
239 | 1
240 | 0
241 | 1
242 | 1
243 | 1
244 | 1
245 | 0
246 | 1
247 | 1
248 | 1
249 | 0
250 | 1
251 | 1
252 | 1
253 | 0
254 | 1
255 | 1
256 | 1
257 | 1
258 | 1
259 | 1
260 | 0
261 | 1
262 | 1
263 | 1
264 | 1
265 | 0
266 | 1
267 | 1
268 | 1
269 | 0
270 | 1
271 | 1
272 | 1
273 | 0
274 | 1
275 | 1
276 | 1
277 | 1
278 | 0
279 | 1
280 | 1
281 | 1
282 | 1
283 | 1
284 | 1
285 | 0
286 | 1
287 | 1
288 | 1
289 | 1
290 | 1
291 | 1
292 | 1
293 | 0
294 | 1
295 | 1
296 | 1
297 | 1
298 | 0
299 | 1
300 | 1
301 | 0
302 | 1
303 | 1
304 | 1
305 | 0
306 | 1
307 | 1
308 | 1
309 | 0
310 | 1
311 | 1
312 | 1
313 | 0
314 | 1
315 | 1
316 | 0
317 | 1
318 | 1
319 | 1
320 | 1
321 | 0
322 | 1
323 | 1
324 | 1
325 | 0
326 | 1
327 | 1
328 | 0
329 | 1
330 | 1
331 | 1
332 | 0
333 | 1
334 | 1
335 | 1
336 | 1
337 | 1
338 | 0
339 | 1
340 | 1
341 | 1
342 | 0
343 | 1
344 | 1
345 | 0
346 | 1
347 | 1
348 | 1
349 | 1
350 | 0
351 | 1
352 | 1
353 | 1
354 | 0
355 | 1
356 | 1
357 | 0
358 | 1
359 | 1
360 | 1
361 | 0
362 | 1
363 | 1
364 | 0
365 | 1
366 | 1
367 | 1
368 | 0
369 | 1
370 | 1
371 | 1
372 | 0
373 | 1
374 | 1
375 | 1
376 | 1
377 | 1
378 | 0
379 | 1
380 | 1
381 | 1
382 | 0
383 | 1
384 | 1
385 | 1
386 | 1
387 | 1
388 | 0
389 | 1
390 | 1
391 | 1
392 | 0
393 | 1
394 | 1
395 | 1
396 | 1
397 | 1
398 | 0
399 | 1
400 | 1
401 | 1
402 | 0
403 | 1
404 | 1
405 | 1
406 | 0
407 | 1
408 | 1
409 | 1
410 | 0
411 | 1
412 | 1
413 | 1
414 | 1
415 | 0
416 | 1
417 | 1
418 | 1
419 | 0
420 | 1
421 | 1
422 | 1
423 | 1
424 | 0
425 | 1
426 | 1
427 | 1
428 | 1
429 | 1
430 | 1
431 | 0
432 | 1
433 | 1
434 | 0
435 | 1
436 | 1
437 | 1
438 | 1
439 | 0
440 | 1
441 | 1
442 | 1
443 | 0
444 | 1
445 | 1
446 | 1
447 | 1
448 | 0
449 | 1
450 | 1
451 | 1
452 | 1
453 | 1
454 | 0
455 | 1
456 | 1
457 | 1
458 | 0
459 | 1
460 | 1
461 | 1
462 | 0
463 | 1
464 | 1
465 | 0
466 | 1
467 | 1
468 | 1
469 | 0
470 | 1
471 | 1
472 | 1
473 | 0
474 | 1
475 | 1
476 | 1
477 | 0
478 | 1
479 | 1
480 | 1
481 | 0
482 | 1
483 | 1
484 | 1
485 |
--------------------------------------------------------------------------------
/test_files_out/1214.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/breizhn/tPLCnet/5a370788b5a3fd6e4af1dccd9d29e30a9303e6e5/test_files_out/1214.wav
--------------------------------------------------------------------------------
/test_files_out/2307.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/breizhn/tPLCnet/5a370788b5a3fd6e4af1dccd9d29e30a9303e6e5/test_files_out/2307.wav
--------------------------------------------------------------------------------
/test_files_out/54.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/breizhn/tPLCnet/5a370788b5a3fd6e4af1dccd9d29e30a9303e6e5/test_files_out/54.wav
--------------------------------------------------------------------------------