{
  "format": "forge.graph/0",
  "name": "Spring Reverb",
  "author": "Chirp",
  "license": "CC-BY-4.0",
  "remixed_from": null,
  "description": "The surf-amp spring tank: a chain of tight allpasses gives the chirpy drip, then two short delays bounce off each other through a damping filter. Drip sets how splashy the attack is.",
  "tags": ["reverb", "spring", "surf"],
  "face": {
    "knobs": [
      { "id": "decay", "label": "Decay", "default": 0.5,
        "controls": [ { "target": "fb.amount", "from": 0.3, "to": 0.85 } ] },
      { "id": "mix", "label": "Mix", "default": 0.35,
        "controls": [ { "target": "mixer.mix", "from": 0, "to": 1 } ] },
      { "id": "tone", "label": "Tone", "default": 0.45,
        "controls": [ { "target": "damp.cutoff", "from": 1500, "to": 6000, "curve": "exp" } ] },
      { "id": "drip", "label": "Drip", "default": 0.6,
        "controls": [ { "target": "ap1.g", "from": 0.3, "to": 0.75 }, { "target": "ap2.g", "from": 0.3, "to": 0.75 },
                      { "target": "ap3.g", "from": 0.3, "to": 0.75 }, { "target": "ap4.g", "from": 0.3, "to": 0.75 } ] }
    ]
  },
  "nodes": {
    "ap1": { "block": "allpass", "set": { "time": 0.0021 }, "in": { "x": "in" } },
    "ap2": { "block": "allpass", "set": { "time": 0.0033 }, "in": { "x": "ap1" } },
    "ap3": { "block": "allpass", "set": { "time": 0.0047 }, "in": { "x": "ap2" } },
    "ap4": { "block": "allpass", "set": { "time": 0.0061 }, "in": { "x": "ap3" } },
    "tank1": { "block": "delay", "set": { "time": 0.0351, "max": 0.1 }, "in": { "x": ["ap4", "fb"] } },
    "damp": { "block": "onepole", "in": { "x": "tank1" } },
    "tank2": { "block": "delay", "set": { "time": 0.0473, "max": 0.1 }, "in": { "x": "damp" } },
    "fb": { "block": "gain", "in": { "x": "tank2" } },
    "wobble": { "block": "lfo", "mono": true, "set": { "rate": 0.9 } },
    "wet": { "block": "gain", "set": { "amount": 0.8 }, "in": { "x": ["damp", "tank2"] } },
    "mixer": { "block": "blend", "in": { "dry": "in", "wet": "wet" } }
  },
  "mods": {
    "sway": { "from": "wobble:sine", "target": "tank1.time", "amount": 0.0004 }
  },
  "out": "mixer"
}
