Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions requirements.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ Becoming the standard audio stack for Rust requires us to support near all neede
To that end we start with features supported by popular Rust audio engines like *Kira* & *Rodio*. Requests of those engines also point to needed use-cases. Finally we hope to learn from looking at large projects using audio like *Bevy* and *Fyrox*.

### Supported by Kira

- Smoothly adjusting properties of sounds without pops (via [tween](https://docs.rs/kira/latest/kira/struct.Tween.html))
- Change the settings of effects automatically [modulate](https://docs.rs/kira/latest/kira/modulator/index.html)
- Apply audio effects:
Expand Down Expand Up @@ -79,3 +80,10 @@ Needs we have ourselves or features we have seen requested but can not link too.
- Microphone as input node to the audio graph @dvdsk.
- Add an output to the OS, any audio send to it enters the audio graph. @dvdsk
- Add an input to the OS, it gets audio from an output of the audio graph. @dvdsk
- Support features on capable embedded hardware where possible. With capable hardware we mean the target:
- Supports 32 bit floating points.
- Has 32 bit float atomics.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With libm and portable-atomic, I'd actually say these requirements can be relaxed without sacrificing the internal development experience.

I'd say the "hard" requirement should be no_std support (not necessarily full functionality), but leave it as an exercise for the reader how to actually make their weird platform work.

This is a similar approach to how wgpu is going for no_std support; provide both sides of a public API.

This would allow applications such as:
- (battery operated) Alarm clocks
- Light portable audio players
We might make this a soft requirement, meaning we attempt to achieve this if it does not take too much extra effort.