Crate rotary[−][src]
A library for dealing efficiently with AudioBuffer non-interleaved audio buffers.
use rand::Rng as _; let mut buffer = rotary::AudioBuffer::<f32>::new(); buffer.resize_channels(2); buffer.resize(2048); /// Fill both channels with random noise. let mut rng = rand::thread_rng(); rng.fill(&mut buffer[0]); rng.fill(&mut buffer[1]);
Creating and using a masked audio buffer.
use rotary::BitSet; let mut buffer = rotary::MaskedAudioBuffer::<f32, BitSet<u128>>::with_topology(4, 1024); buffer.mask(1); for channel in buffer.iter_mut() { for b in channel { *b = 1.0; } } let expected = vec![1.0f32; 1024]; assert_eq!(&buffer[0], &expected[..]); assert_eq!(&buffer[1], &[][..]); assert_eq!(&buffer[2], &expected[..]); assert_eq!(&buffer[3], &expected[..]);
Re-exports
pub use self::audio_buffer::AudioBuffer; |
pub use self::bit_set::BitSet; |
pub use self::masked_audio_buffer::MaskedAudioBuffer; |
Modules
audio_buffer | A dynamically sized, multi-channel audio buffer. |
bit_set | A fixed size bit set. |
masked_audio_buffer | A dynamically sized, multi-channel audio buffer that supports. |
Traits
Mask | The trait for a mask that can be used with crate::MaskedAudioBuffer. |
Sample | A sample that can be stored in an audio buffer. |