Open this lesson in your favourite AI. It'll walk you through the why, explain the demo, and quiz you on the try-it list.
The physical setup of an AI music session matters more than beginners realize. Six things need to be open and coordinated: (1) the AI tool's browser tab, (2) your reference library, (3) a scratch notes doc for prompt iterations, (4) your DAW if stem-by-stem, (5) a 'done' folder on disk for keepers, (6) a metronome or tempo reference. This task walks through the setup once so every future session starts in 30 seconds not 15 minutes. Sound trivial? Session friction is the reason 90% of first-week AI musicians never make a second track.
A concrete setup checklist + a bootstrap.sh script that opens everything.
bootstrap.sh (or PowerShell equivalent) that opens your session tools in the right order.Use these three in order. Each builds on the one before.
In one paragraph, explain why session setup matters for AI music productivity.
Walk me through the six components of a session and which one breaks first when skipped.
I have 20-minute windows between meetings to work on music. Design the fastest-possible session bootstrap — where do I lose vs. gain time?
// A macOS 'bootstrap.sh' for an AI music session (adapt for your OS).
// Run: bash bootstrap.sh
// #!/bin/bash
// open -a Safari "https://suno.com/create"
// open -a Safari "https://udio.com"
// open -a Safari "https://open.spotify.com" # your reference library
// open -a Notion "$HOME/notes/ai-music-scratch.md"
// open -a "Logic Pro" "$HOME/projects/current-track.logicx"
// open "$HOME/AI-music/done/"
// The scratch doc template — one per session
const scratch_template = `# Session: 2026-07-02
## Reference track: ______
## Genre + BPM + Key: ______
## Goal: (sketch / EP-lead / EP-track2 / commission)
## Workflow: (generate-and-curate | stem-by-stem)
### Prompt v1
\`\`\`
[paste prompt here]
\`\`\`
Output: [link or file] — notes: ______
### Prompt v2 (what I changed)
\`\`\`
[revised prompt]
\`\`\`
### Keepers
- v3 (final drop section)
- v7 (verse loop)
`;
console.log(scratch_template);node main.js