{
 "timestamp": "2026-06-18T15:11:30.924Z",
 "code": "# Source: https://in-thread.sonic-pi.net/t/exploring-tb303/9451\n# Author: Relaxnow\n# Title: Exploring tb303\n# Captured: 2026-04-24\n\nset_volume! 2\n\nuse_bpm 77\n\nwith_fx :reverb, room: 0.75 do\n with_fx :krush do |krush|\n\n live_loop :a1 do\n tick\n\n control krush, mix: line(0,0.8,steps: 64).look\n\n sample :bd_fat, amp: 4 if spread(1,9).look\n sample :bd_fat, rpitch: 24, amp: 6 if spread(1,5).look\n\n sample :sn_generic, finish: 0.01, amp: 2 if spread([1,1,1, 1,1,1, 5,1,1, 1,1,1].look, 9).look\n\n k = 64\n\n use_synth :tb303\n\n n = :f2+knit(0,k,-2,k).look\n\n use_synth_defaults release: [0.1,0.2,0.4,0.8].choose, cutoff: [70,90,110].look+knit(-20,k,-10,k).look\n play n+[0,0,0,0,12].look, pan: rdist(0.25) if spread(9,12).look\n\n use_synth_defaults release: [0.1,0.2,0.3,0.4,0.8].choose, cutoff: [70,90,110].look+knit(-20,k,-10,k).look\n play n+[0,0,0,0,12].look+24, amp: 0.5, pan: rdist(0.5) if spread(5,12).rotate(5).look\n\n\n use_synth [:noise,:gnoise].choose\n density [1,2,1,1,4,1,1,1,1,1,1,1,1,].choose do\n use_synth_defaults release: 0.001, cutoff: rrand_i(90,130)\n play :c2, pan: rdist(1) if spread(rrand_i(14,15),16).look\n sleep 0.25\n end\n\n end\n end\n\n live_loop :a2 do\n tick\n use_synth :beep\n play :a5+knit(0,32,1,32,1,32,0,32).look, amp: 0.6 if spread(1,32).rotate(5).look\n sleep 0.25\n end\n\nend\n",
 "duration": 30000,
 "name": "comm-in-thread-forum__43_exploring_tb303",
 "desktop": {
 "wavPath": "/Users/mrityunjaybhardwaj/Documents/projects/sonicPiWeb/.captures/desktop-recordings/desktop_2026-06-18T15-10-15-453Z_comm-in-thread-forum__43_exploring_tb303.wav",
 "stats": {
 "duration": 31.370666666666665,
 "peak": 1,
 "rms": 0.306,
 "clipping": 1.99,
 "sampleRate": 48000,
 "channels": 2
 },
 "ok": true,
 "pitch": {
 "count": 33,
 "median_spacing_s": 0.77,
 "midi": [
 53,
 41,
 58,
 53,
 53,
 89,
 41,
 65,
 41,
 53,
 53,
 65,
 53,
 41,
 53,
 41,
 82,
 51,
 59,
 63,
 63,
 63,
 51,
 63,
 82,
 63,
 81,
 65,
 53,
 65,
 41,
 53,
 65
 ],
 "pc": [
 5,
 5,
 10,
 5,
 5,
 5,
 5,
 5,
 5,
 5,
 5,
 5,
 5,
 5,
 5,
 5,
 10,
 3,
 11,
 3,
 3,
 3,
 3,
 3,
 10,
 3,
 9,
 5,
 5,
 5,
 5,
 5,
 5
 ],
 "names": [
 "F3",
 "F2",
 "A#3",
 "F3",
 "F3",
 "F6",
 "F2",
 "F4",
 "F2",
 "F3",
 "F3",
 "F4",
 "F3",
 "F2",
 "F3",
 "F2",
 "A#5",
 "D#3",
 "B3",
 "D#4",
 "D#4",
 "D#4",
 "D#3",
 "D#4",
 "A#5",
 "D#4",
 "A5",
 "F4",
 "F3",
 "F4",
 "F2",
 "F3",
 "F4"
 ],
 "method": "onset",
 "confidence": 1,
 "inconclusive": false,
 "compare": "midi"
 }
 },
 "web": {
 "wavPath": "/Users/mrityunjaybhardwaj/Documents/projects/sonicPiWeb/.captures/2026-06-18T15-10-16-734Z_inline_audio.wav",
 "stats": {
 "duration": 29.696,
 "peak": 0.9716,
 "rms": 0.1931,
 "clipping": 0,
 "sampleRate": 48000,
 "channels": 2
 },
 "ok": true,
 "pitch": {
 "count": 33,
 "median_spacing_s": 0.7250000000000001,
 "midi": [
 53,
 41,
 58,
 53,
 53,
 89,
 65,
 41,
 53,
 53,
 53,
 53,
 41,
 53,
 69,
 82,
 52,
 59,
 40,
 63,
 63,
 57,
 63,
 75,
 63,
 75,
 40,
 81,
 65,
 57,
 65,
 53,
 69
 ],
 "pc": [
 5,
 5,
 10,
 5,
 5,
 5,
 5,
 5,
 5,
 5,
 5,
 5,
 5,
 5,
 9,
 10,
 4,
 11,
 4,
 3,
 3,
 9,
 3,
 3,
 3,
 3,
 4,
 9,
 5,
 9,
 5,
 5,
 9
 ],
 "names": [
 "F3",
 "F2",
 "A#3",
 "F3",
 "F3",
 "F6",
 "F4",
 "F2",
 "F3",
 "F3",
 "F3",
 "F3",
 "F2",
 "F3",
 "A4",
 "A#5",
 "E3",
 "B3",
 "E2",
 "D#4",
 "D#4",
 "A3",
 "D#4",
 "D#5",
 "D#4",
 "D#5",
 "E2",
 "A5",
 "F4",
 "A3",
 "F4",
 "F3",
 "A4"
 ],
 "method": "onset",
 "confidence": 1,
 "inconclusive": false,
 "compare": "midi"
 },
 "toolFailReason": null,
 "errors": []
 },
 "spectrogram": {
 "l2_mel_db": 12.605300903320312,
 "mfcc_distance": 115.94818115234375,
 "frames_compared": 2785,
 "spectrogram_png": "/Users/mrityunjaybhardwaj/Documents/projects/sonicPiWeb/.captures/compare_2026-06-18T15-10-52-854Z_comm-in-thread-forum__43_exploring_tb303_spectrogram.png",
 "desktop_peak_freq_hz": 174.52609656579395,
 "web_peak_freq_hz": 173.82812500000003,
 "per_beat": null
 },
 "spectrogramError": null,
 "reportPath": "/Users/mrityunjaybhardwaj/Documents/projects/sonicPiWeb/.captures/compare_2026-06-18T15-10-52-854Z_comm-in-thread-forum__43_exploring_tb303.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→tb303→noise→gnoise | web: tb303→noise→stereo_player→basic_mono_player→gnoise) — common for PRNG layer selection."
 ],
 "rows": [
 {
 "synthdef": "sonic-pi-tb303",
 "desktop": 188,
 "web": 184,
 "ratio": 0.9787234042553191,
 "significant": true,
 "status": "match",
 "desktopOnset": 0,
 "webOnset": 0
 },
 {
 "synthdef": "sonic-pi-noise",
 "desktop": 117,
 "web": 109,
 "ratio": 0.9316239316239316,
 "significant": true,
 "status": "match",
 "desktopOnset": 0,
 "webOnset": 0
 },
 {
 "synthdef": "sonic-pi-gnoise",
 "desktop": 83,
 "web": 82,
 "ratio": 0.9879518072289156,
 "significant": true,
 "status": "match",
 "desktopOnset": 0.39,
 "webOnset": 0.39
 },
 {
 "synthdef": "sonic-pi-basic_mono_player",
 "desktop": 51,
 "web": 50,
 "ratio": 0.9803921568627451,
 "significant": true,
 "status": "match",
 "desktopOnset": 0,
 "webOnset": 0
 },
 {
 "synthdef": "sonic-pi-stereo_player",
 "desktop": 23,
 "web": 23,
 "ratio": 1,
 "significant": true,
 "status": "match",
 "desktopOnset": 0,
 "webOnset": 0
 },
 {
 "synthdef": "sonic-pi-beep",
 "desktop": 5,
 "web": 5,
 "ratio": 1,
 "significant": false,
 "status": "match",
 "desktopOnset": 5.26,
 "webOnset": 5.26
 }
 ],
 "fxRows": [
 {
 "synthdef": "sonic-pi-fx_reverb",
 "desktop": 1,
 "web": 2,
 "ratio": 2,
 "significant": false,
 "status": "match",
 "desktopOnset": null,
 "webOnset": -2.001
 },
 {
 "synthdef": "sonic-pi-fx_krush",
 "desktop": 1,
 "web": 1,
 "ratio": 1,
 "significant": false,
 "status": "match",
 "desktopOnset": 0,
 "webOnset": -2.001
 }
 ],
 "desktopTotal": 467,
 "webTotal": 453,
 "totalRatio": 0.97,
 "orderMatch": false,
 "desktopOrder": [
 "basic_mono_player",
 "tb303",
 "noise",
 "gnoise"
 ],
 "webOrder": [
 "tb303",
 "noise",
 "stereo_player",
 "basic_mono_player",
 "gnoise"
 ],
 "sequenceParity": {
 "match": true,
 "epsilonMs": 15,
 "notesChecked": true,
 "rows": [
 {
 "synthdef": "sonic-pi-tb303",
 "desktopOnsets": [
 0,
 0,
 0.39,
 0.584,
 0.584,
 0.779,
 0.974,
 1.169,
 1.364,
 1.364,
 1.558,
 1.948,
 1.948,
 2.143,
 2.338,
 2.338,
 2.727,
 2.922,
 2.922,
 3.117,
 3.312,
 3.506,
 3.701,
 3.701,
 3.896,
 4.286,
 4.286,
 4.481,
 4.675,
 4.675,
 5.065,
 5.26,
 5.26,
 5.455,
 5.649,
 5.844,
 6.039,
 6.039,
 6.234,
 6.623,
 6.623,
 6.818,
 7.013,
 7.013,
 7.403,
 7.597,
 7.597,
 7.792,
 7.987,
 8.182,
 8.377,
 8.377,
 8.571,
 8.961,
 8.961,
 9.156,
 9.351,
 9.351,
 9.74,
 9.935,
 9.935,
 10.13,
 10.325,
 10.519,
 10.714,
 10.714,
 10.909,
 11.299,
 11.299,
 11.494,
 11.688,
 11.688,
 12.078,
 12.273,
 12.273,
 12.468,
 12.662,
 12.857,
 13.052,
 13.052,
 13.247,
 13.636,
 13.636,
 13.831,
 14.026,
 14.026,
 14.416,
 14.61,
 14.61,
 14.805,
 15,
 15.195,
 15.39,
 15.39,
 15.584,
 15.974,
 15.974,
 16.169,
 16.364,
 16.364,
 16.753,
 16.948,
 16.948,
 17.143,
 17.338,
 17.532,
 17.727,
 17.727,
 17.922,
 18.312,
 18.312,
 18.506,
 18.701,
 18.701,
 19.091,
 19.286,
 19.286,
 19.481,
 19.675,
 19.87,
 20.065,
 20.065,
 20.26,
 20.649,
 20.649,
 20.844,
 21.039,
 21.039,
 21.429,
 21.623,
 21.623,
 21.818,
 22.013,
 22.208,
 22.403,
 22.403,
 22.597,
 22.987,
 22.987,
 23.182,
 23.377,
 23.377,
 23.766,
 23.961,
 23.961,
 24.156,
 24.351,
 24.545,
 24.74,
 24.74,
 24.935,
 25.325,
 25.325,
 25.519,
 25.714,
 25.714,
 26.104,
 26.299,
 26.299,
 26.493,
 26.688,
 26.883,
 27.078,
 27.078,
 27.273,
 27.662,
 27.662,
 27.857,
 28.052,
 28.052,
 28.442,
 28.636,
 28.636,
 28.831,
 29.026,
 29.221,
 29.416,
 29.416,
 29.61,
 30,
 30,
 30.195,
 30.39,
 30.39,
 30.779,
 30.974,
 30.974,
 31.169
 ],
 "webOnsets": [
 0,
 0,
 0.39,
 0.584,
 0.584,
 0.779,
 0.974,
 1.169,
 1.364,
 1.364,
 1.559,
 1.948,
 1.948,
 2.143,
 2.338,
 2.338,
 2.727,
 2.922,
 2.922,
 3.117,
 3.312,
 3.506,
 3.701,
 3.701,
 3.896,
 4.286,
 4.286,
 4.481,
 4.675,
 4.675,
 5.065,
 5.26,
 5.26,
 5.455,
 5.649,
 5.844,
 6.039,
 6.039,
 6.234,
 6.623,
 6.623,
 6.818,
 7.013,
 7.013,
 7.403,
 7.597,
 7.597,
 7.792,
 7.987,
 8.182,
 8.377,
 8.377,
 8.572,
 8.961,
 8.961,
 9.156,
 9.351,
 9.351,
 9.74,
 9.935,
 9.935,
 10.13,
 10.325,
 10.519,
 10.714,
 10.714,
 10.909,
 11.299,
 11.299,
 11.494,
 11.688,
 11.688,
 12.078,
 12.273,
 12.273,
 12.468,
 12.662,
 12.857,
 13.052,
 13.052,
 13.247,
 13.636,
 13.636,
 13.831,
 14.026,
 14.026,
 14.416,
 14.61,
 14.61,
 14.805,
 15,
 15.195,
 15.39,
 15.39,
 15.584,
 15.974,
 15.974,
 16.169,
 16.364,
 16.364,
 16.753,
 16.948,
 16.948,
 17.143,
 17.338,
 17.533,
 17.727,
 17.727,
 17.922,
 18.312,
 18.312,
 18.507,
 18.701,
 18.701,
 19.091,
 19.286,
 19.286,
 19.481,
 19.675,
 19.87,
 20.065,
 20.065,
 20.26,
 20.649,
 20.649,
 20.844,
 21.039,
 21.039,
 21.429,
 21.623,
 21.623,
 21.818,
 22.013,
 22.208,
 22.403,
 22.403,
 22.597,
 22.987,
 22.987,
 23.182,
 23.377,
 23.377,
 23.766,
 23.961,
 23.961,
 24.156,
 24.351,
 24.546,
 24.74,
 24.74,
 24.935,
 25.325,
 25.325,
 25.52,
 25.714,
 25.714,
 26.104,
 26.299,
 26.299,
 26.494,
 26.688,
 26.883,
 27.078,
 27.078,
 27.273,
 27.662,
 27.662,
 27.857,
 28.052,
 28.052,
 28.442,
 28.636,
 28.636,
 28.831,
 29.026,
 29.221,
 29.416,
 29.416,
 29.61,
 30,
 30,
 30.195,
 30.39,
 30.39
 ],
 "comparedLen": 184,
 "timingMatched": true,
 "firstMismatchIdx": -1,
 "maxDevMs": 1,
 "noteMatched": true,
 "matched": true
 },
 {
 "synthdef": "sonic-pi-noise",
 "desktopOnsets": [
 0,
 0.779,
 1.169,
 1.364,
 1.558,
 1.753,
 1.948,
 2.338,
 2.922,
 3.117,
 3.701,
 3.75,
 3.799,
 3.847,
 4.091,
 4.286,
 4.383,
 4.481,
 4.675,
 5.065,
 5.455,
 6.039,
 6.234,
 6.282,
 6.331,
 6.38,
 6.623,
 6.818,
 7.013,
 7.208,
 7.403,
 7.792,
 8.961,
 9.156,
 9.351,
 9.74,
 9.838,
 10.325,
 10.519,
 10.909,
 11.494,
 11.688,
 12.468,
 13.247,
 13.636,
 14.026,
 14.221,
 14.367,
 14.416,
 14.61,
 14.805,
 15.195,
 15.39,
 15.584,
 16.364,
 16.412,
 16.461,
 16.51,
 16.558,
 16.753,
 17.143,
 17.532,
 17.727,
 17.776,
 17.825,
 17.873,
 18.506,
 18.701,
 19.481,
 19.529,
 19.578,
 19.627,
 19.675,
 19.87,
 20.26,
 21.234,
 21.331,
 21.623,
 21.672,
 21.721,
 21.769,
 22.403,
 22.451,
 22.5,
 22.549,
 22.987,
 23.182,
 23.571,
 23.766,
 23.961,
 24.351,
 25.909,
 26.104,
 26.493,
 26.883,
 27.078,
 27.468,
 27.662,
 28.052,
 28.442,
 28.831,
 29.416,
 29.61,
 29.805,
 30.195,
 30.584,
 30.633,
 30.682,
 30.731,
 30.779,
 30.828,
 30.877,
 30.925,
 31.169,
 31.218,
 31.266,
 31.315
 ],
 "webOnsets": [
 0,
 0.779,
 1.169,
 1.364,
 1.559,
 1.753,
 1.948,
 2.338,
 2.922,
 3.117,
 3.701,
 3.75,
 3.799,
 3.847,
 4.091,
 4.286,
 4.383,
 4.481,
 4.675,
 5.065,
 5.455,
 6.039,
 6.234,
 6.282,
 6.331,
 6.38,
 6.623,
 6.818,
 7.013,
 7.208,
 7.403,
 7.792,
 8.961,
 9.156,
 9.351,
 9.74,
 9.838,
 10.325,
 10.519,
 10.909,
 11.494,
 11.688,
 12.468,
 13.247,
 13.636,
 14.026,
 14.221,
 14.367,
 14.416,
 14.61,
 14.805,
 15.195,
 15.39,
 15.584,
 16.364,
 16.412,
 16.461,
 16.51,
 16.559,
 16.753,
 17.143,
 17.533,
 17.727,
 17.776,
 17.825,
 17.873,
 18.507,
 18.701,
 19.481,
 19.529,
 19.578,
 19.627,
 19.675,
 19.87,
 20.26,
 21.234,
 21.331,
 21.623,
 21.672,
 21.721,
 21.77,
 22.403,
 22.451,
 22.5,
 22.549,
 22.987,
 23.182,
 23.572,
 23.766,
 23.961,
 24.351,
 25.909,
 26.104,
 26.494,
 26.883,
 27.078,
 27.468,
 27.662,
 28.052,
 28.442,
 28.831,
 29.416,
 29.61,
 29.805,
 30.195,
 30.584,
 30.633,
 30.682,
 30.731
 ],
 "comparedLen": 109,
 "timingMatched": true,
 "firstMismatchIdx": -1,
 "maxDevMs": 1,
 "noteMatched": true,
 "matched": true
 },
 {
 "synthdef": "sonic-pi-gnoise",
 "desktopOnsets": [
 0.39,
 0.584,
 0.974,
 2.143,
 2.532,
 2.727,
 3.506,
 3.896,
 3.994,
 4.87,
 5.26,
 5.649,
 5.844,
 7.597,
 8.182,
 8.377,
 8.425,
 8.474,
 8.523,
 8.571,
 8.766,
 9.935,
 10.13,
 10.714,
 11.104,
 11.299,
 11.883,
 12.078,
 12.273,
 12.857,
 13.052,
 13.101,
 13.149,
 13.198,
 13.442,
 13.831,
 15,
 15.049,
 15.097,
 15.146,
 15.974,
 16.169,
 16.948,
 17.338,
 17.922,
 18.019,
 18.117,
 18.312,
 19.091,
 19.286,
 20.065,
 20.649,
 20.844,
 21.039,
 21.429,
 21.818,
 22.208,
 22.597,
 22.792,
 23.377,
 23.474,
 24.156,
 24.545,
 24.594,
 24.643,
 24.692,
 24.74,
 24.935,
 25.032,
 25.325,
 25.519,
 25.617,
 25.714,
 26.299,
 27.273,
 27.857,
 28.636,
 29.026,
 29.221,
 29.318,
 30,
 30.39,
 30.974
 ],
 "webOnsets": [
 0.39,
 0.584,
 0.974,
 2.143,
 2.533,
 2.727,
 3.506,
 3.896,
 3.993,
 4.87,
 5.26,
 5.649,
 5.844,
 7.597,
 8.182,
 8.377,
 8.425,
 8.474,
 8.523,
 8.572,
 8.766,
 9.935,
 10.13,
 10.714,
 11.104,
 11.299,
 11.883,
 12.078,
 12.273,
 12.857,
 13.052,
 13.101,
 13.149,
 13.198,
 13.442,
 13.831,
 15,
 15.049,
 15.097,
 15.146,
 15.974,
 16.169,
 16.948,
 17.338,
 17.922,
 18.02,
 18.117,
 18.312,
 19.091,
 19.286,
 20.065,
 20.649,
 20.844,
 21.039,
 21.429,
 21.818,
 22.208,
 22.597,
 22.792,
 23.377,
 23.474,
 24.156,
 24.546,
 24.594,
 24.643,
 24.692,
 24.74,
 24.935,
 25.033,
 25.325,
 25.52,
 25.617,
 25.714,
 26.299,
 27.273,
 27.857,
 28.636,
 29.026,
 29.221,
 29.318,
 30,
 30.39
 ],
 "comparedLen": 82,
 "timingMatched": true,
 "firstMismatchIdx": -1,
 "maxDevMs": 1,
 "noteMatched": true,
 "matched": true
 },
 {
 "synthdef": "sonic-pi-basic_mono_player",
 "desktopOnsets": [
 0,
 0,
 0.974,
 1.753,
 1.948,
 2.922,
 3.506,
 3.896,
 4.87,
 5.26,
 5.844,
 6.818,
 7.013,
 7.792,
 8.766,
 8.766,
 9.74,
 10.519,
 10.714,
 11.688,
 12.273,
 12.662,
 13.636,
 14.026,
 14.61,
 15.584,
 15.779,
 16.558,
 17.532,
 17.532,
 18.506,
 19.286,
 19.481,
 20.455,
 21.039,
 21.429,
 22.403,
 22.792,
 23.377,
 24.351,
 24.545,
 25.325,
 26.299,
 26.299,
 27.273,
 28.052,
 28.247,
 29.221,
 29.805,
 30.195,
 31.169
 ],
 "webOnsets": [
 0,
 0,
 0.974,
 1.753,
 1.948,
 2.922,
 3.506,
 3.896,
 4.87,
 5.26,
 5.844,
 6.818,
 7.013,
 7.792,
 8.766,
 8.766,
 9.74,
 10.519,
 10.714,
 11.688,
 12.273,
 12.662,
 13.636,
 14.026,
 14.61,
 15.584,
 15.779,
 16.559,
 17.533,
 17.533,
 18.507,
 19.286,
 19.481,
 20.455,
 21.039,
 21.429,
 22.403,
 22.792,
 23.377,
 24.351,
 24.546,
 25.325,
 26.299,
 26.299,
 27.273,
 28.052,
 28.247,
 29.221,
 29.805,
 30.195
 ],
 "comparedLen": 50,
 "timingMatched": true,
 "firstMismatchIdx": -1,
 "maxDevMs": 1,
 "noteMatched": true,
 "matched": true
 },
 {
 "synthdef": "sonic-pi-stereo_player",
 "desktopOnsets": [
 0,
 1.169,
 1.753,
 3.506,
 5.26,
 7.013,
 8.182,
 8.766,
 10.519,
 12.273,
 14.026,
 15.195,
 15.779,
 17.532,
 19.286,
 21.039,
 22.208,
 22.792,
 24.545,
 26.299,
 28.052,
 29.221,
 29.805
 ],
 "webOnsets": [
 0,
 1.169,
 1.753,
 3.506,
 5.26,
 7.013,
 8.182,
 8.766,
 10.519,
 12.273,
 14.026,
 15.195,
 15.779,
 17.533,
 19.286,
 21.039,
 22.208,
 22.792,
 24.546,
 26.299,
 28.052,
 29.221,
 29.805
 ],
 "comparedLen": 23,
 "timingMatched": true,
 "firstMismatchIdx": -1,
 "maxDevMs": 1,
 "noteMatched": true,
 "matched": true
 }
 ],
 "reasons": [
 "tb303: 184 onsets match within ε (max Δ 1ms), notes match",
 "noise: 109 onsets match within ε (max Δ 1ms), notes match",
 "gnoise: 82 onsets match within ε (max Δ 1ms), notes match",
 "basic_mono_player: 50 onsets match within ε (max Δ 1ms), notes match",
 "stereo_player: 23 onsets match within ε (max Δ 1ms), notes match"
 ]
 }
 },
 "note": "STRUCTURE-MATCH · onset-seq match · d467/w453"
 }
}