Wave (StillState & FlowState)
Concept
Two companion apps — StillState for sleep, FlowState for deep work — built around procedural audio rather than streamed playback. Every sample is generated on-device on demand, in response to the user’s calibrated frequency preference, the route the audio is leaving on (headphones versus a speaker), and the ambient noise the microphone is hearing.
The synthesis chain is composable: noise colour, binaural-beat layer, EQ shaping, and adaptive masking are wrappers around each other, assembled at runtime from user preferences.
Architecture
white · brown · LFO-blended"] BB["Binaural Beat Layer
route-gated stereo offsets"] EQ["Calibrated EQ
+4 dB peaking biquad at user frequency"] MASK["Adaptive Masking
mic-driven gain envelope"] OUT["Output
route-aware (headphones · speaker)"] NG --> BB BB --> EQ EQ --> MASK MASK --> OUT
Binaural beats are suppressed when the output route is mono, so the user never hears a phasing artefact instead of the intended effect. A one-time calibration wizard sweeps ten frequencies, gathers a subjective relaxation rating, and pins the EQ peak at the user’s strongest response.