Tools · Reading · AI Build · May 2026

FLOWREAD V1.8
REAL LOOPS.
NEW GENRES.
FULL SYNC.

Spark1Early · May 2026 · 5 min read
▶ FlowRead v1.8 READ THIS ARTICLE WITH FLOWREAD RSVP reader · Real genre music · BPM-synced · 60–800 WPM

V1.7 shipped real audio loops for the first time — actual recorded music instead of synthesized Web Audio oscillators. That was a big jump. V1.8 takes everything built in v1.7 and expands it: more genres, more loop options per genre, deeper BPM sync, and a full engine rebuild under the hood to make it all work cleanly together.

Here's what changed, why it changed, and what to try first.

THE GENRE OVERHAUL

V1.7 shipped with 7 genres drawing from a handful of single loops each. V1.8 restructures this entirely. Six genres, three loops each — 18 total combinations, with one selected randomly every session. Same genre, different feel every time you hit play.

6 Genres
3 Loops Each
18 Total Combos
0.38 BPM/WPM Ratio

The genre list was also reorganized. Percussion and Big Band Swing are out. Piano, Ambient, and Electro Wave are in. The lineup now:

Genre BPMs (Loop 1 / 2 / 3) Character
Jazz 100 / 100 / 129 Walking bass, real horns, head arrangements
Orchestral 115 / 135 / 120 String sections, swelling dynamics, cinematic feel
Lo-Fi 95 / 90 / 90 Dusty drums, warm chords, background noise
Piano 115 / 104 / 120 Solo or light accompaniment, melodic, clean
Ambient 108 / 105 / 120 Wide pads, slow motion, minimal pulse
Electro Wave 120 / 75 / 90 Synth-driven, rhythmic, forward motion

HOW THE BPM SYNC WORKS NOW

The core formula hasn't changed: BPM = WPM × 0.38. At 250 WPM you get roughly 95 BPM. At 400 WPM you're at 152 BPM. The music tempo always mirrors the reading tempo.

What's new in v1.8 is how that sync is applied to real audio files. Each loop has a native BPM — the tempo it was recorded at. The engine stores that BPM in a lookup table, then uses the Web Audio API's playbackRate to stretch or compress the audio in real time as you move the WPM slider. The music speeds up and slows down without pitch-shifting. It sounds natural because the underlying audio is real recordings, not synthesized tones.

"The rhythm anchors your attention the same way a metronome anchors a musician — except the tempo is set by how fast you read."

If a loop file isn't found — say you're running FlowRead locally without the audio folder — the engine silently falls back to the Web Audio synthesizer. You always get music. The experience degrades gracefully rather than breaking.

PUNCTUATION PACING — NOW WITH ALPHANUMERICS

V1.7 introduced punctuation-aware reading delays. V1.8 adds one more rule: alphanumeric tokens — words like P90X, 401k, or Step3 — get a slight processing beat (1.1× base delay). These tokens don't read the same way regular words do, so they shouldn't pace the same way either.

The full pacing table, from longest pause to shortest:

PatternMultiplierFeel
… ellipsis3.2×Long trailing thought
. ! ?2.8×Full sentence breath
— : –2.0×Strong pause, reveal
;1.8×Between comma and period
10+ character words1.15×Processing time
Alphanumeric tokens1.1×Mixed character beat
, ) " '1.4×Short breath
( opening quote1.2×Anticipation
Hyphenated words0.9×Linked, faster
Everything else1.0×Base WPM pace

UNDER THE HOOD

Mobile Font Slider Fix

The font size slider wasn't firing on mobile browsers — a known issue where touch events don't always trigger oninput. Fixed in v1.8 by adding ontouchmove and onchange events alongside it. The font size also now uses CSS clamp() so it scales proportionally to screen width before the slider is even touched.

ORP Centering

The gold highlight letter — the Optimal Recognition Point — is now properly centered using a three-column flex layout. Text before it right-aligns to center. The ORP letter sits fixed at the midpoint. Text after it extends right. Short words and long words all anchor to the same spot. This is how the technique is supposed to work.

Theme Sync

V1.8 is rebuilt on the same design system as spark1early.github.io — Bebas Neue, Instrument Sans, DM Mono, the same red/black/white palette, same border logic and spacing. FlowRead now feels like part of the site instead of a standalone tool bolted on.

V1.8 BETA — TRY IT FIRST

V1.8 is in beta before the full site rollout. Try it, break it, and send feedback. What genres are you using most? What's the WPM you settle into? Any loops that feel off-tempo? The beta link is live in the repo now.

VERSION HISTORY

V1.8
Genre overhaul + full engine rebuild — current beta

6 genres × 3 loops = 18 combinations, random per session. New genres: Piano, Ambient, Electro Wave. Removed: Percussion, Big Band Swing. BPM lookup table with live playbackRate sync. Alphanumeric pause added. Mobile font slider fixed. ORP centering rebuilt. Full theme sync with spark1early.github.io.

V1.7
Real recorded audio loops — previous live version

Replaced all synthesized instruments with real recorded loops. Jazz sounds like jazz. Lo-fi sounds like lo-fi. BPM sync via Web Audio API playbackRate. Pre-loads all genres after first play. 7 genres: Swing Jazz, Lo-Fi, Orchestral, Theta Ambient, Solo Piano, Big Band Swing, Percussion.

V1.6
Back to Web Audio — fixed melodic sequences

Returned to stateless Web Audio API after Tone.js rollback. Replaced random notes with fixed melodic sequences per genre. MELODIES, BASSLINES, and CHORDS tables. Theta Ambient fixed — faster attack so it's audible. Instant genre switching with no transport restart.

V1.5
Tone.js upgrade — rolled back

Attempted Tone.js for realistic synthesis — PolySynth piano, MembraneSynth drums, MetalSynth cymbals, Reverb/Chorus effects. Mobile AudioContext suspension caused music to stop on genre switch and WPM change. Rolled back to Web Audio.

V1.4
Better synthesis + article integration

New instrument-specific synth functions: piano(), bass(), brass(), pad(), drone(). Swing jazz hihat fix with proper triplet grid. Article page integration via ?article= URL parameter.

V1.3
8 genres

Expanded from 4 to 8 genres. Added Theta Ambient, Solo Piano, Big Band Swing, and Percussion. Freemium model confirmed.

V1.2
Hardcoded and working

Scrapped cross-origin site detection. Hardcoded all 7 site sections and Spark1Early theme directly. Deployed live at spark1early.github.io/tools/flowread.html.

V1.0
The original build

Basic RSVP reader. BPM-synced generative music via Web Audio API. 4 genres: Jazz, Orchestral, Lo-Fi, Percussion. ORP highlighting. Punctuation-aware pacing. Single HTML file, zero dependencies.

V1.8 goes live to the main tools page once the beta feedback loop closes. Try the beta, use it on something real — an article, a chapter, something long — and see where the experience breaks down. That's what the beta is for.

— Spark1Early · Boston, MA · 2026

© 2026 Spark1Early — Boston, MA · #humanmusic · #aiworkflow ← Back to site