|
Setlist generator for live musicians |
- Database: 336 curated songs across 24 genres with verified BPM and musical keys.
- Optimization: Energy curve adjustment and physical effort balancing.
- Offline Access: PWA support with
localStoragepersistence. - Localization: Supports English, Spanish, Portuguese, and Russian.
The Wiki provides technical details and guides.
git clone https://github.com/julesklord/SetListBuilder.git
cd SetListBuilder
python -m http.server 8000Open http://localhost:8000.
src/: Source code, styles, and logic.docs/: Onboarding and user guides.tests/: Manual and automated validation procedures.
- Prioritizes songs matching both instruments and genres.
- Falls back to genre matches.
- Uses the full pool as a last resort.
Sets follow a structured engagement arc:
- Early Sets: LOW (35%) → MID (40%) → HIGH (25%)
- Final Set: LOW (20%) → MID (40%) → HIGH (40%)
The algorithm evens physical exertion across sets to manage fatigue. It reorders songs only when it improves balance without disrupting the energy curve.
The library contains 335 songs with metadata including artist, genre, key, BPM, energy level, and instrument requirements.
Genre Distribution:
- Classic/Blues: 99
- Rock: 93
- Pop/Dance: 75
- World Music: 38
- Other: 30
Data remains in localStorage:
- Song library (
fmg-pool) - Saved setlists (
fmg-nights) - Locked songs (
fmg-mustPlay) - Active instruments (
fmg-instrs)
The application requires no backend or cloud accounts.
- PDF: Print-ready setlists.
- HTML: Self-contained file for distribution.
- Text: Plain text for messaging apps.
- JSON: Data backup and archive.
MIT License.
Developed by Fearlessly Media Group.