Clip playback for voice agents
September 7, 2026 · release
@voicethere/agent
Voice agents can now play sound effects, hold music, and notification clips without synthesizing speech. Clips mix with live microphones and TTS and route to selected listeners.
What shipped
play({ url, sessionIds?, volume?, bytes? })— returns{ ok, playId?, reason, requestId }; omitsessionIdsfor all voice clientsgetPlay(playId)—{ ok, playId, status?, reason, requestId }withstatus:buffering|playing|stopped|ended|errorstopPlay(playId)— end a clip early- Encodings: WAV PCM, MP3, OGG Vorbis, OGG/Opus, FLAC, AAC-LC files
- HTTPS-only URLs with download cache; optional base64
bytesfor clips under 64 KiB
Clips are not TTS — they do not emit agent_speaking_* events.
Try it
- Docs: Clip playback — includes play to all listeners and placement / pose on
play() - Mixing context: Positional mix & orbiting TTS
import { play, getPlay } from "@voicethere/agent";
const result = await play({
url: "https://cdn.example.com/sfx/chime.mp3",
sessionIds: [sessionId],
});
if (result.ok && result.playId) {
const status = await getPlay(result.playId);
}