{
 "timestamp": "2026-06-18T15:10:12.265Z",
 "code": "# Source: https://in-thread.sonic-pi.net/t/the-first-music-i-made-by-sonic-pi/9572\n# Author: Tianjh\n# Title: The first music i made by sonic pi\n# Captured: 2026-04-24\n\nuse_bpm 120\nuse_synth :saw\n\nlive_loop :metronome do\n cue :tick\n sleep 1\nend\n\nlive_loop :sawchord do\n play chord(:c4, :m7), amp: 0.5\n sleep 1.5\n play chord(:c4, :m7), amp: 0.5\n sleep 0.5\n play chord(:g3, :m7), amp: 0.5\n sleep 0.75\n play chord(:g3, :m7), amp: 0.5\n sleep 0.75\n play chord(:f3, :m7), amp: 0.5\n sleep 2\n play chord(:f3, :m7), amp: 0.5\n sleep 0.5\n play chord(:g3, :m7), amp: 0.5\n sleep 1\n play chord(:g3, :m7), amp: 0.5\n sleep 1\nend\n\nlive_loop :drums, delay: 32 do\n sample :bd_ada, rate: 1.3\n sample :hat_snap, amp: 0.3\n sleep 0.5\n sample :hat_snap, amp: 0.6\n sleep 0.5\n sample :sn_zome, amp: 0.7, rate: 1.2\n sample :hat_snap, amp: 0.3\n sleep 0.5\n sample :hat_snap, amp: 0.6\n sleep 0.5\nend\n\nm = [:bb4, :g4, :f4, :eb4]\n\nlive_loop :meldy, delay: 32 do\n use_synth :chiplead\n 4.times do\n play m[0], amp: 0.5\n sleep 0.5\n end\n 2.times do\n play m[2], amp: 0.5\n sleep 0.5\n end\n play m[1], amp: 0.5\n sleep 0.5\n play m[3], amp: 0.5\n sleep 1\n 3.times do\n play m[3], amp: 0.5\n sleep 0.5\n end\n 2.times do\n play m[2], amp: 0.5\n sleep 1\n end\nend\n\nlive_loop :padd, delay: 64 do\n use_synth :chipbass\n play m[0], release: 2, amp: 0.8\n sleep 2\n play m[2], release: 1.5, amp: 0.8\n sleep 1.5\n play m[3], release: 2.5, amp: 0.8\n sleep 2.5\n play m[2], release: 2, amp: 0.8\n sleep 2\nend\n",
 "duration": 30000,
 "name": "comm-in-thread-forum__42_first_music",
 "desktop": {
 "wavPath": "/Users/mrityunjaybhardwaj/Documents/projects/sonicPiWeb/.captures/desktop-recordings/desktop_2026-06-18T15-08-57-318Z_comm-in-thread-forum__42_first_music.wav",
 "stats": {
 "duration": 31.369333333333334,
 "peak": 0.2921,
 "rms": 0.028,
 "clipping": 0,
 "sampleRate": 48000,
 "channels": 2
 },
 "ok": true,
 "pitch": {
 "count": 34,
 "median_spacing_s": 0.75,
 "midi": [
 67,
 70,
 65,
 56,
 56,
 65,
 67,
 70,
 65,
 56,
 56,
 65,
 67,
 70,
 65,
 56,
 56,
 65,
 67,
 70,
 65,
 56,
 56,
 65,
 70,
 63,
 65,
 70,
 63,
 65,
 70,
 63,
 65,
 70
 ],
 "pc": [
 7,
 10,
 5,
 8,
 8,
 5,
 7,
 10,
 5,
 8,
 8,
 5,
 7,
 10,
 5,
 8,
 8,
 5,
 7,
 10,
 5,
 8,
 8,
 5,
 10,
 3,
 5,
 10,
 3,
 5,
 10,
 3,
 5,
 10
 ],
 "names": [
 "G4",
 "A#4",
 "F4",
 "G#3",
 "G#3",
 "F4",
 "G4",
 "A#4",
 "F4",
 "G#3",
 "G#3",
 "F4",
 "G4",
 "A#4",
 "F4",
 "G#3",
 "G#3",
 "F4",
 "G4",
 "A#4",
 "F4",
 "G#3",
 "G#3",
 "F4",
 "A#4",
 "D#4",
 "F4",
 "A#4",
 "D#4",
 "F4",
 "A#4",
 "D#4",
 "F4",
 "A#4"
 ],
 "method": "onset",
 "confidence": 1,
 "inconclusive": false,
 "compare": "midi"
 }
 },
 "web": {
 "wavPath": "/Users/mrityunjaybhardwaj/Documents/projects/sonicPiWeb/.captures/2026-06-18T15-08-58-393Z_inline_audio.wav",
 "stats": {
 "duration": 29.696,
 "peak": 0.1678,
 "rms": 0.0169,
 "clipping": 0,
 "sampleRate": 48000,
 "channels": 2
 },
 "ok": true,
 "pitch": {
 "count": 34,
 "median_spacing_s": 0.75,
 "midi": [
 67,
 67,
 65,
 56,
 56,
 65,
 67,
 67,
 65,
 56,
 56,
 65,
 67,
 70,
 65,
 56,
 53,
 65,
 67,
 70,
 65,
 56,
 53,
 65,
 70,
 58,
 65,
 70,
 58,
 65,
 70,
 63,
 65,
 70
 ],
 "pc": [
 7,
 7,
 5,
 8,
 8,
 5,
 7,
 7,
 5,
 8,
 8,
 5,
 7,
 10,
 5,
 8,
 5,
 5,
 7,
 10,
 5,
 8,
 5,
 5,
 10,
 10,
 5,
 10,
 10,
 5,
 10,
 3,
 5,
 10
 ],
 "names": [
 "G4",
 "G4",
 "F4",
 "G#3",
 "G#3",
 "F4",
 "G4",
 "G4",
 "F4",
 "G#3",
 "G#3",
 "F4",
 "G4",
 "A#4",
 "F4",
 "G#3",
 "F3",
 "F4",
 "G4",
 "A#4",
 "F4",
 "G#3",
 "F3",
 "F4",
 "A#4",
 "A#3",
 "F4",
 "A#4",
 "A#3",
 "F4",
 "A#4",
 "D#4",
 "F4",
 "A#4"
 ],
 "method": "onset",
 "confidence": 1,
 "inconclusive": false,
 "compare": "midi"
 },
 "toolFailReason": null,
 "errors": []
 },
 "spectrogram": {
 "l2_mel_db": 19.16419792175293,
 "mfcc_distance": 167.9180145263672,
 "frames_compared": 2785,
 "spectrogram_png": "/Users/mrityunjaybhardwaj/Documents/projects/sonicPiWeb/.captures/compare_2026-06-18T15-09-34-459Z_comm-in-thread-forum__42_first_music_spectrogram.png",
 "desktop_peak_freq_hz": 349.9914991286607,
 "web_peak_freq_hz": 311.01831896551727,
 "per_beat": null
 },
 "spectrogramError": null,
 "reportPath": "/Users/mrityunjaybhardwaj/Documents/projects/sonicPiWeb/.captures/compare_2026-06-18T15-09-34-459Z_comm-in-thread-forum__42_first_music.md",
 "reconciledPitch": null,
 "eventParity": {
 "report": {
 "verdict": "STRUCTURE-MATCH",
 "isPrng": false,
 "reasons": [
 "Significant synthdef multiset matches.",
 "Significant-layer first-appearance order differs (desktop: saw→chiplead→basic_stereo_player | web: saw→basic_stereo_player→chiplead) — thread-start timing."
 ],
 "rows": [
 {
 "synthdef": "sonic-pi-saw",
 "desktop": 252,
 "web": 244,
 "ratio": 0.9682539682539683,
 "significant": true,
 "status": "match",
 "desktopOnset": 0,
 "webOnset": 0
 },
 {
 "synthdef": "sonic-pi-basic_stereo_player",
 "desktop": 76,
 "web": 74,
 "ratio": 0.9736842105263158,
 "significant": true,
 "status": "match",
 "desktopOnset": 16,
 "webOnset": 16
 },
 {
 "synthdef": "sonic-pi-chiplead",
 "desktop": 51,
 "web": 49,
 "ratio": 0.9607843137254902,
 "significant": true,
 "status": "match",
 "desktopOnset": 16,
 "webOnset": 16
 },
 {
 "synthdef": "sonic-pi-basic_mono_player",
 "desktop": 16,
 "web": 15,
 "ratio": 0.9375,
 "significant": false,
 "status": "match",
 "desktopOnset": 16,
 "webOnset": 16
 }
 ],
 "fxRows": [],
 "desktopTotal": 395,
 "webTotal": 382,
 "totalRatio": 0.97,
 "orderMatch": false,
 "desktopOrder": [
 "saw",
 "chiplead",
 "basic_stereo_player"
 ],
 "webOrder": [
 "saw",
 "basic_stereo_player",
 "chiplead"
 ],
 "sequenceParity": {
 "match": true,
 "epsilonMs": 15,
 "notesChecked": true,
 "rows": [
 {
 "synthdef": "sonic-pi-saw",
 "desktopOnsets": [
 0,
 0,
 0,
 0,
 0.75,
 0.75,
 0.75,
 0.75,
 1,
 1,
 1,
 1,
 1.375,
 1.375,
 1.375,
 1.375,
 1.75,
 1.75,
 1.75,
 1.75,
 2.75,
 2.75,
 2.75,
 2.75,
 3,
 3,
 3,
 3,
 3.5,
 3.5,
 3.5,
 3.5,
 4,
 4,
 4,
 4,
 4.75,
 4.75,
 4.75,
 4.75,
 5,
 5,
 5,
 5,
 5.375,
 5.375,
 5.375,
 5.375,
 5.75,
 5.75,
 5.75,
 5.75,
 6.75,
 6.75,
 6.75,
 6.75,
 7,
 7,
 7,
 7,
 7.5,
 7.5,
 7.5,
 7.5,
 8,
 8,
 8,
 8,
 8.75,
 8.75,
 8.75,
 8.75,
 9,
 9,
 9,
 9,
 9.375,
 9.375,
 9.375,
 9.375,
 9.75,
 9.75,
 9.75,
 9.75,
 10.75,
 10.75,
 10.75,
 10.75,
 11,
 11,
 11,
 11,
 11.5,
 11.5,
 11.5,
 11.5,
 12,
 12,
 12,
 12,
 12.75,
 12.75,
 12.75,
 12.75,
 13,
 13,
 13,
 13,
 13.375,
 13.375,
 13.375,
 13.375,
 13.75,
 13.75,
 13.75,
 13.75,
 14.75,
 14.75,
 14.75,
 14.75,
 15,
 15,
 15,
 15,
 15.5,
 15.5,
 15.5,
 15.5,
 16,
 16,
 16,
 16,
 16.75,
 16.75,
 16.75,
 16.75,
 17,
 17,
 17,
 17,
 17.375,
 17.375,
 17.375,
 17.375,
 17.75,
 17.75,
 17.75,
 17.75,
 18.75,
 18.75,
 18.75,
 18.75,
 19,
 19,
 19,
 19,
 19.5,
 19.5,
 19.5,
 19.5,
 20,
 20,
 20,
 20,
 20.75,
 20.75,
 20.75,
 20.75,
 21,
 21,
 21,
 21,
 21.375,
 21.375,
 21.375,
 21.375,
 21.75,
 21.75,
 21.75,
 21.75,
 22.75,
 22.75,
 22.75,
 22.75,
 23,
 23,
 23,
 23,
 23.5,
 23.5,
 23.5,
 23.5,
 24,
 24,
 24,
 24,
 24.75,
 24.75,
 24.75,
 24.75,
 25,
 25,
 25,
 25,
 25.375,
 25.375,
 25.375,
 25.375,
 25.75,
 25.75,
 25.75,
 25.75,
 26.75,
 26.75,
 26.75,
 26.75,
 27,
 27,
 27,
 27,
 27.5,
 27.5,
 27.5,
 27.5,
 28,
 28,
 28,
 28,
 28.75,
 28.75,
 28.75,
 28.75,
 29,
 29,
 29,
 29,
 29.375,
 29.375,
 29.375,
 29.375,
 29.75,
 29.75,
 29.75,
 29.75,
 30.75,
 30.75,
 30.75,
 30.75,
 31,
 31,
 31,
 31
 ],
 "webOnsets": [
 0,
 0,
 0,
 0,
 0.75,
 0.75,
 0.75,
 0.75,
 1,
 1,
 1,
 1,
 1.375,
 1.375,
 1.375,
 1.375,
 1.75,
 1.75,
 1.75,
 1.75,
 2.75,
 2.75,
 2.75,
 2.75,
 3,
 3,
 3,
 3,
 3.5,
 3.5,
 3.5,
 3.5,
 4,
 4,
 4,
 4,
 4.75,
 4.75,
 4.75,
 4.75,
 5,
 5,
 5,
 5,
 5.375,
 5.375,
 5.375,
 5.375,
 5.75,
 5.75,
 5.75,
 5.75,
 6.75,
 6.75,
 6.75,
 6.75,
 7,
 7,
 7,
 7,
 7.5,
 7.5,
 7.5,
 7.5,
 8,
 8,
 8,
 8,
 8.75,
 8.75,
 8.75,
 8.75,
 9,
 9,
 9,
 9,
 9.375,
 9.375,
 9.375,
 9.375,
 9.75,
 9.75,
 9.75,
 9.75,
 10.75,
 10.75,
 10.75,
 10.75,
 11,
 11,
 11,
 11,
 11.5,
 11.5,
 11.5,
 11.5,
 12,
 12,
 12,
 12,
 12.75,
 12.75,
 12.75,
 12.75,
 13,
 13,
 13,
 13,
 13.375,
 13.375,
 13.375,
 13.375,
 13.75,
 13.75,
 13.75,
 13.75,
 14.75,
 14.75,
 14.75,
 14.75,
 15,
 15,
 15,
 15,
 15.5,
 15.5,
 15.5,
 15.5,
 16,
 16,
 16,
 16,
 16.75,
 16.75,
 16.75,
 16.75,
 17,
 17,
 17,
 17,
 17.375,
 17.375,
 17.375,
 17.375,
 17.75,
 17.75,
 17.75,
 17.75,
 18.75,
 18.75,
 18.75,
 18.75,
 19,
 19,
 19,
 19,
 19.5,
 19.5,
 19.5,
 19.5,
 20,
 20,
 20,
 20,
 20.75,
 20.75,
 20.75,
 20.75,
 21,
 21,
 21,
 21,
 21.375,
 21.375,
 21.375,
 21.375,
 21.75,
 21.75,
 21.75,
 21.75,
 22.75,
 22.75,
 22.75,
 22.75,
 23,
 23,
 23,
 23,
 23.5,
 23.5,
 23.5,
 23.5,
 24,
 24,
 24,
 24,
 24.75,
 24.75,
 24.75,
 24.75,
 25,
 25,
 25,
 25,
 25.375,
 25.375,
 25.375,
 25.375,
 25.75,
 25.75,
 25.75,
 25.75,
 26.75,
 26.75,
 26.75,
 26.75,
 27,
 27,
 27,
 27,
 27.5,
 27.5,
 27.5,
 27.5,
 28,
 28,
 28,
 28,
 28.75,
 28.75,
 28.75,
 28.75,
 29,
 29,
 29,
 29,
 29.375,
 29.375,
 29.375,
 29.375,
 29.75,
 29.75,
 29.75,
 29.75
 ],
 "comparedLen": 244,
 "timingMatched": true,
 "firstMismatchIdx": -1,
 "maxDevMs": 0,
 "noteMatched": true,
 "matched": true
 },
 {
 "synthdef": "sonic-pi-basic_stereo_player",
 "desktopOnsets": [
 16,
 16.25,
 16.5,
 16.5,
 16.75,
 17,
 17.25,
 17.5,
 17.5,
 17.75,
 18,
 18.25,
 18.5,
 18.5,
 18.75,
 19,
 19.25,
 19.5,
 19.5,
 19.75,
 20,
 20.25,
 20.5,
 20.5,
 20.75,
 21,
 21.25,
 21.5,
 21.5,
 21.75,
 22,
 22.25,
 22.5,
 22.5,
 22.75,
 23,
 23.25,
 23.5,
 23.5,
 23.75,
 24,
 24.25,
 24.5,
 24.5,
 24.75,
 25,
 25.25,
 25.5,
 25.5,
 25.75,
 26,
 26.25,
 26.5,
 26.5,
 26.75,
 27,
 27.25,
 27.5,
 27.5,
 27.75,
 28,
 28.25,
 28.5,
 28.5,
 28.75,
 29,
 29.25,
 29.5,
 29.5,
 29.75,
 30,
 30.25,
 30.5,
 30.5,
 30.75,
 31
 ],
 "webOnsets": [
 16,
 16.25,
 16.5,
 16.5,
 16.75,
 17,
 17.25,
 17.5,
 17.5,
 17.75,
 18,
 18.25,
 18.5,
 18.5,
 18.75,
 19,
 19.25,
 19.5,
 19.5,
 19.75,
 20,
 20.25,
 20.5,
 20.5,
 20.75,
 21,
 21.25,
 21.5,
 21.5,
 21.75,
 22,
 22.25,
 22.5,
 22.5,
 22.75,
 23,
 23.25,
 23.5,
 23.5,
 23.75,
 24,
 24.25,
 24.5,
 24.5,
 24.75,
 25,
 25.25,
 25.5,
 25.5,
 25.75,
 26,
 26.25,
 26.5,
 26.5,
 26.75,
 27,
 27.25,
 27.5,
 27.5,
 27.75,
 28,
 28.25,
 28.5,
 28.5,
 28.75,
 29,
 29.25,
 29.5,
 29.5,
 29.75,
 30,
 30.25,
 30.5,
 30.5
 ],
 "comparedLen": 74,
 "timingMatched": true,
 "firstMismatchIdx": -1,
 "maxDevMs": 0,
 "noteMatched": true,
 "matched": true
 },
 {
 "synthdef": "sonic-pi-chiplead",
 "desktopOnsets": [
 16,
 16.25,
 16.5,
 16.75,
 17,
 17.25,
 17.5,
 17.75,
 18.25,
 18.5,
 18.75,
 19,
 19.5,
 20,
 20.25,
 20.5,
 20.75,
 21,
 21.25,
 21.5,
 21.75,
 22.25,
 22.5,
 22.75,
 23,
 23.5,
 24,
 24.25,
 24.5,
 24.75,
 25,
 25.25,
 25.5,
 25.75,
 26.25,
 26.5,
 26.75,
 27,
 27.5,
 28,
 28.25,
 28.5,
 28.75,
 29,
 29.25,
 29.5,
 29.75,
 30.25,
 30.5,
 30.75,
 31
 ],
 "webOnsets": [
 16,
 16.25,
 16.5,
 16.75,
 17,
 17.25,
 17.5,
 17.75,
 18.25,
 18.5,
 18.75,
 19,
 19.5,
 20,
 20.25,
 20.5,
 20.75,
 21,
 21.25,
 21.5,
 21.75,
 22.25,
 22.5,
 22.75,
 23,
 23.5,
 24,
 24.25,
 24.5,
 24.75,
 25,
 25.25,
 25.5,
 25.75,
 26.25,
 26.5,
 26.75,
 27,
 27.5,
 28,
 28.25,
 28.5,
 28.75,
 29,
 29.25,
 29.5,
 29.75,
 30.25,
 30.5
 ],
 "comparedLen": 49,
 "timingMatched": true,
 "firstMismatchIdx": -1,
 "maxDevMs": 0,
 "noteMatched": true,
 "matched": true
 }
 ],
 "reasons": [
 "saw: 244 onsets match within ε (max Δ 0ms), notes match",
 "basic_stereo_player: 74 onsets match within ε (max Δ 0ms), notes match",
 "chiplead: 49 onsets match within ε (max Δ 0ms), notes match"
 ]
 }
 },
 "note": "STRUCTURE-MATCH · onset-seq match · d395/w382"
 }
}