Linux

/MNT_Node Konsole Visualiser

//MNT_Node Konsole Visualiser - locked 60 FPS native C++ audio-reactive terminal visualiser for KDE Konsole

/Repository

STARS

1

FORKS

0

UPDATED

Sep 2026

View Repository

/Overview

A locked-60-FPS, native C++ terminal audio visualiser built for KDE Konsole. It captures the audio you are currently hearing (the default PulseAudio/PipeWire sink monitor) and renders a dense, full-screen TrueColor plasma field that reacts to it in real time.

This is not a bar visualiser like CAVA. Particle density is driven by volume, and particle motion is driven by the bass/mid/treble equaliser bands, producing an asymmetric, audio-reactive plasma field.

/Architecture

Architecture

  • Two-thread design: an audio thread (parec capture + 1024-point in-place FFT) and a render thread on a locked 16.6 ms (clock_nanosleep, TIMER_ABSTIME) loop.
  • Spectrum data (bass/mid/treble/volume) is passed lock-free via std::atomic<float>.
  • A single flat std::string frame buffer is reserved once per terminal size and reused every frame (zero per-frame heap allocation).
  • Every frame starts with \x1b[H (cursor home) — no screen-clear escape codes are used mid-loop.
  • The entire frame (all TrueColor ANSI codes) is flushed with one write(STDOUT_FILENO, ...) call per frame.
  • Column width is clamped to cols - 1 to avoid Konsole's line-wrap overhead.

See plan_cpp.txt for the full design notes.

Uninstall

rm ~/.local/bin/mnt_node_visualizer

/Stack

  • C++
  • Shell