Queue an audio file for chord and lyrics analysis
jj_audio_analyzeUploads a local audio file to the Jam Jam queue to analyze its chords and lyrics and align them to an existing notebook song, returning a job to track.
Instructions
Uploads a local audio file (path, or base64 content) to the Jam Jam server queue so that its chords and lyrics are analysed, then automatically aligned, for a song of YOUR notebook (POST /audio). Same queue as the Jam Jam app. "songId" must already exist in the caller's notebook (see jj_list_songs), otherwise 404. Needs an account and the audio:write scope. It returns at once with a job: follow it with jj_queue_get_job. Idempotent per (account, song, file content): sending the same file again returns the same job with reused=true and consumes nothing. Quota: counter "audio-analysis", 5 analyses per ISO week on a free account (resets Monday 00:00 UTC), no limit on Premium; at most 50 jobs may wait per account. Errors: 413 file too large, 415 not audio, 429 quota or queue full.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"songId": "<songId>"
},
"name": "jj_audio_analyze"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Absolute or relative local path to the audio file. Mutually exclusive with contentBase64. | |
| songId | Yes | Id of an existing song in the caller's notebook (base song id from jj_list_songs). | |
| filename | No | File name (with extension). Required with contentBase64; defaults to the basename of "path". | |
| contentBase64 | No | Base64-encoded audio content. Mutually exclusive with path. Requires "filename". |