{
  "format": "forge.graph/0",
  "name": "Rat Distortion",
  "author": "Chirp",
  "license": "CC-BY-4.0",
  "remixed_from": null,
  "description": "From the circuit: a slow op-amp with huge gain (its two ground legs set where the gain starts, and its bandwidth shrinks as the gain grows, which darkens and thickens it), into a 1k resistor and two silicon diodes to ground, worked out from the diode equation and antialiased at twice the rate, then the famous Filter knob: turn it up for a darker, smoother sound. From crunchy rhythm to a buzzing wall.",
  "tags": [
    "distortion",
    "hard clipping"
  ],
  "face": {
    "display": { "kind": "meter", "label": "Clip", "source": "clip:hot.L", "range": [0, 1] },
    "knobs": [
      {
        "id": "dist",
        "label": "Dist",
        "default": 0.55,
        "controls": [
          { "target": "dist_v.v", "from": 0.00467, "to": 19.89, "curve": "exp" },
          { "target": "slew.cutoff", "from": 20000, "to": 470, "curve": "exp" }
        ]
      },
      {
        "id": "filter",
        "label": "Filter",
        "default": 0.35,
        "controls": [
          { "target": "filter.cutoff", "from": 20000, "to": 476, "curve": "exp" }
        ]
      },
      {
        "id": "volume",
        "label": "Volume",
        "default": 0.45,
        "controls": [
          { "target": "volume.amount", "from": 0, "to": 0.26 }
        ]
      }
    ]
  },
  "nodes": {
    "hi": {
      "block": "onepole",
      "set": { "cutoff": 1539 },
      "in": { "x": "in" }
    },
    "lo": {
      "block": "onepole",
      "set": { "cutoff": 60.5 },
      "in": { "x": "in" }
    },
    "lo_leg": {
      "block": "gain",
      "set": { "amount": 0.08393 },
      "in": { "x": "lo:hp" }
    },
    "dist_v": { "block": "value", "mono": true },
    "opamp": {
      "block": "formula",
      "set": { "expr": "a * 0.01 + b * c * 1.07" },
      "in": { "a": "in", "b": ["hi:hp", "lo_leg"], "c": "dist_v" }
    },
    "slew": {
      "block": "onepole",
      "in": { "x": "opamp" }
    },
    "clip": {
      "block": "diode",
      "set": { "type": 0, "drive": 100, "r": 1000, "cutoff": 48229 },
      "in": { "x": "slew" }
    },
    "filter": {
      "block": "onepole",
      "in": { "x": "clip" }
    },
    "volume": {
      "block": "gain",
      "in": { "x": "filter" }
    }
  },
  "out": "volume"
}
