{
  "dateBeijing": "2026-10-14",
  "measuredAtUtc": "2026-10-14T02:02:45.557Z",
  "scope": "Generated Standard MIDI counterexample, not audio conversion or an accuracy test. Each source fixture intentionally contains three separate events. No visitor media, browser inference, physical device, DAW or listening test.",
  "versions": {
    "node": "v24.19.0",
    "midi": "2.0.28"
  },
  "parameters": {
    "tempoBpm": 120,
    "ppq": 480,
    "durationTicks": 96,
    "sourceVelocities": [
      0.4,
      0.8,
      0.6
    ],
    "gapTolerances": [
      null,
      0,
      30,
      120
    ],
    "joinImplementationSha256": "df9607b62747334ea167e3dc14a0fc331daab33403383034d19e20a453d3f4fd",
    "joinRule": "Same-pitch sorted interval union, inclusive gap, first velocity retained, transitive; exact Oct13 implementation."
  },
  "controls": [
    {
      "id": "same-pitch-gap0",
      "sourceGapTicks": 0,
      "inputFilename": "same-pitch-gap0-source.mid",
      "inputSha256": "b79f67e4e946434f2cd0b13fe9fb941e036741b2768b9396f777cdfa33486b4f",
      "sourceIntent": "All three MIDI events intentionally separate in the fixture definition; not inferred from musical audio.",
      "notes": [
        {
          "index": 0,
          "pitch": 60,
          "start": 0,
          "end": 96,
          "velocity": 0.3937007874015748
        },
        {
          "index": 1,
          "pitch": 60,
          "start": 96,
          "end": 192,
          "velocity": 0.7952755905511811
        },
        {
          "index": 2,
          "pitch": 60,
          "start": 192,
          "end": 288,
          "velocity": 0.5984251968503937
        }
      ],
      "runs": [
        {
          "toleranceTicks": null,
          "filename": "same-pitch-gap0-off.mid",
          "sha256": "5d1708f2a5363af8bb305bfd175f8456c5c3e26b415932e4212c5fe20e84fc00",
          "eventCount": 3,
          "absorbedOriginalEvents": 0,
          "positiveGapTicksBridged": 0,
          "groups": [
            {
              "index": 0,
              "pitch": 60,
              "start": 0,
              "end": 96,
              "velocity": 0.3937007874015748,
              "members": [
                0
              ]
            },
            {
              "index": 1,
              "pitch": 60,
              "start": 96,
              "end": 192,
              "velocity": 0.7952755905511811,
              "members": [
                1
              ]
            },
            {
              "index": 2,
              "pitch": 60,
              "start": 192,
              "end": 288,
              "velocity": 0.5984251968503937,
              "members": [
                2
              ]
            }
          ],
          "parsed": [
            {
              "pitch": 60,
              "ticks": 0,
              "durationTicks": 96,
              "velocity": 0.3937007874015748
            },
            {
              "pitch": 60,
              "ticks": 96,
              "durationTicks": 96,
              "velocity": 0.7952755905511811
            },
            {
              "pitch": 60,
              "ticks": 192,
              "durationTicks": 96,
              "velocity": 0.5984251968503937
            }
          ]
        },
        {
          "toleranceTicks": 0,
          "filename": "same-pitch-gap0-tolerance0.mid",
          "sha256": "2c106507428881e9afb7e24b75c32a85816e316ed944869721c5cc5392bf82b0",
          "eventCount": 1,
          "absorbedOriginalEvents": 2,
          "positiveGapTicksBridged": 0,
          "groups": [
            {
              "index": 0,
              "pitch": 60,
              "start": 0,
              "end": 288,
              "velocity": 0.3937007874015748,
              "members": [
                0,
                1,
                2
              ]
            }
          ],
          "parsed": [
            {
              "pitch": 60,
              "ticks": 0,
              "durationTicks": 288,
              "velocity": 0.3937007874015748
            }
          ]
        },
        {
          "toleranceTicks": 30,
          "filename": "same-pitch-gap0-tolerance30.mid",
          "sha256": "2c106507428881e9afb7e24b75c32a85816e316ed944869721c5cc5392bf82b0",
          "eventCount": 1,
          "absorbedOriginalEvents": 2,
          "positiveGapTicksBridged": 0,
          "groups": [
            {
              "index": 0,
              "pitch": 60,
              "start": 0,
              "end": 288,
              "velocity": 0.3937007874015748,
              "members": [
                0,
                1,
                2
              ]
            }
          ],
          "parsed": [
            {
              "pitch": 60,
              "ticks": 0,
              "durationTicks": 288,
              "velocity": 0.3937007874015748
            }
          ]
        },
        {
          "toleranceTicks": 120,
          "filename": "same-pitch-gap0-tolerance120.mid",
          "sha256": "2c106507428881e9afb7e24b75c32a85816e316ed944869721c5cc5392bf82b0",
          "eventCount": 1,
          "absorbedOriginalEvents": 2,
          "positiveGapTicksBridged": 0,
          "groups": [
            {
              "index": 0,
              "pitch": 60,
              "start": 0,
              "end": 288,
              "velocity": 0.3937007874015748,
              "members": [
                0,
                1,
                2
              ]
            }
          ],
          "parsed": [
            {
              "pitch": 60,
              "ticks": 0,
              "durationTicks": 288,
              "velocity": 0.3937007874015748
            }
          ]
        }
      ]
    },
    {
      "id": "same-pitch-gap1",
      "sourceGapTicks": 1,
      "inputFilename": "same-pitch-gap1-source.mid",
      "inputSha256": "4f806fe44c34f731d34d1e5ab9a7ab7146ec2e2d1ae76be005f7db3a866c4173",
      "sourceIntent": "All three MIDI events intentionally separate in the fixture definition; not inferred from musical audio.",
      "notes": [
        {
          "index": 0,
          "pitch": 60,
          "start": 0,
          "end": 96,
          "velocity": 0.3937007874015748
        },
        {
          "index": 1,
          "pitch": 60,
          "start": 97,
          "end": 193,
          "velocity": 0.7952755905511811
        },
        {
          "index": 2,
          "pitch": 60,
          "start": 194,
          "end": 290,
          "velocity": 0.5984251968503937
        }
      ],
      "runs": [
        {
          "toleranceTicks": null,
          "filename": "same-pitch-gap1-off.mid",
          "sha256": "68cd0b69465b73b73c23d2d72e13d486bd3f1f7981fb404e4f38a242996c534d",
          "eventCount": 3,
          "absorbedOriginalEvents": 0,
          "positiveGapTicksBridged": 0,
          "groups": [
            {
              "index": 0,
              "pitch": 60,
              "start": 0,
              "end": 96,
              "velocity": 0.3937007874015748,
              "members": [
                0
              ]
            },
            {
              "index": 1,
              "pitch": 60,
              "start": 97,
              "end": 193,
              "velocity": 0.7952755905511811,
              "members": [
                1
              ]
            },
            {
              "index": 2,
              "pitch": 60,
              "start": 194,
              "end": 290,
              "velocity": 0.5984251968503937,
              "members": [
                2
              ]
            }
          ],
          "parsed": [
            {
              "pitch": 60,
              "ticks": 0,
              "durationTicks": 96,
              "velocity": 0.3937007874015748
            },
            {
              "pitch": 60,
              "ticks": 97,
              "durationTicks": 96,
              "velocity": 0.7952755905511811
            },
            {
              "pitch": 60,
              "ticks": 194,
              "durationTicks": 96,
              "velocity": 0.5984251968503937
            }
          ]
        },
        {
          "toleranceTicks": 0,
          "filename": "same-pitch-gap1-tolerance0.mid",
          "sha256": "68cd0b69465b73b73c23d2d72e13d486bd3f1f7981fb404e4f38a242996c534d",
          "eventCount": 3,
          "absorbedOriginalEvents": 0,
          "positiveGapTicksBridged": 0,
          "groups": [
            {
              "index": 0,
              "pitch": 60,
              "start": 0,
              "end": 96,
              "velocity": 0.3937007874015748,
              "members": [
                0
              ]
            },
            {
              "index": 1,
              "pitch": 60,
              "start": 97,
              "end": 193,
              "velocity": 0.7952755905511811,
              "members": [
                1
              ]
            },
            {
              "index": 2,
              "pitch": 60,
              "start": 194,
              "end": 290,
              "velocity": 0.5984251968503937,
              "members": [
                2
              ]
            }
          ],
          "parsed": [
            {
              "pitch": 60,
              "ticks": 0,
              "durationTicks": 96,
              "velocity": 0.3937007874015748
            },
            {
              "pitch": 60,
              "ticks": 97,
              "durationTicks": 96,
              "velocity": 0.7952755905511811
            },
            {
              "pitch": 60,
              "ticks": 194,
              "durationTicks": 96,
              "velocity": 0.5984251968503937
            }
          ]
        },
        {
          "toleranceTicks": 30,
          "filename": "same-pitch-gap1-tolerance30.mid",
          "sha256": "4773a9e535bdae3b2cb47182f1f38ad32b37f42c437d7b50ebc5b7d9c00b87dd",
          "eventCount": 1,
          "absorbedOriginalEvents": 2,
          "positiveGapTicksBridged": 2,
          "groups": [
            {
              "index": 0,
              "pitch": 60,
              "start": 0,
              "end": 290,
              "velocity": 0.3937007874015748,
              "members": [
                0,
                1,
                2
              ]
            }
          ],
          "parsed": [
            {
              "pitch": 60,
              "ticks": 0,
              "durationTicks": 290,
              "velocity": 0.3937007874015748
            }
          ]
        },
        {
          "toleranceTicks": 120,
          "filename": "same-pitch-gap1-tolerance120.mid",
          "sha256": "4773a9e535bdae3b2cb47182f1f38ad32b37f42c437d7b50ebc5b7d9c00b87dd",
          "eventCount": 1,
          "absorbedOriginalEvents": 2,
          "positiveGapTicksBridged": 2,
          "groups": [
            {
              "index": 0,
              "pitch": 60,
              "start": 0,
              "end": 290,
              "velocity": 0.3937007874015748,
              "members": [
                0,
                1,
                2
              ]
            }
          ],
          "parsed": [
            {
              "pitch": 60,
              "ticks": 0,
              "durationTicks": 290,
              "velocity": 0.3937007874015748
            }
          ]
        }
      ]
    },
    {
      "id": "same-pitch-gap30",
      "sourceGapTicks": 30,
      "inputFilename": "same-pitch-gap30-source.mid",
      "inputSha256": "3930cdcafeedca2c35f37e228d51897a044366d3d6a95369aa563de859f1e28d",
      "sourceIntent": "All three MIDI events intentionally separate in the fixture definition; not inferred from musical audio.",
      "notes": [
        {
          "index": 0,
          "pitch": 60,
          "start": 0,
          "end": 96,
          "velocity": 0.3937007874015748
        },
        {
          "index": 1,
          "pitch": 60,
          "start": 126,
          "end": 222,
          "velocity": 0.7952755905511811
        },
        {
          "index": 2,
          "pitch": 60,
          "start": 252,
          "end": 348,
          "velocity": 0.5984251968503937
        }
      ],
      "runs": [
        {
          "toleranceTicks": null,
          "filename": "same-pitch-gap30-off.mid",
          "sha256": "8dc3e53126244d91a8ae9026ed1de17d557db9941d747a32e541299c6ad54fa4",
          "eventCount": 3,
          "absorbedOriginalEvents": 0,
          "positiveGapTicksBridged": 0,
          "groups": [
            {
              "index": 0,
              "pitch": 60,
              "start": 0,
              "end": 96,
              "velocity": 0.3937007874015748,
              "members": [
                0
              ]
            },
            {
              "index": 1,
              "pitch": 60,
              "start": 126,
              "end": 222,
              "velocity": 0.7952755905511811,
              "members": [
                1
              ]
            },
            {
              "index": 2,
              "pitch": 60,
              "start": 252,
              "end": 348,
              "velocity": 0.5984251968503937,
              "members": [
                2
              ]
            }
          ],
          "parsed": [
            {
              "pitch": 60,
              "ticks": 0,
              "durationTicks": 96,
              "velocity": 0.3937007874015748
            },
            {
              "pitch": 60,
              "ticks": 126,
              "durationTicks": 96,
              "velocity": 0.7952755905511811
            },
            {
              "pitch": 60,
              "ticks": 252,
              "durationTicks": 96,
              "velocity": 0.5984251968503937
            }
          ]
        },
        {
          "toleranceTicks": 0,
          "filename": "same-pitch-gap30-tolerance0.mid",
          "sha256": "8dc3e53126244d91a8ae9026ed1de17d557db9941d747a32e541299c6ad54fa4",
          "eventCount": 3,
          "absorbedOriginalEvents": 0,
          "positiveGapTicksBridged": 0,
          "groups": [
            {
              "index": 0,
              "pitch": 60,
              "start": 0,
              "end": 96,
              "velocity": 0.3937007874015748,
              "members": [
                0
              ]
            },
            {
              "index": 1,
              "pitch": 60,
              "start": 126,
              "end": 222,
              "velocity": 0.7952755905511811,
              "members": [
                1
              ]
            },
            {
              "index": 2,
              "pitch": 60,
              "start": 252,
              "end": 348,
              "velocity": 0.5984251968503937,
              "members": [
                2
              ]
            }
          ],
          "parsed": [
            {
              "pitch": 60,
              "ticks": 0,
              "durationTicks": 96,
              "velocity": 0.3937007874015748
            },
            {
              "pitch": 60,
              "ticks": 126,
              "durationTicks": 96,
              "velocity": 0.7952755905511811
            },
            {
              "pitch": 60,
              "ticks": 252,
              "durationTicks": 96,
              "velocity": 0.5984251968503937
            }
          ]
        },
        {
          "toleranceTicks": 30,
          "filename": "same-pitch-gap30-tolerance30.mid",
          "sha256": "7abe7271728b6a4c991c15c13b9d4e4269b0a6733a3cc58fd5b3497329d927d1",
          "eventCount": 1,
          "absorbedOriginalEvents": 2,
          "positiveGapTicksBridged": 60,
          "groups": [
            {
              "index": 0,
              "pitch": 60,
              "start": 0,
              "end": 348,
              "velocity": 0.3937007874015748,
              "members": [
                0,
                1,
                2
              ]
            }
          ],
          "parsed": [
            {
              "pitch": 60,
              "ticks": 0,
              "durationTicks": 348,
              "velocity": 0.3937007874015748
            }
          ]
        },
        {
          "toleranceTicks": 120,
          "filename": "same-pitch-gap30-tolerance120.mid",
          "sha256": "7abe7271728b6a4c991c15c13b9d4e4269b0a6733a3cc58fd5b3497329d927d1",
          "eventCount": 1,
          "absorbedOriginalEvents": 2,
          "positiveGapTicksBridged": 60,
          "groups": [
            {
              "index": 0,
              "pitch": 60,
              "start": 0,
              "end": 348,
              "velocity": 0.3937007874015748,
              "members": [
                0,
                1,
                2
              ]
            }
          ],
          "parsed": [
            {
              "pitch": 60,
              "ticks": 0,
              "durationTicks": 348,
              "velocity": 0.3937007874015748
            }
          ]
        }
      ]
    },
    {
      "id": "same-pitch-gap31",
      "sourceGapTicks": 31,
      "inputFilename": "same-pitch-gap31-source.mid",
      "inputSha256": "90eb0553071b964138d6446d2124ad589464ffc16e3d15a93df116d0aa925dea",
      "sourceIntent": "All three MIDI events intentionally separate in the fixture definition; not inferred from musical audio.",
      "notes": [
        {
          "index": 0,
          "pitch": 60,
          "start": 0,
          "end": 96,
          "velocity": 0.3937007874015748
        },
        {
          "index": 1,
          "pitch": 60,
          "start": 127,
          "end": 223,
          "velocity": 0.7952755905511811
        },
        {
          "index": 2,
          "pitch": 60,
          "start": 254,
          "end": 350,
          "velocity": 0.5984251968503937
        }
      ],
      "runs": [
        {
          "toleranceTicks": null,
          "filename": "same-pitch-gap31-off.mid",
          "sha256": "e8e2cd0d52c266b22c92f0fccf8cb2de026d83d07128ecd11cb8042802e416c4",
          "eventCount": 3,
          "absorbedOriginalEvents": 0,
          "positiveGapTicksBridged": 0,
          "groups": [
            {
              "index": 0,
              "pitch": 60,
              "start": 0,
              "end": 96,
              "velocity": 0.3937007874015748,
              "members": [
                0
              ]
            },
            {
              "index": 1,
              "pitch": 60,
              "start": 127,
              "end": 223,
              "velocity": 0.7952755905511811,
              "members": [
                1
              ]
            },
            {
              "index": 2,
              "pitch": 60,
              "start": 254,
              "end": 350,
              "velocity": 0.5984251968503937,
              "members": [
                2
              ]
            }
          ],
          "parsed": [
            {
              "pitch": 60,
              "ticks": 0,
              "durationTicks": 96,
              "velocity": 0.3937007874015748
            },
            {
              "pitch": 60,
              "ticks": 127,
              "durationTicks": 96,
              "velocity": 0.7952755905511811
            },
            {
              "pitch": 60,
              "ticks": 254,
              "durationTicks": 96,
              "velocity": 0.5984251968503937
            }
          ]
        },
        {
          "toleranceTicks": 0,
          "filename": "same-pitch-gap31-tolerance0.mid",
          "sha256": "e8e2cd0d52c266b22c92f0fccf8cb2de026d83d07128ecd11cb8042802e416c4",
          "eventCount": 3,
          "absorbedOriginalEvents": 0,
          "positiveGapTicksBridged": 0,
          "groups": [
            {
              "index": 0,
              "pitch": 60,
              "start": 0,
              "end": 96,
              "velocity": 0.3937007874015748,
              "members": [
                0
              ]
            },
            {
              "index": 1,
              "pitch": 60,
              "start": 127,
              "end": 223,
              "velocity": 0.7952755905511811,
              "members": [
                1
              ]
            },
            {
              "index": 2,
              "pitch": 60,
              "start": 254,
              "end": 350,
              "velocity": 0.5984251968503937,
              "members": [
                2
              ]
            }
          ],
          "parsed": [
            {
              "pitch": 60,
              "ticks": 0,
              "durationTicks": 96,
              "velocity": 0.3937007874015748
            },
            {
              "pitch": 60,
              "ticks": 127,
              "durationTicks": 96,
              "velocity": 0.7952755905511811
            },
            {
              "pitch": 60,
              "ticks": 254,
              "durationTicks": 96,
              "velocity": 0.5984251968503937
            }
          ]
        },
        {
          "toleranceTicks": 30,
          "filename": "same-pitch-gap31-tolerance30.mid",
          "sha256": "e8e2cd0d52c266b22c92f0fccf8cb2de026d83d07128ecd11cb8042802e416c4",
          "eventCount": 3,
          "absorbedOriginalEvents": 0,
          "positiveGapTicksBridged": 0,
          "groups": [
            {
              "index": 0,
              "pitch": 60,
              "start": 0,
              "end": 96,
              "velocity": 0.3937007874015748,
              "members": [
                0
              ]
            },
            {
              "index": 1,
              "pitch": 60,
              "start": 127,
              "end": 223,
              "velocity": 0.7952755905511811,
              "members": [
                1
              ]
            },
            {
              "index": 2,
              "pitch": 60,
              "start": 254,
              "end": 350,
              "velocity": 0.5984251968503937,
              "members": [
                2
              ]
            }
          ],
          "parsed": [
            {
              "pitch": 60,
              "ticks": 0,
              "durationTicks": 96,
              "velocity": 0.3937007874015748
            },
            {
              "pitch": 60,
              "ticks": 127,
              "durationTicks": 96,
              "velocity": 0.7952755905511811
            },
            {
              "pitch": 60,
              "ticks": 254,
              "durationTicks": 96,
              "velocity": 0.5984251968503937
            }
          ]
        },
        {
          "toleranceTicks": 120,
          "filename": "same-pitch-gap31-tolerance120.mid",
          "sha256": "92b37594f01739a03168d0ab4084ff01efe27dc9929f25ccf087bf939a68b812",
          "eventCount": 1,
          "absorbedOriginalEvents": 2,
          "positiveGapTicksBridged": 62,
          "groups": [
            {
              "index": 0,
              "pitch": 60,
              "start": 0,
              "end": 350,
              "velocity": 0.3937007874015748,
              "members": [
                0,
                1,
                2
              ]
            }
          ],
          "parsed": [
            {
              "pitch": 60,
              "ticks": 0,
              "durationTicks": 350,
              "velocity": 0.3937007874015748
            }
          ]
        }
      ]
    },
    {
      "id": "same-pitch-gap120",
      "sourceGapTicks": 120,
      "inputFilename": "same-pitch-gap120-source.mid",
      "inputSha256": "c4729ab3c593471cb417e1ff5d917875ff0092f33025abe692e0457a79f7b6ce",
      "sourceIntent": "All three MIDI events intentionally separate in the fixture definition; not inferred from musical audio.",
      "notes": [
        {
          "index": 0,
          "pitch": 60,
          "start": 0,
          "end": 96,
          "velocity": 0.3937007874015748
        },
        {
          "index": 1,
          "pitch": 60,
          "start": 216,
          "end": 312,
          "velocity": 0.7952755905511811
        },
        {
          "index": 2,
          "pitch": 60,
          "start": 432,
          "end": 528,
          "velocity": 0.5984251968503937
        }
      ],
      "runs": [
        {
          "toleranceTicks": null,
          "filename": "same-pitch-gap120-off.mid",
          "sha256": "c571d2bd7a772494a6104269a564a5143634aeac85a214596e88da081121dd58",
          "eventCount": 3,
          "absorbedOriginalEvents": 0,
          "positiveGapTicksBridged": 0,
          "groups": [
            {
              "index": 0,
              "pitch": 60,
              "start": 0,
              "end": 96,
              "velocity": 0.3937007874015748,
              "members": [
                0
              ]
            },
            {
              "index": 1,
              "pitch": 60,
              "start": 216,
              "end": 312,
              "velocity": 0.7952755905511811,
              "members": [
                1
              ]
            },
            {
              "index": 2,
              "pitch": 60,
              "start": 432,
              "end": 528,
              "velocity": 0.5984251968503937,
              "members": [
                2
              ]
            }
          ],
          "parsed": [
            {
              "pitch": 60,
              "ticks": 0,
              "durationTicks": 96,
              "velocity": 0.3937007874015748
            },
            {
              "pitch": 60,
              "ticks": 216,
              "durationTicks": 96,
              "velocity": 0.7952755905511811
            },
            {
              "pitch": 60,
              "ticks": 432,
              "durationTicks": 96,
              "velocity": 0.5984251968503937
            }
          ]
        },
        {
          "toleranceTicks": 0,
          "filename": "same-pitch-gap120-tolerance0.mid",
          "sha256": "c571d2bd7a772494a6104269a564a5143634aeac85a214596e88da081121dd58",
          "eventCount": 3,
          "absorbedOriginalEvents": 0,
          "positiveGapTicksBridged": 0,
          "groups": [
            {
              "index": 0,
              "pitch": 60,
              "start": 0,
              "end": 96,
              "velocity": 0.3937007874015748,
              "members": [
                0
              ]
            },
            {
              "index": 1,
              "pitch": 60,
              "start": 216,
              "end": 312,
              "velocity": 0.7952755905511811,
              "members": [
                1
              ]
            },
            {
              "index": 2,
              "pitch": 60,
              "start": 432,
              "end": 528,
              "velocity": 0.5984251968503937,
              "members": [
                2
              ]
            }
          ],
          "parsed": [
            {
              "pitch": 60,
              "ticks": 0,
              "durationTicks": 96,
              "velocity": 0.3937007874015748
            },
            {
              "pitch": 60,
              "ticks": 216,
              "durationTicks": 96,
              "velocity": 0.7952755905511811
            },
            {
              "pitch": 60,
              "ticks": 432,
              "durationTicks": 96,
              "velocity": 0.5984251968503937
            }
          ]
        },
        {
          "toleranceTicks": 30,
          "filename": "same-pitch-gap120-tolerance30.mid",
          "sha256": "c571d2bd7a772494a6104269a564a5143634aeac85a214596e88da081121dd58",
          "eventCount": 3,
          "absorbedOriginalEvents": 0,
          "positiveGapTicksBridged": 0,
          "groups": [
            {
              "index": 0,
              "pitch": 60,
              "start": 0,
              "end": 96,
              "velocity": 0.3937007874015748,
              "members": [
                0
              ]
            },
            {
              "index": 1,
              "pitch": 60,
              "start": 216,
              "end": 312,
              "velocity": 0.7952755905511811,
              "members": [
                1
              ]
            },
            {
              "index": 2,
              "pitch": 60,
              "start": 432,
              "end": 528,
              "velocity": 0.5984251968503937,
              "members": [
                2
              ]
            }
          ],
          "parsed": [
            {
              "pitch": 60,
              "ticks": 0,
              "durationTicks": 96,
              "velocity": 0.3937007874015748
            },
            {
              "pitch": 60,
              "ticks": 216,
              "durationTicks": 96,
              "velocity": 0.7952755905511811
            },
            {
              "pitch": 60,
              "ticks": 432,
              "durationTicks": 96,
              "velocity": 0.5984251968503937
            }
          ]
        },
        {
          "toleranceTicks": 120,
          "filename": "same-pitch-gap120-tolerance120.mid",
          "sha256": "5a290108d2e05f99b19c69401aebdef363afb36493665520616d32d6386bd7e1",
          "eventCount": 1,
          "absorbedOriginalEvents": 2,
          "positiveGapTicksBridged": 240,
          "groups": [
            {
              "index": 0,
              "pitch": 60,
              "start": 0,
              "end": 528,
              "velocity": 0.3937007874015748,
              "members": [
                0,
                1,
                2
              ]
            }
          ],
          "parsed": [
            {
              "pitch": 60,
              "ticks": 0,
              "durationTicks": 528,
              "velocity": 0.3937007874015748
            }
          ]
        }
      ]
    },
    {
      "id": "same-pitch-gap121",
      "sourceGapTicks": 121,
      "inputFilename": "same-pitch-gap121-source.mid",
      "inputSha256": "a610dfc52e780d2f501567545104b37a770f0b768dc46caaee82b175707c82f2",
      "sourceIntent": "All three MIDI events intentionally separate in the fixture definition; not inferred from musical audio.",
      "notes": [
        {
          "index": 0,
          "pitch": 60,
          "start": 0,
          "end": 96,
          "velocity": 0.3937007874015748
        },
        {
          "index": 1,
          "pitch": 60,
          "start": 217,
          "end": 313,
          "velocity": 0.7952755905511811
        },
        {
          "index": 2,
          "pitch": 60,
          "start": 434,
          "end": 530,
          "velocity": 0.5984251968503937
        }
      ],
      "runs": [
        {
          "toleranceTicks": null,
          "filename": "same-pitch-gap121-off.mid",
          "sha256": "19dd57560942282a435bc47550932132bd5b21fa7069cc04a4ea91c0c40cc0ee",
          "eventCount": 3,
          "absorbedOriginalEvents": 0,
          "positiveGapTicksBridged": 0,
          "groups": [
            {
              "index": 0,
              "pitch": 60,
              "start": 0,
              "end": 96,
              "velocity": 0.3937007874015748,
              "members": [
                0
              ]
            },
            {
              "index": 1,
              "pitch": 60,
              "start": 217,
              "end": 313,
              "velocity": 0.7952755905511811,
              "members": [
                1
              ]
            },
            {
              "index": 2,
              "pitch": 60,
              "start": 434,
              "end": 530,
              "velocity": 0.5984251968503937,
              "members": [
                2
              ]
            }
          ],
          "parsed": [
            {
              "pitch": 60,
              "ticks": 0,
              "durationTicks": 96,
              "velocity": 0.3937007874015748
            },
            {
              "pitch": 60,
              "ticks": 217,
              "durationTicks": 96,
              "velocity": 0.7952755905511811
            },
            {
              "pitch": 60,
              "ticks": 434,
              "durationTicks": 96,
              "velocity": 0.5984251968503937
            }
          ]
        },
        {
          "toleranceTicks": 0,
          "filename": "same-pitch-gap121-tolerance0.mid",
          "sha256": "19dd57560942282a435bc47550932132bd5b21fa7069cc04a4ea91c0c40cc0ee",
          "eventCount": 3,
          "absorbedOriginalEvents": 0,
          "positiveGapTicksBridged": 0,
          "groups": [
            {
              "index": 0,
              "pitch": 60,
              "start": 0,
              "end": 96,
              "velocity": 0.3937007874015748,
              "members": [
                0
              ]
            },
            {
              "index": 1,
              "pitch": 60,
              "start": 217,
              "end": 313,
              "velocity": 0.7952755905511811,
              "members": [
                1
              ]
            },
            {
              "index": 2,
              "pitch": 60,
              "start": 434,
              "end": 530,
              "velocity": 0.5984251968503937,
              "members": [
                2
              ]
            }
          ],
          "parsed": [
            {
              "pitch": 60,
              "ticks": 0,
              "durationTicks": 96,
              "velocity": 0.3937007874015748
            },
            {
              "pitch": 60,
              "ticks": 217,
              "durationTicks": 96,
              "velocity": 0.7952755905511811
            },
            {
              "pitch": 60,
              "ticks": 434,
              "durationTicks": 96,
              "velocity": 0.5984251968503937
            }
          ]
        },
        {
          "toleranceTicks": 30,
          "filename": "same-pitch-gap121-tolerance30.mid",
          "sha256": "19dd57560942282a435bc47550932132bd5b21fa7069cc04a4ea91c0c40cc0ee",
          "eventCount": 3,
          "absorbedOriginalEvents": 0,
          "positiveGapTicksBridged": 0,
          "groups": [
            {
              "index": 0,
              "pitch": 60,
              "start": 0,
              "end": 96,
              "velocity": 0.3937007874015748,
              "members": [
                0
              ]
            },
            {
              "index": 1,
              "pitch": 60,
              "start": 217,
              "end": 313,
              "velocity": 0.7952755905511811,
              "members": [
                1
              ]
            },
            {
              "index": 2,
              "pitch": 60,
              "start": 434,
              "end": 530,
              "velocity": 0.5984251968503937,
              "members": [
                2
              ]
            }
          ],
          "parsed": [
            {
              "pitch": 60,
              "ticks": 0,
              "durationTicks": 96,
              "velocity": 0.3937007874015748
            },
            {
              "pitch": 60,
              "ticks": 217,
              "durationTicks": 96,
              "velocity": 0.7952755905511811
            },
            {
              "pitch": 60,
              "ticks": 434,
              "durationTicks": 96,
              "velocity": 0.5984251968503937
            }
          ]
        },
        {
          "toleranceTicks": 120,
          "filename": "same-pitch-gap121-tolerance120.mid",
          "sha256": "19dd57560942282a435bc47550932132bd5b21fa7069cc04a4ea91c0c40cc0ee",
          "eventCount": 3,
          "absorbedOriginalEvents": 0,
          "positiveGapTicksBridged": 0,
          "groups": [
            {
              "index": 0,
              "pitch": 60,
              "start": 0,
              "end": 96,
              "velocity": 0.3937007874015748,
              "members": [
                0
              ]
            },
            {
              "index": 1,
              "pitch": 60,
              "start": 217,
              "end": 313,
              "velocity": 0.7952755905511811,
              "members": [
                1
              ]
            },
            {
              "index": 2,
              "pitch": 60,
              "start": 434,
              "end": 530,
              "velocity": 0.5984251968503937,
              "members": [
                2
              ]
            }
          ],
          "parsed": [
            {
              "pitch": 60,
              "ticks": 0,
              "durationTicks": 96,
              "velocity": 0.3937007874015748
            },
            {
              "pitch": 60,
              "ticks": 217,
              "durationTicks": 96,
              "velocity": 0.7952755905511811
            },
            {
              "pitch": 60,
              "ticks": 434,
              "durationTicks": 96,
              "velocity": 0.5984251968503937
            }
          ]
        }
      ]
    },
    {
      "id": "different-pitches-gap0",
      "sourceGapTicks": 0,
      "inputFilename": "different-pitches-gap0-source.mid",
      "inputSha256": "0c2ee7f773ae2ebbd6fecc6a22916edbde7386d291f0782d84ceea10ef3290de",
      "sourceIntent": "All three MIDI events intentionally separate in the fixture definition; not inferred from musical audio.",
      "notes": [
        {
          "index": 0,
          "pitch": 60,
          "start": 0,
          "end": 96,
          "velocity": 0.3937007874015748
        },
        {
          "index": 1,
          "pitch": 62,
          "start": 96,
          "end": 192,
          "velocity": 0.7952755905511811
        },
        {
          "index": 2,
          "pitch": 64,
          "start": 192,
          "end": 288,
          "velocity": 0.5984251968503937
        }
      ],
      "runs": [
        {
          "toleranceTicks": null,
          "filename": "different-pitches-gap0-off.mid",
          "sha256": "196514c8e97b9666e7b61c862a1dba6cb70ebd53db74319f374094026f4f1267",
          "eventCount": 3,
          "absorbedOriginalEvents": 0,
          "positiveGapTicksBridged": 0,
          "groups": [
            {
              "index": 0,
              "pitch": 60,
              "start": 0,
              "end": 96,
              "velocity": 0.3937007874015748,
              "members": [
                0
              ]
            },
            {
              "index": 1,
              "pitch": 62,
              "start": 96,
              "end": 192,
              "velocity": 0.7952755905511811,
              "members": [
                1
              ]
            },
            {
              "index": 2,
              "pitch": 64,
              "start": 192,
              "end": 288,
              "velocity": 0.5984251968503937,
              "members": [
                2
              ]
            }
          ],
          "parsed": [
            {
              "pitch": 60,
              "ticks": 0,
              "durationTicks": 96,
              "velocity": 0.3937007874015748
            },
            {
              "pitch": 62,
              "ticks": 96,
              "durationTicks": 96,
              "velocity": 0.7952755905511811
            },
            {
              "pitch": 64,
              "ticks": 192,
              "durationTicks": 96,
              "velocity": 0.5984251968503937
            }
          ]
        },
        {
          "toleranceTicks": 0,
          "filename": "different-pitches-gap0-tolerance0.mid",
          "sha256": "196514c8e97b9666e7b61c862a1dba6cb70ebd53db74319f374094026f4f1267",
          "eventCount": 3,
          "absorbedOriginalEvents": 0,
          "positiveGapTicksBridged": 0,
          "groups": [
            {
              "index": 0,
              "pitch": 60,
              "start": 0,
              "end": 96,
              "velocity": 0.3937007874015748,
              "members": [
                0
              ]
            },
            {
              "index": 1,
              "pitch": 62,
              "start": 96,
              "end": 192,
              "velocity": 0.7952755905511811,
              "members": [
                1
              ]
            },
            {
              "index": 2,
              "pitch": 64,
              "start": 192,
              "end": 288,
              "velocity": 0.5984251968503937,
              "members": [
                2
              ]
            }
          ],
          "parsed": [
            {
              "pitch": 60,
              "ticks": 0,
              "durationTicks": 96,
              "velocity": 0.3937007874015748
            },
            {
              "pitch": 62,
              "ticks": 96,
              "durationTicks": 96,
              "velocity": 0.7952755905511811
            },
            {
              "pitch": 64,
              "ticks": 192,
              "durationTicks": 96,
              "velocity": 0.5984251968503937
            }
          ]
        },
        {
          "toleranceTicks": 30,
          "filename": "different-pitches-gap0-tolerance30.mid",
          "sha256": "196514c8e97b9666e7b61c862a1dba6cb70ebd53db74319f374094026f4f1267",
          "eventCount": 3,
          "absorbedOriginalEvents": 0,
          "positiveGapTicksBridged": 0,
          "groups": [
            {
              "index": 0,
              "pitch": 60,
              "start": 0,
              "end": 96,
              "velocity": 0.3937007874015748,
              "members": [
                0
              ]
            },
            {
              "index": 1,
              "pitch": 62,
              "start": 96,
              "end": 192,
              "velocity": 0.7952755905511811,
              "members": [
                1
              ]
            },
            {
              "index": 2,
              "pitch": 64,
              "start": 192,
              "end": 288,
              "velocity": 0.5984251968503937,
              "members": [
                2
              ]
            }
          ],
          "parsed": [
            {
              "pitch": 60,
              "ticks": 0,
              "durationTicks": 96,
              "velocity": 0.3937007874015748
            },
            {
              "pitch": 62,
              "ticks": 96,
              "durationTicks": 96,
              "velocity": 0.7952755905511811
            },
            {
              "pitch": 64,
              "ticks": 192,
              "durationTicks": 96,
              "velocity": 0.5984251968503937
            }
          ]
        },
        {
          "toleranceTicks": 120,
          "filename": "different-pitches-gap0-tolerance120.mid",
          "sha256": "196514c8e97b9666e7b61c862a1dba6cb70ebd53db74319f374094026f4f1267",
          "eventCount": 3,
          "absorbedOriginalEvents": 0,
          "positiveGapTicksBridged": 0,
          "groups": [
            {
              "index": 0,
              "pitch": 60,
              "start": 0,
              "end": 96,
              "velocity": 0.3937007874015748,
              "members": [
                0
              ]
            },
            {
              "index": 1,
              "pitch": 62,
              "start": 96,
              "end": 192,
              "velocity": 0.7952755905511811,
              "members": [
                1
              ]
            },
            {
              "index": 2,
              "pitch": 64,
              "start": 192,
              "end": 288,
              "velocity": 0.5984251968503937,
              "members": [
                2
              ]
            }
          ],
          "parsed": [
            {
              "pitch": 60,
              "ticks": 0,
              "durationTicks": 96,
              "velocity": 0.3937007874015748
            },
            {
              "pitch": 62,
              "ticks": 96,
              "durationTicks": 96,
              "velocity": 0.7952755905511811
            },
            {
              "pitch": 64,
              "ticks": 192,
              "durationTicks": 96,
              "velocity": 0.5984251968503937
            }
          ]
        }
      ]
    }
  ]
}
