Docs
Audio Visualizer
Audio Visualizer
A real-time audio visualization component that provides visual feedback during voice recording.
Component audio-visualizer-demo
not found in registry.
The AudioVisualizer component provides visual feedback during voice recording by creating an animated frequency spectrum display that responds to audio input in real-time.
Installation
npx shadcn@latest add https://shadcn-chatbot-kit.vercel.app/r/audio-visualizer.json
Usage
import { AudioVisualizer } from "@/components/ui/audio-visualizer"
export function VoiceRecorder() {
return (
<AudioVisualizer
stream={audioStream}
isRecording={isRecording}
onClick={stopRecording}
/>
)
}
Props
Prop | Type | Description | Default |
---|---|---|---|
stream | MediaStream | The audio stream to visualize | Required |
isRecording | boolean | Whether the component should be actively visualizing audio | Required |
onClick | () => void | Callback function when the visualizer is clicked | Required |
Implementation Details
The AudioVisualizer uses the Web Audio API to analyze the audio stream and create the visualization. Key configuration parameters include:
const AUDIO_CONFIG = {
FFT_SIZE: 512,
SMOOTHING: 0.8,
MIN_BAR_HEIGHT: 2,
MIN_BAR_WIDTH: 2,
BAR_SPACING: 1,
COLOR: {
MIN_INTENSITY: 100,
MAX_INTENSITY: 255,
INTENSITY_RANGE: 155,
},
}
These parameters control:
- Frequency analysis resolution (
FFT_SIZE
) - Animation smoothness (
SMOOTHING
) - Visual bar dimensions and spacing
- Color intensity range for the visualization