Renders a glowing, deformable 3D sphere that reacts to system audio in real time. Runs in a transparent, borderless window using OpenGL 3.3+.
- Transparent Window: Floats on top of your desktop (X11 & Wayland).
- Audio Reactive: Automatically detects system audio output (PulseAudio).
- 3D Visuals: Deformable sphere with Fresnel glow, reacting to bass and mid frequencies.
- Configurable: TOML configuration file and CLI arguments.
- Low Latency: Dedicated audio processing thread.
- Efficient: Native C implementation with OpenGL 3.3 Core.
Download the latest .deb or .rpm release from the Releases Page.
Debian/Ubuntu:
sudo apt install ./raviz-1.1.1-Linux.debFedora/RHEL:
sudo rpm -i raviz-1.1.1-Linux.rpmInstall manually from the provided PKGBUILD:
git clone https://github.com/maskedsyntax/raviz.git
cd raviz/packaging/aur
makepkg -siDependencies:
cmake,make,gcclibpulse-dev(PulseAudio)libfftw3-dev(FFTW3)libglfw3-dev(GLFW3)rpm(Optional: for building RPMs)
git clone https://github.com/maskedsyntax/raviz.git
cd raviz
mkdir build && cd build
cmake ..
make
sudo make installRaviz automatically creates a configuration file at ~/.config/raviz/config.toml on first run.
[render]
fps = 30
sphere_lat = 40
sphere_lon = 40
sphere_scale = 1.0 # Default sphere size
rotation_speed = 0.05
window_opacity = 1.0 # 0.0 (Transparent) to 1.0 (Black)
color_mode = "none" # "none", "static", "reactive"
[audio]
rate = 44100
fft_size = 512
fft_bins = 64
smoothing = 0.15
intensity = 1.0
# device = "alsa_output..." # Optional: Force specific source| Key | Action |
|---|---|
| ESC | Quit application |
| F1 | Cycle Color Mode (None / Static / Reactive) |
| F4 | Cycle Render Mode (Solid / Wireframe / Points) |
| F5 | Reload Shaders (Hot-reload render.c logic if recompiled, mainly for dev) |
| UP | Increase Intensity |
| DOWN | Decrease Intensity |
| CTRL + SCROLL | Resize Sphere (0.1 - 5.0) |
Simply run:
ravizCLI Overrides:
--opacity <0.0-1.0>: Set window opacity.--scale <float>: Set initial sphere scale.--device <name>: Manually specify PulseAudio source.--fps <int>: Limit FPS.--intensity <float>: Reaction multiplier.
- Main Thread: Window management, OpenGL rendering, Input handling.
- Audio Thread: Audio capture (PulseAudio), FFT processing (FFTW3).
- Synchronization: Mutex-protected double buffering for FFT data.