{
 "timestamp": "2026-06-18T14:08:46.956Z",
 "code": "use_bpm 120\nlive_loop :fx_demo do\n with_fx :reverb, room: 0.8 do\n with_fx :distortion, distort: 0.5 do\n play 50, release: 0.5\n sleep 0.5\n play 55, release: 0.5\n sleep 0.5\n end\n end\nend\nlive_loop :pad do\n use_synth :prophet\n play (chord :e3, :minor7), release: 4, cutoff: 80, amp: 0.3\n sleep 4\nend\n",
 "duration": 20000,
 "name": "e2e-02_fx_chain",
 "desktop": {
 "wavPath": "/Users/mrityunjaybhardwaj/Documents/projects/sonicPiWeb/.captures/desktop-recordings/desktop_2026-06-18T14-07-52-578Z_e2e-02_fx_chain.wav",
 "stats": {
 "duration": 21.370666666666665,
 "peak": 0.4083,
 "rms": 0.1688,
 "clipping": 0,
 "sampleRate": 48000,
 "channels": 2
 },
 "ok": true,
 "pitch": {
 "count": 40,
 "median_spacing_s": 0.5,
 "midi": [
 50,
 50,
 50,
 50,
 50,
 50,
 50,
 50,
 50,
 50,
 50,
 50,
 50,
 50,
 50,
 50,
 50,
 50,
 50,
 50,
 50,
 50,
 50,
 50,
 50,
 50,
 50,
 50,
 50,
 50,
 50,
 50,
 50,
 50,
 50,
 50,
 50,
 50,
 50,
 50
 ],
 "pc": [
 2,
 2,
 2,
 2,
 2,
 2,
 2,
 2,
 2,
 2,
 2,
 2,
 2,
 2,
 2,
 2,
 2,
 2,
 2,
 2,
 2,
 2,
 2,
 2,
 2,
 2,
 2,
 2,
 2,
 2,
 2,
 2,
 2,
 2,
 2,
 2,
 2,
 2,
 2,
 2
 ],
 "names": [
 "D3",
 "D3",
 "D3",
 "D3",
 "D3",
 "D3",
 "D3",
 "D3",
 "D3",
 "D3",
 "D3",
 "D3",
 "D3",
 "D3",
 "D3",
 "D3",
 "D3",
 "D3",
 "D3",
 "D3",
 "D3",
 "D3",
 "D3",
 "D3",
 "D3",
 "D3",
 "D3",
 "D3",
 "D3",
 "D3",
 "D3",
 "D3",
 "D3",
 "D3",
 "D3",
 "D3",
 "D3",
 "D3",
 "D3",
 "D3"
 ],
 "method": "onset",
 "confidence": 1,
 "inconclusive": false,
 "compare": "midi"
 }
 },
 "web": {
 "wavPath": "/Users/mrityunjaybhardwaj/Documents/projects/sonicPiWeb/.captures/2026-06-18T14-07-53-581Z_inline_audio.wav",
 "stats": {
 "duration": 19.712,
 "peak": 0.2627,
 "rms": 0.1032,
 "clipping": 0,
 "sampleRate": 48000,
 "channels": 2
 },
 "ok": true,
 "pitch": {
 "count": 60,
 "median_spacing_s": 0.26,
 "midi": [
 50,
 55,
 50,
 50,
 55,
 50,
 55,
 50,
 55,
 50,
 55,
 50,
 50,
 50,
 55,
 50,
 50,
 55,
 50,
 55,
 50,
 55,
 50,
 50,
 50,
 55,
 50,
 55,
 50,
 55,
 50,
 50,
 55,
 50,
 55,
 50,
 50,
 50,
 50,
 55,
 50,
 50,
 50,
 55,
 50,
 55,
 50,
 55,
 50,
 50,
 50,
 50,
 50,
 55,
 50,
 55,
 50,
 55,
 50,
 50
 ],
 "pc": [
 2,
 7,
 2,
 2,
 7,
 2,
 7,
 2,
 7,
 2,
 7,
 2,
 2,
 2,
 7,
 2,
 2,
 7,
 2,
 7,
 2,
 7,
 2,
 2,
 2,
 7,
 2,
 7,
 2,
 7,
 2,
 2,
 7,
 2,
 7,
 2,
 2,
 2,
 2,
 7,
 2,
 2,
 2,
 7,
 2,
 7,
 2,
 7,
 2,
 2,
 2,
 2,
 2,
 7,
 2,
 7,
 2,
 7,
 2,
 2
 ],
 "names": [
 "D3",
 "G3",
 "D3",
 "D3",
 "G3",
 "D3",
 "G3",
 "D3",
 "G3",
 "D3",
 "G3",
 "D3",
 "D3",
 "D3",
 "G3",
 "D3",
 "D3",
 "G3",
 "D3",
 "G3",
 "D3",
 "G3",
 "D3",
 "D3",
 "D3",
 "G3",
 "D3",
 "G3",
 "D3",
 "G3",
 "D3",
 "D3",
 "G3",
 "D3",
 "G3",
 "D3",
 "D3",
 "D3",
 "D3",
 "G3",
 "D3",
 "D3",
 "D3",
 "G3",
 "D3",
 "G3",
 "D3",
 "G3",
 "D3",
 "D3",
 "D3",
 "D3",
 "D3",
 "G3",
 "D3",
 "G3",
 "D3",
 "G3",
 "D3",
 "D3"
 ],
 "method": "onset",
 "confidence": 1,
 "inconclusive": false,
 "compare": "midi"
 },
 "toolFailReason": null,
 "errors": []
 },
 "spectrogram": {
 "l2_mel_db": 10.97287654876709,
 "mfcc_distance": 93.41075897216797,
 "frames_compared": 1849,
 "spectrogram_png": "/Users/mrityunjaybhardwaj/Documents/projects/sonicPiWeb/.captures/compare_2026-06-18T14-08-19-543Z_e2e-02_fx_chain_spectrogram.png",
 "desktop_peak_freq_hz": 145.9945096081857,
 "web_peak_freq_hz": 194.5008116883117,
 "per_beat": null
 },
 "spectrogramError": null,
 "reportPath": "/Users/mrityunjaybhardwaj/Documents/projects/sonicPiWeb/.captures/compare_2026-06-18T14-08-19-543Z_e2e-02_fx_chain.md",
 "reconciledPitch": null,
 "eventParity": {
 "report": {
 "verdict": "STRUCTURE-MATCH",
 "isPrng": false,
 "reasons": [
 "Significant synthdef multiset matches."
 ],
 "rows": [
 {
 "synthdef": "sonic-pi-beep",
 "desktop": 85,
 "web": 84,
 "ratio": 0.9882352941176471,
 "significant": true,
 "status": "match",
 "desktopOnset": 0,
 "webOnset": 0
 },
 {
 "synthdef": "sonic-pi-prophet",
 "desktop": 44,
 "web": 44,
 "ratio": 1,
 "significant": true,
 "status": "match",
 "desktopOnset": 0,
 "webOnset": 0
 }
 ],
 "fxRows": [
 {
 "synthdef": "sonic-pi-fx_reverb",
 "desktop": 43,
 "web": 42,
 "ratio": 0.9767441860465116,
 "significant": true,
 "status": "match",
 "desktopOnset": null,
 "webOnset": -1.937
 },
 {
 "synthdef": "sonic-pi-fx_distortion",
 "desktop": 43,
 "web": 42,
 "ratio": 0.9767441860465116,
 "significant": true,
 "status": "match",
 "desktopOnset": 0,
 "webOnset": -1.937
 }
 ],
 "desktopTotal": 129,
 "webTotal": 128,
 "totalRatio": 0.99,
 "orderMatch": true,
 "desktopOrder": [
 "prophet",
 "beep"
 ],
 "webOrder": [
 "prophet",
 "beep"
 ],
 "sequenceParity": {
 "match": true,
 "epsilonMs": 15,
 "notesChecked": true,
 "rows": [
 {
 "synthdef": "sonic-pi-beep",
 "desktopOnsets": [
 0,
 0.25,
 0.5,
 0.75,
 1,
 1.25,
 1.5,
 1.75,
 2,
 2.25,
 2.5,
 2.75,
 3,
 3.25,
 3.5,
 3.75,
 4,
 4.25,
 4.5,
 4.75,
 5,
 5.25,
 5.5,
 5.75,
 6,
 6.25,
 6.5,
 6.75,
 7,
 7.25,
 7.5,
 7.75,
 8,
 8.25,
 8.5,
 8.75,
 9,
 9.25,
 9.5,
 9.75,
 10,
 10.25,
 10.5,
 10.75,
 11,
 11.25,
 11.5,
 11.75,
 12,
 12.25,
 12.5,
 12.75,
 13,
 13.25,
 13.5,
 13.75,
 14,
 14.25,
 14.5,
 14.75,
 15,
 15.25,
 15.5,
 15.75,
 16,
 16.25,
 16.5,
 16.75,
 17,
 17.25,
 17.5,
 17.75,
 18,
 18.25,
 18.5,
 18.75,
 19,
 19.25,
 19.5,
 19.75,
 20,
 20.25,
 20.5,
 20.75,
 21
 ],
 "webOnsets": [
 0,
 0.25,
 0.5,
 0.75,
 1,
 1.25,
 1.5,
 1.75,
 2,
 2.25,
 2.5,
 2.75,
 3,
 3.25,
 3.5,
 3.75,
 4,
 4.25,
 4.5,
 4.75,
 5,
 5.25,
 5.5,
 5.75,
 6,
 6.25,
 6.5,
 6.75,
 7,
 7.25,
 7.5,
 7.75,
 8,
 8.25,
 8.5,
 8.75,
 9,
 9.25,
 9.5,
 9.75,
 10,
 10.25,
 10.5,
 10.75,
 11,
 11.25,
 11.5,
 11.75,
 12,
 12.25,
 12.5,
 12.75,
 13,
 13.25,
 13.5,
 13.75,
 14,
 14.25,
 14.5,
 14.75,
 15,
 15.25,
 15.5,
 15.75,
 16,
 16.25,
 16.5,
 16.75,
 17,
 17.25,
 17.5,
 17.75,
 18,
 18.25,
 18.5,
 18.75,
 19,
 19.25,
 19.5,
 19.75,
 20,
 20.25,
 20.5,
 20.75
 ],
 "comparedLen": 84,
 "timingMatched": true,
 "firstMismatchIdx": -1,
 "maxDevMs": 0,
 "noteMatched": true,
 "matched": true
 },
 {
 "synthdef": "sonic-pi-prophet",
 "desktopOnsets": [
 0,
 0,
 0,
 0,
 2,
 2,
 2,
 2,
 4,
 4,
 4,
 4,
 6,
 6,
 6,
 6,
 8,
 8,
 8,
 8,
 10,
 10,
 10,
 10,
 12,
 12,
 12,
 12,
 14,
 14,
 14,
 14,
 16,
 16,
 16,
 16,
 18,
 18,
 18,
 18,
 20,
 20,
 20,
 20
 ],
 "webOnsets": [
 0,
 0,
 0,
 0,
 2,
 2,
 2,
 2,
 4,
 4,
 4,
 4,
 6,
 6,
 6,
 6,
 8,
 8,
 8,
 8,
 10,
 10,
 10,
 10,
 12,
 12,
 12,
 12,
 14,
 14,
 14,
 14,
 16,
 16,
 16,
 16,
 18,
 18,
 18,
 18,
 20,
 20,
 20,
 20
 ],
 "comparedLen": 44,
 "timingMatched": true,
 "firstMismatchIdx": -1,
 "maxDevMs": 0,
 "noteMatched": true,
 "matched": true
 }
 ],
 "reasons": [
 "beep: 84 onsets match within ε (max Δ 0ms), notes match",
 "prophet: 44 onsets match within ε (max Δ 0ms), notes match"
 ]
 }
 },
 "note": "STRUCTURE-MATCH · onset-seq match · d129/w128"
 }
}