beamgrid/README.md
Armin ca9555af13 Add TILT spectral-tilt knob plus grid zoom/fade and curving controls
- TILT knob (-1..1, 0=flat) boosts highs / cuts lows about the log-frequency
  centre so high frequencies become more visible in the display
- Add GRID ZOOM, GRID FADE, and CURVING knobs; refine BARS/LEDS snapping
- Fix README MODE knob placement description
2026-08-14 02:55:28 +02:00

69 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# BEAMGRID
A JUCE-based VST3 / AU spectrum analyzer with a fully black UI, teal accents,
and a configurable display.
## Features
- **Three display modes** (`MODE` knob):
- **BARS** — classic log-spaced spectrum bars with peak-hold caps.
- **SPECTRUM** — a smooth (quadratic-spline) waveform trace of the spectrum,
with a matching smooth peak-hold wave. Use the `SMOOTH` knob to go from
raw/edgy to heavily smoothed.
- **LED** — an LED-meter style view (`LEDS` knob sets LEDs per bar).
- **Frequency range** fixed to **20 Hz 20 kHz**.
- **HUE** knob rotates the hue of every UI accent (knob arcs, peaks, title)
without altering the underlying data.
- **UI scaling** dropdown (75% 300%) in the top-right.
- Per-project **size & scale persistence** (stored in the plugin state).
## Parameters
| Knob | Range | Description |
|-------------|------------------|-----------------------------------------------|
| PEAK GRACE | 0 2000 ms | Grace period before a peak-hold marker decays |
| PEAK FALLOFF| 0 1 | Peak-hold decay rate |
| BAR FALLOFF| 0 1 | Spectrum bar release speed |
| BARS | 8 / 16 / 32 / 64 / 128 | Number of spectrum bands (snaps) |
| HUE | 0 1 | Rotates the UI accent hue (0.5 = no change) |
| MODE | 1 / 2 / 3 | BARS / SPECTRUM / LED |
| LEDS | 4 48 | LEDs per bar in LED mode |
| SMOOTH | 0 1 | Waveform smoothing amount in SPECTRUM mode |
| GRID | 0 1 | Grid (frequency/level) visibility / brightness|
| ZOOM | 98.0% 102.0% | Grid zoom about the plot centre |
| GRID FADE | 0 1 | Fades inner grid lines; outer border stays |
| CURVING | 0 1 | LED corner radius (0 = square, 1 = rounded) |
| TILT | -1 1 | Spectral tilt: + boosts highs / cuts lows, - does the reverse (0 = flat) |
## Building
Requires [CMake](https://cmake.org/) (>= 3.22) and a JUCE-supported
toolchain (Xcode / clang on macOS, MSVC / GCC on Windows, etc.). JUCE is
fetched automatically by CMake.
```sh
cmake -B build -G Ninja
cmake --build build --config Release
```
The built plugins are installed to your system plugin folders:
- `build/BEAMGRID_artefacts/Release/VST3/BEAMGRID.vst3`
- `build/BEAMGRID_artefacts/Release/AU/BEAMGRID.component`
Then rescan in your DAW (FL Studio, REAPER, Logic, etc.).
## Project layout
```
Source/
PluginProcessor.cpp/.h Audio processor + parameter layout
PluginEditor.cpp/.h Editor UI, knobs, layout
Analyser.h/.cpp FFT analysis, banding, peak-hold
AnalyserComponent.h Drawing (BARS / SPECTRUM / LED)
BeamgridLookAndFeel.h Black/teal styling, hue rotation, rotary drawing
```
## License
See the repository license file.