{
 "timestamp": "2026-06-18T15:08:54.035Z",
 "code": "# Source: https://in-thread.sonic-pi.net/t/ocean-ambience-danks-first-submission/9580\n# Author: dank\n# Title: Ocean Ambience - Dank's First Submission\n# Captured: 2026-04-24\n\nuse_debug false\nuse_bpm 70\n\n# Ambient background\nlive_loop :ocean_ambience do\n sample :ambi_lunar_land, rate: 0.5, amp: 0.4\n sleep 16\nend\n\n# Bubbling sounds\nlive_loop :bubbles, delay: 4 do\n use_synth :beep\n use_synth_defaults attack: 0.01, release: 0.2, amp: 0.2\n\n with_fx :reverb, room: 0.8, mix: 0.6 do\n with_fx :echo, mix: 0.3, phase: 0.5 do\n note = scale(:e3, :minor_pentatonic).choose\n pan_value = rrand(-0.8, 0.8)\n sleep_time = [0.25, 0.5, 0.75].choose\n\n play note, pan: pan_value\n sleep sleep_time\n end\n end\nend\n\n# Pulsating rhythm\nlive_loop :jellyfish_pulse do\n use_synth :dtri\n\n with_fx :slicer, phase: 0.5, wave: 1, mix: 0.3 do\n with_fx :reverb, room: 0.9, mix: 0.5 do\n chords = [\n chord(:e3, :m9),\n chord(:c3, :maj9),\n chord(:a2, :m9),\n chord(:d3, :maj9)\n ]\n play_chord chords.tick, attack: 0.1, release: 4, amp: 0.5\n sleep 4\n end\n end\nend\n\n# Flowing tendrils\nlive_loop :tendrils, delay: 8 do\n use_synth :blade\n use_synth_defaults attack: 2, release: 6, amp: 0.3\n\n notes = (scale :e4, :minor_pentatonic, num_octaves: 2)\n current_note = notes.choose\n pan_value = rrand(-0.5, 0.5)\n sleep_duration = [4, 6, 8].choose\n\n with_fx :hpf, cutoff: 60 do\n with_fx :reverb, room: 0.9, mix: 0.7 do\n play current_note, pan: pan_value\n sleep sleep_duration\n end\n end\nend\n\n# Gentle bass current\nlive_loop :deep_current, delay: 16 do\n use_synth :fm\n use_synth_defaults attack: 0.5, release: 7, amp: 0.6\n\n bass_notes = [:e2, :c2, :a1, :d2]\n\n with_fx :lpf, cutoff: 80 do\n play bass_notes.tick, release: 7\n sleep 8\n end\nend\n\n# Occasional shimmer\nlive_loop :shimmer, delay: 24 do\n use_synth :pretty_bell\n\n with_fx :reverb, room: 0.9, mix: 0.8 do\n with_fx :gverb, mix: 0.6 do\n sleep 16\n play_pattern_timed scale(:e5, :minor_pentatonic, num_octaves: 1),\n [0.25, 0.5, 0.25], amp: 0.2, pan: rrand(-0.7, 0.7)\n sleep 16\n end\n end\nend\n\n# Water droplets\nlive_loop :droplets, delay: 32 do\n sample :drum_cymbal_soft, rate: 1.5, amp: 0.1 if one_in(4)\n sample :elec_blip, rate: 1.2, amp: 0.1 if one_in(3)\n sample :elec_blip2, rate: 1.5, amp: 0.1 if one_in(5)\n sleep 0.5\nend\n",
 "duration": 30000,
 "name": "comm-in-thread-forum__41_ocean_ambience",
 "desktop": {
 "wavPath": "/Users/mrityunjaybhardwaj/Documents/projects/sonicPiWeb/.captures/desktop-recordings/desktop_2026-06-18T15-07-38-932Z_comm-in-thread-forum__41_ocean_ambience.wav",
 "stats": {
 "duration": 31.370666666666665,
 "peak": 0.261,
 "rms": 0.0428,
 "clipping": 0,
 "sampleRate": 48000,
 "channels": 2
 },
 "ok": true,
 "pitch": {
 "count": 18,
 "median_spacing_s": 0.71,
 "midi": [
 59,
 62,
 62,
 52,
 52,
 59,
 45,
 57,
 54,
 55,
 59,
 55,
 55,
 57,
 55,
 64,
 52,
 62
 ],
 "pc": [
 11,
 2,
 2,
 4,
 4,
 11,
 9,
 9,
 6,
 7,
 11,
 7,
 7,
 9,
 7,
 4,
 4,
 2
 ],
 "names": [
 "B3",
 "D4",
 "D4",
 "E3",
 "E3",
 "B3",
 "A2",
 "A3",
 "F#3",
 "G3",
 "B3",
 "G3",
 "G3",
 "A3",
 "G3",
 "E4",
 "E3",
 "D4"
 ],
 "method": "onset",
 "confidence": 1,
 "inconclusive": false,
 "compare": "midi"
 }
 },
 "web": {
 "wavPath": "/Users/mrityunjaybhardwaj/Documents/projects/sonicPiWeb/.captures/2026-06-18T15-07-40-242Z_inline_audio.wav",
 "stats": {
 "duration": 29.696,
 "peak": 0.158,
 "rms": 0.0258,
 "clipping": 0,
 "sampleRate": 48000,
 "channels": 2
 },
 "ok": true,
 "pitch": {
 "count": 15,
 "median_spacing_s": 0.92,
 "midi": [
 59,
 62,
 62,
 59,
 62,
 55,
 59,
 57,
 57,
 55,
 59,
 57,
 55,
 52,
 52
 ],
 "pc": [
 11,
 2,
 2,
 11,
 2,
 7,
 11,
 9,
 9,
 7,
 11,
 9,
 7,
 4,
 4
 ],
 "names": [
 "B3",
 "D4",
 "D4",
 "B3",
 "D4",
 "G3",
 "B3",
 "A3",
 "A3",
 "G3",
 "B3",
 "A3",
 "G3",
 "E3",
 "E3"
 ],
 "method": "onset",
 "confidence": 1,
 "inconclusive": false,
 "compare": "midi"
 },
 "toolFailReason": null,
 "errors": []
 },
 "spectrogram": {
 "l2_mel_db": 12.493195533752441,
 "mfcc_distance": 115.1072006225586,
 "frames_compared": 2785,
 "spectrogram_png": "/Users/mrityunjaybhardwaj/Documents/projects/sonicPiWeb/.captures/compare_2026-06-18T15-08-16-171Z_comm-in-thread-forum__41_ocean_ambience_spectrogram.png",
 "desktop_peak_freq_hz": 82.40181910914654,
 "web_peak_freq_hz": 82.46901939655173,
 "per_beat": null
 },
 "spectrogramError": null,
 "reportPath": "/Users/mrityunjaybhardwaj/Documents/projects/sonicPiWeb/.captures/compare_2026-06-18T15-08-16-171Z_comm-in-thread-forum__41_ocean_ambience.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: dtri→beep→basic_mono_player | web: dtri→beep) — common for PRNG layer selection."
 ],
 "rows": [
 {
 "synthdef": "sonic-pi-beep",
 "desktop": 67,
 "web": 65,
 "ratio": 0.9701492537313433,
 "significant": true,
 "status": "match",
 "desktopOnset": 3.429,
 "webOnset": 3.429
 },
 {
 "synthdef": "sonic-pi-dtri",
 "desktop": 50,
 "web": 45,
 "ratio": 0.9,
 "significant": true,
 "status": "match",
 "desktopOnset": 0,
 "webOnset": 0
 },
 {
 "synthdef": "sonic-pi-basic_mono_player",
 "desktop": 7,
 "web": 6,
 "ratio": 0.8571428571428571,
 "significant": true,
 "status": "match",
 "desktopOnset": 27.429,
 "webOnset": 27.429
 },
 {
 "synthdef": "sonic-pi-blade",
 "desktop": 6,
 "web": 5,
 "ratio": 0.8333333333333334,
 "significant": false,
 "status": "match",
 "desktopOnset": 6.857,
 "webOnset": 6.857
 },
 {
 "synthdef": "sonic-pi-basic_stereo_player",
 "desktop": 3,
 "web": 3,
 "ratio": 1,
 "significant": false,
 "status": "match",
 "desktopOnset": 0,
 "webOnset": 0
 },
 {
 "synthdef": "sonic-pi-fm",
 "desktop": 3,
 "web": 3,
 "ratio": 1,
 "significant": false,
 "status": "match",
 "desktopOnset": 13.714,
 "webOnset": 13.714
 }
 ],
 "fxRows": [
 {
 "synthdef": "sonic-pi-fx_reverb",
 "desktop": 84,
 "web": 80,
 "ratio": 0.9523809523809523,
 "significant": true,
 "status": "match",
 "desktopOnset": null,
 "webOnset": -2.049
 },
 {
 "synthdef": "sonic-pi-fx_echo",
 "desktop": 67,
 "web": 65,
 "ratio": 0.9701492537313433,
 "significant": true,
 "status": "match",
 "desktopOnset": 3.429,
 "webOnset": -2.049
 },
 {
 "synthdef": "sonic-pi-fx_slicer",
 "desktop": 10,
 "web": 9,
 "ratio": 0.9,
 "significant": true,
 "status": "match",
 "desktopOnset": 0,
 "webOnset": -2.049
 },
 {
 "synthdef": "sonic-pi-fx_hpf",
 "desktop": 6,
 "web": 5,
 "ratio": 0.8333333333333334,
 "significant": false,
 "status": "match",
 "desktopOnset": 6.857,
 "webOnset": -2.049
 },
 {
 "synthdef": "sonic-pi-fx_lpf",
 "desktop": 3,
 "web": 3,
 "ratio": 1,
 "significant": false,
 "status": "match",
 "desktopOnset": 13.714,
 "webOnset": -2.049
 },
 {
 "synthdef": "sonic-pi-fx_gverb",
 "desktop": 1,
 "web": 1,
 "ratio": 1,
 "significant": false,
 "status": "match",
 "desktopOnset": null,
 "webOnset": -2.049
 }
 ],
 "desktopTotal": 136,
 "webTotal": 127,
 "totalRatio": 0.93,
 "orderMatch": false,
 "desktopOrder": [
 "dtri",
 "beep",
 "basic_mono_player"
 ],
 "webOrder": [
 "dtri",
 "beep"
 ],
 "sequenceParity": {
 "match": true,
 "epsilonMs": 15,
 "notesChecked": true,
 "rows": [
 {
 "synthdef": "sonic-pi-beep",
 "desktopOnsets": [
 3.429,
 4.071,
 4.5,
 5.143,
 5.357,
 6,
 6.643,
 6.857,
 7.5,
 7.929,
 8.143,
 8.357,
 9,
 9.214,
 9.643,
 10.071,
 10.286,
 10.714,
 11.357,
 12,
 12.429,
 13.071,
 13.714,
 13.929,
 14.143,
 14.571,
 14.786,
 15,
 15.429,
 15.857,
 16.286,
 16.929,
 17.143,
 17.357,
 17.571,
 18,
 18.643,
 18.857,
 19.286,
 19.5,
 20.143,
 20.571,
 21,
 21.214,
 21.429,
 21.857,
 22.5,
 23.143,
 23.571,
 24.214,
 24.857,
 25.286,
 25.5,
 26.143,
 26.357,
 27,
 27.643,
 27.857,
 28.286,
 28.5,
 28.714,
 29.143,
 29.571,
 30,
 30.643,
 31.071,
 31.286
 ],
 "webOnsets": [
 3.429,
 4.072,
 4.5,
 5.143,
 5.357,
 6,
 6.643,
 6.857,
 7.5,
 7.929,
 8.143,
 8.357,
 9,
 9.214,
 9.643,
 10.071,
 10.286,
 10.714,
 11.357,
 12,
 12.429,
 13.071,
 13.714,
 13.929,
 14.143,
 14.571,
 14.786,
 15,
 15.429,
 15.857,
 16.286,
 16.929,
 17.143,
 17.357,
 17.572,
 18,
 18.643,
 18.857,
 19.286,
 19.5,
 20.143,
 20.572,
 21,
 21.214,
 21.429,
 21.857,
 22.5,
 23.143,
 23.572,
 24.214,
 24.857,
 25.286,
 25.5,
 26.143,
 26.357,
 27,
 27.643,
 27.857,
 28.286,
 28.5,
 28.714,
 29.143,
 29.572,
 30,
 30.643
 ],
 "comparedLen": 65,
 "timingMatched": true,
 "firstMismatchIdx": -1,
 "maxDevMs": 1,
 "noteMatched": true,
 "matched": true
 },
 {
 "synthdef": "sonic-pi-dtri",
 "desktopOnsets": [
 0,
 0,
 0,
 0,
 0,
 3.429,
 3.429,
 3.429,
 3.429,
 3.429,
 6.857,
 6.857,
 6.857,
 6.857,
 6.857,
 10.286,
 10.286,
 10.286,
 10.286,
 10.286,
 13.714,
 13.714,
 13.714,
 13.714,
 13.714,
 17.143,
 17.143,
 17.143,
 17.143,
 17.143,
 20.571,
 20.571,
 20.571,
 20.571,
 20.571,
 24,
 24,
 24,
 24,
 24,
 27.429,
 27.429,
 27.429,
 27.429,
 27.429,
 30.857,
 30.857,
 30.857,
 30.857,
 30.857
 ],
 "webOnsets": [
 0,
 0,
 0,
 0,
 0,
 3.429,
 3.429,
 3.429,
 3.429,
 3.429,
 6.857,
 6.857,
 6.857,
 6.857,
 6.857,
 10.286,
 10.286,
 10.286,
 10.286,
 10.286,
 13.714,
 13.714,
 13.714,
 13.714,
 13.714,
 17.143,
 17.143,
 17.143,
 17.143,
 17.143,
 20.572,
 20.572,
 20.572,
 20.572,
 20.572,
 24,
 24,
 24,
 24,
 24,
 27.429,
 27.429,
 27.429,
 27.429,
 27.429
 ],
 "comparedLen": 45,
 "timingMatched": true,
 "firstMismatchIdx": -1,
 "maxDevMs": 1,
 "noteMatched": true,
 "matched": true
 },
 {
 "synthdef": "sonic-pi-basic_mono_player",
 "desktopOnsets": [
 27.429,
 27.857,
 28.714,
 29.143,
 29.143,
 30.429,
 30.857
 ],
 "webOnsets": [
 27.429,
 27.857,
 28.714,
 29.143,
 29.143,
 30.429
 ],
 "comparedLen": 6,
 "timingMatched": true,
 "firstMismatchIdx": -1,
 "maxDevMs": 0,
 "noteMatched": true,
 "matched": true
 }
 ],
 "reasons": [
 "beep: 65 onsets match within ε (max Δ 1ms), notes match",
 "dtri: 45 onsets match within ε (max Δ 1ms), notes match",
 "basic_mono_player: 6 onsets match within ε (max Δ 0ms), notes match"
 ]
 }
 },
 "note": "STRUCTURE-MATCH · onset-seq match · d136/w127"
 }
}