{
 "timestamp": "2026-06-18T14:58:15.188Z",
 "code": "# Source: https://in-thread.sonic-pi.net/t/trying-to-make-dub-reverb-from-underdog-tutorial/9867\n# Author: Relaxnow\n# Title: Trying to make Dub reverb from Underdog tutorial\n# Captured: 2026-04-24\n\nset :mysynth, :saw\nset :mysynth, :beep\n\nset_volume! 0.5\n\nwith_fx :gverb do |gv|\n\n with_fx :ping_pong do |pp|\n live_loop :a1 do\n use_synth get[:mysynth]\n\n tick\n control gv, pre_mix: [0,0,0,0.74].look\n control pp, pre_mix: [0,0,0,0.75].look\n r = s = d = [0.01,0.1,0.05].choose\n play :c5+[0,3,7,-2].choose, release: r, sustain: s, decay: d, pan: rdist(0.75), amp: 0.8\n sleep [0.25,0.125,0.5,1].choose\n end\n end\n\n live_loop :a2 do\n use_synth get[:mysynth]\n tick\n control gv, mix: [0,0,0,0,0.4].look\n r = s = d = [0.01,0.1,0.05].choose+0.02\n play :c3+knit(0,16, -5,16, -4,8, 0,8).look, release: r, sustain: s, decay: d, pan: rdist(0.25), amp: 0.75\n sleep [0.25,0.125,0.5,1].choose\n end\nend\n\nlive_loop :a3 do\n tick\n sample :bd_fat, amp: 2 if spread(2,4).look\n sleep 0.25\nend\n",
 "duration": 30000,
 "name": "comm-in-thread-forum__33_dub_reverb",
 "desktop": {
 "wavPath": "/Users/mrityunjaybhardwaj/Documents/projects/sonicPiWeb/.captures/desktop-recordings/desktop_2026-06-18T14-56-59-774Z_comm-in-thread-forum__33_dub_reverb.wav",
 "stats": {
 "duration": 31.370666666666665,
 "peak": 1,
 "rms": 0.0633,
 "clipping": 0,
 "sampleRate": 48000,
 "channels": 2
 },
 "ok": true,
 "pitch": {
 "count": 78,
 "median_spacing_s": 0.37,
 "midi": [
 79,
 48,
 40,
 79,
 70,
 48,
 75,
 48,
 79,
 48,
 48,
 72,
 75,
 48,
 48,
 48,
 40,
 72,
 48,
 47,
 79,
 43,
 70,
 40,
 43,
 40,
 43,
 75,
 79,
 43,
 79,
 40,
 79,
 43,
 44,
 43,
 43,
 75,
 40,
 79,
 44,
 44,
 75,
 40,
 44,
 44,
 45,
 79,
 79,
 48,
 48,
 48,
 48,
 70,
 48,
 79,
 75,
 48,
 75,
 48,
 48,
 48,
 40,
 40,
 48,
 48,
 71,
 48,
 75,
 40,
 48,
 79,
 79,
 48,
 48,
 47,
 48,
 43
 ],
 "pc": [
 7,
 0,
 4,
 7,
 10,
 0,
 3,
 0,
 7,
 0,
 0,
 0,
 3,
 0,
 0,
 0,
 4,
 0,
 0,
 11,
 7,
 7,
 10,
 4,
 7,
 4,
 7,
 3,
 7,
 7,
 7,
 4,
 7,
 7,
 8,
 7,
 7,
 3,
 4,
 7,
 8,
 8,
 3,
 4,
 8,
 8,
 9,
 7,
 7,
 0,
 0,
 0,
 0,
 10,
 0,
 7,
 3,
 0,
 3,
 0,
 0,
 0,
 4,
 4,
 0,
 0,
 11,
 0,
 3,
 4,
 0,
 7,
 7,
 0,
 0,
 11,
 0,
 7
 ],
 "names": [
 "G5",
 "C3",
 "E2",
 "G5",
 "A#4",
 "C3",
 "D#5",
 "C3",
 "G5",
 "C3",
 "C3",
 "C5",
 "D#5",
 "C3",
 "C3",
 "C3",
 "E2",
 "C5",
 "C3",
 "B2",
 "G5",
 "G2",
 "A#4",
 "E2",
 "G2",
 "E2",
 "G2",
 "D#5",
 "G5",
 "G2",
 "G5",
 "E2",
 "G5",
 "G2",
 "G#2",
 "G2",
 "G2",
 "D#5",
 "E2",
 "G5",
 "G#2",
 "G#2",
 "D#5",
 "E2",
 "G#2",
 "G#2",
 "A2",
 "G5",
 "G5",
 "C3",
 "C3",
 "C3",
 "C3",
 "A#4",
 "C3",
 "G5",
 "D#5",
 "C3",
 "D#5",
 "C3",
 "C3",
 "C3",
 "E2",
 "E2",
 "C3",
 "C3",
 "B4",
 "C3",
 "D#5",
 "E2",
 "C3",
 "G5",
 "G5",
 "C3",
 "C3",
 "B2",
 "C3",
 "G2"
 ],
 "method": "onset",
 "confidence": 1,
 "inconclusive": false,
 "compare": "midi"
 }
 },
 "web": {
 "wavPath": "/Users/mrityunjaybhardwaj/Documents/projects/sonicPiWeb/.captures/2026-06-18T14-57-01-041Z_inline_audio.wav",
 "stats": {
 "duration": 29.696,
 "peak": 0.7167,
 "rms": 0.1135,
 "clipping": 0,
 "sampleRate": 48000,
 "channels": 2
 },
 "ok": true,
 "pitch": {
 "count": 43,
 "median_spacing_s": 0.38,
 "midi": [
 79,
 79,
 75,
 79,
 70,
 70,
 75,
 79,
 48,
 48,
 72,
 72,
 72,
 43,
 72,
 42,
 75,
 75,
 79,
 43,
 79,
 75,
 72,
 44,
 72,
 48,
 72,
 79,
 75,
 79,
 79,
 79,
 48,
 48,
 75,
 71,
 71,
 71,
 72,
 72,
 48,
 79,
 72
 ],
 "pc": [
 7,
 7,
 3,
 7,
 10,
 10,
 3,
 7,
 0,
 0,
 0,
 0,
 0,
 7,
 0,
 6,
 3,
 3,
 7,
 7,
 7,
 3,
 0,
 8,
 0,
 0,
 0,
 7,
 3,
 7,
 7,
 7,
 0,
 0,
 3,
 11,
 11,
 11,
 0,
 0,
 0,
 7,
 0
 ],
 "names": [
 "G5",
 "G5",
 "D#5",
 "G5",
 "A#4",
 "A#4",
 "D#5",
 "G5",
 "C3",
 "C3",
 "C5",
 "C5",
 "C5",
 "G2",
 "C5",
 "F#2",
 "D#5",
 "D#5",
 "G5",
 "G2",
 "G5",
 "D#5",
 "C5",
 "G#2",
 "C5",
 "C3",
 "C5",
 "G5",
 "D#5",
 "G5",
 "G5",
 "G5",
 "C3",
 "C3",
 "D#5",
 "B4",
 "B4",
 "B4",
 "C5",
 "C5",
 "C3",
 "G5",
 "C5"
 ],
 "method": "onset",
 "confidence": 1,
 "inconclusive": false,
 "compare": "midi"
 },
 "toolFailReason": null,
 "errors": []
 },
 "spectrogram": {
 "l2_mel_db": 15.235361099243164,
 "mfcc_distance": 148.80392456054688,
 "frames_compared": 2785,
 "spectrogram_png": "/Users/mrityunjaybhardwaj/Documents/projects/sonicPiWeb/.captures/compare_2026-06-18T14-57-37-486Z_comm-in-thread-forum__33_dub_reverb_spectrogram.png",
 "desktop_peak_freq_hz": 53.99948996939816,
 "web_peak_freq_hz": 622.5754310344828,
 "per_beat": null
 },
 "spectrogramError": null,
 "reportPath": "/Users/mrityunjaybhardwaj/Documents/projects/sonicPiWeb/.captures/compare_2026-06-18T14-57-37-486Z_comm-in-thread-forum__33_dub_reverb.md",
 "reconciledPitch": null,
 "eventParity": {
 "report": {
 "verdict": "STRUCTURE-MATCH",
 "isPrng": true,
 "reasons": [
 "Significant layers present on both sides (PRNG piece — counts/choices vary by ).",
 "Significant-layer first-appearance order differs (desktop: basic_mono_player→beep | web: beep→basic_mono_player) — common for PRNG layer selection."
 ],
 "rows": [
 {
 "synthdef": "sonic-pi-beep",
 "desktop": 138,
 "web": 137,
 "ratio": 0.9927536231884058,
 "significant": true,
 "status": "match",
 "desktopOnset": 0,
 "webOnset": 0
 },
 {
 "synthdef": "sonic-pi-basic_mono_player",
 "desktop": 63,
 "web": 62,
 "ratio": 0.9841269841269841,
 "significant": true,
 "status": "match",
 "desktopOnset": 0,
 "webOnset": 0
 }
 ],
 "fxRows": [
 {
 "synthdef": "sonic-pi-fx_gverb",
 "desktop": 1,
 "web": 2,
 "ratio": 2,
 "significant": false,
 "status": "match",
 "desktopOnset": null,
 "webOnset": -1.975
 },
 {
 "synthdef": "sonic-pi-fx_ping_pong",
 "desktop": 1,
 "web": 1,
 "ratio": 1,
 "significant": false,
 "status": "match",
 "desktopOnset": 0,
 "webOnset": -1.975
 }
 ],
 "desktopTotal": 201,
 "webTotal": 199,
 "totalRatio": 0.99,
 "orderMatch": false,
 "desktopOrder": [
 "basic_mono_player",
 "beep"
 ],
 "webOrder": [
 "beep",
 "basic_mono_player"
 ],
 "sequenceParity": {
 "match": true,
 "epsilonMs": 15,
 "notesChecked": true,
 "rows": [
 {
 "synthdef": "sonic-pi-beep",
 "desktopOnsets": [
 0,
 0,
 0.5,
 0.5,
 0.625,
 0.75,
 1.25,
 1.5,
 1.625,
 1.875,
 2.5,
 2.875,
 3.5,
 3.875,
 4.125,
 4.5,
 4.75,
 4.875,
 5.125,
 5.625,
 5.875,
 5.875,
 6.125,
 6.875,
 7,
 7.125,
 7.25,
 7.25,
 7.75,
 7.75,
 7.875,
 8,
 8.125,
 8.25,
 8.25,
 8.5,
 8.625,
 8.75,
 9.25,
 9.75,
 9.75,
 9.875,
 10.25,
 10.5,
 10.75,
 10.875,
 11.75,
 11.875,
 11.875,
 12.125,
 12.125,
 12.375,
 12.875,
 13.125,
 13.125,
 13.375,
 13.375,
 13.5,
 13.875,
 14,
 14,
 14.125,
 14.125,
 14.25,
 14.375,
 14.625,
 15.125,
 15.375,
 15.5,
 15.625,
 15.75,
 15.75,
 16.25,
 16.25,
 16.75,
 16.75,
 16.875,
 17,
 17.125,
 17.125,
 17.375,
 17.375,
 17.625,
 18.125,
 18.375,
 18.375,
 18.5,
 19,
 19.25,
 19.375,
 19.5,
 19.875,
 20,
 20,
 20.25,
 20.5,
 20.5,
 21,
 21.125,
 21.375,
 21.5,
 22,
 22.375,
 22.625,
 23,
 23.5,
 23.625,
 23.625,
 23.75,
 23.75,
 24.75,
 24.75,
 24.875,
 25,
 25.375,
 25.875,
 26,
 26.125,
 26.25,
 27,
 27.25,
 27.25,
 27.375,
 27.5,
 27.75,
 28.25,
 28.25,
 28.375,
 28.75,
 29.25,
 29.375,
 29.75,
 29.875,
 29.875,
 30,
 30.125,
 30.375,
 31
 ],
 "webOnsets": [
 0,
 0,
 0.5,
 0.5,
 0.625,
 0.75,
 1.25,
 1.5,
 1.625,
 1.875,
 2.5,
 2.875,
 3.5,
 3.875,
 4.125,
 4.5,
 4.75,
 4.875,
 5.125,
 5.625,
 5.875,
 5.875,
 6.125,
 6.875,
 7,
 7.125,
 7.25,
 7.25,
 7.75,
 7.75,
 7.875,
 8,
 8.125,
 8.25,
 8.25,
 8.5,
 8.625,
 8.75,
 9.25,
 9.75,
 9.75,
 9.875,
 10.25,
 10.5,
 10.75,
 10.875,
 11.75,
 11.875,
 11.875,
 12.125,
 12.125,
 12.375,
 12.875,
 13.125,
 13.125,
 13.375,
 13.375,
 13.5,
 13.875,
 14,
 14,
 14.125,
 14.125,
 14.25,
 14.375,
 14.625,
 15.125,
 15.375,
 15.5,
 15.625,
 15.75,
 15.75,
 16.25,
 16.25,
 16.75,
 16.75,
 16.875,
 17,
 17.125,
 17.125,
 17.375,
 17.375,
 17.625,
 18.125,
 18.375,
 18.375,
 18.5,
 19,
 19.25,
 19.375,
 19.5,
 19.875,
 20,
 20,
 20.25,
 20.5,
 20.5,
 21,
 21.125,
 21.375,
 21.5,
 22,
 22.375,
 22.625,
 23,
 23.5,
 23.625,
 23.625,
 23.75,
 23.75,
 24.75,
 24.75,
 24.875,
 25,
 25.375,
 25.875,
 26,
 26.125,
 26.25,
 27,
 27.25,
 27.25,
 27.375,
 27.5,
 27.75,
 28.25,
 28.25,
 28.375,
 28.75,
 29.25,
 29.375,
 29.75,
 29.875,
 29.875,
 30,
 30.125,
 30.375
 ],
 "comparedLen": 137,
 "timingMatched": true,
 "firstMismatchIdx": -1,
 "maxDevMs": 0,
 "noteMatched": true,
 "matched": true
 },
 {
 "synthdef": "sonic-pi-basic_mono_player",
 "desktopOnsets": [
 0,
 0.5,
 1,
 1.5,
 2,
 2.5,
 3,
 3.5,
 4,
 4.5,
 5,
 5.5,
 6,
 6.5,
 7,
 7.5,
 8,
 8.5,
 9,
 9.5,
 10,
 10.5,
 11,
 11.5,
 12,
 12.5,
 13,
 13.5,
 14,
 14.5,
 15,
 15.5,
 16,
 16.5,
 17,
 17.5,
 18,
 18.5,
 19,
 19.5,
 20,
 20.5,
 21,
 21.5,
 22,
 22.5,
 23,
 23.5,
 24,
 24.5,
 25,
 25.5,
 26,
 26.5,
 27,
 27.5,
 28,
 28.5,
 29,
 29.5,
 30,
 30.5,
 31
 ],
 "webOnsets": [
 0,
 0.5,
 1,
 1.5,
 2,
 2.5,
 3,
 3.5,
 4,
 4.5,
 5,
 5.5,
 6,
 6.5,
 7,
 7.5,
 8,
 8.5,
 9,
 9.5,
 10,
 10.5,
 11,
 11.5,
 12,
 12.5,
 13,
 13.5,
 14,
 14.5,
 15,
 15.5,
 16,
 16.5,
 17,
 17.5,
 18,
 18.5,
 19,
 19.5,
 20,
 20.5,
 21,
 21.5,
 22,
 22.5,
 23,
 23.5,
 24,
 24.5,
 25,
 25.5,
 26,
 26.5,
 27,
 27.5,
 28,
 28.5,
 29,
 29.5,
 30,
 30.5
 ],
 "comparedLen": 62,
 "timingMatched": true,
 "firstMismatchIdx": -1,
 "maxDevMs": 0,
 "noteMatched": true,
 "matched": true
 }
 ],
 "reasons": [
 "beep: 137 onsets match within ε (max Δ 0ms), notes match",
 "basic_mono_player: 62 onsets match within ε (max Δ 0ms), notes match"
 ]
 }
 },
 "note": "STRUCTURE-MATCH · onset-seq match · d201/w199"
 }
}