{
  "type": "constructed binary MIDI1 event-state inspection; no audio rendered",
  "ppq": 480,
  "tempoBpm": 120,
  "ticksPerSecond": 960,
  "scope": "single non-repeated note per file, independent channel CC64 states, values0..63 off and64..127 on; no automatic host resets, half-pedaling, envelopes or voice stealing",
  "cases": {
    "pedal-63": {
      "keyOffTick": 240,
      "releaseEligibleTick": 240,
      "keyOffSeconds": 0.25,
      "releaseEligibleSeconds": 0.25,
      "trace": [
        {
          "tick": 0,
          "messageHex": "B0 40 3F",
          "channel": 1,
          "key60Down": false,
          "channel1PedalOn": false,
          "key60Deferred": false,
          "releaseEligibleAt": null
        },
        {
          "tick": 0,
          "messageHex": "90 3C 50",
          "channel": 1,
          "key60Down": true,
          "channel1PedalOn": false,
          "key60Deferred": false,
          "releaseEligibleAt": null
        },
        {
          "tick": 240,
          "messageHex": "80 3C 00",
          "channel": 1,
          "key60Down": false,
          "channel1PedalOn": false,
          "key60Deferred": false,
          "releaseEligibleAt": 240
        },
        {
          "tick": 480,
          "messageHex": "B0 40 00",
          "channel": 1,
          "key60Down": false,
          "channel1PedalOn": false,
          "key60Deferred": false,
          "releaseEligibleAt": 240
        }
      ],
      "bytes": 51,
      "sha256": "8cb9ebe8328b24680c848c1924abd51cc2d3790ac1c7793b40f5bbbe7f7743e8"
    },
    "pedal-64": {
      "keyOffTick": 240,
      "releaseEligibleTick": 480,
      "keyOffSeconds": 0.25,
      "releaseEligibleSeconds": 0.5,
      "trace": [
        {
          "tick": 0,
          "messageHex": "B0 40 40",
          "channel": 1,
          "key60Down": false,
          "channel1PedalOn": true,
          "key60Deferred": false,
          "releaseEligibleAt": null
        },
        {
          "tick": 0,
          "messageHex": "90 3C 50",
          "channel": 1,
          "key60Down": true,
          "channel1PedalOn": true,
          "key60Deferred": false,
          "releaseEligibleAt": null
        },
        {
          "tick": 240,
          "messageHex": "80 3C 00",
          "channel": 1,
          "key60Down": false,
          "channel1PedalOn": true,
          "key60Deferred": true,
          "releaseEligibleAt": null
        },
        {
          "tick": 480,
          "messageHex": "B0 40 00",
          "channel": 1,
          "key60Down": false,
          "channel1PedalOn": false,
          "key60Deferred": false,
          "releaseEligibleAt": 480
        }
      ],
      "bytes": 51,
      "sha256": "780360c5443ce9971da02a90afb4e69d9e21db3c1abe153ff9bfab4acbebf446"
    },
    "pedal-127": {
      "keyOffTick": 240,
      "releaseEligibleTick": 480,
      "keyOffSeconds": 0.25,
      "releaseEligibleSeconds": 0.5,
      "trace": [
        {
          "tick": 0,
          "messageHex": "B0 40 7F",
          "channel": 1,
          "key60Down": false,
          "channel1PedalOn": true,
          "key60Deferred": false,
          "releaseEligibleAt": null
        },
        {
          "tick": 0,
          "messageHex": "90 3C 50",
          "channel": 1,
          "key60Down": true,
          "channel1PedalOn": true,
          "key60Deferred": false,
          "releaseEligibleAt": null
        },
        {
          "tick": 240,
          "messageHex": "80 3C 00",
          "channel": 1,
          "key60Down": false,
          "channel1PedalOn": true,
          "key60Deferred": true,
          "releaseEligibleAt": null
        },
        {
          "tick": 480,
          "messageHex": "B0 40 00",
          "channel": 1,
          "key60Down": false,
          "channel1PedalOn": false,
          "key60Deferred": false,
          "releaseEligibleAt": 480
        }
      ],
      "bytes": 51,
      "sha256": "3f2f23f869056169ff972db1b3d43538abaeb6bbfe7b2343fcc930a56d56b2d1"
    },
    "wrong-channel-up": {
      "keyOffTick": 240,
      "releaseEligibleTick": 720,
      "keyOffSeconds": 0.25,
      "releaseEligibleSeconds": 0.75,
      "trace": [
        {
          "tick": 0,
          "messageHex": "B0 40 7F",
          "channel": 1,
          "key60Down": false,
          "channel1PedalOn": true,
          "key60Deferred": false,
          "releaseEligibleAt": null
        },
        {
          "tick": 0,
          "messageHex": "90 3C 50",
          "channel": 1,
          "key60Down": true,
          "channel1PedalOn": true,
          "key60Deferred": false,
          "releaseEligibleAt": null
        },
        {
          "tick": 240,
          "messageHex": "80 3C 00",
          "channel": 1,
          "key60Down": false,
          "channel1PedalOn": true,
          "key60Deferred": true,
          "releaseEligibleAt": null
        },
        {
          "tick": 480,
          "messageHex": "B1 40 00",
          "channel": 2,
          "key60Down": false,
          "channel1PedalOn": true,
          "key60Deferred": true,
          "releaseEligibleAt": null
        },
        {
          "tick": 720,
          "messageHex": "B0 40 00",
          "channel": 1,
          "key60Down": false,
          "channel1PedalOn": false,
          "key60Deferred": false,
          "releaseEligibleAt": 720
        }
      ],
      "bytes": 56,
      "sha256": "f3caebbeef23e27cb0ddef151d228c7ebf4376408ee58935f7d802db73659da2"
    },
    "key-still-held": {
      "keyOffTick": 720,
      "releaseEligibleTick": 720,
      "keyOffSeconds": 0.75,
      "releaseEligibleSeconds": 0.75,
      "trace": [
        {
          "tick": 0,
          "messageHex": "B0 40 7F",
          "channel": 1,
          "key60Down": false,
          "channel1PedalOn": true,
          "key60Deferred": false,
          "releaseEligibleAt": null
        },
        {
          "tick": 0,
          "messageHex": "90 3C 50",
          "channel": 1,
          "key60Down": true,
          "channel1PedalOn": true,
          "key60Deferred": false,
          "releaseEligibleAt": null
        },
        {
          "tick": 480,
          "messageHex": "B0 40 00",
          "channel": 1,
          "key60Down": true,
          "channel1PedalOn": false,
          "key60Deferred": false,
          "releaseEligibleAt": null
        },
        {
          "tick": 720,
          "messageHex": "80 3C 00",
          "channel": 1,
          "key60Down": false,
          "channel1PedalOn": false,
          "key60Deferred": false,
          "releaseEligibleAt": 720
        }
      ],
      "bytes": 51,
      "sha256": "5c6c1df99266671febf355ba7c735581ced5ad4aaace23679aa8649a9cf83b79"
    }
  }
}
