tonic.stranica.workers.dev
Learn piano fundamentals on your computer keyboard or a MIDI piano, with your own AI agent as the tutor. Built on WebMCP. Nothing you play leaves your browser.
First seen 2026-11-05 · Last seen 2026-11-05 · Source: webmcp.com
Answer 13 · Act 24 · Transact 0 · Score: Not yet scored
Tool inspector
add_song
Add a song to the student's library so it gets Listen, Practice, sections and progress like any other song. Write the melody in Tonic notation: note names with octave (C4, F#4, Bb3) and beats after a colon (E4:0.5, G4:2; default 1), "-" for a rest ("-:2"), [C3 E3 G3] for a chord, "|" bar lines optional. Every section must be whole bars; an optional left hand (lh) must be the same length as the right hand (rh). Keep right-hand notes within C4–F5 so they fit the computer keyboard. The page validates and shows a confirmation card before saving. Prefer public-domain tunes or the student's own material. Example: {"title":"Ode to Joy","key":"C major","bpm":80,"sections":[{"name":"Theme","rh":"E4 E4 F4 G4 | G4 F4 E4 D4 | C4 C4 D4 E4 | E4:1.5 D4:0.5 D4:2"}]}
Page: /
Input schema
| Property | Type | Required | Description |
|---|---|---|---|
title |
string | yes | — |
origin |
string | no | Composer or tradition and year, e.g. "Traditional Irish". |
genre |
string | no | — |
moods |
array | no | — |
difficulty |
integer | no | — |
key |
string | no | e.g. "F major" or "A minor". Flat keys spell notes with flats. |
bpm |
number | no | 30–240, default 80. |
beats_per_bar |
integer | no | Default 4. Use 3 for waltzes; count 6/8 in eighths with 6. |
blurb |
string | no | One line for the student. |
techniques |
array | no | — |
sections |
array | yes | — |
form |
array | no | Section order for the whole song, e.g. ["a","b","a"]. Default: sections in order. |
Raw JSON schema
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"origin": {
"type": "string",
"description": "Composer or tradition and year, e.g. \"Traditional Irish\"."
},
"genre": {
"type": "string",
"enum": [
"kids",
"folk",
"holiday",
"hymn",
"classical"
]
},
"moods": {
"type": "array",
"items": {
"type": "string",
"enum": [
"calm",
"joyful",
"playful",
"festive",
"melancholic",
"solemn",
"majestic"
]
}
},
"difficulty": {
"type": "integer",
"minimum": 1,
"maximum": 5
},
"key": {
"type": "string",
"description": "e.g. \"F major\" or \"A minor\". Flat keys spell notes with flats."
},
"bpm": {
"type": "number",
"description": "30–240, default 80."
},
"beats_per_bar": {
"type": "integer",
"description": "Default 4. Use 3 for waltzes; count 6/8 in eighths with 6."
},
"blurb": {
"type": "string",
"description": "One line for the student."
},
"techniques": {
"type": "array",
"items": {
"type": "string"
}
},
"sections": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Short id like \"a\", \"verse\". Default a, b, c…"
},
"name": {
"type": "string",
"description": "Shown to the student, e.g. \"Verse\"."
},
"rh": {
"type": "string",
"description": "Right-hand melody in Tonic notation."
},
"lh": {
"type": "string",
"description": "Optional left hand, same length as rh."
}
},
"required": [
"rh"
],
"additionalProperties": false
}
},
"form": {
"type": "array",
"items": {
"type": "string"
},
"description": "Section order for the whole song, e.g. [\"a\",\"b\",\"a\"]. Default: sections in order."
}
},
"required": [
"title",
"sections"
],
"additionalProperties": false
}
Similar websites
pocketgull.app
Pocket Gull is a real-time clinical AI consult engine powered by Google Gemini. Features 10D multi-paradigm strategy, FHIR R4 export & 3D spatial anatomy.
webmcp-six-lac.vercel.app
AI Navigation Layer: Model Context Protocol (MCP) Semantic DOM integration for intelligent, safe, and observable web navigation.
ghqsandbox.net
Interactive math and physics tools an AI agent can drive directly through WebMCP.
app.formative.com
Formative classroom assessment and learning platform