Spectra is a high-performance, modular audio engine built on OpenAL. It is designed to work both as a standalone desktop application and as an embedded engine for platforms such as Minecraft and Hytale.
- 🔊 Core audio engine powered by OpenAL through LWJGL
- ⚡ Real-time FFT analysis
- 🥁 Beat detection for Kick, Snare, and Hat
- 🌐 Built-in web server with SSE support
- 🖥️ Modern desktop UI using Java Swing
- 🧩 Modular architecture for multiple platforms
Before running Spectra, make sure you have:
- Java 25
- Gradle or the Gradle Wrapper
- Native library access enabled
Since Spectra uses LWJGL native bindings, run Java with:
--enable-native-access=ALL-UNNAMED./gradlew buildThe generated artifacts will be available in:
spectra-core/build/libs/
spectra-minecraft/build/libs/
spectra-hytale/build/libs/
./gradlew :spectra-core:runMainThis starts:
- the audio engine
- the FFT analyzer
- the web server
- the Swing dashboard
Spectra includes a local web server that exposes real-time audio data.
http://localhost:8080
- Live spectrum visualization
- Real-time beat detection
- Server-Sent Events (SSE) streaming
- Browser-based monitoring
From the desktop UI, you can adjust in real time:
- FFT precision
- Smoothing factor
- Detection thresholds
- Analysis sensitivity
- LWJGL — OpenAL and STB
- JTransforms — High-performance FFT processing
- JLayer — MP3 decoding support
- Java Swing — Desktop user interface
- Gradle Kotlin DSL — Modern build configuration
This project is licensed under the MIT License.
You are free to use, modify, and distribute it as long as the original license notice is preserved.