Skip to content

rljonesiii/aether

Repository files navigation

Aether: DSP VAE for Guitar Effects

Aether is a research project exploring the intersection of Digital Signal Processing (DSP) and Machine Learning. It uses a Parametric Variational Autoencoder (VAE) to learn a latent representation of audio impulse responses, decoding them into parameters for a chain of Parallel Bandpass Filters.

This allows for:

  • Neural Filter Morphing: Smoothly interpolating between different acoustic spaces (reverbs, cabinets, bodies).
  • Dynamic Modulation: Modulating the filter characteristics in real-time based on input dynamics (RMS).
  • Non-Linear Sound Design: Applying tube-like saturation and drive to the filter network.

Documentation

Full documentation is available in the docs/ directory:

  • 📚 Data & Visualization: How to prepare and view your dataset.
  • 🧠 Models (VAE): Deep dive into the Encoder/Decoder architecture.
  • 🏋️ Training: Training loop, loss functions, and optimization.
  • 🎛️ DSP & Simulation: The core simulation engine, filters, and modulation.

Quick Start

Installation

Requires Python 3.10+ and a CUDA-capable GPU (optional but recommended for training).

# Install dependencies
uv sync
# OR
pip install -r requirements.txt

Usage

1. Visualize Data Generate an interactive HTML report of your impulse response dataset.

uv run python -m aether.data.visualize --data_dir data/EchoThief
# Opens visualizations/index.html

2. Train Model Train the VAE on your dataset.

uv run python -m aether.training.train --data_dir data/EchoThief --epochs 100

3. Simulate (Inference) Process an audio file through the learned filter bank.

# Basic Simulation
uv run python -m aether.simulation.simulate --input data/Guitar/riff.mp3 --output output.wav

# With Honey DSP (Tube Saturation + Vactrol Smoothing)
uv run python -m aether.simulation.simulate \
  --input data/Guitar/riff.mp3 \
  --output output_honey.wav \
  --mode spiral \
  --honey \
  --warmth 0.6 \
  --stickiness 0.4

# Interactive Web UI
uv run python -m aether.simulation.app --model checkpoints/model.msgpack
# Now features: 
# - Tube Saturation Warmth
# - Vactrol Stickiness + LFO Modulation
# - Global Bypass Switch

Features

  • JAX/Flax Implementation: High-performance differentiable DSP.
  • Parallel Bandpass Topology: 5+ resonant filters morphing in parallel.
  • Differentiable Biquads: Loss function gradients flow through the DSP transfer functions.
  • Honey DSP: Organic post-processing with Tube Saturation and Vactrol Smoothing.
  • Interactive Visualization: Web-based reports for IR analysis.

Latent Space Showcase

The interactions between the 4 latent dimensions and the filter bank are complex. Below is a visualization of how sweeping each dimension (z0-z3) affects the frequency response of the 32-band filter bank:

Latent Sweeps

License

This project is licensed under the MIT License - see the LICENSE file for details.

Author

Citation

If you use this library in your research, please cite:

@misc{jones2026aether,
  author = {Robert Jones},
  title = {Aether: DSP VAE for Guitar Effects},
  year = {2026},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/rljonesiii/aether}}
}

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors