1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
//! # Noise //! //! A white noise generator. use super::*; use rand; #[derive(Default,Clone)] /// Struct for generating white noise audio samples. pub struct Noise { engine: rand::rngs::ThreadRng, } impl Noise { /// Creates a new white noise generator. pub fn new() -> Self { Noise{ engine: rand::thread_rng() } } } impl Generator for Noise { fn process(&mut self) -> SampleT { use rand::Rng; self.engine.gen::<SampleT>()*2.0-1.0 } }