audio_buffer_interface

Crates.ioaudio_buffer_interface
lib.rsaudio_buffer_interface
version0.1.0
sourcesrc
created_at2024-03-29 20:43:13.842876
updated_at2024-03-29 20:43:13.842876
descriptionTraits for iterating through scalar and SIMD audio data.
homepage
repositoryhttps://git.sr.ht/~signal_processor/audio_buffer_interface
max_upload_size
id1190516
size12,619
(signal-Processor)

documentation

README

Audio Buffer Interface

    When supplying audio data to consumers, many crates do so by passing a single slice of audio samples, or a slice of slices of audio samples. This then leads to writing unidiomatic Rust when working with this data. Most work done over audio data is not done to all samples but to groupings of samples, like channels or frames. Providing a slices and layout information puts the burden of writing iteration logic on all users. Using iterators is more idiomatic, but the real-time constraints of audio processing make implementing these iterators difficult.

    audio_buffer_interface provides traits for iteration of audio data. Iteration is done by channels or frames, both of which return iterators of samples. Two different traits allow for iterating over scalar or SIMD values. A reference implementation licensed under the AGPL can be found here.

Commit count: 0

cargo fmt