3 unstable releases
0.1.0 | Oct 7, 2024 |
---|---|
0.0.1 | Oct 23, 2022 |
0.0.0 | Oct 23, 2022 |
#437 in Game dev
105KB
2K
SLoC
Firewheel
Work In Progress
Firewheel is a flexible, high-performance, and libre audio engine for games.
Key Features
- Flexible audio graph engine (supports any directed, acyclic graph with support for one-to-many connections)
- A suite of built-in nodes for common tasks:
- gain, stereo panning, stereo width (TODO)
- summation (TODO)
- versatile sample player (TODO)
- disk/network streaming (TODO)
- effects like filters, delays (echos), clippers, and convolutional reverbs (TODO)
- spatial positioning (make a sound "emanate" from a point in 3d space) (TODO)
- Decibel meter
- Custom audio node API allowing for a plethora of 3rd party generators and effects
- Basic CLAP plugin hosting (non-WASM only) (TODO)
- Automatable parameters on nodes, with support for automation curves (TODO)
- Fault tolerance for audio streams (The game shouldn't crash just because the player accidentally unplugged their headphones.)
- WASM support (TODO)
- C bindings (TODO)
Motivation
Firewheel is intended to be the default audio engine powering the Bevy game engine. Firewheel was separated out of Bevy into its own repository in the hopes that it could be useful for other games and game engines.
Get Involved
Join the discussion in the Bevy Discord Server under the working-groups -> Better Audio
channel!
Dependencies
~1–33MB
~444K SLoC