firewheel

Crates.iofirewheel
lib.rsfirewheel
version0.1.0
sourcesrc
created_at2022-10-23 19:18:59.670994
updated_at2024-10-07 23:47:40.754518
descriptionFlexible, high-performance, and libre audio engine for games (WIP)
homepagehttps://github.com/BillyDM/firewheel
repository
max_upload_size
id695317
size8,784
Billy Messenger (BillyDM)

documentation

README

Firewheel

Documentation Crates.io License

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!

Commit count: 0

cargo fmt