/PHANTOMa

High performance Rust/WebGPU rendering and realtime audio signal processing engine built for live DJ performances.

Primary LanguageRust

PHANTOMa

https://youtu.be/J3St66XFQzE https://youtu.be/nrh4Sin6PLM https://youtu.be/Ow8Ewml8fz0

A music reactive environment for creating live visual effects with a custom WebGPU rendering pipeline and audio analysis tools.

Requirements

PHANTOMa requires a nightly rust compiler.

When cloning, be sure to also clone the required submodules:

git clone --recurse-submodules https://github.com/Foltik/PHANTOMa

Goals

App Framework

  • Async event loop
  • Multiple windows

Resources

  • Load resources from crate root
  • More granular control of resource loading

Rendering

  • WebGPU Wrappers
  • Data driven pipelines with spirv-reflect
  • Data driven UI generation
  • Composable scenes
  • Asset pipeline
  • Ray tracing
  • Expose more native vulkan extensions

Audio

  • Send/Receive with JACK
  • FFT
  • Basic frequency range beat detection
  • More advanced beat detection algorithms
  • Pitch detection

Video

  • Playback
  • Scrubbing / Timewarp

MIDI

  • Send/Receive with JACK
  • Separate implementation from midir
  • Swappable profiles with generic outputs
  • Launchpad control library

OSC

  • Send/Receive with nannou_osc
  • Mixxx plugin
  • VirtualDJ plugin
  • Supercollider Control

E.131/sACN

  • Send packets to lighting hardware
  • Receive packets