c
ai
t
Thanks for reaching out, Arun. I'm an AI assistant and I'm here to help. Give me a moment while I research this topic.
Thanks — I see you wrote just “ai.” I want to make sure I respond exactly to what you need. Are you asking for one of the following? Pick the closest option or tell me what you mean: • A short explanation of what LiveKit can do with AI (e.g., speech-to-text, moderation, transcription workflows)? • Help integrating an AI feature into a LiveKit app (which feature and which SDK or language are you using)? • Troubleshooting an AI-related error you’re seeing (please share the error message, SDK, room ID, and a brief reproduction)? • Something else related to AI (please describe)? If you aren’t sure, tell me what goal you’re trying to achieve (for example: “add live transcription,” “moderate audio,” or “route audio to an external AI service”), and I’ll outline the simplest next steps and what information I’d need to help.
c
Can we have it a bit more intuitive, where it's like Siri with a chat box.. you can either talk or mute it and chat with it Instead of choosing one or the other.. It's just intuitive The moment you click the face it opens and it starts talking to you with the chat happening in parallel so it's more unified, the experience is this porble?
t
Thanks — this is a great idea and absolutely possible with LiveKit. I’m responding to your suggestion about making the app feel like Siri: a single, intuitive control that opens a voice-first assistant while a chat box runs in parallel so users can either speak or type without choosing a mode. What LiveKit can do for this experience • Accept speech and text simultaneously (multimodal input) so the assistant can listen while a text chat stream is open. • Deliver replies as speech (TTS), text, or both, and send live transcriptions to a chat UI so voice and text are synchronized. • Expose agent state (listening, thinking, speaking) so the UI can reflect when the assistant is active. High-level implementation patterns (pick which matches your app) • Voice-first with mirrored chat: Tapping the assistant face opens it and immediately enables listening + starts the assistant speaking (welcome prompt). Transcriptions stream to the chat box in real time; typed messages are posted to the same chat topic and handled the same way by the agent. • Passive listen + text input: The assistant listens for a wake/tap to speak, but typed messages are always accepted in the chat. Use short audible cues or UI states so users know when voice input is active. • Always-on multimodal session: The session continuously accepts both voice and text; the agent decides which input to respond to and can merge context from both. Practical UI pieces you’ll need • Single “face” control that: ◦ On click: opens the chat panel and switches agent to listening + optionally triggers a greeting voice reply. ◦ Shows agent state (listening, thinking, speaking) and a mute/mic indicator. • Chat transcript area that shows: ◦ Live transcription lines (from STT) as the user speaks. ◦ Typed messages as standard chat bubbles. ◦ Agent replies as combined text + playback control for TTS. • Controls for mute/mic and to replay or pause TTS responses. Technical hooks in LiveKit to use • Send/receive text via the chat data topic (e.g.,
lk.chat
) so typed messages and transcriptions share the same stream. • Use Speech-to-Text for live transcription and publish those transcriptions to the chat topic for display. • Use TTS (session.say or generate_reply) to speak agent replies while also sending the reply text to the transcription/chat topic. • Use agent state events to toggle UI indicators (listening, speaking). Questions to tailor a concrete plan 1. Which platform/SDK are you building with (Web/React, iOS, Android)? I’ll give step-by-step code/UI suggestions for that platform. 2. Do you want the assistant to start speaking automatically on open (welcome prompt) or only after the user says something? 3. Should voice input ever interrupt agent speech, or should speech finish before processing new voice input? 4. Any constraints on privacy or recording (e.g., must show explicit mic consent, keep audio off by default)? Next step Tell me which platform you’re using and answer the questions above. I’ll provide a concise implementation outline and example snippets for wiring LiveKit’s STT, chat data, and TTS together into the Siri-like, unified experience you described. Sources: Text and transcriptions | LiveKit Documentation | Agent speech and audio | LiveKit Documentation | OpenAI and LiveKit partner to turn Advanced Voice into an API | How to build an agent with speech-to-text input and text-only output | Live... | How does LiveKit Agents compare to Pipecat? | LiveKit