{
 "timestamp": "2026-06-18T14:13:40.736Z",
 "code": "use_bpm 60\nwith_fx :reverb, room: 0.9, mix: 0.7 do\n live_loop :pad do\n use_synth :prophet\n play (chord :e3, :minor7), release: 8, cutoff: 80, amp: 0.5\n sleep 8\n end\nend\nwith_fx :echo, phase: 0.75, mix: 0.4 do\n live_loop :melody do\n use_synth :pluck\n play (scale :e4, :minor_pentatonic).choose, release: 2, amp: 0.3\n sleep (ring 0.5, 0.75, 1, 0.5).tick\n end\nend\nlive_loop :texture do\n sample :ambi_choir, rate: 0.5, amp: 0.2\n sleep 8\nend\n",
 "duration": 20000,
 "name": "e2e-07_ambient",
 "desktop": {
 "wavPath": "/Users/mrityunjaybhardwaj/Documents/projects/sonicPiWeb/.captures/desktop-recordings/desktop_2026-06-18T14-12-44-575Z_e2e-07_ambient.wav",
 "stats": {
 "duration": 21.369333333333334,
 "peak": 0.1171,
 "rms": 0.0121,
 "clipping": 0,
 "sampleRate": 48000,
 "channels": 2
 },
 "ok": true,
 "pitch": {
 "count": 5,
 "median_spacing_s": 3.755,
 "midi": [
 59,
 67,
 79,
 81,
 76
 ],
 "pc": [
 11,
 7,
 7,
 9,
 4
 ],
 "names": [
 "B3",
 "G4",
 "G5",
 "A5",
 "E5"
 ],
 "method": "onset",
 "confidence": 1,
 "inconclusive": false,
 "compare": "midi"
 }
 },
 "web": {
 "wavPath": "/Users/mrityunjaybhardwaj/Documents/projects/sonicPiWeb/.captures/2026-06-18T14-12-45-555Z_inline_audio.wav",
 "stats": {
 "duration": 19.712,
 "peak": 0.0606,
 "rms": 0.0089,
 "clipping": 0,
 "sampleRate": 48000,
 "channels": 2
 },
 "ok": true,
 "pitch": {
 "count": 45,
 "median_spacing_s": 0.31,
 "midi": [
 43,
 40,
 40,
 40,
 40,
 40,
 41,
 50,
 40,
 58,
 40,
 40,
 41,
 45,
 40,
 43,
 40,
 40,
 40,
 43,
 40,
 40,
 40,
 43,
 40,
 43,
 40,
 41,
 41,
 41,
 41,
 41,
 50,
 40,
 40,
 43,
 40,
 43,
 40,
 40,
 40,
 41,
 45,
 50,
 41
 ],
 "pc": [
 7,
 4,
 4,
 4,
 4,
 4,
 5,
 2,
 4,
 10,
 4,
 4,
 5,
 9,
 4,
 7,
 4,
 4,
 4,
 7,
 4,
 4,
 4,
 7,
 4,
 7,
 4,
 5,
 5,
 5,
 5,
 5,
 2,
 4,
 4,
 7,
 4,
 7,
 4,
 4,
 4,
 5,
 9,
 2,
 5
 ],
 "names": [
 "G2",
 "E2",
 "E2",
 "E2",
 "E2",
 "E2",
 "F2",
 "D3",
 "E2",
 "A#3",
 "E2",
 "E2",
 "F2",
 "A2",
 "E2",
 "G2",
 "E2",
 "E2",
 "E2",
 "G2",
 "E2",
 "E2",
 "E2",
 "G2",
 "E2",
 "G2",
 "E2",
 "F2",
 "F2",
 "F2",
 "F2",
 "F2",
 "D3",
 "E2",
 "E2",
 "G2",
 "E2",
 "G2",
 "E2",
 "E2",
 "E2",
 "F2",
 "A2",
 "D3",
 "F2"
 ],
 "method": "contour",
 "confidence": 0.91,
 "inconclusive": false,
 "compare": "pitch_class"
 },
 "toolFailReason": null,
 "errors": []
 },
 "spectrogram": {
 "l2_mel_db": 16.96657371520996,
 "mfcc_distance": 146.5303192138672,
 "frames_compared": 1849,
 "spectrogram_png": "/Users/mrityunjaybhardwaj/Documents/projects/sonicPiWeb/.captures/compare_2026-06-18T14-13-11-429Z_e2e-07_ambient_spectrogram.png",
 "desktop_peak_freq_hz": 246.98945529419103,
 "web_peak_freq_hz": 390.5742694805195,
 "per_beat": null
 },
 "spectrogramError": null,
 "reportPath": "/Users/mrityunjaybhardwaj/Documents/projects/sonicPiWeb/.captures/compare_2026-06-18T14-13-11-429Z_e2e-07_ambient.md",
 "reconciledPitch": {
 "desktop": {
 "count": 40,
 "median_spacing_s": 0.34,
 "midi": [
 43,
 40,
 40,
 40,
 43,
 43,
 40,
 40,
 43,
 43,
 47,
 40,
 41,
 45,
 41,
 45,
 45,
 43,
 40,
 43,
 40,
 43,
 40,
 40,
 40,
 43,
 40,
 43,
 41,
 43,
 41,
 40,
 40,
 40,
 40,
 40,
 43,
 40,
 43,
 40
 ],
 "pc": [
 7,
 4,
 4,
 4,
 7,
 7,
 4,
 4,
 7,
 7,
 11,
 4,
 5,
 9,
 5,
 9,
 9,
 7,
 4,
 7,
 4,
 7,
 4,
 4,
 4,
 7,
 4,
 7,
 5,
 7,
 5,
 4,
 4,
 4,
 4,
 4,
 7,
 4,
 7,
 4
 ],
 "names": [
 "G2",
 "E2",
 "E2",
 "E2",
 "G2",
 "G2",
 "E2",
 "E2",
 "G2",
 "G2",
 "B2",
 "E2",
 "F2",
 "A2",
 "F2",
 "A2",
 "A2",
 "G2",
 "E2",
 "G2",
 "E2",
 "G2",
 "E2",
 "E2",
 "E2",
 "G2",
 "E2",
 "G2",
 "F2",
 "G2",
 "F2",
 "E2",
 "E2",
 "E2",
 "E2",
 "E2",
 "G2",
 "E2",
 "G2",
 "E2"
 ],
 "method": "contour",
 "confidence": 0.95,
 "inconclusive": false,
 "compare": "pitch_class"
 },
 "web": {
 "count": 45,
 "median_spacing_s": 0.31,
 "midi": [
 43,
 40,
 40,
 40,
 40,
 40,
 41,
 50,
 40,
 58,
 40,
 40,
 41,
 45,
 40,
 43,
 40,
 40,
 40,
 43,
 40,
 40,
 40,
 43,
 40,
 43,
 40,
 41,
 41,
 41,
 41,
 41,
 50,
 40,
 40,
 43,
 40,
 43,
 40,
 40,
 40,
 41,
 45,
 50,
 41
 ],
 "pc": [
 7,
 4,
 4,
 4,
 4,
 4,
 5,
 2,
 4,
 10,
 4,
 4,
 5,
 9,
 4,
 7,
 4,
 4,
 4,
 7,
 4,
 4,
 4,
 7,
 4,
 7,
 4,
 5,
 5,
 5,
 5,
 5,
 2,
 4,
 4,
 7,
 4,
 7,
 4,
 4,
 4,
 5,
 9,
 2,
 5
 ],
 "names": [
 "G2",
 "E2",
 "E2",
 "E2",
 "E2",
 "E2",
 "F2",
 "D3",
 "E2",
 "A#3",
 "E2",
 "E2",
 "F2",
 "A2",
 "E2",
 "G2",
 "E2",
 "E2",
 "E2",
 "G2",
 "E2",
 "E2",
 "E2",
 "G2",
 "E2",
 "G2",
 "E2",
 "F2",
 "F2",
 "F2",
 "F2",
 "F2",
 "D3",
 "E2",
 "E2",
 "G2",
 "E2",
 "G2",
 "E2",
 "E2",
 "E2",
 "F2",
 "A2",
 "D3",
 "F2"
 ],
 "method": "contour",
 "confidence": 0.91,
 "inconclusive": false,
 "compare": "pitch_class"
 }
 },
 "eventParity": {
 "report": {
 "verdict": "STRUCTURE-MATCH",
 "isPrng": true,
 "reasons": [
 "Significant layers present on both sides (PRNG piece — counts/choices vary by )."
 ],
 "rows": [
 {
 "synthdef": "sonic-pi-pluck",
 "desktop": 31,
 "web": 31,
 "ratio": 1,
 "significant": true,
 "status": "match",
 "desktopOnset": 0,
 "webOnset": 0
 },
 {
 "synthdef": "sonic-pi-prophet",
 "desktop": 12,
 "web": 12,
 "ratio": 1,
 "significant": true,
 "status": "match",
 "desktopOnset": 0,
 "webOnset": 0
 },
 {
 "synthdef": "sonic-pi-basic_stereo_player",
 "desktop": 3,
 "web": 3,
 "ratio": 1,
 "significant": true,
 "status": "match",
 "desktopOnset": 0,
 "webOnset": 0
 }
 ],
 "fxRows": [
 {
 "synthdef": "sonic-pi-fx_reverb",
 "desktop": 1,
 "web": 1,
 "ratio": 1,
 "significant": false,
 "status": "match",
 "desktopOnset": null,
 "webOnset": -1.985
 },
 {
 "synthdef": "sonic-pi-fx_echo",
 "desktop": 1,
 "web": 1,
 "ratio": 1,
 "significant": false,
 "status": "match",
 "desktopOnset": 0,
 "webOnset": -1.985
 }
 ],
 "desktopTotal": 46,
 "webTotal": 46,
 "totalRatio": 1,
 "orderMatch": true,
 "desktopOrder": [
 "prophet",
 "pluck",
 "basic_stereo_player"
 ],
 "webOrder": [
 "prophet",
 "pluck",
 "basic_stereo_player"
 ],
 "sequenceParity": {
 "match": true,
 "epsilonMs": 15,
 "notesChecked": true,
 "rows": [
 {
 "synthdef": "sonic-pi-pluck",
 "desktopOnsets": [
 0,
 0.5,
 1.25,
 2.25,
 2.75,
 3.25,
 4,
 5,
 5.5,
 6,
 6.75,
 7.75,
 8.25,
 8.75,
 9.5,
 10.5,
 11,
 11.5,
 12.25,
 13.25,
 13.75,
 14.25,
 15,
 16,
 16.5,
 17,
 17.75,
 18.75,
 19.25,
 19.75,
 20.5
 ],
 "webOnsets": [
 0,
 0.5,
 1.25,
 2.25,
 2.75,
 3.25,
 4,
 5,
 5.5,
 6,
 6.75,
 7.75,
 8.25,
 8.75,
 9.5,
 10.5,
 11,
 11.5,
 12.25,
 13.25,
 13.75,
 14.25,
 15,
 16,
 16.5,
 17,
 17.75,
 18.75,
 19.25,
 19.75,
 20.5
 ],
 "comparedLen": 31,
 "timingMatched": true,
 "firstMismatchIdx": -1,
 "maxDevMs": 0,
 "noteMatched": true,
 "matched": true
 },
 {
 "synthdef": "sonic-pi-prophet",
 "desktopOnsets": [
 0,
 0,
 0,
 0,
 8,
 8,
 8,
 8,
 16,
 16,
 16,
 16
 ],
 "webOnsets": [
 0,
 0,
 0,
 0,
 8,
 8,
 8,
 8,
 16,
 16,
 16,
 16
 ],
 "comparedLen": 12,
 "timingMatched": true,
 "firstMismatchIdx": -1,
 "maxDevMs": 0,
 "noteMatched": true,
 "matched": true
 },
 {
 "synthdef": "sonic-pi-basic_stereo_player",
 "desktopOnsets": [
 0,
 8,
 16
 ],
 "webOnsets": [
 0,
 8,
 16
 ],
 "comparedLen": 3,
 "timingMatched": true,
 "firstMismatchIdx": -1,
 "maxDevMs": 0,
 "noteMatched": true,
 "matched": true
 }
 ],
 "reasons": [
 "pluck: 31 onsets match within ε (max Δ 0ms), notes match",
 "prophet: 12 onsets match within ε (max Δ 0ms), notes match",
 "basic_stereo_player: 3 onsets match within ε (max Δ 0ms), notes match"
 ]
 }
 },
 "note": "STRUCTURE-MATCH · onset-seq match · d46/w46"
 }
}