# Groove First > A free 16-step drum machine and bass sequencer that runs in the browser with its own synthesiser, plus two metered producer tasks: keep, tweak or rebuild the loop for a described vibe, and write a style prompt for an AI music generator that matches the loop. https://groove-first.skillsafe.ai/ ## What it does - Free, in the browser: a one-bar, 16-step grid with six drum rows (kick, snare, clap, closed hat, open hat, perc; each cell off, soft or accent) and a bass row (a note per step, hold or rest). Tempo 40-200 BPM, swing 0-60% (50 is a full triplet shuffle), key and mode. Every sound is synthesised with the Web Audio API - no samples. - The page reads the loop for facts with stable ids: F-bpm, F-swing, F-key, F-density, F-4otf (four on the floor), F-backbeat, F-halftime, F-dembow, F-hats, F-ohat, F-sync (syncopation 0-100), F-bass, F-bass-out (bass outside the key), F-family (closest pattern family from a small rule table - a heuristic, not a genre detector). - Exports: a 4-bar WAV rendered by the same synthesiser, a type-0 MIDI file (drums on channel 10 with General MIDI notes, bass on channel 1), the loop as text, JSON and Markdown. - Metered task `groove`: a verdict - keep (at most 3 cells change), tweak (only the cells that need it) or rebuild (a new loop; the only verdict allowed to change the key; an empty grid is always a rebuild) - with all seven rows, a note per change and listening notes. The page checks the reply against the grid before anything is applied. - Metered task `prompt`: a comma-separated style prompt that states the loop's tempo as " BPM", an exclude list, a song form in [section] tags with bar counts, where each descriptor came from, and 2-3 variations. Checked for the tempo, the character limit, artist references and words both asked for and excluded. ## Contract - Run input: {task: "groove" | "prompt", vibe, bpm, swing, key, grid (text, one row per line), facts (JSON-encoded string), bpm_locked ("yes"/"no", groove only), vocals, avoid, limit (prompt only)}. - Reply: one JSON object. API documentation with worked examples: https://groove-first.skillsafe.ai/api.html ## Sources - SkillSafe skill @plyght/tonejs - browser step sequencers, synthesis and scheduling: https://skillsafe.ai/skill/@plyght/tonejs - SkillSafe skill @bitwize-music-studio/suno-engineer - style prompts, genre choice and section tags for AI music generators: https://skillsafe.ai/skill/@bitwize-music-studio/suno-engineer Not affiliated with any music generator. The pattern-family guesses and the 1000-character style-field default are estimates. Sample loops are made up.