{
  "format": "forge.graph/0",
  "name": "Smart Harmony",
  "author": "Chirp",
  "license": "CC-BY-4.0",
  "remixed_from": null,
  "description": "An intelligent harmonizer: a second voice a third, a fifth or an octave from each note you play, kept in your key and scale, so the harmony moves the way a second guitarist's would instead of in fixed parallel steps. It follows the note you play and tunes the voice to the scale note exactly. Key turns from C (all the way down) through every semitone to B (all the way up). Single notes, as the pedals that do this ask.",
  "tags": ["pitch", "harmonizer", "harmony", "tracking"],
  "face": {
    "knobs": [
      { "id": "key", "label": "Key", "default": 0.0,
        "controls": [ { "target": "voice.key", "from": 0, "to": 11 } ] },
      { "id": "mix", "label": "Mix", "default": 0.45,
        "controls": [ { "target": "mixer.mix", "from": 0, "to": 1 } ] },
      { "id": "tone", "label": "Tone", "default": 0.6,
        "controls": [ { "target": "tone.cutoff", "from": 1200, "to": 12000, "curve": "exp" } ] },
      { "id": "level", "label": "Level", "default": 0.5,
        "controls": [ { "target": "level.amount", "from": 0.6, "to": 1.4 } ] }
    ],
    "menus": [
      { "id": "voice", "label": "Voice", "options": ["3rd up", "5th up", "3rd down", "Oct up"], "default": 0,
        "controls": [ { "target": "voice.steps", "values": [2, 4, -2, 7] } ] },
      { "id": "scale", "label": "Scale", "options": ["Major", "Minor", "Mixo", "Dorian"], "default": 0,
        "controls": [ { "target": "voice.scale", "values": [0, 1, 2, 3] } ] }
    ]
  },
  "nodes": {
    "voice": { "block": "harmony", "mono": true, "set": { "window": 0.045 }, "in": { "x": "in" } },
    "tone": { "block": "onepole", "mono": true, "in": { "x": "voice" } },
    "mixer": { "block": "blend", "in": { "dry": "in", "wet": "tone" } },
    "level": { "block": "gain", "in": { "x": "mixer" } }
  },
  "out": "level"
}
