Overview
Generates 16-bit WAV files with smooth ADSR envelopes and provides downloadable audio with automatic expiration handling.
Live Test Music Note Generator Skill Skill →
The tool
Once your client is connected to the VerveKit server, this appears in its tool list as MusicNoteGeneratorSkill. It is read-only and open-world — it fetches and never mutates anything on your side — so most clients call it without asking you to confirm.
{
"name": "MusicNoteGeneratorSkill",
"arguments": {
"note": "C"
}
}You do not name the tool yourself; the model picks it. Asking about C in the terms this skill covers is enough for it to reach for MusicNoteGeneratorSkill on its own — naming it explicitly also works, and is the way to force the call.
Connecting
One server URL covers every skill in the catalog, including this one. Authorization is OAuth: the client opens a browser once, and there is no key to paste into a config file.
{
"mcpServers": {
"vervekit": {
"url": "https://api.vervekit.com/v1/mcp"
}
}
}https://api.vervekit.com/v1/mcpPer-client setup — Claude, Cursor, VS Code, ChatGPT — is on the MCP setup page.
Arguments
These are the properties on the tool's inputSchema, so a well-behaved client validates them before the call is made. Premium arguments are accepted on every plan but only take effect on plans that include them.
| Argument | Type | Description |
|---|---|---|
noteRequired | string | Musical note (A-G with optional # or b)AA#AbBBbCC#D+9 |
octaveOptional | integer | Octave number default 4 · range 0–8 |
durationOptionalPremium | number | Duration in seconds default 1 · range 0.1–10 |
What the model gets back
The result carries a structuredContent object matching the tool's declared outputSchema, so a client reads fields without parsing prose. status is "ok" and error is null on success; a null field means the value was not available for that input, not that the call failed.
{
"status": "ok",
"error": null,
"data": {
"note": "C",
"octave": 4,
"frequency": 261.63,
"duration": 1,
"audio": {
"audioFile": "72510463-6388-4588-8e08-5714f20f9c67.wav",
"format": ".wav",
"downloadURL": "https://storage.googleapis.com/apiverve/APIData/musicnotegenerator/72510463-6388-4588-8e08-5714f20f9c67.wav?GoogleAccessId=635500398038-compute%40developer.gserviceaccount.com&Expires=1765925810&Signature=djWUb%2B8QmrAZLTEDiPAIB%2Bx7w7OYyJiClHTcPtkIvvtlKT01z%2FxJMMjUMvUHTx0aRpF94Oq5jdFKBqw2NPKOaEQPNIeF%2BukRt3cS5chrLI3ynvnLobkz4%2FrTGXW8r2BE42oWGMC1xjTJpdU5IMQjhEmWDMRPWzJo5sy6ZQAll5US9DtSVl7Tc2wyHCZRlxcTxlOLPCWv9SZ6Mn8i4kSXITWwp2FaR%2BEdJOi6bpRYkBBmWvnLlAiNFTm44v5QKm7dwXpAAyoidJ4%2Bo%2B2OErXHJ%2BTDMiLwFHZAc4Bt4slYTX5henGIt752fCoj2%2FOaLWSXp%2BnJNFkvKdKxVpDH40y%2FqA%3D%3D",
"duration": "1.00s",
"sampleRate": "44100Hz",
"bitDepth": "16-bit",
"expires": 1765925810991
}
}
}
Response fields
Paths are relative to data. Premium fields are absent rather than zeroed on plans that do not include them, so check for presence instead of comparing to 0.
| Field | Type | Example | Description |
|---|---|---|---|
note | string | C | Musical note that was generated |
octave | number | 4 | Octave number used for generation |
frequencyPremium | number | 261.63 | Frequency in Hz of the generated note |
duration | number | 1 | Duration in seconds of the audio file |
audio | object | {…} | The rendered tone, with its download URL and expiry |
audio.audioFile | string | 72510463-6388-4588-8e08-5714f20f9c67.wav | |
audio.format | string | .wav | |
audio.downloadURL | string | https://storage.googleapis.com/apiverve/APIData/musicnotegenerator/72510463-6388-4588-8e08-5714f20f9c67.wav?GoogleAccessId=635500398038-compute%40developer.gserviceaccount.com&Expires=1765925810&Signature=djWUb%2B8QmrAZLTEDiPAIB%2Bx7w7OYyJiClHTcPtkIvvtlKT01z%2FxJMMjUMvUHTx0aRpF94Oq5jdFKBqw2NPKOaEQPNIeF%2BukRt3cS5chrLI3ynvnLobkz4%2FrTGXW8r2BE42oWGMC1xjTJpdU5IMQjhEmWDMRPWzJo5sy6ZQAll5US9DtSVl7Tc2wyHCZRlxcTxlOLPCWv9SZ6Mn8i4kSXITWwp2FaR%2BEdJOi6bpRYkBBmWvnLlAiNFTm44v5QKm7dwXpAAyoidJ4%2Bo%2B2OErXHJ%2BTDMiLwFHZAc4Bt4slYTX5henGIt752fCoj2%2FOaLWSXp%2BnJNFkvKdKxVpDH40y%2FqA%3D%3D | |
audio.duration | string | 1.00s | Duration in seconds of the audio file |
audio.sampleRate | string | 44100Hz | |
audio.bitDepth | string | 16-bit | |
audio.expires | number | 1765925810991 |
Failure modes
Errors come back as tool errors carrying a sentence the model can act on, not a bare status code. Error handling covers the full list.
| Status | What it means |
|---|---|
400 / 422 | The arguments did not validate. The message names the offending one. |
401 | The OAuth session is invalid or expired — reconnect the server. |
403 | Blocked by a key restriction or an IP allow-list. Never a bad identity. |
404 | This skill is not part of VerveKit. Check the catalog. |
429 | Out of credits, or a brief rate limit. The message tells them apart. |
A call costs 2 credits each time the tool actually runs; a model that reasons about the tool without calling it costs nothing.
Use cases
- Music Education
- Generate musical notes for educational applications and learning tools
- Audio Synthesis
- Create synthesized musical tones for composition and experimentation
- Game Development
- Generate musical notes for game sound effects and interactive audio
- Audio Testing
- Generate reference tones for audio testing and calibration
Other ways to use Music Note Generator Skill
Set up Music Note Generator Skill on VerveKit, or reach the same source a different way. Your VerveKit account and credits work on all of them — one key, one balance.
Related
More in Entertainment: