Progressive drum lessons for feedBack: twelve short (1–2 minute) play-along tracks that teach core drum skills from a first steady beat to a full mini-song, with per-drummer progress tracking for the whole household.
Heritage note: this repository previously carried a fork of the Slopsmith core app. The platform has been renamed and now lives at got-feedback/feedBack; this repo was repurposed to hold just the Drum School plugin (the old history is preserved in git). The plugin runs on feedBack and on pre-rename Slopsmith installs.
Clone into your feedBack plugins directory — the directory name must equal the plugin id:
cd /path/to/feedback/plugins # or your SLOPSMITH_PLUGINS_DIR
git clone https://github.com/mikey0000/slopsmith drum_schoolRestart (or hot-reload plugins), open the new Drum School nav entry, and
hit Install lessons — the plugin generates its twelve lesson tracks into
DLC_DIR/tutorials-builtin/drum-school-v1/ (the host's hidden-exercise
convention: playable, but kept out of the library grid). Requires ffmpeg on
the server, which the Docker image and desktop builds always have.
-
Generates its own content. A stdlib drum synthesizer (
drumsynth.py) renders a guide track per lesson, andlessons.pyexpands compact 16-step pattern grids into feedpaks: a moderndrum_tab.jsonchart (full drum vocabulary — ghosts, flams, open/closed hats, cymbal chokes) plus a fallback arrangement that maps the kit onto the stock six-lane highway (kick / snare / hats / toms / crashes / ride), so lessons play out of the box. Directories use the.feedpaksuffix on feedBack and fall back to.sloppakon older hosts automatically. -
Curriculum with progression points. Five levels — Foundations, Grooves, Toms & Fills, Independence & Dynamics, Advanced. Each lesson steps up one idea per named section (hats only → hats+snare → full beat), and each run ends with a rating: pass a lesson (≥1 star) to unlock the next. A parent-mode "unlock everything" toggle lives in Settings → Drum School.
-
Household profiles. The platform has no user accounts, so Drum School keeps named progress tracks server-side (
CONFIG_DIR/drum_school/), shared by every browser and tablet in the house. Add one per kid and one for yourself. Friendly progress separation — not an auth boundary. -
E-kit ready. With feedBack-plugin-drums installed you get the lane-based drum highway plus USB-MIDI input (Alesis and other GM-compatible kits plug straight in) with hit scoring. Scoring plugins can pre-fill the post-lesson rating by emitting
window.feedBack.emit('drum_school:score', { accuracy: 87.5 }); // 0–100
before the song ends (≥75 % suggests 2 stars, ≥92 % suggests 3).
| # | Lesson | Level | Teaches |
|---|---|---|---|
| 01 | Keeping Time | Foundations | steady pulse, alternating hands |
| 02 | Boom & Crack | Foundations | kick technique, backbeat |
| 03 | The Money Beat | Foundations | the classic rock beat, limb coordination |
| 04 | Kick It Around | Grooves | kick variations |
| 05 | Open Up | Grooves | open hi-hat accents |
| 06 | Four on the Floor | Grooves | dance beat, endurance |
| 07 | Around the Kit | Toms & Fills | tom control |
| 08 | First Fills | Toms & Fills | 4-bar phrases, fills, crash landings |
| 09 | Ghosts & Accents | Independence & Dynamics | dynamics, ghost notes |
| 10 | Ride the Wave | Independence & Dynamics | ride/bell, syncopated kick |
| 11 | Sixteenth Sense | Advanced | 16th notes, two-handed hats, flams |
| 12 | Graduation Groove | Advanced | song form, half-time, cymbal chokes |
Regenerate the pack outside the server (development):
python lessons.py /path/to/out [ffmpeg] [.feedpak|.sloppak]GET /api/plugins/drum_school/status— curriculum + install statePOST /api/plugins/drum_school/install— (re)build the lesson packGET/POST /api/plugins/drum_school/profiles— profiles + progress (create/select/delete/record/reset_all)
pip install pyyaml pytest
pytestTests build lessons against a stub ffmpeg, so no audio tooling is needed.
AGPL-3.0-only, same as feedBack core.