cosynth.vercel.app
A synthesizer you control by talking to AI.
First seen 2026-11-05 · Last seen 2026-11-05 · Source: webmcp.com
Answer 8 · Act 14 · Transact 2 · Score: Not yet scored
Tool inspector
apply_patch
Build a whole sound in one call: parameters, modulation routes and FX order applied together, then optionally saved and auditioned. Everything is validated before anything is applied and the patch lands all or nothing, using the same validation `update_parameters` and `set_modulation` use. `dryRun: true` reports what would change and touches nothing. `auditionNotes` RENDERS the result rather than playing it, so it needs no Start gesture. `rollbackId` in the result is the history version that undoes the whole call.
Input schema
| Property | Type | Required | Description |
|---|---|---|---|
parameters |
array | no | What `update_parameters` takes: raw-unit values or choice labels. |
modulations |
object | no | Routes as `set_modulation`'s `add` resolves them. `replace: true` clears the matrix first, so `routes` becomes all of it; on its own it just clears. |
fxOrder |
array | no | All 8 effect ids exactly once, in processing order (default chorus, phaser, flanger, delay, reverb, eq, comp, fxdist). A missing, repeated or unknown id is an error, not a partial reorder. |
presetName |
string | no | Save the applied patch under this name, as save_preset would. |
auditionNotes |
array | no | Render these against the new patch and return its metrics: the render_audio step without a second round trip. |
dryRun |
boolean | no | Validate and report what would change, applying, saving and rendering nothing. |
Raw JSON schema
{
"type": "object",
"properties": {
"parameters": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"value": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
]
}
},
"required": [
"id",
"value"
],
"additionalProperties": false
},
"description": "What `update_parameters` takes: raw-unit values or choice labels."
},
"modulations": {
"type": "object",
"description": "Routes as `set_modulation`'s `add` resolves them. `replace: true` clears the matrix first, so `routes` becomes all of it; on its own it just clears.",
"properties": {
"replace": {
"type": "boolean"
},
"routes": {
"type": "array",
"maxItems": 32,
"items": {
"type": "object",
"properties": {
"source": {
"type": "string",
"description": "One of: env1, env2, env3, env4, env5, env6, lfo1, lfo2, lfo3, lfo4, lfo5, lfo6, lfo7, lfo8, velocity, keytrack, random, macro1, macro2, macro3, macro4, modwheel, pitchwheel, aftertouch."
},
"destination": {
"type": "string",
"description": "Moddable parameter id."
},
"depth": {
"type": "number",
"minimum": -1,
"maximum": 1
},
"enabled": {
"type": "boolean"
}
},
"required": [
"source",
"destination",
"depth"
],
"additionalProperties": false
}
}
},
"additionalProperties": false
},
"fxOrder": {
"type": "array",
"minItems": 8,
"maxItems": 8,
"items": {
"type": "string",
"enum": [
"chorus",
"phaser",
"flanger",
"delay",
"reverb",
"eq",
"comp",
"fxdist"
]
},
"description": "All 8 effect ids exactly once, in processing order (default chorus, phaser, flanger, delay, reverb, eq, comp, fxdist). A missing, repeated or unknown id is an error, not a partial reorder."
},
"presetName": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"description": "Save the applied patch under this name, as save_preset would."
},
"auditionNotes": {
"type": "array",
"minItems": 1,
"maxItems": 128,
"items": {
"type": "object",
"properties": {
"midi": {
"type": "integer",
"minimum": 0,
"maximum": 127,
"description": "Pitch as a number. Pass this or `note`, never both."
},
"note": {
"type": "string",
"minLength": 2,
"maxLength": 5,
"description": "Pitch as a name with an octave: \"C4\" is MIDI 60, \"D2\" is 73.4 Hz. Sharps \"#\", flats \"b\". Pass this or `midi`, never both."
},
"velocity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"start": {
"type": "number",
"minimum": 0
},
"duration": {
"type": "number",
"exclusiveMinimum": 0
}
},
"required": [
"velocity",
"start",
"duration"
],
"oneOf": [
{
"required": [
"midi"
]
},
{
"required": [
"note"
]
}
],
"additionalProperties": false
},
"description": "Render these against the new patch and return its metrics: the render_audio step without a second round trip."
},
"dryRun": {
"type": "boolean",
"description": "Validate and report what would change, applying, saving and rendering nothing."
}
},
"additionalProperties": false
}
Similar websites
reloadium.com
Paste a topic, URL, or PDF/TXT/MD — get a multi-episode AI podcast with audio, transcripts, timelines and quizzes. 60+ languages.
api.lmm.best
Connect AI models, tools and applications with LMM Forge. Explore model access, developer guides and open-source collaboration.
deskintab.dgkhan08.workers.dev
An operating system in your browser, where you and your AI agent share apps, files, and projects through WebMCP.
webmcp.agentsdesk.dev
Meridian Ops