Thank you for your question! In LiveKit, TTS begins speaking once the LLM generation has started. That said, the exact behavior—whether TTS runs alongside the LLM output streaming or waits until the LLM finishes—isn't clearly specified. If you have a particular use case in mind or need a bit more clarity, please feel free to share, and I’d be happy to help you further!
Sources:
livekit-agents/livekit/agents/voice/agent_activity.py