├── 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 | Corrupted spectrogram 4607.wav 25 | 26 | 27 | 28 | Concealed spectrogram 4607.wav 29 | 30 | 31 | 32 | Clean spectrogram 4607.wav 33 | 34 | 35 | --- 36 | 37 | ### 2307.wav 38 | Corrupted spectrogram 2307.wav 39 | 40 | 41 | 42 | Concealed spectrogram 2307.wav 43 | 44 | 45 | 46 | Clean spectrogram 2307.wav 47 | 48 | 49 | --- 50 | 51 | ### 54.wav 52 | Corrupted spectrogram 54.wav 53 | 54 | 55 | 56 | Concealed spectrogram 54.wav 57 | 58 | 59 | 60 | Clean spectrogram 54.wav 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 | Corrupted spectrogram 4607.wav 25 | 26 | 27 | 28 | 29 | Concealed spectrogram 4607.wav 30 | 31 | 32 | 33 | 34 | Clean spectrogram 4607.wav 35 | 36 | 37 | --- 38 | 39 | ### 2307.wav 40 | Corrupted spectrogram 2307.wav 41 | 42 | 43 | 44 | 45 | Concealed spectrogram 2307.wav 46 | 47 | 48 | 49 | 50 | Clean spectrogram 2307.wav 51 | 52 | 53 | --- 54 | 55 | ### 54.wav 56 | Corrupted spectrogram 54.wav 57 | 58 | 59 | 60 | 61 | Concealed spectrogram 54.wav 62 | 63 | 64 | 65 | 66 | Clean spectrogram 54.wav 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 --------------------------------------------------------------------------------