Wave (StillState & FlowState)

Active Swift

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

flowchart TD NG["Noise Generator
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.


← Back to Signal Processing