Noise Generator
Shippingnoise_generatorStochastic waveform source: white, pink, brown, Gaussian
Signature
Outputs
signalSignal
Parameters
| Key | Type | Default | Notes |
|---|---|---|---|
noise_type | enum | white | one of: white, pink, brown, gaussian |
amplitude | float | 1.0 | |
offset | float | 0.0 | |
mean | float | 0.0 | |
std_dev | float | 1.0 | |
clip | float | 0.0 | |
seed | int | 0 | |
sample_rate | float | 1000.0Hz | |
duration | float | 1.0s |
Description
Noise Generator is a pure source node that synthesizes a stochastic waveform and emits it on a single signal output. Four spectral colours are available via noise_type: white (flat power spectral density), pink (, equal energy per octave), brown (Brownian / red, ), and gaussian (white samples drawn from a normal distribution). The generated Signal carries sample_rate samples per second for duration seconds, so it contains points with uniform timestamps.
For white, pink, and brown, each sample is scaled by amplitude and shifted by the DC offset. For gaussian, samples are drawn as using the mean and std_dev parameters, then optionally hard-clipped to clip when clip (a value of 0 disables clipping). Note that amplitude/offset govern the coloured modes while mean/std_dev/clip govern the Gaussian mode; the Gaussian parameters are gated on noise_type = gaussian in the UI.
The node is not stateful: it holds no memory across evaluations. Its PRNG is reseeded from seed at the start of every run. A seed of 0 draws entropy from the OS, producing a fresh realization each run; any nonzero seed yields a bit-for-bit reproducible sequence, which is essential for regression tests and repeatable Monte-Carlo experiments.
The output is dimensionless (no physical unit) and carries no measurement uncertainty — the randomness is the signal, not an error band on a nominal value. To model measurement noise on a physical quantity, add this node's output to a units-bearing source rather than treating it as an uncertainty channel.
Mathematics
Examples
Reproducible white noise for a filter test bench
Set noise_type = white, amplitude = 1.0, offset = 0.0, sample_rate = 48000, duration = 2.0, and seed = 42. This yields a deterministic 96000-sample white-noise excitation. Feeding it into iir_filter and taking the fft of both input and output lets you estimate the empirical transfer function; because the seed is fixed the experiment is exactly repeatable across runs.
Truncated Gaussian sensor jitter
For bounded normal noise, choose noise_type = gaussian, mean = 0.0, std_dev = 0.05, and clip = 0.15. Samples are drawn from and any excursion beyond is hard-limited to :
noise_type = gaussian
mean = 0.0
std_dev = 0.05
clip = 0.15 # ±3σ hard clip
seed = 7Use this to stress-test a schmitt_trigger or comparator threshold against realistic, bounded fluctuations.
Applications
- Excitation signals for system identification: white noise drives a plant or filter so its frequency response can be estimated from the input/output cross-spectrum.
- Dithering and Monte-Carlo robustness studies, where a fixed nonzero seed makes each random trial reproducible and auditable.
- Audio and acoustics work: pink noise for loudspeaker/room equalization and octave-band calibration, brown noise for low-frequency rumble and masking tests.
- Modeling sensor and channel noise in simulation, superimposing Gaussian fluctuations on a nominal physical signal to test detection and filtering thresholds.
Neat
Pink noise has equal power per octave rather than per hertz, which is why it sounds perceptually 'balanced' to the human ear and is the standard reference for audio calibration — unlike white noise, which is dominated by high-frequency energy.
The `clip` parameter turns an unbounded Gaussian into a truncated normal distribution; setting it near $3\sigma$ removes rare outliers while barely altering the variance, whereas clipping near $1\sigma$ substantially reshapes the distribution and reduces its effective standard deviation.
Known issues
`duration` is truncated to a whole number of samples via $\lfloor f_s \cdot T\rfloor$; non-integer products of `sample_rate` and `duration` drop the fractional sample, so very short durations near the `0.001 s` minimum may yield fewer points than expected.
Pink and brown noise are generated by integrating/filtering white noise and therefore accumulate low-frequency (DC-ward) energy; the mean of a finite brown-noise realization can drift noticeably from zero, so apply `offset` or a downstream high-pass/`derivative` stage if a zero-mean output is required.