Soundseed Grain is a granular synthesizer source plug-in in Wwise. Granular synthesis works by playing back small parts of an audio file, called "grains", applying an amplitude envelope onto them ("windowing"), and mixing them down in the output. The time between each grain's emission, their duration, the speed at which the source file is read (or equivalently, the pitch), and the position in the source file are all controlled independently, resulting in wildly varying sounds from even a single source file. Also, since the time between each grain's emission may be smaller than their duration, grains may overlap.
This granular synthesis tool empowers designers with the ability to explore and, ultimately, create an infinite variety of innovative and intriguing sounds within well-defined parameters at runtime.
Soundseed Grain also has a dedicated filter per grain and 3D spatialization capabilities. All of these parameters can be modulated or randomized, using RTPCs and/or the embedded grain modulators (Mod 1, Mod 2, Mod 3, and Mod 4).
The Waveform view displays a channel downmixed view of the audio file waveform used by the plug-in. You may load a new audio file using the browse […] button to the right of the Filename field.
The effective duration of the Wave file, as seen by the plug-in, is indicated in the lower right corner of the Waveform view. Changing the file's Trim points (in the Source tab) will have an effect on this duration. Refer to Source Settings for more details on Soundseed Grain's media management. The file duration may be useful for setting up modulators for the Playback Position (see Using saw up mode for scanning file / implement time scaling effects).
You may drag the Position and Offset cursors (Offset is only visible when Snap to Markers is enabled) to change the corresponding Position and Offset properties (see Controls) quickly and more accurately.
Finally, when capturing (by activating the Start/Stop Capture button located in the toolbar), the Grain Visualizer overlays the Waveform view and shows the instantaneous position of each grain in the file. The rectangle's transparency is an indication of the volume of the grain's envelope. Refer to Capturing Data from the Sound Engine for more details on Capturing.
The Soundseed Grain plug-in has six group boxes of controls, described below.
In the Grains group box you can define the time between each grain's emission, the grains' duration, and the shape of the envelope. These settings may be visualized in the Envelope Visualizer.
You may set the grain emission either by specifying the time that elapses between each grain's emission, or by specifying the emission rate (frequency). This may also be deduced from the MIDI note (see Using MIDI). You choose how you specify it by selecting the appropriate item of the Select Freq/Time drop menu. Grain emission and duration may range from very low to very high value, and is sample-accurate and not bound to the frame size (control rate) of the Wwise sound engine.
The grains' duration may be set by selecting the appropriate item from the menu:
Time between Emissions: A directly set value.
Emissions per second: A multiple of the time between each emission.
The Playback group box exposes controls to define position in the source audio file where grains are read. Position defines the start position of grains in the source audio file, in percentage of the file's duration. Then the file is read sequentially, in the direction and at a speed that is dictated by Speed and Pitch. An absolute Speed value above or below 1 will result in, respectively, an audible positive or negative Pitch shift. With negative Speed, the source audio file is read backwards.
When a grain's read position crosses 100% (0% when reading backwards), it wraps around to 0% (100% when reading backwards).
The grain start position may be snapped to markers' positions by enabling Snap to Markers when markers are present. Markers may be imported, edited manually, or automatically assigned to Transients in the source audio file. Refer to Source Tab for more details on markers.
Each grain is assigned an independent filter. The Filter group box controls it. This filter is best used with modulation because filters are applied individually for each grain. So, if one wants to filter the whole output, such as all grains with same filter settings, they're better off using an EQ as an insert effect for better Wwise performance.
This group box defines the behavior with multichannel output. The output channel configuration is set in the Output group box below. You may choose between Direct Speaker Assignment, where each channel of the source file is assigned to the corresponding channel of the output of the synthesizer, and 3D Spatialization where each grain is spatialized with an Azimuth, Elevation, and Spread, defined in the Source Editor: Soundseed Grain Plug-in and viewable within Wwise's Contextual Help view.
Choose the output channel configuration and overall level of the synthesizer.
By default, when the synthesizer is created, a default Envelope is assigned to the Output Level. When working with MIDI, a Note Off will stop the synthesizer.
This meters the signal at the output of the synthesizer, and its channel configuration matches that which is set in the Output group box.
The Envelope Visualizer offers a preview of the grain Envelopes' shapes and overlap. The amount of overlap depends on the emission rate, grain duration, and release. These values are before any RTPC or modulation is applied, so the actual outcome may be quite different.
Drag the handles on the top and bottom of this window to edit the Attack and Release times. In order to have asymmetrical windows, you first need to unlink Release from Attack by disabling the "link" button to the left of the Release parameter in the Grains group box.
The attack is defined from the beginning of the grain and is, thus, comprised within the grain's duration, whereas the release is defined from the end of the grain's duration onward and is, therefore, not comprised within the grain's duration.
Soundseed Grain features 4 LFO / Randomizers, which can be assigned to any or all properties. The main characteristic of these so-called Grain Modulators, besides being embedded in the granular synthesizer's settings window, is that they take a value that persists for the whole duration of a grain. For example, if you assign a grain modulator to the Filter Cutoff, each grain's filter cutoff will remain the same for the whole duration of the grain. On the other hand, it honors very high frequencies, so if the emission rate is very large, say, every 100 microsecond, a new, accurate value will be returned for every grain. These "LFOs" affect properties once per grain, but are not bound to the control rate of Wwise (the sound engine's buffer size) and may do so as fast as is needed.
The Grain Modulators' properties are defined in the left pane. You may select various bipolar and unipolar ("+") waveforms, and define LFO speed by time or frequency.
The modulators' assignments to properties are defined in the right pane. There, you may assign any property to one or multiple modulators, with the amount of your choice. The meaning of modulation Amount depends on the property. In general, the modulation Amount for frequencies (Emission /s, Filter Cutoff, and so on) will be defined in terms of octaves, while the modulation amount for Position, Pitch, and Speed will be defined in the units of the corresponding property (for example, in cents for Pitch). When in doubt, click on the Amount slider in the desired row and consult the Contextual Help view.
Quantization is applied after the modulation Amount for a given assignment. For example, say you use Major quantization with Pitch, with a modulation Amount of 500 cents. The allowed Pitch offsets will be, in the case of a unipolar mod, 0, 200, 400, and 500 (C-D-E-F on a C Major scale); or, in the case of a bipolar mod, they will be -500 -300, -100, 0, 200, 400, and 500 (G-A-B-C-D-E-F on a C Major scale).
When a Grain Modulator is applied to a property, the Modulation icon lights up next to that property's slider.
When capturing, sliders show the current slider value, after RTPCs and modulation are applied, with a bright line displayed below the slider's editing range. When this line moves quickly, the displayed range drags behind the current value, with a darker color. This behavior is similar to that of VU meters. Also, because the plug-in has embedded grain modulation, a dark range is drawn underneath the slider's metering. This range is strictly informed from the grain modulators' Amount for this property, and is useful when the modulation rate is larger than the grain emission rate. Refer to the above section on Grain Modulators and Modulator Assignment for more details.
MIDI Events from Interactive Music or Control Surfaces may be used to trigger instances of Soundseed Grain. Likewise, MIDI notes may also be issued from the game or SDK. The MIDI note may be used for different purposes within the synth. The MIDI note's frequency can be used as the grain emission rate. To do so, set the Select Freq/Time drop menu to "MIDI Emissions Per Second". The MIDI note's frequency can also and independently be used to control the grain's duration. For example, A1 (55 Hz) is equivalent to 18.182 ms. To enable this, set the grain Duration menu to MIDI Duration. Lastly, you may use the MIDI note to control the grains' Pitch offset. To do so, enable the MIDI Pitch check box and set the Root note from which an offset will be derived.
When using MIDI with Soundseed Grain, you probably want the synthesizer to handle the note tracking in of the some ways described above, and not let Wwise pitch shift the whole output signal of the synthesizer. So make sure that Note Tracking is disabled in the MIDI tab of the sound that hosts the plug-in.