FastLED 3.9.15
Loading...
Searching...
No Matches
simple Directory Reference
+ Directory dependency graph for simple:

Files

 fx_audio.h
 
 simple.h
 

Detailed Description

This example demonstrates advanced audio reactive visualization capabilities using FastLED. It processes real-time audio input and creates stunning visual effects synchronized to music.

Features

Visualization Modes

  1. Spectrum Analyzer - Classic frequency spectrum display with customizable colors
  2. Waveform - Real-time audio waveform visualization
  3. VU Meter - Traditional volume unit meter with RMS and peak indicators
  4. Spectrogram - Scrolling frequency analysis over time
  5. Combined - Split-screen showing both spectrum and waveform
  6. Reactive Patterns - Dynamic patterns that respond to audio energy and beats

Audio Processing

Visual Controls

Advanced Features

UI Controls

Main Controls

Audio Processing Group

Visual Controls Group

FFT Controls Group

Advanced Controls Group

Hardware Setup

LED Configuration

Audio Input

The example uses the FastLED audio system which can accept input from:

Usage

  1. Basic Operation
    • Upload the sketch to your controller
    • Connect your LED matrix
    • Provide audio input
    • Use the web UI to control visualization
  2. Optimizing for Your Setup
    • Adjust the noise floor if visualization is too sensitive/insensitive
    • Use AGC for varying audio levels
    • Tune beat sensitivity for your music style
    • Experiment with different color palettes and speeds
  3. Performance Tips
    • Reduce matrix size for slower controllers
    • Disable smoothing for more responsive display
    • Use simpler visualization modes for lower CPU usage

Code Structure

Main Components

  1. Audio Processing Pipeline
    AudioSample → FFT → Band Analysis → Beat Detection → Visualization
  2. Visualization Functions
    • drawSpectrumAnalyzer() - Frequency spectrum bars
    • drawWaveform() - Audio waveform display
    • drawVUMeter() - Volume meter visualization
    • drawSpectrogram() - Time-frequency plot
    • drawReactivePatterns() - Beat-reactive patterns
  3. Audio Analysis Classes
    • MaxFadeTracker - Smooth peak tracking with attack/decay
    • BeatDetector - Energy-based beat detection
    • FrequencyBandAnalyzer - 8-band frequency analysis

Customization

Adding New Visualizations

  1. Create a new draw function
  2. Add it to the visualization mode dropdown
  3. Add a case in the main switch statement

Modifying Color Palettes

Edit the getCurrentPalette() function to add custom palettes.

Adjusting Frequency Bands

Modify the FrequencyBandAnalyzer constructor to change band boundaries.

Troubleshooting

Memory Requirements

This example requires significant memory for:

Platforms with limited memory may need to reduce the matrix size.