pub struct WhiteNoiseProcessor<SampleType> { /* private fields */ }
Expand description
White-noise generator, returns random numbers between -1 and 1 using rand::rngs::SmallRng
.
Float type for samples is generic, requires implementations of [num::Float
] and
rand::distributions::uniform::SampleUniform
§Example
Generating sample by sample see [audio_processor_traits::SimpleAudioProcessor
]:
use audio_processor_traits::{AudioContext, AudioProcessorSettings};
use audio_processor_traits::simple_processor::MonoAudioProcessor;
use audio_processor_utility::noise::WhiteNoiseProcessor;
let mut context = AudioContext::from(AudioProcessorSettings::default());
let mut processor = WhiteNoiseProcessor::<f32>::default();
let noise1 = processor.m_process(&mut context, 0.0);
let noise2 = processor.m_process(&mut context, 0.0);
let noise3 = processor.m_process(&mut context, 0.0);
Generating buffer by buffer see audio_processor_traits::simple_processor::process_buffer
:
use audio_processor_traits::simple_processor::process_buffer;
use audio_processor_traits::{AudioContext, AudioProcessorSettings, AudioBuffer};
use audio_processor_utility::noise::WhiteNoiseProcessor;
let mut context = AudioContext::from(AudioProcessorSettings::default());
let mut buffer = AudioBuffer::empty();
buffer.resize(2, 1000);
let mut processor = WhiteNoiseProcessor::<f32>::default();
process_buffer(&mut context, &mut processor, &mut buffer);
Using as a standalone processor see [audio_processor_standalone
]:
use audio_processor_standalone::StandaloneAudioOnlyProcessor;
use audio_processor_traits::simple_processor::MonoCopyProcessor;
use audio_processor_utility::noise::WhiteNoiseProcessor;
let processor = MonoCopyProcessor::new(WhiteNoiseProcessor::<f32>::default());
let _standalone = StandaloneAudioOnlyProcessor::new(processor, Default::default());
// now call standalone_start
Trait Implementations§
Source§impl<SampleType> Default for WhiteNoiseProcessor<SampleType>
impl<SampleType> Default for WhiteNoiseProcessor<SampleType>
Source§impl<SampleType: Float + SampleUniform> MonoAudioProcessor for WhiteNoiseProcessor<SampleType>
impl<SampleType: Float + SampleUniform> MonoAudioProcessor for WhiteNoiseProcessor<SampleType>
type SampleType = SampleType
fn m_process( &mut self, _context: &mut AudioContext, _sample: Self::SampleType, ) -> Self::SampleType
fn m_prepare(&mut self, _context: &mut AudioContext)
Auto Trait Implementations§
impl<SampleType> Freeze for WhiteNoiseProcessor<SampleType>
impl<SampleType> RefUnwindSafe for WhiteNoiseProcessor<SampleType>where
SampleType: RefUnwindSafe,
impl<SampleType> Send for WhiteNoiseProcessor<SampleType>where
SampleType: Send,
impl<SampleType> Sync for WhiteNoiseProcessor<SampleType>where
SampleType: Sync,
impl<SampleType> Unpin for WhiteNoiseProcessor<SampleType>where
SampleType: Unpin,
impl<SampleType> UnwindSafe for WhiteNoiseProcessor<SampleType>where
SampleType: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more