Skip to content

feat(live): add support for voice activity start and end events - #482

Open
wuliang229 wants to merge 11 commits into
google:mainfrom
wuliang229:feat/add-voice-activity-events
Open

feat(live): add support for voice activity start and end events#482
wuliang229 wants to merge 11 commits into
google:mainfrom
wuliang229:feat/add-voice-activity-events

Conversation

@wuliang229

@wuliang229 wuliang229 commented Aug 18, 2026

Copy link
Copy Markdown

Summary

Adds support for visualizing Voice Activity Start and Voice Activity End events in ADK Web's chat event list.

In bidirectional live sessions (e.g. Gemini Live), the server sends voiceActivity events (ACTIVITY_START and ACTIVITY_END) with optional audio offsets indicating when speech begins and ends in the audio stream. Previously, these events had no UI chips and rendered as empty node rows in the chat timeline.

Changes

  • Core Types (src/app/core/models/types.ts):
    • Added VoiceActivity interface with properties voiceActivityType and audioOffset.
    • Added voiceActivity?: VoiceActivity to LlmResponse (inherited by Event).
  • Event Content Component (src/app/components/event-content/event-content.component.html):
    • Added chips for Voice Activity Start (icon mic) and Voice Activity End (icon mic_off).
    • Added concise tooltip content (e.g. Started at 1.5s / Ended at 3.2s, or Started / Ended).
  • Chat Component (src/app/components/chat/chat.component.ts):
    • Ensured isEmptyMetadataEvent does not drop events carrying voiceActivity.
  • Tests:
    • Added unit test in src/app/components/chat/chat.component.spec.ts for isEmptyMetadataEvent.
    • Created src/app/components/event-content/event-content.component.spec.ts covering Start, End, and offset fallback rendering.

@wuliang229
wuliang229 marked this pull request as ready for review August 18, 2026 23:10
@wuliang229 wuliang229 changed the title feat: add support for voice activity start and end events feat(live): add support for voice activity start and end events Aug 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant