tesselode / kira

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

External audio effects and roadmap? #59

Closed YPares closed 1 month ago

YPares commented 9 months ago

Hi! I stumbled upon kira while reading stuff on bevy, while trying to reasearch on the topic of audio engines for games that could lead to expressive uses of audio (most simple example I can think of: "In some action RPG, one of the instruments in the current fighting track represents a character. The more that character loses HPs, the more its associated instrument gets filtered and/or the narrower in the stereo field it becomes")

I had 2 questions re. kira:

tesselode commented 9 months ago

The plugin system idea is more about letting people write code that runs on the audio thread and can start sounds, change parameters, etc. That being said, I don't think there's anything stopping anyone from making a Faust or VST host as a Kira Effect.

I would be interested in MIDI support for that good good Nintendo-style dynamic arpeggios. I have no idea what an API for that should look like though. A MIDI player could potentially be implemented as a Sound, albeit one that doesn't actually produce any audio. Realtime synthesizers could also be implemented using the Sound trait.

In summary, I think Kira has the right architecture to support all the ideas you listed. Those features would probably make more sense as separate crates instead of being built directly into Kira.