API & MCP
Everything a person can do on Drum Synthesizer (WAV one-shots), a program or AI agent can do with the same inputs and get the identical result.
HTTP API
POST https://tonegriddrumsynth.usefulweb.app/api/v1/calculate– run Drum Synthesizer (WAV one-shots)GET https://tonegriddrumsynth.usefulweb.app/api/v1/tool– inputs, output schema, examples- OpenAPI 3.1: /openapi.json · /openapi.yaml
- Errors:
application/problem+json;422includes per-fielderrors.
Drum Synthesizer (WAV one-shots)
Synthesizes a drum sound without samples: a pitch-swept tone, filtered noise, metallic square-wave clusters, clap bursts, a click and saturation, each with its own decay. Start from one of eleven presets, change any setting with a small JSON object, and get a 16-bit mono WAV one-shot plus its waveform, spectrum and level. The same synthesizer as the Drum Lab in the Tonegrid app.
| Field | Type | Default | Description |
|---|---|---|---|
preset | select (deep-kick, punchy-kick, tight-snare, fat-snare, closed-hat, open-hat, hand-clap, low-tom, high-tom, rimshot, laser-zap) | "deep-kick" | Start from preset |
settings | textarea | — | Change settings (JSON, optional). Any of: toneStart, toneEnd (Hz), pitchDecay, toneDecay (s), wave (sine/triangle), toneLevel, noiseLevel, noiseDecay, noiseFilter (lowpass/bandpass/highpass), noiseHz, noiseQ, metalLevel, metalHz, bursts, burstSpacing, click, drive, level, seed, name, kind. Empty = the preset as it is. Tonegrid’s “Copy settings” gives a complete object. |
Example request
Hand clap preset
curl -X POST https://tonegriddrumsynth.usefulweb.app/api/v1/calculate -H 'content-type: application/json' -d '{"preset":"hand-clap","settings":""}'
Every result contains
inputs (normalised, defaults applied), summary, result (validated against the published schema), units, assumptions, sources, warnings, computedAt and links.
MCP (Model Context Protocol)
- Streamable HTTP endpoint:
https://tonegriddrumsynth.usefulweb.app/mcp– protocol revisions 2026-07-28 (stateless) and 2025-11-25 / 2025-06-18 / 2025-03-26 (initialize handshake). - Tools:
tonegrid_drum_synth - Local stdio connector:
node src/mcp-stdio.ts --tool=tonegrid-drum-synth
{
"mcpServers": {
"tonegrid-drum-synth": { "type": "http", "url": "https://tonegriddrumsynth.usefulweb.app/mcp" }
}
}