← Back to experiments
Percussion Physics
Realtime acoustic simulation of struck percussion
RustPhysicsSIMD
As a synth enthusiast physical modeling synthesizers have always fascinated me. For my masters thesis I had worked on GPU accelerated 3D audio simulations but those were not fast enough to run in realtime. In 2D though realtime is definitely possible!
I currently have a 2D drum synthesis algorithm that can simulate struck percussion instruments in realtime by running FDTD to simulate wave propagation.
- The drum is represented as shape on a 2D grid. Material properties of each cell can be modified
- Runs directly on CPU with SIMD/vectorization optimizations with Rust/Ultraviolet
- 24 x 24 grid simulation runs at ~5µs per sample, ~20% utilization at 44.1kHz
In this video the drum samples are synthesized via the algorithm and then loaded into Logic Pro as samples. The next step is porting this to run directly as a VST for dynamic control of the simulation parameters.