Skip to content

requirements: support embedded targets #10

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Apr 7, 2025
Merged
Changes from all commits
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
- Have (partial) functionality on `no_std` targets. Such as capable embedded hardware. The targets need to at least:
- Can supports 32 bit floating points through [libm](https://crates.io/crates/libm).
- Has 32 bit float atomics via [portable-atomics](https://crates.io/crates/portable-atomic).
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.