Skip to content

Build the demo #8

@dvdsk

Description

@dvdsk

from the repo:

Currently Rodio is by far the most widely used audio engine. Unfortunately it seems limited by what we knew 9 years ago about audio development in Rust. Since then new crates have been build to overcome that. We hope to demonstrate one crate to be best suited to all use cases and then build support behind it. For that we are building a demo. It will take the form of a game environment since game audio is seen as the most challenging use case. The goal is to have users feel how the game responds differently when switching audio engine.

Currently two crates are participating in this demo: Rodio and Firewheel though everyone is very welcome. The demo will be limited to functionality that is properly implemented by all crates.

Demo

  • audio environment playing back many sounds at the same time.
  • sounds and effects are influenced by user input to make it easy to judge latency.
  • the demo uses audio libraries in the same way as a game.
  • pre-defined events instead of user input to keep the demo repeatable.
  • no graphics to keep the demo code simple.
  • sounds are all at the same sample-rate.
  • implementations pre-resample before loading.

We know what we want from the demo, now it just needs to be build. I see 2 stages

  • build the game part
  • integrate the audio engines
    I am not not be the best person for the first part, as I have zero ECS experience. I will do the integration of Rodio as audio engine. @BillyDM would you be okay with integrating Firewheel?

Then we still need someone to build the game part. My hope is that one of us can take this on. If that turns out not to be the case we can ask for help in the rust audio and bevy discord. If we do ask for help that should be combined with a small announcement of this effort. Any announcement needs to wait till all text is final which it not yet is.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions