{
  "schema": "videonote.subtitle_normalize.v1",
  "input_cue_count": 437,
  "kept_cue_count": 219,
  "dropped_cue_count": 0,
  "duplicate_merged_count": 218,
  "overlap_repaired_count": 0,
  "rolling_prefix_removed_count": 0,
  "timing_uncertain_count": 0,
  "coverage_ratio": 0.999539,
  "gaps": [],
  "issues": [
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 1,
      "start": 2.869,
      "end": 2.879
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 3,
      "start": 5.91,
      "end": 5.92
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 5,
      "start": 7.909,
      "end": 7.919
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 7,
      "start": 9.99,
      "end": 10.0
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 9,
      "start": 11.99,
      "end": 12.0
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 11,
      "start": 13.83,
      "end": 13.84
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 13,
      "start": 16.15,
      "end": 16.16
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 15,
      "start": 19.83,
      "end": 19.84
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 17,
      "start": 21.91,
      "end": 21.92
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 19,
      "start": 24.23,
      "end": 24.24
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 21,
      "start": 27.269,
      "end": 27.279
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 23,
      "start": 29.269,
      "end": 29.279
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 25,
      "start": 31.83,
      "end": 31.84
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 27,
      "start": 33.51,
      "end": 33.52
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 29,
      "start": 35.83,
      "end": 35.84
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 31,
      "start": 37.43,
      "end": 37.44
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 33,
      "start": 40.31,
      "end": 40.32
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 35,
      "start": 42.549,
      "end": 42.559
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 37,
      "start": 44.549,
      "end": 44.559
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 39,
      "start": 46.31,
      "end": 46.32
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 41,
      "start": 48.549,
      "end": 48.559
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 43,
      "start": 51.91,
      "end": 51.92
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 45,
      "start": 54.95,
      "end": 54.96
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 47,
      "start": 57.67,
      "end": 57.68
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 49,
      "start": 60.15,
      "end": 60.16
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 51,
      "start": 62.15,
      "end": 62.16
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 53,
      "start": 64.95,
      "end": 64.96
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 55,
      "start": 66.71,
      "end": 66.72
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 57,
      "start": 69.35,
      "end": 69.36
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 59,
      "start": 72.39,
      "end": 72.4
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 61,
      "start": 74.95,
      "end": 74.96000000000001
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 63,
      "start": 77.35,
      "end": 77.36
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 65,
      "start": 79.83,
      "end": 79.84
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 67,
      "start": 82.23,
      "end": 82.24
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 69,
      "start": 84.63,
      "end": 84.64
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 71,
      "start": 87.03,
      "end": 87.03999999999999
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 73,
      "start": 89.35,
      "end": 89.36
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 75,
      "start": 92.069,
      "end": 92.07900000000001
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 77,
      "start": 93.749,
      "end": 93.759
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 79,
      "start": 95.83,
      "end": 95.84
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 81,
      "start": 97.83,
      "end": 97.84
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 83,
      "start": 99.59,
      "end": 99.6
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 85,
      "start": 101.67,
      "end": 101.68
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 87,
      "start": 104.149,
      "end": 104.15899999999999
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 89,
      "start": 105.59,
      "end": 105.6
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 91,
      "start": 107.91,
      "end": 107.92
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 93,
      "start": 110.55,
      "end": 110.56
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 95,
      "start": 112.55,
      "end": 112.56
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 97,
      "start": 114.55,
      "end": 114.56
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 99,
      "start": 116.87,
      "end": 116.88
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 101,
      "start": 119.59,
      "end": 119.6
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 103,
      "start": 121.59,
      "end": 121.6
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 105,
      "start": 124.709,
      "end": 124.719
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 107,
      "start": 127.83,
      "end": 127.84
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 109,
      "start": 130.389,
      "end": 130.399
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 111,
      "start": 132.63,
      "end": 132.64
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 113,
      "start": 135.03,
      "end": 135.04
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 115,
      "start": 137.75,
      "end": 137.76
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 117,
      "start": 140.07,
      "end": 140.07999999999998
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 119,
      "start": 142.47,
      "end": 142.48
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 121,
      "start": 144.309,
      "end": 144.319
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 123,
      "start": 146.55,
      "end": 146.56
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 125,
      "start": 148.79,
      "end": 148.8
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 127,
      "start": 151.67000000000002,
      "end": 151.68
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 129,
      "start": 153.67000000000002,
      "end": 153.68
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 131,
      "start": 155.75,
      "end": 155.76
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 133,
      "start": 157.589,
      "end": 157.599
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 135,
      "start": 160.07,
      "end": 160.07999999999998
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 137,
      "start": 162.15,
      "end": 162.16
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 139,
      "start": 164.63,
      "end": 164.64
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 141,
      "start": 166.79,
      "end": 166.8
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 143,
      "start": 169.11,
      "end": 169.12
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 145,
      "start": 172.63,
      "end": 172.64
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 147,
      "start": 175.11,
      "end": 175.12
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 149,
      "start": 177.50900000000001,
      "end": 177.519
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 151,
      "start": 180.07,
      "end": 180.08
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 153,
      "start": 182.63,
      "end": 182.64
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 155,
      "start": 185.11,
      "end": 185.12
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 157,
      "start": 188.55,
      "end": 188.56
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 159,
      "start": 191.35,
      "end": 191.36
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 161,
      "start": 193.50900000000001,
      "end": 193.519
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 163,
      "start": 196.79,
      "end": 196.8
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 165,
      "start": 199.11,
      "end": 199.12
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 167,
      "start": 201.11,
      "end": 201.12
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 169,
      "start": 203.91,
      "end": 203.92000000000002
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 171,
      "start": 206.63,
      "end": 206.64
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 173,
      "start": 209.99,
      "end": 210.0
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 175,
      "start": 212.55,
      "end": 212.56
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 177,
      "start": 215.03,
      "end": 215.04
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 179,
      "start": 217.50900000000001,
      "end": 217.519
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 181,
      "start": 220.789,
      "end": 220.799
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 183,
      "start": 223.589,
      "end": 223.599
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 185,
      "start": 226.309,
      "end": 226.31900000000002
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 187,
      "start": 228.39,
      "end": 228.4
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 189,
      "start": 230.47,
      "end": 230.48
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 191,
      "start": 232.55,
      "end": 232.56
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 193,
      "start": 234.869,
      "end": 234.879
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 195,
      "start": 237.82999999999998,
      "end": 237.84
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 197,
      "start": 240.309,
      "end": 240.319
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 199,
      "start": 242.55,
      "end": 242.56
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 201,
      "start": 245.11,
      "end": 245.12
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 203,
      "start": 247.19,
      "end": 247.2
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 205,
      "start": 249.67,
      "end": 249.68
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 207,
      "start": 251.99,
      "end": 252.0
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 209,
      "start": 254.309,
      "end": 254.319
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 211,
      "start": 256.069,
      "end": 256.079
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 213,
      "start": 258.39,
      "end": 258.4
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 215,
      "start": 260.629,
      "end": 260.639
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 217,
      "start": 262.95,
      "end": 262.96
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 219,
      "start": 265.27,
      "end": 265.28
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 221,
      "start": 267.59,
      "end": 267.6
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 223,
      "start": 269.67,
      "end": 269.68
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 225,
      "start": 272.07,
      "end": 272.08
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 227,
      "start": 273.99,
      "end": 274.0
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 229,
      "start": 275.51,
      "end": 275.52
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 231,
      "start": 277.59000000000003,
      "end": 277.6
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 233,
      "start": 279.99,
      "end": 280.0
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 235,
      "start": 282.31,
      "end": 282.32
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 237,
      "start": 284.629,
      "end": 284.639
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 239,
      "start": 286.629,
      "end": 286.639
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 241,
      "start": 288.95,
      "end": 288.96
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 243,
      "start": 291.189,
      "end": 291.199
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 245,
      "start": 292.629,
      "end": 292.639
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 247,
      "start": 295.189,
      "end": 295.199
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 249,
      "start": 297.11,
      "end": 297.12
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 251,
      "start": 299.67,
      "end": 299.68
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 253,
      "start": 301.749,
      "end": 301.759
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 255,
      "start": 304.629,
      "end": 304.639
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 257,
      "start": 307.51,
      "end": 307.52
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 259,
      "start": 309.99,
      "end": 310.0
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 261,
      "start": 311.99,
      "end": 312.0
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 263,
      "start": 314.71,
      "end": 314.72
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 265,
      "start": 317.11,
      "end": 317.12
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 267,
      "start": 319.59,
      "end": 319.6
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 269,
      "start": 322.31,
      "end": 322.32
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 271,
      "start": 324.469,
      "end": 324.479
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 273,
      "start": 326.629,
      "end": 326.639
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 275,
      "start": 328.95,
      "end": 328.96
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 277,
      "start": 330.95,
      "end": 330.96
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 279,
      "start": 333.35,
      "end": 333.36
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 281,
      "start": 335.99,
      "end": 336.0
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 283,
      "start": 338.31,
      "end": 338.32
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 285,
      "start": 341.99,
      "end": 342.0
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 287,
      "start": 344.31,
      "end": 344.32
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 289,
      "start": 346.95,
      "end": 346.96
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 291,
      "start": 349.27,
      "end": 349.28
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 293,
      "start": 353.27,
      "end": 353.28
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 295,
      "start": 355.51,
      "end": 355.52
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 297,
      "start": 357.029,
      "end": 357.039
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 299,
      "start": 360.15,
      "end": 360.16
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 301,
      "start": 362.31,
      "end": 362.32
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 303,
      "start": 365.189,
      "end": 365.199
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 305,
      "start": 367.11,
      "end": 367.12
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 307,
      "start": 369.43,
      "end": 369.44
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 309,
      "start": 372.39,
      "end": 372.4
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 311,
      "start": 375.029,
      "end": 375.039
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 313,
      "start": 377.51,
      "end": 377.52
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 315,
      "start": 379.749,
      "end": 379.759
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 317,
      "start": 381.99,
      "end": 382.0
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 319,
      "start": 383.67,
      "end": 383.68
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 321,
      "start": 386.309,
      "end": 386.319
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 323,
      "start": 388.71,
      "end": 388.72
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 325,
      "start": 391.51,
      "end": 391.52
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 327,
      "start": 394.30899999999997,
      "end": 394.319
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 329,
      "start": 397.35,
      "end": 397.36
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 331,
      "start": 399.99,
      "end": 400.0
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 333,
      "start": 403.029,
      "end": 403.039
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 335,
      "start": 405.27,
      "end": 405.28
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 337,
      "start": 408.15,
      "end": 408.15999999999997
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 339,
      "start": 410.23,
      "end": 410.24
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 341,
      "start": 412.39,
      "end": 412.4
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 343,
      "start": 414.23,
      "end": 414.24
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 345,
      "start": 416.469,
      "end": 416.479
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 347,
      "start": 418.71,
      "end": 418.72
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 349,
      "start": 420.71,
      "end": 420.72
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 351,
      "start": 422.87,
      "end": 422.88
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 353,
      "start": 425.029,
      "end": 425.039
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 355,
      "start": 427.51,
      "end": 427.52
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 357,
      "start": 429.749,
      "end": 429.759
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 359,
      "start": 432.469,
      "end": 432.479
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 361,
      "start": 434.469,
      "end": 434.479
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 363,
      "start": 436.469,
      "end": 436.479
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 365,
      "start": 438.39,
      "end": 438.4
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 367,
      "start": 440.469,
      "end": 440.479
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 369,
      "start": 442.629,
      "end": 442.639
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 371,
      "start": 445.43,
      "end": 445.44
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 373,
      "start": 447.27,
      "end": 447.28
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 375,
      "start": 450.309,
      "end": 450.319
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 377,
      "start": 452.23,
      "end": 452.24
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 379,
      "start": 454.07,
      "end": 454.08
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 381,
      "start": 456.07,
      "end": 456.08
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 383,
      "start": 458.07,
      "end": 458.08
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 385,
      "start": 460.87,
      "end": 460.88
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 387,
      "start": 463.749,
      "end": 463.759
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 389,
      "start": 466.30899999999997,
      "end": 466.319
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 391,
      "start": 469.11,
      "end": 469.12
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 393,
      "start": 471.11,
      "end": 471.12
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 395,
      "start": 473.189,
      "end": 473.199
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 397,
      "start": 475.189,
      "end": 475.199
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 399,
      "start": 477.99,
      "end": 478.0
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 401,
      "start": 480.07,
      "end": 480.08
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 403,
      "start": 483.189,
      "end": 483.199
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 405,
      "start": 485.27,
      "end": 485.28
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 407,
      "start": 487.35,
      "end": 487.36
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 409,
      "start": 489.589,
      "end": 489.599
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 411,
      "start": 491.83,
      "end": 491.84
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 413,
      "start": 493.749,
      "end": 493.759
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 415,
      "start": 496.15,
      "end": 496.16
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 417,
      "start": 497.99,
      "end": 498.0
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 419,
      "start": 500.23,
      "end": 500.24
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 421,
      "start": 502.23,
      "end": 502.24
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 423,
      "start": 504.71,
      "end": 504.72
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 425,
      "start": 506.55,
      "end": 506.56
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 427,
      "start": 508.869,
      "end": 508.879
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 429,
      "start": 511.43,
      "end": 511.44
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 431,
      "start": 513.269,
      "end": 513.279
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 433,
      "start": 515.269,
      "end": 515.279
    },
    {
      "kind": "rolling_caption_mirror_collapsed",
      "index": 435,
      "start": 517.35,
      "end": 517.36
    }
  ],
  "cues": [
    {
      "id": 0,
      "start": 0.24,
      "end": 2.879,
      "text": "Can the open AI whisper model do",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 1,
      "start": 2.879,
      "end": 5.92,
      "text": "streaming ASR? My name is Bai. I'm a",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 2,
      "start": 5.92,
      "end": 7.919,
      "text": "machine learning engineer and a PhD in",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 3,
      "start": 7.919,
      "end": 10.0,
      "text": "natural language processing. And today I",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 4,
      "start": 10.0,
      "end": 12.0,
      "text": "will answer this question. So if you",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 5,
      "start": 12.0,
      "end": 13.84,
      "text": "haven't seen the whisper model, it is a",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 6,
      "start": 13.84,
      "end": 16.16,
      "text": "speechtoext model. It is trained on",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 7,
      "start": 16.16,
      "end": 19.84,
      "text": "about 100 languages on 680,000 hours of",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 8,
      "start": 19.84,
      "end": 21.92,
      "text": "data. The model architecture is a",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 9,
      "start": 21.92,
      "end": 24.24,
      "text": "encoder decoder transformer model and it",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 10,
      "start": 24.24,
      "end": 27.279,
      "text": "comes in five different sizes and it is",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 11,
      "start": 27.279,
      "end": 29.279,
      "text": "growing in popularity recently because",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 12,
      "start": 29.279,
      "end": 31.84,
      "text": "it is robust to noise and accents. So",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 13,
      "start": 31.84,
      "end": 33.52,
      "text": "the question of the day is can this",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 14,
      "start": 33.52,
      "end": 35.84,
      "text": "model do streaming speech recognition.",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 15,
      "start": 35.84,
      "end": 37.44,
      "text": "So first of all what do we mean by",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 16,
      "start": 37.44,
      "end": 40.32,
      "text": "streaming ASR? Well, automated speech",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 17,
      "start": 40.32,
      "end": 42.559,
      "text": "recognition can come in two forms batch",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 18,
      "start": 42.559,
      "end": 44.559,
      "text": "and streaming. Batch means that the",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 19,
      "start": 44.559,
      "end": 46.32,
      "text": "model needs to take a bunch of speech",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 20,
      "start": 46.32,
      "end": 48.559,
      "text": "and produce a bunch of text. But",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 21,
      "start": 48.559,
      "end": 51.92,
      "text": "streaming ASR is when the model needs to",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 22,
      "start": 51.92,
      "end": 54.96,
      "text": "produce an output as the speaker is",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 23,
      "start": 54.96,
      "end": 57.68,
      "text": "saying things with a delay of not more",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 24,
      "start": 57.68,
      "end": 60.16,
      "text": "than a few seconds. So for example, if",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 25,
      "start": 60.16,
      "end": 62.16,
      "text": "you're listening to a live broadcast,",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 26,
      "start": 62.16,
      "end": 64.96,
      "text": "you don't want to first record the",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 27,
      "start": 64.96,
      "end": 66.72,
      "text": "entire broadcast and then produce the",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 28,
      "start": 66.72,
      "end": 69.36,
      "text": "subtitles, you want it to appear at most",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 29,
      "start": 69.36,
      "end": 72.4,
      "text": "a few seconds after it is said. And",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 30,
      "start": 72.4,
      "end": 74.96,
      "text": "generally you'll expect streaming ASR to",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 31,
      "start": 74.96,
      "end": 77.36,
      "text": "be a few percentage points lower",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 32,
      "start": 77.36,
      "end": 79.84,
      "text": "accuracy than batch ASR because the",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 33,
      "start": 79.84,
      "end": 82.24,
      "text": "model does not have access to all the",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 34,
      "start": 82.24,
      "end": 84.64,
      "text": "context only the point up until the",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 35,
      "start": 84.64,
      "end": 87.04,
      "text": "current word. The question of how to do",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 36,
      "start": 87.04,
      "end": 89.36,
      "text": "streaming ASR came up when I was",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 37,
      "start": 89.36,
      "end": 92.079,
      "text": "building the voice writer. This is an AI",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 38,
      "start": 92.079,
      "end": 93.759,
      "text": "writing assistant that works in two",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 39,
      "start": 93.759,
      "end": 95.84,
      "text": "steps. In the first step, you just speak",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 40,
      "start": 95.84,
      "end": 97.84,
      "text": "your thoughts without worrying too much",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 41,
      "start": 97.84,
      "end": 99.6,
      "text": "about the grammar. And in the second",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 42,
      "start": 99.6,
      "end": 101.68,
      "text": "step, the AI corrects the grammar for",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 43,
      "start": 101.68,
      "end": 104.159,
      "text": "you. I've been finding it super helpful",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 44,
      "start": 104.159,
      "end": 105.6,
      "text": "for writing all kinds of things,",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 45,
      "start": 105.6,
      "end": 107.92,
      "text": "including emails, blog posts, and Slack",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 46,
      "start": 107.92,
      "end": 110.56,
      "text": "messages. You can try it out for free in",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 47,
      "start": 110.56,
      "end": 112.56,
      "text": "the link here. And I'll also post a link",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 48,
      "start": 112.56,
      "end": 114.56,
      "text": "in the description of the video. Now,",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 49,
      "start": 114.56,
      "end": 116.88,
      "text": "back to the video. First of all, why is",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 50,
      "start": 116.88,
      "end": 119.6,
      "text": "this even difficult? Why is it not so",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 51,
      "start": 119.6,
      "end": 121.6,
      "text": "easy to use the Whisper model for",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 52,
      "start": 121.6,
      "end": 124.719,
      "text": "streaming ASR? The issue is Whisper is",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 53,
      "start": 124.719,
      "end": 127.84,
      "text": "trained to process input audio of 30",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 54,
      "start": 127.84,
      "end": 130.399,
      "text": "seconds long. If the audio is less than",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 55,
      "start": 130.399,
      "end": 132.64,
      "text": "30 seconds, you can pad it to be longer.",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 56,
      "start": 132.64,
      "end": 135.04,
      "text": "So, this is not too much of a problem.",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 57,
      "start": 135.04,
      "end": 137.76,
      "text": "But what if your audio is longer than 30",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 58,
      "start": 137.76,
      "end": 140.08,
      "text": "seconds? There is no way to feed into",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 59,
      "start": 140.08,
      "end": 142.48,
      "text": "Whisper anything longer than 30 seconds.",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 60,
      "start": 142.48,
      "end": 144.319,
      "text": "So, the first thing you might think of",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 61,
      "start": 144.319,
      "end": 146.56,
      "text": "is what if you just split it up into",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 62,
      "start": 146.56,
      "end": 148.8,
      "text": "chunks of 30 seconds at a time and",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 63,
      "start": 148.8,
      "end": 151.68,
      "text": "process each chunk one at a time. Well,",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 64,
      "start": 151.68,
      "end": 153.68,
      "text": "the first problem is you might split it",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 65,
      "start": 153.68,
      "end": 155.76,
      "text": "in the middle of the word. Like if you",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 66,
      "start": 155.76,
      "end": 157.599,
      "text": "split it while in the middle of the",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 67,
      "start": 157.599,
      "end": 160.08,
      "text": "word, this word will probably not be",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 68,
      "start": 160.08,
      "end": 162.16,
      "text": "recognized correctly. The second problem",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 69,
      "start": 162.16,
      "end": 164.64,
      "text": "is the latency will be really high. So",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 70,
      "start": 164.64,
      "end": 166.8,
      "text": "imagine if you're processing audio,",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 71,
      "start": 166.8,
      "end": 169.12,
      "text": "you're waiting for audio to fill up",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 72,
      "start": 169.12,
      "end": 172.64,
      "text": "these 30 seconds and only then will you",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 73,
      "start": 172.64,
      "end": 175.12,
      "text": "process this entire chunk and then the",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 74,
      "start": 175.12,
      "end": 177.519,
      "text": "latency um for for the first word will",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 75,
      "start": 177.519,
      "end": 180.08,
      "text": "be up to 30 seconds. Fortunately, there",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 76,
      "start": 180.08,
      "end": 182.64,
      "text": "is an open source report called Whisper",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 77,
      "start": 182.64,
      "end": 185.12,
      "text": "Streaming that does this for you and it",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 78,
      "start": 185.12,
      "end": 188.56,
      "text": "turns the Whisper model into a streaming",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 79,
      "start": 188.56,
      "end": 191.36,
      "text": "ASR system. There are instructions on",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 80,
      "start": 191.36,
      "end": 193.519,
      "text": "how to set this up. So, let's try it",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 81,
      "start": 193.519,
      "end": 196.8,
      "text": "out. So, I run this command to start a",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 82,
      "start": 196.8,
      "end": 199.12,
      "text": "model running um it's using a whisper",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 83,
      "start": 199.12,
      "end": 201.12,
      "text": "small model and then I go to this tab",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 84,
      "start": 201.12,
      "end": 203.92,
      "text": "and run another command and I just start",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 85,
      "start": 203.92,
      "end": 206.64,
      "text": "speaking. So you can pretty quickly see",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 86,
      "start": 206.64,
      "end": 210.0,
      "text": "that it's um picking it up and it's",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 87,
      "start": 210.0,
      "end": 212.56,
      "text": "pretty quick and responsive and it even",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 88,
      "start": 212.56,
      "end": 215.04,
      "text": "gives timestamps. So um it's pretty cool",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 89,
      "start": 215.04,
      "end": 217.519,
      "text": "demo. Um now let's talk about how this",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 90,
      "start": 217.519,
      "end": 220.799,
      "text": "works. So we start with this audio file",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 91,
      "start": 220.799,
      "end": 223.599,
      "text": "and what we do is we feed chunks of",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 92,
      "start": 223.599,
      "end": 226.319,
      "text": "increasing size into whisper. The size",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 93,
      "start": 226.319,
      "end": 228.4,
      "text": "of these chunks is configured by the",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 94,
      "start": 228.4,
      "end": 230.48,
      "text": "minimum chunk size parameter which by",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 95,
      "start": 230.48,
      "end": 232.56,
      "text": "default is 1 second. So in each",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 96,
      "start": 232.56,
      "end": 234.879,
      "text": "iteration, we increase the size of this",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 97,
      "start": 234.879,
      "end": 237.84,
      "text": "buffer by 1 second and feed all of it",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 98,
      "start": 237.84,
      "end": 240.319,
      "text": "into whisper. And this process continues",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 99,
      "start": 240.319,
      "end": 242.56,
      "text": "until we hit a end of sentence marker",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 100,
      "start": 242.56,
      "end": 245.12,
      "text": "like a period or a question mark. Then",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 101,
      "start": 245.12,
      "end": 247.2,
      "text": "we move the buffer forward and start the",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 102,
      "start": 247.2,
      "end": 249.68,
      "text": "process again. So each piece of audio is",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 103,
      "start": 249.68,
      "end": 252.0,
      "text": "processed by whisper multiple times as",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 104,
      "start": 252.0,
      "end": 254.319,
      "text": "many times as it takes until we hit the",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 105,
      "start": 254.319,
      "end": 256.079,
      "text": "end of the sentence. The reasons for",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 106,
      "start": 256.079,
      "end": 258.4,
      "text": "this is whisper is trained on sentences.",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 107,
      "start": 258.4,
      "end": 260.639,
      "text": "So, it gives the best result when the",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 108,
      "start": 260.639,
      "end": 262.96,
      "text": "start of the audio aligns with the start",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 109,
      "start": 262.96,
      "end": 265.28,
      "text": "of a sentence. And that's why the buffer",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 110,
      "start": 265.28,
      "end": 267.6,
      "text": "only moves forward when the previous",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 111,
      "start": 267.6,
      "end": 269.68,
      "text": "sentence is complete and we're beginning",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 112,
      "start": 269.68,
      "end": 272.08,
      "text": "a new sentence. This way, Whisper never",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 113,
      "start": 272.08,
      "end": 274.0,
      "text": "needs to start transcribing from the",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 114,
      "start": 274.0,
      "end": 275.52,
      "text": "middle of a sentence, which would give",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 115,
      "start": 275.52,
      "end": 277.6,
      "text": "suboptimal results. In many",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 116,
      "start": 277.6,
      "end": 280.0,
      "text": "applications, it is useful to have some",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 117,
      "start": 280.0,
      "end": 282.32,
      "text": "results available as soon as possible,",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 118,
      "start": 282.32,
      "end": 284.639,
      "text": "even if they're not completely accurate.",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 119,
      "start": 284.639,
      "end": 286.639,
      "text": "In the voice writer, I am showing the",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 120,
      "start": 286.639,
      "end": 288.96,
      "text": "incomplete results in gray whereas the",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 121,
      "start": 288.96,
      "end": 291.199,
      "text": "confirmed results are in black. The",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 122,
      "start": 291.199,
      "end": 292.639,
      "text": "difference is the gray part of the",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 123,
      "start": 292.639,
      "end": 295.199,
      "text": "sentence is unconfirmed. So it may",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 124,
      "start": 295.199,
      "end": 297.12,
      "text": "change as the model gets new",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 125,
      "start": 297.12,
      "end": 299.68,
      "text": "information. But the black part is the",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 126,
      "start": 299.68,
      "end": 301.759,
      "text": "confirmed results and they are",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 127,
      "start": 301.759,
      "end": 304.639,
      "text": "permanent. How this works is using an",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 128,
      "start": 304.639,
      "end": 307.52,
      "text": "algorithm called local agreement with n",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 129,
      "start": 307.52,
      "end": 310.0,
      "text": "equals 2. This means that for a token to",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 130,
      "start": 310.0,
      "end": 312.0,
      "text": "be confirmed, it needs to be generated",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 131,
      "start": 312.0,
      "end": 314.72,
      "text": "in two consecutive audio buffers. Let's",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 132,
      "start": 314.72,
      "end": 317.12,
      "text": "give an example. Let's say in the first",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 133,
      "start": 317.12,
      "end": 319.6,
      "text": "step, the worst per model outputs the",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 134,
      "start": 319.6,
      "end": 322.32,
      "text": "three tokens if you like and nothing is",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 135,
      "start": 322.32,
      "end": 324.479,
      "text": "confirmed at this step. In the second",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 136,
      "start": 324.479,
      "end": 326.639,
      "text": "step, the model produces more tokens,",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 137,
      "start": 326.639,
      "end": 328.96,
      "text": "but only the first two tokens agree with",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 138,
      "start": 328.96,
      "end": 330.96,
      "text": "the previous step. So those two are",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 139,
      "start": 330.96,
      "end": 333.36,
      "text": "confirmed. In the third and the fourth",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 140,
      "start": 333.36,
      "end": 336.0,
      "text": "steps, more tokens are generated. But at",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 141,
      "start": 336.0,
      "end": 338.32,
      "text": "each step, it does not confirm any",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 142,
      "start": 338.32,
      "end": 342.0,
      "text": "tokens until it is at least generated in",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 143,
      "start": 342.0,
      "end": 344.32,
      "text": "two consecutive chunks. So anything in",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 144,
      "start": 344.32,
      "end": 346.96,
      "text": "the gray part is possible to change and",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 145,
      "start": 346.96,
      "end": 349.28,
      "text": "given new information. For example, the",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 146,
      "start": 349.28,
      "end": 353.28,
      "text": "word view might change to video once the",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 147,
      "start": 353.28,
      "end": 355.52,
      "text": "model hears the rest of the sentence.",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 148,
      "start": 355.52,
      "end": 357.039,
      "text": "But anything in the black part is",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 149,
      "start": 357.039,
      "end": 360.16,
      "text": "permanent. So even if the model wants to",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 150,
      "start": 360.16,
      "end": 362.32,
      "text": "change it to something else after more",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 151,
      "start": 362.32,
      "end": 365.199,
      "text": "iterations it cannot be changed anymore.",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 152,
      "start": 365.199,
      "end": 367.12,
      "text": "One last thing that this model does when",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 153,
      "start": 367.12,
      "end": 369.44,
      "text": "it generates a new sentence is it feeds",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 154,
      "start": 369.44,
      "end": 372.4,
      "text": "the previous sentence into the model as",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 155,
      "start": 372.4,
      "end": 375.039,
      "text": "prompt tokens. So this is something that",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 156,
      "start": 375.039,
      "end": 377.52,
      "text": "you can do in the whisper format is you",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 157,
      "start": 377.52,
      "end": 379.759,
      "text": "can give it a bunch of prompt tokens",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 158,
      "start": 379.759,
      "end": 382.0,
      "text": "before you start generating and this",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 159,
      "start": 382.0,
      "end": 383.68,
      "text": "tends to improve the accuracy a little",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 160,
      "start": 383.68,
      "end": 386.319,
      "text": "bit because more context is always good.",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 161,
      "start": 386.319,
      "end": 388.72,
      "text": "So in summary, the algorithm can be",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 162,
      "start": 388.72,
      "end": 391.52,
      "text": "summarized in three basic ideas. The",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 163,
      "start": 391.52,
      "end": 394.319,
      "text": "first idea is we feed longer and longer",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 164,
      "start": 394.319,
      "end": 397.36,
      "text": "consecutive audio buffers into whisper",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 165,
      "start": 397.36,
      "end": 400.0,
      "text": "and then we emit tokens as soon as",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 166,
      "start": 400.0,
      "end": 403.039,
      "text": "they're confirmed by two iterations. And",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 167,
      "start": 403.039,
      "end": 405.28,
      "text": "finally, we scroll forward the audio",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 168,
      "start": 405.28,
      "end": 408.16,
      "text": "buffer whenever a sentence is completed.",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 169,
      "start": 408.16,
      "end": 410.24,
      "text": "So, it's a pretty simple algorithm that",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 170,
      "start": 410.24,
      "end": 412.4,
      "text": "you can apply to any speech to text",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 171,
      "start": 412.4,
      "end": 414.24,
      "text": "model that does not support streaming",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 172,
      "start": 414.24,
      "end": 416.479,
      "text": "and basically turn it into a streaming",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 173,
      "start": 416.479,
      "end": 418.72,
      "text": "model. If you like, you can check out",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 174,
      "start": 418.72,
      "end": 420.72,
      "text": "all the details in this paper, which",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 175,
      "start": 420.72,
      "end": 422.88,
      "text": "I'll link in the description. One of the",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 176,
      "start": 422.88,
      "end": 425.039,
      "text": "limitations comes from the fact that",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 177,
      "start": 425.039,
      "end": 427.52,
      "text": "whisper was not really designed to be a",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 178,
      "start": 427.52,
      "end": 429.759,
      "text": "streaming model. And because of this, it",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 179,
      "start": 429.759,
      "end": 432.479,
      "text": "assumes that each audio buffer has to",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 180,
      "start": 432.479,
      "end": 434.479,
      "text": "start at the beginning of a sentence.",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 181,
      "start": 434.479,
      "end": 436.479,
      "text": "Therefore, if you have a sentence that",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 182,
      "start": 436.479,
      "end": 438.4,
      "text": "is quite long, then the beginning of the",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 183,
      "start": 438.4,
      "end": 440.479,
      "text": "sentence has to be fed into the model",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 184,
      "start": 440.479,
      "end": 442.639,
      "text": "and processed many times. This is",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 185,
      "start": 442.639,
      "end": 445.44,
      "text": "inefficient and not necessary if the",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 186,
      "start": 445.44,
      "end": 447.28,
      "text": "model was trained from the beginning to",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 187,
      "start": 447.28,
      "end": 450.319,
      "text": "do streaming ASR. Now, if we look at an",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 188,
      "start": 450.319,
      "end": 452.24,
      "text": "architecture that was designed",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 189,
      "start": 452.24,
      "end": 454.08,
      "text": "specifically to do streaming speech",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 190,
      "start": 454.08,
      "end": 456.08,
      "text": "recognition, it looks a little bit",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 191,
      "start": 456.08,
      "end": 458.08,
      "text": "different. Here is a model that was",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 192,
      "start": 458.08,
      "end": 460.88,
      "text": "proposed in 2021. At each step, it",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 193,
      "start": 460.88,
      "end": 463.759,
      "text": "predicts a token and it has access to a",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 194,
      "start": 463.759,
      "end": 466.319,
      "text": "fixed amount of past context and future",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 195,
      "start": 466.319,
      "end": 469.12,
      "text": "context. During training, this rule is",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 196,
      "start": 469.12,
      "end": 471.12,
      "text": "enforced by having an intention mask",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 197,
      "start": 471.12,
      "end": 473.199,
      "text": "that is mostly zeros, meaning that the",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 198,
      "start": 473.199,
      "end": 475.199,
      "text": "model cannot use information that is",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 199,
      "start": 475.199,
      "end": 478.0,
      "text": "outside of this fixed window. And during",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 200,
      "start": 478.0,
      "end": 480.08,
      "text": "prediction, the model predicts a token",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 201,
      "start": 480.08,
      "end": 483.199,
      "text": "given a limited amount of fixed context.",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 202,
      "start": 483.199,
      "end": 485.28,
      "text": "To make the next prediction, the entire",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 203,
      "start": 485.28,
      "end": 487.36,
      "text": "receptive field moves forward by one",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 204,
      "start": 487.36,
      "end": 489.599,
      "text": "chunk, but the size of the receptive",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 205,
      "start": 489.599,
      "end": 491.84,
      "text": "field is fixed. This way, the beginning",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 206,
      "start": 491.84,
      "end": 493.759,
      "text": "of the sentence will not be processed",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 207,
      "start": 493.759,
      "end": 496.16,
      "text": "multiple times. However, this is not",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 208,
      "start": 496.16,
      "end": 498.0,
      "text": "possible with the whisper model because",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 209,
      "start": 498.0,
      "end": 500.24,
      "text": "it requires modifying the architecture",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 210,
      "start": 500.24,
      "end": 502.24,
      "text": "and retraining the model and we do not",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 211,
      "start": 502.24,
      "end": 504.72,
      "text": "have access to whisper's training data.",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 212,
      "start": 504.72,
      "end": 506.56,
      "text": "That's it for this video and I hope you",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 213,
      "start": 506.56,
      "end": 508.879,
      "text": "enjoyed my explanation of how Whisper",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 214,
      "start": 508.879,
      "end": 511.44,
      "text": "can be turned into a streaming model. If",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 215,
      "start": 511.44,
      "end": 513.279,
      "text": "you enjoyed this video, please leave a",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 216,
      "start": 513.279,
      "end": 515.279,
      "text": "comment, hit the subscribe button, and",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 217,
      "start": 515.279,
      "end": 517.36,
      "text": "ring the bell icon to stay notified when",
      "source": "source_caption",
      "timing_uncertain": false
    },
    {
      "id": 218,
      "start": 517.36,
      "end": 521.0,
      "text": "I release future videos. Goodbye.",
      "source": "source_caption",
      "timing_uncertain": false
    }
  ]
}
