Skip to content

Commit 2998c29

Browse files
committed
docs: update README with expanded feature descriptions and informal commentary
1 parent 412c969 commit 2998c29

1 file changed

Lines changed: 29 additions & 23 deletions

File tree

README.md

Lines changed: 29 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
1-
# RustTracker 🎵
1+
# RustTracker 🎵🦀
22

33
![RustTracker UI](assets/screenshot_spectrum.png)
44

5-
A high-performance, real-time audio visualizer and tracker module player built in Rust.
5+
A high-performance, real-time audio visualizer and tracker module player built in Rust. Because your eyes deserve to hear the music too, and because I wanted an excuse to do something in Rust.
66

7-
RustTracker leverages a **3-Thread DSP Architecture** and **Hardware-Accelerated Compute Shaders** to ensure zero-latency audio playback while simultaneously computing **GPU-accelerated Fast Fourier Transforms (FFT) on each spatial audio channel** to render beautiful, fluid visualizations at 120FPS.
7+
RustTracker leverages a **3-Thread DSP Architecture** and **Hardware-Accelerated Compute Shaders** to ensure zero-latency audio playback while simultaneously computing **GPU-accelerated Fast Fourier Transforms (FFT) on each spatial audio channel**. It renders beautiful, fluid visualizations at a buttery-smooth high framerates.
8+
9+
Supported formats include all the best ones; .MOD, .S3M, .IT, and .XM!. Lossless formats such as FLAC, WAV. And of course, your everyday MP3. It even supports video files and bitstreaming/passthrough for proprietary formats like Dolby Atmos, DTS-HD, etc.
810

911
## Visualizations
1012

11-
RustTracker includes a variety of WGPU-accelerated visualizations, combining classic demoscene aesthetics with modern procedural generation.
13+
RustTracker includes an array of WGPU-accelerated visualizations. It's like the 90s, but with way more teraflops.
1214

1315
| Photorealistic Ferrofluid | Multi-Channel 3D Fire |
1416
| :---: | :---: |
@@ -20,45 +22,49 @@ RustTracker includes a variety of WGPU-accelerated visualizations, combining cla
2022

2123
## Features
2224

23-
* **Advanced Visualizers:** High-fidelity, cinematic shaders mapped tightly to precise acoustic frequencies.
24-
* **GPU-Accelerated FFT:** Offloads audio-reactive spatial weights directly to the GPU using WGPU compute shaders, mapping individual surround-sound speaker channels to local geometry in real-time.
25+
* **Advanced Visualizers:** High-fidelity, cinematic shaders mapped tightly to precise acoustic frequencies. Prepare to be mesmerized.
26+
* **GPU-Accelerated FFT:** We offload audio-reactive spatial weights directly to the GPU using WGPU compute shaders because your CPU is busy enough.
2527
* **Cinematic Video Integration & HDR:** Features integrated hardware-accelerated video stream playback, rendering vibrant visual environments with HDR color precision.
26-
* **Real-time Tracker UI:** Seamlessly decodes and visualizes `.mod` files, rendering a classic piano-roll style pattern editor that aligns perfectly with the audio playback, complete with flawless cross-pattern scrolling and jumping.
27-
* **Graceful Degradation:** Supports playing standard audio/video files (`.mp3`, `.flac`, `.mp4`, `.mkv`, etc.) or capturing live microphone input (`--mic`), instantly adapting the UI to remove tracker elements and focus on acoustic analysis.
28-
* **Zero-Latency Architecture:**
29-
* **Audio Thread (`cpal`):** A lock-free, ultra-high-priority thread dedicated solely to IO, preventing stuttering and audio underruns.
30-
* **DSP Thread:** A background worker that computes windowing and frequency history data without blocking the audio stream.
31-
* **GPU Render Pipeline (`wgpu` + `egui`):** Low-overhead, high-performance hardware rendering.
28+
* **Real-time Tracker UI:** Seamlessly decodes and visualizes `.mod` files, rendering a classic piano-roll style pattern editor. It aligns perfectly with the audio playback, complete with flawless cross-pattern scrolling and jumping.
29+
* **Graceful Degradation:** Supports playing standard audio/video files (`.mp3`, `.flac`, `.mp4`, `.mkv`, etc.) or capturing live microphone input (`--mic`). It instantly adapts the UI to remove tracker elements and focus on acoustic analysis. It's smart like that.
30+
31+
## Performance & Architecture
32+
33+
RustTracker is designed to be blazingly fast and utterly relentless when it comes to performance.
34+
35+
* **Audio Thread (`cpal`):** A lock-free, ultra-high-priority thread dedicated solely to IO. It pushes audio buffers like its life depends on it, preventing stuttering and audio underruns.
36+
* **DSP Thread:** A background worker that computes windowing and frequency history data. It does the heavy mathematical lifting without ever daring to block the audio stream.
37+
* **GPU Render Pipeline (`wgpu` + `egui`):** Low-overhead, high-performance hardware rendering that talks directly to your graphics card, bypassing the slow lane.
3238

3339
## Quick Start
3440

35-
Run a tracker module:
41+
Run a tracker module (and prepare to groove):
3642
```bash
3743
cargo run -- path/to/your_file.mod
3844
```
3945

40-
Run with live microphone input:
46+
Run with live microphone input (try whistling):
4147
```bash
4248
cargo run -- --mic
4349
```
4450

4551
## Linux Installation
4652

47-
RustTracker provides pre-compiled AppImages, RPM, and DEB packages via the **Releases** page.
53+
RustTracker provides pre-compiled AppImages, RPM, and DEB packages via the **Releases** page, because we know compiling from source isn't everyone's idea of a fun Friday night.
4854

4955
### Steam Deck (AppImage)
5056
1. Download `RustTracker-SteamDeck-GamePad.AppImage` in Desktop Mode.
5157
2. Mark it as executable (`Properties` -> `Permissions` -> `Is executable`).
5258
3. Add to Steam and launch in **Gaming Mode** for native Gamepad support.
53-
*(To force Gamepad Mode in Desktop Mode, hold the **Start (Menu)** button for 3 seconds)*
59+
*(To force Gamepad Mode in Desktop Mode, hold the **Start (Menu)** button for 3 seconds. It's a secret to everybody.)*
5460

5561
### RPM / DEB Packages
5662
Install the downloaded packages using your native package manager:
5763
- **Fedora/RHEL:** `sudo dnf install ./RustTracker-Linux*.rpm`
5864
- **Ubuntu/Debian:** `sudo dpkg -i ./RustTracker-Linux*.deb`
5965

6066
### Building Packages from Source
61-
To build the packages yourself, install the necessary dependencies:
67+
If compiling from source *is* your idea of a fun Friday night, install the necessary dependencies and go wild:
6268

6369
**For RPM (Fedora):**
6470
```bash
@@ -78,9 +84,9 @@ strip target/release/rusttracker
7884
cargo deb
7985
```
8086

81-
## Built With
82-
* `wgpu` & `egui` - Hardware-accelerated UI
83-
* `cpal` - Cross-platform Audio I/O
84-
* `spectrum-analyzer` - Fast Fourier Transforms
85-
* `crossbeam-channel` - Lock-free concurrency
86-
* `openmpt` - Tracker module decoding
87+
## Built With (The Shoulders of Giants)
88+
* `wgpu` & `egui` - Hardware-accelerated UI that makes things pretty
89+
* `cpal` - Cross-platform Audio I/O that makes things loud
90+
* `spectrum-analyzer` - Fast Fourier Transforms that make the pretty things react to the loud things
91+
* `crossbeam-channel` - Lock-free concurrency because threads should get along
92+
* `openmpt` - Tracker module decoding for that sweet, sweet nostalgia

0 commit comments

Comments
 (0)