{
 "timestamp": "2026-06-18T15:02:15.808Z",
 "code": "# Source: https://in-thread.sonic-pi.net/t/fun-with-functions/9641\n# Author: brendanmac\n# Title: Fun With Functions\n# Captured: 2026-04-24\n\nuse_synth :piano\n\ndefine :cars do |nn, dd|\n play_pattern_timed [nn, nn, nn+7], [dd, dd, dd*2]\nend\n\nt = 0 #change me +/-\n\nlive_loop :alex1 do\n cars 60+t, 0.5\nend\n\nlive_loop :alex2, delay: 8.25 do\n cars 65+t, 0.5\nend\n",
 "duration": 30000,
 "name": "comm-in-thread-forum__36_fun_with_functions",
 "desktop": {
 "wavPath": "/Users/mrityunjaybhardwaj/Documents/projects/sonicPiWeb/.captures/desktop-recordings/desktop_2026-06-18T15-01-00-628Z_comm-in-thread-forum__36_fun_with_functions.wav",
 "stats": {
 "duration": 31.370666666666665,
 "peak": 0.295,
 "rms": 0.0703,
 "clipping": 0,
 "sampleRate": 48000,
 "channels": 2
 },
 "ok": true,
 "pitch": {
 "count": 15,
 "median_spacing_s": 2,
 "midi": [
 60,
 60,
 60,
 60,
 65,
 65,
 65,
 65,
 65,
 65,
 65,
 65,
 65,
 65,
 65
 ],
 "pc": [
 0,
 0,
 0,
 0,
 5,
 5,
 5,
 5,
 5,
 5,
 5,
 5,
 5,
 5,
 5
 ],
 "names": [
 "C4",
 "C4",
 "C4",
 "C4",
 "F4",
 "F4",
 "F4",
 "F4",
 "F4",
 "F4",
 "F4",
 "F4",
 "F4",
 "F4",
 "F4"
 ],
 "method": "onset",
 "confidence": 1,
 "inconclusive": false,
 "compare": "midi"
 }
 },
 "web": {
 "wavPath": "/Users/mrityunjaybhardwaj/Documents/projects/sonicPiWeb/.captures/2026-06-18T15-01-01-809Z_inline_audio.wav",
 "stats": {
 "duration": 29.781333333333333,
 "peak": 0.1709,
 "rms": 0.0388,
 "clipping": 0,
 "sampleRate": 48000,
 "channels": 2
 },
 "ok": true,
 "pitch": {
 "count": 19,
 "median_spacing_s": 2,
 "midi": [
 60,
 67,
 60,
 67,
 60,
 67,
 60,
 67,
 65,
 65,
 65,
 65,
 65,
 65,
 65,
 65,
 65,
 65,
 65
 ],
 "pc": [
 0,
 7,
 0,
 7,
 0,
 7,
 0,
 7,
 5,
 5,
 5,
 5,
 5,
 5,
 5,
 5,
 5,
 5,
 5
 ],
 "names": [
 "C4",
 "G4",
 "C4",
 "G4",
 "C4",
 "G4",
 "C4",
 "G4",
 "F4",
 "F4",
 "F4",
 "F4",
 "F4",
 "F4",
 "F4",
 "F4",
 "F4",
 "F4",
 "F4"
 ],
 "method": "onset",
 "confidence": 1,
 "inconclusive": false,
 "compare": "midi"
 },
 "toolFailReason": null,
 "errors": []
 },
 "spectrogram": {
 "l2_mel_db": 17.339155197143555,
 "mfcc_distance": 149.52731323242188,
 "frames_compared": 2793,
 "spectrogram_png": "/Users/mrityunjaybhardwaj/Documents/projects/sonicPiWeb/.captures/compare_2026-06-18T15-01-37-973Z_comm-in-thread-forum__36_fun_with_functions_spectrogram.png",
 "desktop_peak_freq_hz": 261.99634478068685,
 "web_peak_freq_hz": 350.9916726361032,
 "per_beat": null
 },
 "spectrogramError": null,
 "reportPath": "/Users/mrityunjaybhardwaj/Documents/projects/sonicPiWeb/.captures/compare_2026-06-18T15-01-37-973Z_comm-in-thread-forum__36_fun_with_functions.md",
 "reconciledPitch": null,
 "eventParity": {
 "report": {
 "verdict": "STRUCTURE-MATCH",
 "isPrng": false,
 "reasons": [
 "Significant synthdef multiset matches."
 ],
 "rows": [
 {
 "synthdef": "sonic-pi-piano",
 "desktop": 83,
 "web": 82,
 "ratio": 0.9879518072289156,
 "significant": true,
 "status": "match",
 "desktopOnset": 0,
 "webOnset": 0
 }
 ],
 "fxRows": [],
 "desktopTotal": 83,
 "webTotal": 82,
 "totalRatio": 0.99,
 "orderMatch": true,
 "desktopOrder": [
 "piano"
 ],
 "webOrder": [
 "piano"
 ],
 "sequenceParity": {
 "match": true,
 "epsilonMs": 15,
 "notesChecked": true,
 "rows": [
 {
 "synthdef": "sonic-pi-piano",
 "desktopOnsets": [
 0,
 0.5,
 1,
 2,
 2.5,
 3,
 4,
 4.5,
 5,
 6,
 6.5,
 7,
 8,
 8.25,
 8.5,
 8.75,
 9,
 9.25,
 10,
 10.25,
 10.5,
 10.75,
 11,
 11.25,
 12,
 12.252,
 12.502,
 12.752,
 13.002,
 13.252,
 14.002,
 14.252,
 14.502,
 14.752,
 15.002,
 15.252,
 16.002,
 16.252,
 16.502,
 16.752,
 17.002,
 17.25,
 18,
 18.25,
 18.5,
 18.75,
 19,
 19.25,
 20,
 20.25,
 20.5,
 20.75,
 21,
 21.25,
 22,
 22.249,
 22.499,
 22.749,
 22.999,
 23.249,
 23.999,
 24.249,
 24.499,
 24.749,
 24.999,
 25.249,
 25.999,
 26.249,
 26.499,
 26.749,
 26.999,
 27.25,
 28,
 28.25,
 28.5,
 28.75,
 29,
 29.25,
 30,
 30.25,
 30.5,
 30.75,
 31
 ],
 "webOnsets": [
 0,
 0.5,
 1,
 2,
 2.5,
 3,
 4,
 4.5,
 5,
 6,
 6.5,
 7,
 8,
 8.25,
 8.5,
 8.75,
 9,
 9.25,
 10,
 10.25,
 10.5,
 10.75,
 11,
 11.25,
 12,
 12.25,
 12.5,
 12.75,
 13,
 13.25,
 14,
 14.25,
 14.5,
 14.75,
 15,
 15.25,
 16,
 16.25,
 16.5,
 16.75,
 17,
 17.25,
 18,
 18.25,
 18.5,
 18.75,
 19,
 19.25,
 20,
 20.25,
 20.5,
 20.75,
 21,
 21.25,
 22,
 22.25,
 22.5,
 22.75,
 23,
 23.25,
 24,
 24.25,
 24.5,
 24.75,
 25,
 25.25,
 26,
 26.25,
 26.5,
 26.75,
 27,
 27.25,
 28,
 28.25,
 28.5,
 28.75,
 29,
 29.25,
 30,
 30.25,
 30.5,
 30.75
 ],
 "comparedLen": 82,
 "timingMatched": true,
 "firstMismatchIdx": -1,
 "maxDevMs": 2,
 "noteMatched": true,
 "matched": true
 }
 ],
 "reasons": [
 "piano: 82 onsets match within ε (max Δ 2ms), notes match"
 ]
 }
 },
 "note": "STRUCTURE-MATCH · onset-seq match · d83/w82"
 }
}