webmcp-synth-creator.vercel.app
A browser wavetable synthesizer with transactional WebMCP editing and Vital preset export.
First seen 2026-11-05 · Last seen 2026-11-05 · Source: webmcp.com
Answer 5 · Act 10 · Transact 0 · Score: Not yet scored
Tool inspector
create_variant
Default comparison and refinement path when musical judgment is unresolved: clone the selected patch to B and contrast one named comparisonAxis while preserving A for simultaneous audition. Use direct apply_patch edits instead for settled, precise changes, even when they are high-impact. Replacing B starts a new comparison on the supplied axis; this is not undo.
Input schema
| Property | Type | Required | Description |
|---|---|---|---|
description |
string | yes | Concise intent for B, framed as a useful alternative to A. |
comparisonAxis |
string | yes | Required musical dimension being judged, such as harmonic profile, motion character, or stereo width. |
changes |
array | yes | — |
replaceExisting |
boolean | no | Set true only when explicitly replacing an existing B alternative. |
Raw JSON schema
{
"type": "object",
"examples": [
{
"description": "Create a wider B alternative while preserving the tone",
"comparisonAxis": "stereo width",
"changes": [
{
"path": "metadata.name",
"value": "Ethereal Gate Wide B"
},
{
"path": "oscillators.0.stereoSpread",
"value": 1
},
{
"path": "oscillators.0.unisonVoices",
"value": 7
}
]
}
],
"properties": {
"description": {
"type": "string",
"minLength": 1,
"maxLength": 500,
"description": "Concise intent for B, framed as a useful alternative to A."
},
"comparisonAxis": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Required musical dimension being judged, such as harmonic profile, motion character, or stereo width."
},
"changes": {
"type": "array",
"minItems": 1,
"maxItems": 32,
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"op": {
"type": "string",
"const": "tone"
},
"brightness": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"keep_air": {
"type": "boolean"
},
"resonance": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"op",
"brightness"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"op": {
"type": "string",
"const": "articulation"
},
"kind": {
"type": "string",
"enum": [
"pluck",
"stab",
"percussive",
"keys",
"bell",
"pad",
"swell",
"sustain",
"reverse"
]
},
"speed": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"op",
"kind"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"op": {
"type": "string",
"const": "timbre"
},
"character": {
"type": "string",
"enum": [
"pure",
"warm",
"bright",
"hollow",
"vocal",
"metallic",
"glassy",
"harsh",
"digital"
]
},
"position": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"target": {
"enum": [
1,
2,
3,
"both",
"all"
]
}
},
"required": [
"op",
"character"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"op": {
"type": "string",
"const": "width"
},
"amount": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"method": {
"type": "string",
"enum": [
"unison",
"pan",
"stereo_fx",
"auto"
]
}
},
"required": [
"op",
"amount"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"op": {
"type": "string",
"const": "space"
},
"amount": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"size": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"delay_amount": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"predelay": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"op",
"amount"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"op": {
"type": "string",
"const": "drive"
},
"amount": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"character": {
"type": "string",
"enum": [
"soft",
"hard",
"fold",
"crush"
]
}
},
"required": [
"op",
"amount"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"op": {
"type": "string",
"const": "movement"
},
"amount": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"rate": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"target": {
"type": "string",
"enum": [
"level",
"position",
"pitch",
"cutoff"
]
},
"scope": {
"enum": [
"all",
1,
2,
3
]
},
"shape": {
"type": "string",
"enum": [
"sine",
"triangle",
"ramp_up",
"ramp_down",
"random",
"smooth_random"
]
}
},
"required": [
"op",
"amount"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"op": {
"type": "string",
"const": "gate"
},
"pattern": {
"type": "string",
"enum": [
"even_8",
"even_16",
"offbeat",
"long_short",
"short_long",
"triplet",
"dotted",
"swung",
"stutter",
"none"
]
},
"division": {
"type": "string",
"enum": [
"1/1",
"1/2",
"1/4",
"1/8",
"1/8T",
"1/16",
"1/16T",
"1/32",
"1/64"
]
},
"depth": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"smoothing": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"target": {
"type": "string",
"enum": [
"level",
"position",
"pitch",
"cutoff"
]
},
"scope": {
"enum": [
"all",
1,
2,
3
]
}
},
"required": [
"op",
"pattern"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"op": {
"type": "string",
"const": "balance"
},
"osc1": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"osc2": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"osc3": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"op"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"op": {
"type": "string",
"const": "layer"
},
"role": {
"type": "string",
"enum": [
"sub",
"octave_up",
"fifth",
"unison_detune",
"none"
]
},
"level": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"wavetable": {
"type": "string",
"minLength": 1
}
},
"required": [
"op",
"role"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"op": {
"type": "string",
"const": "pitch"
},
"octave": {
"type": "integer",
"minimum": -3,
"maximum": 3
},
"semitones": {
"type": "integer",
"minimum": -12,
"maximum": 12
},
"glide": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"mono": {
"type": "boolean"
},
"legato": {
"type": "boolean"
}
},
"required": [
"op"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"op": {
"type": "string",
"const": "response"
},
"velocity_to_level": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"velocity_to_cutoff": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"keytrack": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"op"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"path": {
"type": "string",
"enum": [
"metadata.name",
"metadata.category",
"metadata.description",
"metadata.tags",
"oscillators.0.enabled",
"oscillators.0.wavetableId",
"oscillators.0.wavetablePosition",
"oscillators.0.level",
"oscillators.0.transposeSemitones",
"oscillators.0.fineTuneCents",
"oscillators.0.unisonVoices",
"oscillators.0.unisonDetune",
"oscillators.0.stereoSpread",
"oscillators.0.randomPhase",
"oscillators.0.pan",
"oscillators.1.enabled",
"oscillators.1.wavetableId",
"oscillators.1.wavetablePosition",
"oscillators.1.level",
"oscillators.1.transposeSemitones",
"oscillators.1.fineTuneCents",
"oscillators.1.unisonVoices",
"oscillators.1.unisonDetune",
"oscillators.1.stereoSpread",
"oscillators.1.randomPhase",
"oscillators.1.pan",
"oscillators.2.enabled",
"oscillators.2.wavetableId",
"oscillators.2.wavetablePosition",
"oscillators.2.level",
"oscillators.2.transposeSemitones",
"oscillators.2.fineTuneCents",
"oscillators.2.unisonVoices",
"oscillators.2.unisonDetune",
"oscillators.2.stereoSpread",
"oscillators.2.randomPhase",
"oscillators.2.pan",
"ampEnvelope.delaySeconds",
"ampEnvelope.attackSeconds",
"ampEnvelope.holdSeconds",
"ampEnvelope.decaySeconds",
"ampEnvelope.sustainLevel",
"ampEnvelope.releaseSeconds",
"ampEnvelope.attackCurve",
"ampEnvelope.decayCurve",
"ampEnvelope.releaseCurve",
"modEnvelope.delaySeconds",
"modEnvelope.attackSeconds",
"modEnvelope.holdSeconds",
"modEnvelope.decaySeconds",
"modEnvelope.sustainLevel",
"modEnvelope.releaseSeconds",
"modEnvelope.attackCurve",
"modEnvelope.decayCurve",
"modEnvelope.releaseCurve",
"filter.enabled",
"filter.type",
"filter.cutoffHz",
"filter.resonance",
"filter.slope",
"filter.drive",
"filter.keytrack",
"filter.velocityToCutoff",
"lfo1.enabled",
"lfo1.points",
"lfo1.rate",
"lfo1.phase",
"lfo1.smooth",
"lfo1.smoothing",
"lfo1.target",
"lfo1.scope",
"lfo1.depth",
"lfo2.enabled",
"lfo2.points",
"lfo2.rate",
"lfo2.phase",
"lfo2.smooth",
"lfo2.smoothing",
"lfo2.target",
"lfo2.scope",
"lfo2.depth",
"voice.polyphony",
"voice.legato",
"voice.glideSeconds",
"voice.velocitySensitivity",
"voice.transposeSemitones",
"effects.order",
"effects.distortion.enabled",
"effects.distortion.type",
"effects.distortion.drive",
"effects.distortion.mix",
"effects.compressor.enabled",
"effects.compressor.bands",
"effects.compressor.amount",
"effects.compressor.attack",
"effects.compressor.release",
"effects.compressor.mix",
"effects.chorus.enabled",
"effects.chorus.voices",
"effects.chorus.rate",
"effects.chorus.depth",
"effects.chorus.feedback",
"effects.chorus.mix",
"effects.delay.enabled",
"effects.delay.mode",
"effects.delay.division",
"effects.delay.timeSeconds",
"effects.delay.feedback",
"effects.delay.mix",
"effects.reverb.enabled",
"effects.reverb.mix",
"effects.reverb.decaySeconds",
"effects.reverb.size",
"effects.reverb.predelay",
"effects.reverb.lowCut",
"effects.reverb.highCut"
]
},
"value": {
"description": "JSON value for the selected path. The path-specific type and bounds are validated before commit.",
"oneOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "array"
},
{
"type": "object"
}
]
}
},
"required": [
"path",
"value"
],
"additionalProperties": false
}
]
}
},
"replaceExisting": {
"type": "boolean",
"description": "Set true only when explicitly replacing an existing B alternative."
}
},
"required": [
"description",
"comparisonAxis",
"changes"
],
"additionalProperties": false
}
Similar websites
wfsim.app
A Warframe calculator that simulates the fight instead of estimating it — builder, simulator, optimizer. Every formula cites its source, and the golden tests ar…
commonplace-webmcp.vercel.app
Commonplace is an editable social reading space built for people and their browser agents.
pixelforge-studio.appcaster.chatgpt.site
A professional browser pixel-art editor for drawing, frame animation, palettes, sprite sheets, GIF export, and WebMCP automation.
pixelite.taskcraft.site
Pixelite