Linux Studio Plugins Project

# Noise Generator x1

Detailed: LSP Noise Generator x1 (NG1)

Formats: LADSPA, LV2, VST2, JACK

Categories: Utility

Developer: Stefano Tronci

Description:

This plugin implements a flexible noise generator.

The noise generator channel has the following features: Each noise generator channel has the following features:

- An input channel.
- An output channel.
- Multiple types of noise generators.
- Arbirrary slope coloring filter.

Controls:

'SPECTRUM GRAPH' section:

This section allows to visualise the spectrum of the input signal, output signal or signal generator output. This graph also allows to visualise the slope of the coloring filter.

- SPECTRUM GRAPH - All FFT and filter response traces are plot on this graph.
- FFT IN - This control allows to plot the FFT of the input signal. Use the channel buttons to the left of this control to select which channels to plot.
- FFT OUT - This control allows to plot the FFT of the output signal. Use the channel buttons to the left of this control to select which channels to plot.
- FFT GEN - This control allows to plot the FFT of noise generator output. Use the channel buttons to the left of this control to select which channels to plot.

'Signal' section:

This section allows to set the levels for each channel. The following settings are available for each channel.

- MODE - This control sets how the input signal and noise generator output are combined to yield the output signal. Available modes are below.

- Overwrite - In this mode the signal generator output overwrites the input.
- Add - In this mode the signal generator output is summed to the input.
- Multiply - In this mode the signal generator output is multiplied to the input.

- SOLO - Whether the channel should be solo.
- MUTE - Whether the channel should be mute.
- In Level - The level of the input signal.
- 1, 2, ... Level - The level of each of the channels.
- Out Level - The level of the output signal.
- In Meter - A level meter for each of the input channels.
- Out Meter - A level meter for each of the output channels.
- Input Level - This control allows to tune a global input gain applied to all channels.
- Output Level - This control allows to tune a global output gain applied to all channels.

'Analisys' section:

This section allows to tune the settings of the FFT analyser used to produce the spectra in the 'SPECTRUM GRAPH' section. These control apply to all channels.

- Reactivity - The analyser reactivity, in milliseconds.
- Shift - A vertical shift for the spectra plots, in decibels.

'Generators' section:

This section allows to tune the noise generator parameters. There is a set of controls for each channel. Many of these controls are activated depending on the value of other controls. A lot of these control have a subtle effect on the noise quality. The effect can be more or less evident depending on the value of the other controls.

- Amp - Amplitude of the noise generator.
- Offs - Offset of the noise generator.
- Settings - General settings for the generator. The following are available:

- S (Solo) - Whether this generator should be solo.
- M (Mute) - Whether this generator should be mute.
- Inaudible - Whether this generator should output inaudible noise. When active, this control will set the noise to white and pass it through a high pass filter with cutoff frequency at 24 kHz. For this to work the sample rate must be higher than 48 kHz. For sample rates lower than this the noise cannot be made inaudible.

- Type - This control selects the type of noise generator. The following types are avaiable.

- Off - Shuts off the noise generator.
- MLS - Maximum Length Sequence. This is a high quality generator with ideal decorrelation. It is the "most random" noise avalible. However, it has only two states (samples are emitted only at minimal or maximum range).
- LCG - Linear Congruental Generator. This is the simplest generator. It's main feature is that it allows to tune the statistical distribution of the noise. See Distribution.
- Velvet - Velvet Noise Generator. This is a sparse noise generator (random pulses separated by random amounts of silence). It has specific types (see Velvet Type) and it can be crushed. Crushing means that the spike values are rounded to 0 or full scale depending on the outcome of a ramdom variable. This process can be tuned by a probability to which the random variable is compared.

- Color - Color of the noise. The following colors are available:

- White - Uniform frequency weighting.
- Pink - 3 dB per octave attenuation.
- Red - 6 dB per octave attenuation.
- Blue - 3 dB per octave gain.
- Violet - 6 dB per octave gain.
- Custom (Np/Np) - Custom color in units of Neper per Neper. Set with the Cstm knob.
- Custom (dB/Octave) - Custom color in units of decibels per octave. Set with the Cstm knob.
- Custom (dB/decade) - Custom color in units of decibels per decade. Set with the Cstm knob.

- Cstm - Custom color value. Only active for custom colors. See Color.
- Distribution - Statistical distribution. Applies only to LCG noise. See Type. The distributions below are available.

- Uniform - A uniform probability distribution.
- Exponential - A two sided exponetial probability distribution.
- Triangular - A triangular probability distribution.
- Gaussian - A gaussian probability distribution.

- Velvet Type - The type of Velvet Noise. Applies only to Velvet noise. See Type. The types are based on those described in GENERALIZATIONS OF VELVET NOISE AND THEIR USE IN 1-BIT MUSIC by Kurt James Werner. All Velvet noise types can be crushed. They all depend on the Window parameter. The following types are available:

- OVN - Original Velvet Noise.
- OVNA - Original Velvet Noise, Alternative implementation.
- ARN - Additive Random Noise. This type of velvet noise is additionally controlled by ARN Delta.
- TRN - Totally Random Noise.

- Window - The Velvet noise window, in seconds. This control the (staistical) time between velvet noise spikes (or, the average duration of the random silence periods between spikes). This control is active only for Velvet noise. See See Type.
- ARN Delta - The ARN Velvet noise delta. For ARN Velvet Noise, this controls a tradeoff between advancing time by a fixed amount (0) and a random amount (1). This control is active only for ARN Velvet noise. See Type and Velvet Type.
- Crush - Whether to activate crushing. Only applies to Velvet noise. See Type. The crushing operation rounds the values of the Velvet noise spikes based on a probability set by Crush prob.
- Crush Prob - The Velvet noise crushing probability. Applies only if the noise is Velvet (see Type) and Crush is on. This control affect the probability by which the velvet noise spikes are rounded to full scale when crushing is active. In most cases the effect of this control will be subtle unless near an extreme. However, how subtle this control is depends on all the other Velvet noise settings.