8000 GitHub - kunaldeo/JESS: A modern standalone port of the classic JESS XMMS visualization plugin, featuring mesmerizing real-time audio-reactive visuals with support for high-resolution displays up to 4K.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
/ JESS Public

A modern standalone port of the classic JESS XMMS visualization plugin, featuring mesmerizing real-time audio-reactive visuals with support for high-resolution displays up to 4K.

Notifications You must be signed in to change notification settings

kunaldeo/JESS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

8 Commits
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

JESS Standalone Audio Visualizer

A modern standalone port of the classic JESS v2.9.1 XMMS visualization plugin, featuring mesmerizing real-time audio-reactive visuals with support for high-resolution displays up to 4K.

JESS Visualization Platform License

๐ŸŽฅ Live Demo

JESS Audio Visualizer Demo

Click the image above to watch JESS in action with mesmerizing real-time visuals!

๐ŸŽต Overview

JESS (Just Enlightened Sound Spectacle) was originally created by Remi Arquier as a visualization plugin for XMMS. This standalone version removes the XMMS dependency while preserving the original's mesmerizing mathematical visualizations, adding modern features like 4K support, configurable modes, and persistent settings.

The visualizer creates stunning, hypnotic patterns that dance and morph in response to audio input, using mathematical transformations, 3D projections, and particle effects to create an ever-changing canvas of light and motion.

๐Ÿ’ญ Why This Port?

I've loved the JESS plugin since my college days - it was always my favorite XMMS visualization, creating those mesmerizing, mathematical patterns that seemed to perfectly capture the essence of whatever music was playing. When XMMS became obsolete and modern Linux systems moved on, I really missed having JESS around. This standalone port is my way of bringing this beautiful piece of software back to life on modern systems, so a new generation can experience its hypnotic visuals, and those of us who remember it can enjoy it once again. The retro 8-bit color mode preserves that authentic early-2000s demoscene aesthetic we all loved.

โœจ Features

  • 7 Unique Visualization Modes: Each with distinct mathematical patterns and behaviors
  • 5 Deformation Effects: Apply hyperbolic, cosine, and zoom distortions
  • Real-time Audio Analysis: Responds to frequency spectrum and energy levels
  • High Resolution Support: From 320x180 to 4K (3840x2160)
  • Configurable Modes: Enable/disable specific visualizations
  • Persistent Settings: Saves your preferences in an editable config file
  • Retro 8-bit Color Mode: Authentic indexed color palette for that classic demoscene aesthetic
  • Psychedelic Color Palettes: Dynamic color generation with smooth, hypnotic transitions

๐Ÿš€ Quick Start

Requirements

  • SDL2 development libraries
  • C compiler (gcc/clang)
  • Audio input device (microphone)

Building

Linux

# Install SDL2 (Ubuntu/Debian)
sudo apt-get install libsdl2-dev

# Build
gcc -o jess standalone_jess.c -lSDL2 -lm -O3

# Run
./jess

macOS

# Install SDL2
brew install sdl2

# Build
gcc -o jess standalone_jess.c -lSDL2 -lm -O3

# Run
./jess

Windows (MinGW)

# Install SDL2 development libraries
# Download from https://www.libsdl.org/download-2.0.php

# Build (adjust paths as needed)
gcc -o jess.exe standalone_jess.c -lSDL2 -lm -O3 -L/path/to/SDL2/lib -I/path/to/SDL2/include

# Run
jess.exe

Building with Optimizations

For best performance, especially at 4K:

gcc -o jess standalone_jess.c -lSDL2 -lm -O3 -march=native -ffast-math

Auto-Resolution Detection

JESS automatically detects your display resolution on startup:

  • 4K displays: Automatically selects 3840ร—2160
  • 2K displays: Automatically selects 2560ร—1440
  • Full HD displays: Automatically selects 1920ร—1080
  • Other displays: Uses default 640ร—300

You can override this with command-line arguments or by pressing the resolution keys.

๐ŸŽฎ Controls

Basic Controls

Key Action
Q Quit
Space/ESC Toggle fullscreen
H Show help menu
I Show current configuration

Resolution Controls

Key Resolution
C 320ร—180
V 512ร—200
B 640ร—480
N 800ร—400
, 1024ร—768
. 1920ร—1080 (Full HD)
/ 2560ร—1440 (2K QHD)
; 3840ร—2160 (4K UHD)

Visualization Controls

Key Action
F1-F5 Select blur/deformation mode
F6-F12 Select draw mode
Shift+F1-F5 Enable/disable blur mode
Shift+F6-F12 Enable/disable draw mode
โ†/โ†’ Cycle through enabled draw modes
Ctrl+โ†/โ†’ Cycle through enabled blur modes

Effect Controls

Key Action
P Random color palette
E Toggle psychedelic colors
A Toggle audio analyzer display
D Freeze current frame
F Freeze mode (prevents random changes)

๐ŸŽจ Visualization Modes

Draw Modes

  1. Oscilloscope (F9) - Classic dual-channel waveform with circular variant
  2. Twin Grids (F10) - Dual 3D frequency grids with perspective
  3. Burn3D (F11) - Morphing 3D particle sphere responding to audio energy
  4. Burn3D Delayed (F12) - Time-shifted burn effect with trails
  5. Spectral Balls (F8) - Frequency-based particle fountains
  6. Stars Morph (F7) - Morphing star field with 3D transformations
  7. Super Spectral (F6) - Rotating spectral analysis with circular patterns

Blur/Deformation Modes

  1. None (F1) - Direct pixel copy, no deformation
  2. Hyperbolic Radial (F2) - Multiple rotating spiral distortions
  3. Cosine Radial (F3) - Smooth wave-based deformation
  4. Hyperbolic Zoom (F4) - Centered zoom distortion
  5. Noise (F5) - Random pixel displacement

โš™๏ธ Configuration

Settings are saved to ~/.jess/config.ini (or %USERPROFILE%/.jess/config.ini on Windows).

Example config.ini

[DrawModes]
# 0=Oscilloscope, 1=Twin Grids, 2=Burn3D, 3=Burn3D Delayed
# 4=Spectral Balls, 5=Stars Morph, 6=Super Spectral
mode0_oscilloscope = 1
mode1_twin_grids = 1
mode2_burn3d = 0        # Disabled
mode3_burn3d_delayed = 1
mode4_spectral_balls = 1
mode5_stars_morph = 1
mode6_super_spectral = 0 # Disabled

[BlurModes]
# 0=None, 1=Hyperbolic, 2=Cosine, 3=Hyperbolic Zoom, 4=Noise
blur0_none = 1
blur1_hyperbolic = 1
blur2_cosine = 1
blur3_hyperbolic_zoom = 0 # Disabled
blur4_noise = 0           # Disabled

[Settings]
resolution_x = 1920
resolution_y = 1080
fullscreen = 0
psychedelic_colors = 1

๐Ÿ“š Technical Details

  • Audio Processing: Real-time FFT analysis with 256 frequency bins
  • Rendering: Double-buffered SDL2 with authentic 8-bit indexed color mode
  • Effects Pipeline: Deformation โ†’ Blur โ†’ Draw โ†’ Fade
  • Coordinate System: Mathematical (Y-up) with origin at center

๐Ÿ”ง Porting Notes

Please note: Some visual effects may appear slightly different from the original JESS XMMS plugin due to differences in modern libraries, audio processing methods, and my porting skills :) .

๐Ÿ™ Credits

๐Ÿ“š Historical Note

JESS was one of the beloved visualization plugins for XMMS (X Multimedia System), the popular Linux media player of the late 1990s and early 2000s. This standalone version preserves the original's mathematical beauty while making it accessible to modern systems without requiring XMMS.


Experience the mesmerizing world of mathematical audio visualization with JESS!

About

A modern standalone port of the classic JESS XMMS visualization plugin, featuring mesmerizing real-time audio-reactive visuals with support for high-resolution displays up to 4K.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0