0.4.1 • Published 7 months ago

react-audio-visualizer-pro v0.4.1

Weekly downloads
-
License
MIT
Repository
github
Last release
7 months ago

✨ Features

  • 🎨 Multiple visualization types (waveform, frequency bars, circular)
  • 🎤 Support for both audio file playback and microphone input
  • ⚡️ Smooth animations with efficient canvas rendering
  • 📱 Fully responsive design
  • 📝 TypeScript support with complete type definitions
  • 🎨 Customizable styles, colors, and animations
  • 🔊 Built with Web Audio API for high-performance audio processing

🛠️ Installation

npm install react-audio-visualizer-pro
# or
yarn add react-audio-visualizer-pro

Usage Examples

Basic Audio File Visualization

import { WaveformVisualizer } from 'react-audio-visualizer-pro';

function App() {
  return (
    <WaveformVisualizer
      audioUrl="/path/to/audio.mp3"
      width={800}
      height={200}
      backgroundColor="#000000"
    />
  );
}

Microphone Input with Frequency Bars

import { FrequencyVisualizer } from 'react-audio-visualizer-pro';

function App() {
  return (
    <FrequencyVisualizer
      useMicrophone={true}
      width={800}
      height={200}
      backgroundColor="#000"
      gradientColors={['#ff0000', '#00ff00', '#0000ff']}
      barWidth={4}
      barSpacing={1}
      barRadius={2}
    />
  );
}

Circular Visualization with Custom Animation

import { CircularVisualizer } from 'react-audio-visualizer-pro';

function App() {
  return (
    <CircularVisualizer
      audioUrl="/path/to/audio.mp3"
      width={800}
      height={800}
      backgroundColor="#000"
      animationSpeed={1.5}
      barWidth={2}
    />
  );
}

API Reference

Common Props

All visualizer components accept these common props:

PropTypeDefaultDescription
audioUrlstringundefinedURL to the audio file to visualize
useMicrophonebooleanfalseUse microphone input instead of audio file
widthnumber800Canvas width in pixels
heightnumber200Canvas height in pixels
backgroundColorstring'#1a1a2e'Background color of the visualizer
gradientColorsstring[]'#00bcd4', '#4CAF50', '#8BC34A'Array of colors for gradient effect
barWidthnumber3Width of visualization bars
barSpacingnumber2Spacing between bars (frequency only)
barRadiusnumber0Border radius of bars (frequency only)
smoothingTimeConstantnumber0.8Audio analysis smoothing (0-1)
fftSizenumber2048FFT size for frequency analysis
minDecibelsnumber-90Minimum decibel value
maxDecibelsnumber-10Maximum decibel value
animationSpeednumber1Animation speed multiplier (circular only)

Component-Specific Features

WaveformVisualizer

  • Displays audio waveform in real-time
  • Best for viewing audio amplitude over time
  • Smooth line rendering with customizable thickness

FrequencyVisualizer

  • Shows frequency spectrum as vertical bars
  • Support for gradient colors
  • Customizable bar width, spacing, and radius

CircularVisualizer

  • Circular frequency visualization
  • Rotating animation with adjustable speed
  • Radial gradient support

Development

  1. Clone the repository
  2. Install dependencies: npm install
  3. Build the package: npm run build
  4. Run tests: npm test

License

MIT

0.4.1

7 months ago

0.4.0

7 months ago

0.3.1

7 months ago

0.3.0

7 months ago

0.2.0

7 months ago

0.1.0

7 months ago