MCP FOR GAME AUDIO / 01
TEDER
AGENTHUMAN
SOUND
A game-audio engine for agents and humans.
VALIDATED SOURCE.
ONE SHARED AUDIO MODEL.
TEDER is a TypeScript monorepo built around one validated audio model. The editor, offline renderer and browser runtime execute the same Tone.js graph, while MCP exposes a constrained set of project operations to AI agents.
THE PLATFORM / 01
Teder is a local-first engine for creating game sound and soundtracks with AI agents through MCP. Agents can create, edit and render audio assets as structured source; for people, that same work becomes a visual studio of virtual synths and sequencers for shaping, saving and reusing every sound.
01MCP tools for AI agents
02Virtual synths and sequencers
03Editable, reusable sound assets
04Generative audio models — planned
- 01GENERATE
AI agents use MCP tools to create and edit validated .teder sound, pattern and composition files.
- 02SHAPE
Open the same files in the editor to adjust synth, envelope, automation and sequence parameters.
- 03SHIP
Render WAV assets or use live browser playback. Direct generation with audio models is planned, but not yet available.
EXPLORE THE
SOUND LAB
Compare TEDER sound, pattern and composition definitions in a compact interface preview.
pnpm teder --project examples/web-game-audio devCODE. SHAPE.
SEQUENCE.
AUTHOR ONCE.
TRIGGER IN PLAY.
TEDER supports rendered and live playback. For rendered delivery, the editor validates .teder source and exports WAV files; live mode runs the same cue definitions through the browser runtime.
pnpm teder --project examples/web-game-audio render --allsfx("player.jump")
.name("Player Jump")
.synth("arcade")
.preset("playful-jump")
.duration(260)
.seed(42)
.set({
noiseAmount: 0.06,
waveform: "triangle"
})
.automate("pitchHz", [
point(0, 220, "smooth"),
point(90, 680, "smooth"),
point(220, 400, "linear")
]);// Rendered asset delivery example
const sfx = {
jump: new Audio("/audio/player.jump.wav"),
impact: new Audio("/audio/player.impact.wav")
};
function playOneShot(sample: HTMLAudioElement, volume = 1) {
const voice = sample.cloneNode(true) as HTMLAudioElement;
voice.volume = volume;
void voice.play();
}
export function playerJump(player: Player) {
player.velocity.y = -620;
playOneShot(sfx.jump, 0.72);
}
export function playerImpact(player: Player, speed: number) {
if (speed < 240) return;
player.health -= Math.round(speed / 80);
playOneShot(sfx.impact, Math.min(speed / 900, 1));
}GENERATE.
SHAPE.
RENDER.

Edit synth, envelope, filter and automation settings for a gameplay cue, then render a deterministic WAV asset.
PLAYER JUMP / ARCADE SYNTH / PLAYFUL JUMPSEQUENCE.
ARRANGE.
SHIP.

Build a repeatable four-track cue with tempo, seed and arrangement kept visible in one workspace.
MENU THEME / 92 BPM / SEED 42 / 8 BARSEXPLORE THE SOURCE
Browse the TEDER repository, including the editor, CLI, browser runtime and MCP server.
VIEW TEDER ON GITHUB ↗