Generate Archetype Tim Henson X presets by researching a tone online, building the parameter set, and writing the binary preset file in one shot.
Workflow
- Research — Search the web for the tone (song, artist, genre, producer, gear, live rig, etc.). Gather concrete info.
- Design — Pick the amp, gain level, and effects that match the tone. Do NOT ask the user for confirmation unless the request is completely ambiguous.
- Generate — Pipe a JSON object to
stdinand rungenerate. Use--namefor the human-readable display name (spaces allowed). Always set"name"inside the JSON to the same human-readable string so the preset shows correctly in the plugin. - Verify — Confirm the file was written to
AI generated/. No Q&A loops.
Rules
- Never edit existing source presets.
- Always create a new file in
/Library/Audio/Presets/Neural DSP/Archetype Tim Henson X/AI generated/. - Use
Default.xmlas fallback template when no template path is provided. - JSON overrides are read from
stdin. Set"name"explicitly in the JSON to control the display name with spaces. - Unknown parameter keys are rejected.
Commands
Generate from stdin JSON and optional template:
python3 "/Users/arjunmahishi/.config/opencode/skills/tim-henson-presets/tim_henson_skill.py" generate --name "my_preset" --template "/Library/Audio/Presets/Neural DSP/Archetype Tim Henson X/User/clean_fingerstyle.xml"
Generate from fallback Default.xml:
python3 "/Users/arjunmahishi/.config/opencode/skills/tim-henson-presets/tim_henson_skill.py" generate --name "my_preset"
Build index cache:
python3 "/Users/arjunmahishi/.config/opencode/skills/tim-henson-presets/tim_henson_skill.py" index
Print authoritative parameter names from a template:
python3 "/Users/arjunmahishi/.config/opencode/skills/tim-henson-presets/tim_henson_skill.py" params
JSON Input Shape
The script reads a JSON object from stdin where keys are parameter names and values are booleans, numbers, or strings.
{
"reverbActive": true,
"reverbMix": 0.42,
"delayTime": 500,
"leadGain": 0.73
}
Parameter Names (Reference)
Use only real plugin parameter names. Common groups:
- Global:
inputGain,outputGain,transpose,gateActive,gateThreshold,doublerActive,doublerSpread - Pre FX:
boostActive,boostGain,boostBass,boostTreble,boostLevel,compActive,compCompression,compAttack,compLevel,overdriveActive,overdriveDrive,overdriveTone,overdriveLevel - Amp:
selectedAmp,leadGain,leadBass,leadMiddle,leadTreble,leadPresence,leadMaster,leadOutput,rhythmGain,rhythmBass,rhythmMiddle,rhythmTreble,rhythmPresence,rhythmOutput,rhythmChannel,acousticGain,acousticBlend,acousticBass,acousticMiddle,acousticTreble,acousticPresence,acousticOutput - EQ:
leadEQActive,leadEQBand1..leadEQBand9,leadEQHpf,leadEQLpf,rhythmEQActive,rhythmEQBand1..rhythmEQBand9,rhythmEQHpf,rhythmEQLpf,acousticEQActive,acousticEQBand1..acousticEQBand9,acousticEQHpf,acousticEQLpf - Cab:
cabStereo,leftCabActive,leftCab0MicType,leftCab1MicType,leftCabDistance,leftCabPosition,leftCabPhase,leftCabPan,leftCabMicLevel,leftRoomActive,leftRoomMicLevel,rightCabActive,rightCab0MicType,rightCab1MicType,rightCabDistance,rightCabPosition,rightCabPhase,rightCabPan,rightCabMicLevel,rightRoomActive,rightRoomMicLevel,leftCab0ChosenIRFilePath,leftCab1ChosenIRFilePath,rightCab0ChosenIRFilePath,rightCab1ChosenIRFilePath - Delay:
delayActive,delayTime,delayTempo,delaySync,delayNote,delayMode,delayType,delayFeedback,delayMix,delayAmount,delayHighCut,delayLowCut - Reverb:
reverbActive,reverbMix,reverbDecay,reverbHighCut,reverbLowCut,reverbShimmer - Chorus:
chorusActive,chorusMix - Multivoicer:
multivoicerMode,multivoicerRoot,multivoicerQuantize,multivoicerTuning,multivoicerTone,multivoicerWidth,multivoicerOutput,multivoicerMidiEnabled,multivoicerUnison,multivoicerVoice1Active,multivoicerVoice1Level,multivoicerVoice1Pan,multivoicerVoice1Delay,multivoicerVoice1Detune,multivoicerVoice1Interval,multivoicerVoice1Semitones,multivoicerVoice2Active,multivoicerVoice2Level,multivoicerVoice2Pan,multivoicerVoice2Delay,multivoicerVoice2Detune,multivoicerVoice2Interval,multivoicerVoice2Semitones,multivoicerVoice3Active,multivoicerVoice3Level,multivoicerVoice3Pan,multivoicerVoice3Delay,multivoicerVoice3Detune,multivoicerVoice3Interval,multivoicerVoice3Semitones,multivoicerVoice4Active,multivoicerVoice4Level,multivoicerVoice4Pan,multivoicerVoice4Delay,multivoicerVoice4Detune,multivoicerVoice4Interval,multivoicerVoice4Semitones
For full authoritative keys from your installed version, run the params command.
Technical Details
Amp Selector (selectedAmp)
0→ Acoustic amp (piezo/blend)1→ Rhythm amp (mid-gain, 2 channels)2→ Lead amp (high-gain)
The only parameters that matter for a given preset are the ones for the selected amp; the others are ignored by the plugin.
Preset Name
The name parameter inside the JSON controls the display name in the plugin GUI. Use spaces for readability (e.g. "name": "Joe Satriani Surfing"). The script will write the file with spaces in the filename too.
Genre Quick-Starts
These are generic starting points — tweak to taste.
Clean / Ambient / Post-Rock
selectedAmp: 1(Rhythm)rhythmGain: 0.25–0.40compActive: true,compCompression: 0.35,compLevel: 0.7chorusActive: true,chorusMix: 0.25–0.45reverbActive: true,reverbMix: 0.30–0.50,reverbDecay: 0.6–0.9,reverbShimmer: 0.15–0.35delayActive: true,delayTime: 350–550,delayMix: 0.20–0.35,delayFeedback: 0.25–0.40gateActive: false(let tails breathe)
Doom / Stoner / Psych Lead
selectedAmp: 2(Lead)leadGain: 0.70–0.85leadBass: 0.50–0.65,leadMiddle: 0.45,leadTreble: 0.35–0.50boostActive: true,boostGain: 0.4–0.6overdriveActive: true,overdriveDrive: 0.3–0.5,overdriveLevel: 0.6–0.8delayActive: true,delayTime: 450–700,delayMix: 0.20–0.35reverbActive: true,reverbMix: 0.25–0.40,reverbDecay: 0.5–0.7gateActive: false
Shred / High-Gain Lead
selectedAmp: 2leadGain: 0.75–0.90leadBass: 0.45,leadMiddle: 0.50,leadTreble: 0.55–0.65leadPresence: 0.55–0.70reverbActive: true,reverbMix: 0.15–0.25,reverbDecay: 0.4–0.6delayActive: true,delayTime: 350–450,delayMix: 0.15–0.25compActive: true,compCompression: 0.2–0.3
Complete Example
# Progressive stoner lead — Gaupa solo
echo '{
"name": "Gaupa Fabersvan Solo",
"selectedAmp": 2,
"leadGain": 0.75,
"leadBass": 0.55,
"leadMiddle": 0.5,
"leadTreble": 0.45,
"leadPresence": 0.5,
"leadOutput": 0.8,
"compActive": true,
"compCompression": 0.3,
"compLevel": 0.75,
"boostActive": true,
"boostGain": 0.5,
"overdriveActive": true,
"overdriveDrive": 0.4,
"overdriveLevel": 0.7,
"delayActive": true,
"delayTime": 550,
"delayMix": 0.3,
"delayFeedback": 0.35,
"reverbActive": true,
"reverbMix": 0.3,
"reverbDecay": 0.6,
"chorusActive": true,
"chorusMix": 0.2,
"inputGain": 0.8,
"gateActive": false
}' | python3 "/Users/arjunmahishi/.config/opencode/skills/tim-henson-presets/tim_henson_skill.py" generate --name "Gaupa Fabersvan Solo"