Auditory streaming

Alternate two tones and let tempo and pitch distance decide whether they fuse into one stream or split into two.

ready

node examples/streaming.js 240 4 15s
tempo=<bpm>
note tempo
interval=<semitones>
pitch interval between high and low tone
-d, --duration <time>
run time (CLI accepts s/m/h suffixes; default: 15s)
Graph
Oscillator (stepped frequency) → envelope → Destination
Input
Tempo, interval (semitones)
Output
Stream fusion or split

This is an auditory streaming demo, illustrating Van Noorden-style stream segregation: two alternating tones fuse into one stream or split into two depending on their tempo and pitch distance. Adjust the tempo and interval in the browser, or render the stepped-frequency signal from the Node CLI.