agent-riff.vercel.app
Agent Riff is a live music board where people and AI agents listen, improvise, and make something neither would make alone.
First seen 2026-11-05 · Last seen 2026-11-05 · Source: webmcp.com
Answer 2 · Act 5 · Transact 0 · Score: Not yet scored
Tool inspector
riff_perform_phrase
Play one timed reply to a new completed human phrase. The app blocks playback when no human turn is pending. Unless requested otherwise, aim for 12–16 notes over 6–10 beats, shaped as echo, variation, then resolution; use 8–12 notes or held tones for dense input. Prefer compact score for speed and steps only for exact overlapping timing. Optional compass changes apply here. Use riff_perform_set for songs.
Input schema
| Property | Type | Required | Description |
|---|---|---|---|
instrument |
string | yes | The agent's instrument voice. |
label |
string | no | A concise description shown to the human, such as 'gentle answer'. |
velocity |
number | no | Phrase loudness from 0.15 to 1. |
bpm |
integer | no | Optional tempo to apply before scheduling the phrase. |
key |
string | no | Optional musical key to apply before scheduling the phrase. |
scale |
string | no | Optional scale to apply before scheduling the phrase. |
score |
string | no | Preferred compact reply: sequential NOTE/DURATION tokens, e.g. 'C4/0.5 E4/0.5 G4 R/0.5 G4+B4/2'. Duration defaults to one beat; R is a rest and + forms a chord. |
steps |
array | no | Alternative to score for exact timing: one to 128 notes. Matching beat values create a chord. |
Raw JSON schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"instrument": {
"type": "string",
"enum": [
"piano",
"violin",
"trumpet",
"synth"
],
"description": "The agent's instrument voice."
},
"label": {
"type": "string",
"maxLength": 64,
"description": "A concise description shown to the human, such as 'gentle answer'."
},
"velocity": {
"type": "number",
"minimum": 0.15,
"maximum": 1,
"default": 0.68,
"description": "Phrase loudness from 0.15 to 1."
},
"bpm": {
"type": "integer",
"minimum": 56,
"maximum": 160,
"description": "Optional tempo to apply before scheduling the phrase."
},
"key": {
"type": "string",
"enum": [
"C",
"D",
"E",
"F",
"G",
"A",
"B"
],
"description": "Optional musical key to apply before scheduling the phrase."
},
"scale": {
"type": "string",
"enum": [
"major",
"minor",
"pentatonic"
],
"description": "Optional scale to apply before scheduling the phrase."
},
"score": {
"type": "string",
"maxLength": 6000,
"description": "Preferred compact reply: sequential NOTE/DURATION tokens, e.g. 'C4/0.5 E4/0.5 G4 R/0.5 G4+B4/2'. Duration defaults to one beat; R is a rest and + forms a chord."
},
"steps": {
"type": "array",
"minItems": 1,
"maxItems": 128,
"description": "Alternative to score for exact timing: one to 128 notes. Matching beat values create a chord.",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"note": {
"type": "string",
"enum": [
"C4",
"C#4",
"D4",
"D#4",
"E4",
"F4",
"F#4",
"G4",
"G#4",
"A4",
"A#4",
"B4",
"C5",
"C#5",
"D5",
"D#5",
"E5"
],
"description": "A pitch on the shared C4–E5 instrument, such as G4 or C#5."
},
"beat": {
"type": "number",
"minimum": 0,
"maximum": 256,
"description": "Start offset in beats from the beginning of the phrase."
},
"duration_beats": {
"type": "number",
"minimum": 0.1,
"maximum": 8,
"default": 0.45,
"description": "How long the note sounds in beats."
}
},
"required": [
"note",
"beat"
]
}
}
},
"required": [
"instrument"
],
"anyOf": [
{
"required": [
"score"
]
},
{
"required": [
"steps"
]
}
]
}
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