Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit f312ac9

Browse files
authored
update README with CAVA comparison details
1 parent 09ad784 commit f312ac9

1 file changed

Lines changed: 14 additions & 63 deletions

File tree

README.md

Lines changed: 14 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,9 @@ Lookas captures **microphone input, system audio, or both**, converts the signal
6060
<details> <summary><b>How</b></summary>
6161
<br/>
6262

63-
It runs a low-latency audio pipeline designed for visual stability first.
64-
6563
Audio is captured from the microphone, system loopback, or both. The signal is windowed with a Hann function to reduce spectral leakage, then transformed via FFT into frequency bins. These bins are remapped onto a mel-scale filterbank so the visualization aligns with human loudness perception rather than linear frequency spacing.
6664

67-
Frequency balance is handled by A-weighting (IEC 61672:2003), which models the human ear's actual sensitivity curve across frequency. This keeps the display proportional to what you hear rather than what a meter would measure.
65+
Frequency balance is handled by [A-weighting](http://cdn.standards.iteh.ai/samples/10880/e138f40fd9e84af8906910f4b6d8a4df/IEC-61672-2-2003.pdf) , which models the human ear's actual sensitivity curve across frequency. This keeps the display proportional to what you hear rather than what a meter would measure.
6866

6967
Dynamic range is managed continuously using percentile tracking instead of fixed scaling. A noise gate suppresses background hiss.
7068

@@ -78,73 +76,26 @@ On modern Linux, this yields a stable 60+ FPS experience with audio-to-visual la
7876

7977
</details>
8078

81-
<details>
82-
<summary><strong>How is this different than CAVA?</strong></summary>
83-
<br/>
84-
On the surface it may look like just another CAVA clone/reinvent the wheel situation.
85-
86-
**It's not.**
87-
88-
They may look similar in static screenshots. But they feel completely different in motion.
89-
90-
Here's the difference:
91-
92-
**CAVA** is the battle-tested, Swiss-army-knife visualizer (de facto standard, cross-platform, insanely configurable).
93-
94-
**Lookas** is opinionated, perception-first tool that deliberately throws away raw linear-FFT twitchiness and replaces it with human-hearing-aligned physics so the bars _feel_ like real sound instead of a nervous digital meter.
95-
96-
### Philosophy
97-
98-
- **CAVA**: Makes pretty, responsive dancing bars that work everywhere with maximum flexibility. No deep claims about biology or physics.
99-
100-
- **Lookas**: Fixes the core issue that most visualizers feel disconnected from how humans actually _hear_ sound. Goal = biological/perceptual alignment + physical weight. Mel-scale + spring-damper + lateral energy diffusion = a visualization that has _intentional_ heft instead of jitter.
101-
102-
### Audio Pipeline & Physics Difference
103-
104-
| Aspect | CAVA (logarithmic FFTW) | Lookas (mel-scale + real physics) |
105-
| ------------------- | ------------------------------------------ | ------------------------------------------------------------ |
106-
| Frequency mapping | Logarithmic binning (more bass resolution) | **Mel-scale filterbank** (matches human loudness perception) |
107-
| Windowing | Hann window | Hann window |
108-
| Dynamic range | Autosens + manual sensitivity | **Continuous percentile tracking** |
109-
| Noise handling | Basic noise reduction | **Explicit noise gate** (`gate_db`) |
110-
| Frequency balance | Per-bar EQ (configurable) | **A-weighting (IEC 61672:2003)** |
111-
| Temporal smoothing | Quadratic gravity + integral EMA | **Asymmetric EMA** (instant attack, exponential release) |
112-
| Animation model | Height changes with gravity fall-off | **Second-order spring-damper system** (`spr_k` + `spr_zeta`) |
113-
| Lateral interaction | None | **Energy diffusion** (`flow_k`) between neighboring bars |
79+
## CAVA Comparison
11480

115-
### Input & Output
81+
You're probably used to CAVA and similar tools.
11682

117-
**Input**
83+
<details><summary><b>How both differ?</b></summary>
11884

119-
- CAVA: Extremely flexible (PipeWire, PulseAudio, ALSA loopback, JACK, FIFO/MPD, Sndio, OSS, PortAudio, shared memory, Windows default). You can wire almost anything.
120-
121-
- Lookas: Deliberately minimal: Mic (1), System loopback (2), or Mix (3). Hotkey swap + auto-fallback. Low-latency pipeline tuned for stability, not maximum flexibility. Linux-only (Rust-only for now). Extended in future versions.
122-
123-
**Output**
124-
125-
- CAVA: Terminal (noncurses/ncurses), **SDL desktop window with GLSL shaders**, raw data (pipe to anything). Multiple orientations, bar widths, gradients, etc.
126-
127-
- Lookas: Terminal-only. Optimized Unicode-block renderer (single clear per frame + contiguous writes -> zero flicker, buttery-smooth gradients).
128-
129-
### Config & User Experience
130-
131-
CAVA: Huge, heavily commented INI file. You can tweak everything (bars, sensitivity, cutoffs, EQ, colors, framerate, sleep timer, etc.). Live reload with SIGUSR1/SIGUSR2.
132-
133-
Lookas: **Zero-config by default**. Tiny optional TOML (`~/.config/lookas.toml`) with only the perceptual knobs and env vars overrides. Keyboard controls built-in. Ships with sane defaults so it just works.
134-
135-
### Performance & Feel
136-
137-
Both run 60+ FPS on modern hardware and are very light on CPU.
138-
The difference is in the **_feel_**.
139-
140-
CAVA gives you crisp, responsive dancing bars.
85+
<br/>
14186

142-
Lookas gives you bars that have **mass, momentum, and perceptual weight**, they move like real sound propagating through air.
87+
| Feature | CAVA | Lookas |
88+
| :-------------- | :---------------- | :----------------------- |
89+
| **Mapping** | Logarithmic | Mel-scale |
90+
| **Dynamics** | Autosens / Manual | Percentile tracking |
91+
| **Noise** | Basic reduction | Explicit noise gate |
92+
| **Balance** | Per-bar EQ | A-weighting |
93+
| **Smoothing** | Quadratic gravity | Asymmetric EMA |
94+
| **Physics** | Gravity fall-off | Spring-damper system |
95+
| **Interaction** | None | Lateral energy diffusion |
14396

14497
</details>
14598

146-
## Comparison
147-
14899
Both Lookas ( ← ) and CAVA ( → ) are running on default configs
149100

150101
<div align="center">

0 commit comments

Comments
 (0)