Skip to main content

Agent Audio Visualizer – Grid

A grid visualizer for audio tracks.

Usage

This demo uses your device's microphone.

Code
'use client';
import { useSession, useVoiceAssistant } from '@livekit/components-react';
import { AgentSessionProvider } from '@/components/agents-ui/agent-session-provider';
import { AgentAudioVisualizerGrid } from '@/components/agents-ui/agent-audio-visualizer-grid';
const TOKEN_SOURCE = TokenSource.sandboxTokenServer(
process.env.MY_LK_SANDBOX_TOKEN_SERVER_ID
);
export funnction Demo() {
const { audioTrack, state } = useVoiceAssistant();
return (
<AgentAudioVisualizerGrid
size="lg"
state={state}
radius={3}
interval={100}
rowCount={15}
columnCount={15}
audioTrack={audioTrack}
/>
);
}
export default function DemoWrapper({ session }) {
const session = useSession(TOKEN_SOURCE);
return (
<AgentSessionProvider session={session}>
<Demo />
</AgentSessionProvider>
);
}

Features

  • Used to visualize the agent's audio tracks
  • Configure the speed of the animation
  • Configure row and column size independently
  • Supports five sizes: icon, sm, md, lg, and xl
  • Pass a transformer function that can be used to apply custom CSS properties

Installation

pnpm dlx shadcn@latest add @agents-ui/agent-audio-visualizer-grid

Props

Prop nameTypeDefault
radius?
number
interval?
number
100
rowCount?
number
5
columnCount?
number
5
transformer?
function
className?
string
children?
ReactNode
size?
enum
md
state?
enum
connecting
audioTrack?
LocalAudioTrack | RemoteAudioTrack | TrackReferenceOrPlaceholder
ref?
Ref<HTMLDivElement>
...props?
ComponentProps<'div'>