Positional mix and orbiting TTS

September 2, 2026 · release

@voicethere/agent

Voice+Data sessions can route each client through a shared stereo mix. Mix groups decide who hears whom. setClientPose moves listeners in space. setTtsPose places each client's TTS speaker relative to their ears.

APIs

Mix group APIs: createMixGroup, addClientToMix, removeClientFromMix.

Live poses: setPositionalMixing, setClientPose, named setDefaultMixPlacement.

Per-client TTS: setTtsPose(sessionId, pose) pairs with speak(sessionId, text). Use clearTtsPose and setTtsMixPlacement for fallbacks.

The dashboard starter Orbiting TTS (positional-tts) circles TTS around each listener on a 50 ms timer.

Equal-power stereo panning with inverse-square distance (Y-up, look −Z). No HRTF.

Try it

npx @voicethere/agent build --entry templates/positional-tts/agent.ts

Similar posts

← All posts