bcb6c44f5715cee377229ce2d159fb36ac5d553c
The remaining pops were per-MESSAGE, not per-sub-chunk: the Opus encoder processes whole 640-byte frames only, so each ElevenLabs message dropped its <1-frame (<20ms) tail. The lost ~10-16ms per message left a waveform discontinuity at each message splice -> audible click (2-3 per sentence). Confirmed by log (message sizes not 640-aligned; no underflow) and the standalone-vs-client asymmetry: both use the same playback queue, but the host plays raw PCM (no drop) and is clean while clients play the Opus-encoded stream and pop. Fix (server-only path): carry the sub-frame remainder to the next message. Prepend the previous message's leftover before encoding, emit only whole frames, and stash the new tail. No samples dropped -> continuous stream -> no splice click. Leftover reset per turn (new-turn guard + StopAgentAudio). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Description
Eleven Labs Integration for Unreal Engine 5.5
Languages
C++
90.8%
Python
4.3%
HTML
3.8%
Batchfile
0.5%
C#
0.4%
Other
0.2%