Overview
Explained
Lookas captures microphone input, system audio, or both, converts the signal into frequency bands using a mel-scale FFT, and renders it as smooth, physics-driven bars directly in your terminal.
Standard audio visualizers are usually nothing more than nervous flickers of raw data, plus IMVHO quite ugly.
They rely on linear scales that ignore the nuances of human hearing, which results in a twitchy mess that feels like a malfunctioning sensor rather than a musical instrument, fine instrument that is.
And since I live rent free in the terminal, that space needs to feel intentional.
Aesthetics are a direct consequence of the logic. So, Lookas is an attempt to create a connection to the physical world that has actual weight. A way to align those pixels with the biological reality of how we experience sound, to reach a state of Zen.
It runs a low-latency audio pipeline designed for visual stability first.
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.
Dynamic range is managed continuously using percentile tracking instead of fixed scaling. A noise gate suppresses background hiss, while frequency tilt prevents low or high bands from dominating the display.
Animation is driven by a spring-damper model rather than raw amplitude changes. Energy diffuses laterally between neighboring bands, which produces a fluid motion, instead of twitchiness.
Rendering uses dense Unicode block characters to achieve smooth gradients without expensive redraws. The terminal is only cleared once per frame, layout is recomputed only when geometry changes, and output is written in large contiguous chunks to avoid flicker.
On modern Linux, this yields a stable 60+ FPS experience with audio-to-visual latency low enough to feel immediate.
[!NOTE] Thyx as a standalone FOSS is an extension of OSYX.
Installation
Simply run:
You usually don't need to install anything else.
If your system already has working audio (microphone or system sound),
Lookas will just run.
[!IMPORTANT] On very minimal Linux installs, you might be missing a couple of audio packages. If Lookas fails to start or can’t capture audio, run:
This works for both PulseAudio and PipeWire systems (via
pipewire-pulse).
Basic Usage
Lookas is zero-config by default.
Just run:
It will attempt to start with system audio.
If system audio isn’t available, it automatically falls back to microphone input.
Controls
1– Microphone input2– System audio (loopback / monitor)3– Microphone + system mixr– Restart audio pipelineq– Quit
Configuration (Optional)
You do not need any configs to use this.
It ships with sensible defaults and works out of the box.
Configuration exists purely for customization.
If you want to tweak how it looks or reacts to sound, it can read a single TOML file and then apply environment variables on top.
Precedence is:
Environment variables > config file > defaults
Config file
The default location is:
~/.config/lookas.toml
You can also point to a file explicitly:
LOOKAS_CONFIG=/path/to/lookas.toml
Environment variable overrides
Every config value can be overridden temporarily using environment variables.
Examples:
LOOKAS_FFT_SIZE=4096
LOOKAS_GATE_DB=-60
LOOKAS_TARGET_FPS_MS=33
Contributing & Issues
Please read this
License
MIT © @rccyx