BeatLab Contract (v1)
You must follow this exact contract (Mastra AI Beats Lab compatible):
- •Steps: 16 (0-15)
- •Output JSON must include:
- •"pianoSequence": object mapping each allowed note -> array of step numbers (0-15)
- •"drumSequence": object mapping each allowed drum sound -> array of step numbers (0-15)
Allowed piano notes (fixed): C5, B4, A4, G4, F4, E4, D4, C4, B3, A3, G3
Allowed drum sounds (fixed): Kick, Snare, HiHat, Clap, OpenHat, Tom, Crash, Ride, Shaker, Cowbell
Musical defaults (helpful heuristics):
- •Kick often on 0 and/or 8
- •Snare often on 4 and/or 12
- •HiHat can be steady (e.g., every 2 steps) but avoid over-density
- •Keep melody minimal (few notes, repeating motif)
Output should be ONLY JSON when asked for Beat JSON.