web-audio-api-rs icon indicating copy to clipboard operation
web-audio-api-rs copied to clipboard

A Rust implementation of the Web Audio API, for use in non-browser contexts

Results 90 web-audio-api-rs issues
Sort by recently updated
recently updated
newest added
trafficstars

Possibly announce on the rust audio forum and elsewhere for last minute feedback

The spec contains some cyclic references that are quite hard for us to model in rust. For example: 1. `BaseAudioContext` has a `destination` property that should return a `AudioDestinationNode` 2....

https://www.w3.org/TR/webaudio/#dom-baseaudiocontext-control-thread-state-slot Before we think about also adding onStateChange handlers ( https://www.w3.org/TR/webaudio/#dom-baseaudiocontext-onstatechange ) we need to think about the architecture for event handling (probably in a separate issue)

https://www.w3.org/TR/webaudio/#PannerNode https://www.w3.org/TR/webaudio/#Spatialization - [ ] `DistanceModelType` option (good first issue) - [ ] options `refDistance`, `maxDistance`, `rolloffFactor` (good first issue) - [ ] handle stereo input (currently mono is assumed)...

good first issue

Some improvements could be made in graph.rs when rendering an audio quantum: - [x] Store edges more efficiently (currently a single HashMap that needs to be iterated many times) -...

Performance

One small thing is that the error messages are a bit confusing, nothing really important but maybe it would be better to override them with some generic message (at contrary...

We aim to have an example usage per audio node type, and all methods documented. Check e.g. DelayNode for a decent top level doc and example usage: https://docs.rs/web-audio-api/latest/web_audio_api/node/struct.DelayNode.html Notice we...

good first issue

We ran into a nasty bug due to unsafe casts in #113 There's a group of clippy lints called `unnecessary_cast, cast_lossless/possible_truncation/possible_wrap/precision_loss/sign_loss` which ideally we enable globally. These are part of...

good first issue

The golden audio processing standard is that the render thread should be 100% allocation free. This can be achieved by allocating up front and (optionally) deny any new allocations. What...

https://www.w3.org/TR/webaudio/#OfflineAudioContext-methods Notice the `suspend` function has the rather odd feature that you can specify the suspend time. We can implement that (later) as an addiditonal method `suspend_at`