Will DiMaio
Index
Archived· 2025· Creative Engineering

Exploring browser-native music education

Onset

Real-time MIDI hardware integration in the browser, scoring beat-match accuracy within 50ms windows across 27 structured lessons — coupling pedagogy to the physical instrument the student already paid for, with zero install and no driver.

0
Structured lessons
<50ms
Timing window
0Hz
Scoring tick rate
Live
Production status
01Key Insight
WHY 50MS IS THE THRESHOLD

Web MIDI in the browser was historically considered too high-latency for serious music applications. Onset's scoring loop runs at 60Hz against a sub-50ms timing window — tighter than the human ear can perceive a transient as 'late.' Coupling that with Web Audio's sample-accurate scheduling makes browser-based music education feel like native hardware. The platform isn't the limitation; the right loop architecture is.

02The Problem

Why this exists.

Learning to DJ on hardware has a steep, lonely curve. Most online instruction is video-based, which means it has no idea what your hands are doing. A student can watch a 40-minute transition tutorial three times in a row, do the exercise wrong on every attempt, and never get told. The feedback loop is the problem — the technique is the easy part.

Software solutions exist, but they're either full DJ apps that ignore pedagogy or pedagogy apps that ignore the controller. Neither understands that learning hardware DJing means coupling a structured curriculum to the physical instrument the student already paid for.

03The Approach

How it works.

Onset runs entirely in the browser and talks directly to the user's DJ controller via the Web MIDI API — no driver install, no app, just plug in and go. Every controller event (jog wheel, faders, cue, EQ knobs) streams into a scoring engine that compares the student's actions against the lesson's expected events on a 60Hz tick.

The lesson engine is where the pedagogy lives. Lessons are structured as small, completable units with explicit scoring rubrics — timing tolerance under 50ms, fader curve, EQ depth — and the engine produces both a numeric score and event-level annotations like 'low end clashed at bar 5' or 'transition late by 1.2 beats.' Sessions are recorded as MIDI events plus audio plus scores, so a student can scrub a take frame-accurately and critique it after the fact.

04Features

What it does.

01 / 04Hardware

Plug-and-play MIDI capture

Onset talks to the student's controller through the Web MIDI API directly in the browser. There's no app to install, no driver to wrestle with — open the lesson page, plug in the controller, and Onset is reading every jog, fader, and cue event in real time. The friction floor for a first lesson is roughly zero.

02 / 04Engine

Real-time scoring at 60Hz

The scoring loop ticks at 60Hz, comparing every captured MIDI event against the lesson's expected timeline and tolerances. The student gets a live accuracy track and granular annotations — exactly which fader move was off and by how much — instead of a single end-of-lesson grade. This is the difference between learning and guessing.

03 / 04Curriculum

27 pedagogy-first lessons

From beat-match basics to outro releases, each lesson is a small, named, completable unit with explicit success criteria. The curriculum builds technique-by-technique rather than song-by-song, which means a student can identify exactly what they can and can't do, and a coach can prescribe exactly what to practice next.

04 / 04Replay

Frame-accurate session replay

Every take is captured as MIDI events plus audio plus scores and stored locally in IndexedDB. A student can scrub through their own session frame-by-frame, which makes self-critique possible — and gives instructors a clean artifact to review when they're not in the room.

05Impact

What it produced.

CURRICULUM
0 lessons

Structured progression from first mix to advanced transitions. Each lesson is a named, completable unit with its own scoring rubric and replayable take history.

TIMING WINDOW
<50ms

The scoring engine grades within a 50ms window — tighter than a trained DJ can perceive a transient as 'late.' Web MIDI plus Web Audio makes this possible without native code.

DEPLOYMENT
Zero install

100% browser-native. No app, no driver, no audio interface. Open onsetdj.com, plug in any MIDI-class DJ controller, start the lesson.