Struct WhiteNoiseProcessor

Source
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>

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<SampleType: Float + SampleUniform> MonoAudioProcessor for WhiteNoiseProcessor<SampleType>

Source§

type SampleType = SampleType

Source§

fn m_process( &mut self, _context: &mut AudioContext, _sample: Self::SampleType, ) -> Self::SampleType

Source§

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> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V