tesselode / kira

Library for expressive game audio.
https://crates.io/crates/kira
Apache License 2.0
836 stars 42 forks source link

Scope and differences to Rodio #87

Open dvdsk opened 2 months ago

dvdsk commented 2 months ago

Hi, I have recently started contributing/maintaining rodio. One of my goals for it is to make it easier to create music players using rust. As a first step in that direction we recently merged seek support.

This unblocked https://github.com/bevyengine/bevy/issues/9076. Through that issue I learned about kira. @SolarLiner gave me a great explanation of why bevy will be using kira over rodio. Now I am wondering whether it makes sense to build out rodio further or if the audio community should unite behind kira as high level audio crate. I had a look around the source (very nice) and still have a few questions.

I understand kira is primarily meant as a game audio lib. Could kira also be expanded to allow easy creation of more general audio applications, for example, a podcast app? Would you accept contributions to that effect?

Are there any features/directions you will not take kira? It might make sense to expand rodio into those directions.

Note that while I am a contributor and help maintain rodio, I am not in charge of the project.

tesselode commented 2 months ago

I want to keep Kira's built-in features game-focused. I don't think media players would necessarily benefit from the same kind of API a game needs and vice versa. That being said, Kira's SoundData trait doesn't make many assumptions about the audio, so Kira could potentially serve a lot of purposes outside of game dev. But I think such functionality should be provided by separate crates.