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
render_audio
Render a bounded note sequence and return `metrics` for it (plus `metricNotes`, which says how to read them). Offline by default: repeatable scheduling, far faster than real time, and available before the human starts audio. Each note names its pitch as `note` ("D2") or `midi` (38), never both. The fundamental is MEASURED from the render, never assumed from the note asked for, so a transposed or detuned patch shows up as a real number: `pitchCheck` puts the requested note and the measured one side by side.
Input schema
| Property | Type | Required | Description |
|---|---|---|---|
notes |
array | yes | — |
duration |
number | no | — |
mode |
string | no | Default "offline". "realtime" captures the live AudioWorklet output and needs running audio; with no OfflineAudioContext an offline request falls back to real time via `renderModeFallback`. |
format |
string | no | Payload beside the metrics: "metrics" (default) or "url", a page-local blob URL of the rendered WAV a human can click to hear it. The URL costs a few dozen bytes; the samples themselves are never returned. |
Raw JSON schema
{
"type": "object",
"properties": {
"notes": {
"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
}
},
"duration": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 15
},
"mode": {
"type": "string",
"enum": [
"offline",
"realtime"
],
"description": "Default \"offline\". \"realtime\" captures the live AudioWorklet output and needs running audio; with no OfflineAudioContext an offline request falls back to real time via `renderModeFallback`."
},
"format": {
"type": "string",
"enum": [
"metrics",
"url"
],
"description": "Payload beside the metrics: \"metrics\" (default) or \"url\", a page-local blob URL of the rendered WAV a human can click to hear it. The URL costs a few dozen bytes; the samples themselves are never returned."
}
},
"required": [
"notes"
],
"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