# ER-301/Manual Grains

## Applications

 For speed-driven time stretching see the Grain Stretch unit. For tempo-synced time stretching see the Clocked Stretch unit.

## Description

This unit renders grains (small pieces of sound) polyphonically from an assigned sample buffer. The adjective "manual" in the name means that you design the desired grain production by providing your own timing and modulation signals. The production of a grain is initiated when a trigger is received on the trig parameter's input. Maximum grain polyphony is 16 which means you can trigger grains as fast as you like but there can only be 16 grains active at any moment. When a Manual Grain unit is triggered, a snapshot is taken of the values of all the grain production parameters: speed, V/oct, start, duration, gain, pan. The parameter snapshot is then used to render the grain with the parameters kept constant over its lifetime.

### Envelope

Each grain's amplitude is shaped by an envelope which can be continuously morphed from cosine to square via the squash parameter:

### Gain Compensation

Since the signal amplitude will grow and ultimately distort as more and more grains overlap, it is necessary to reduce the amplitude of each new grain depending on how many grains are already active. This gain compensation is calculated from the number of active grains in the following manner:

${\displaystyle {\mbox{GAINCOMP}}(n)={\sqrt {\frac {1}{n}}}}$

where n is the number of active grains. The inverse square root shape is due to the assumption that the grain signals are not correlated with each other (e.g. incoherent).

For further details on the adding of incoherent sound sources, see [1].

### Assign Sample

This will bring you to the Sample Pool screen where you can select a sample to assign to this unit. If the desired sample has not been loaded to memory yet than you can load the sample from card into the Sample Pool and then select it. See Sample Pool for a complete description.

## Parameters

### trig

 Control Type Has Sub-chain? Sub-chain Parameters Behavior Threshold yes threshold (-1 to 1) trigger

A new grain is spawned whenever a trigger is received on this parameter's input but only if less than 16 grains are already active.

### V/oct

 Control Type Has Sub-chain? Sub-chain Parameters Fader Scale Pitch yes transpose (-3600¢ to 3600¢) logarithmic ratio

The base playback speed is multiplied by this exponential factor to yield the actual playback speed.

### speed

 Control Type Has Sub-chain? Sub-chain Parameters Fader Scale Gain/Bias yes gain (-10 to 10) bias (-3 to 3) linear

Determines the base playback speed of the (next) grain.

### start

 Control Type Has Sub-chain? Sub-chain Parameters Fader Scale Gain/Bias yes gain (-10 to 10) bias (0 to 1) linear proportion

This proportional position in the audio buffer determines where the (next) grain starts its playback. Zero corresponds to the beginning of the audio buffer while one corresponds to the end.

### dur

 Control Type Has Sub-chain? Sub-chain Parameters Fader Scale Gain/Bias yes gain (-10 to 10) bias (0s to 1s) linear time

This is the final duration (in seconds) of the (next) grain which is independent of playback speed.

### pan

 Control Type Has Sub-chain? Sub-chain Parameters Fader Scale Gain/Bias yes gain (-10 to 10) bias (-1 to 1) linear

This sets the left vs. right pan of the (next) grain's output and only appears in stereo chains.

### gain

 Control Type Has Sub-chain? Sub-chain Parameters Fader Scale Gain/Bias yes gain (-10 to 10) bias (-3 to 3) linear

The final grain output is scaled by this amount as well as a compensation factor that depends on how many grains are active.

### squash

 Control Type Has Sub-chain? Sub-chain Parameters Fader Scale Gain/Bias yes gain (-10 to 10) bias (0dB to 36dB) logarithmic gain

Use this parameter to morph the grain envelope from cosine to square. Higher values means squashing the envelope more so that it becomes more and more box-shaped.