Stream Pro User Manual

Complete guide to granular synthesis with Stream Pro

Table of Contents

12 Video Tutorials

Watch these video demonstrations to see Stream Pro in action and learn techniques for granular synthesis.

Getting Started with Stream Pro

A quick introduction to the Stream Pro interface and basic granular synthesis concepts.

Single Mode Deep Dive

Learn how to create evolving textures, pads, and ambient soundscapes using Single mode.

Multi Mode: Playable Granular

Transform any sample into a polyphonic granular instrument with MIDI control.

3D Spatial Audio with HRTF

Explore the Spatializer: binaural HRTF positioning, ping-pong grain distribution, and BOIDS flocking.

1 Introduction

Stream Pro is a versatile granular synthesis plugin that transforms any audio into evolving textures, playable instruments, and immersive 3D soundscapes.

Previously Named XStream

Stream Pro was previously named XStream. Settings, licenses and presets from XStream carry over unchanged. New presets save with the .streampro extension; legacy .xstream preset files load exactly as before (same format inside), and the Delta Sound Labs/XStream Presets folders keep their original names.

What is Granular Synthesis?

Granular synthesis works by breaking audio into tiny pieces called "grains" (typically 1-100ms) and reassembling them in various ways. This allows for:

Two Modes, Infinite Possibilities

Single Mode

Traditional Granular Synthesis

Record or load audio and manipulate it with grain-based processing. Perfect for creating evolving textures, ambient soundscapes, and experimental sound design.

Multi Mode

Polyphonic Granular Instrument

Play your samples chromatically across a MIDI keyboard. Each key triggers independent granular voices with full polyphonic support.

2 Installation

macOS

  1. Download the DMG

    Get the latest release from the releases page.

  2. Run the Installer

    Open the DMG and double-click the PKG installer. Follow the wizard to install.

  3. Plugin Locations
    • AU: ~/Library/Audio/Plug-Ins/Components/
    • VST3: ~/Library/Audio/Plug-Ins/VST3/
    • Standalone: /Applications/
  4. Rescan Plugins

    Restart your DAW and rescan plugins if needed.

Windows

  1. Download the ZIP

    Get the Windows release from the releases page.

  2. Extract Files

    Unzip to a convenient location.

  3. Copy VST3

    Move Stream Pro.vst3 to C:\Program Files\Common Files\VST3\

  4. Rescan Plugins

    Restart your DAW and rescan plugins.

System Requirements
  • macOS 10.13+ (Intel or Apple Silicon)
  • Windows 10 or later (64-bit)
  • Linux x64 (Ubuntu 20.04+)
  • 4GB RAM minimum, 8GB recommended
  • VST3, AU, or Standalone host

3 Interface Overview

Stream Pro's interface is divided into several key areas:

Waveform Display

Shows the loaded audio buffer with playhead markers. In Multi mode, each voice has its own colored marker.

Transport Controls

Play, pause, speed/direction slider (-2x to +2x), and freeze. The slider is bipolar — positive values play forward, negative play reverse. Quick-set buttons jump to ±0.5x, ±1x, and ±2x. Controls both Single and Multi modes; in Multi mode the value drives each voice's playhead motion through the buffer while MIDI pitch is set by note number.

Capture Panel

Record modes (Record, Overdub, Replace) and input monitoring.

Grain Panel

Core granular parameters: size, density, position, jitter, pitch.

Spatializer

Binaural HRTF positioning or ping-pong grain distribution, with BOIDS flocking animation.

Texturizer

Effects chain with drive, delay, and filter controls.

Session Persistence

Stream Pro automatically saves your session state when you quit. On next launch, your audio buffer and all parameter settings are restored exactly as you left them — no manual saving needed. In a DAW, if you close a project without saving, your audio buffer is preserved in a temporary store and reloaded when you reopen the session.

4 Single Mode

Single mode is designed for creating evolving textures, pads, and ambient soundscapes through grain-based manipulation.

Recording Modes

Record

Clears the buffer and records fresh audio. Best for starting new ideas.

Overdub

Layers new audio on top of existing material without erasing. Great for building complexity.

Replace

Selectively replaces sections while recording. Useful for refining specific parts.

Key Parameters

Buffer Workflow

The record panel exposes a few non-obvious behaviors worth knowing about:

One-deep audio undo (Cmd+Z / Ctrl+Z)

Any destructive buffer change — recording over existing audio, clearing the buffer, loading a sample from disk, picking a sample from the browser, or dragging a file onto the plugin — snapshots the previous buffer. A single Cmd+Z (macOS) / Ctrl+Z (Windows) reverts the audio to its prior state. The shortcut tries buffer-undo first and falls back to parameter undo, so accidentally hitting record over a take you wanted to keep is no longer fatal. Undo depth is one — the snapshot is overwritten on the next destructive action.

Clear preserves transport

Hitting the Clear button (the "C" in the record panel) wipes the audio buffer but leaves your transport state — playback speed, direction — untouched. The main playhead resets to position 0 because pointing into an empty buffer is meaningless, but everything else stays where you set it.

Hold Pedal & grain count

Neither changing the number of grains within Single mode (1↔2↔3↔4) nor switching between Single and Multi mode changes the Hold Pedal state. The pedal is fully under your manual control via the toolbar toggle (and CC64); presets recall their own saved state.

Note Envelope (ADSR)

MIDI notes in Single mode are shaped by the same global Attack / Decay / Sustain / Release envelope used by Multi mode's voices — set it once and both modes respond identically to your playing.

The envelope is edited in Multi mode's ADSR editor (the global/center-node envelope — see the Voice Envelope section of the Multi Mode chapter); its settings are saved with the preset. With the Hold pedal engaged, the drone sits at the sustain level.

5 Multi Mode

Multi mode transforms your samples into fully playable, polyphonic granular instruments with MIDI control.

How It Works

Each MIDI note triggers an independent granular voice. Voices are pitched chromatically based on the MIDI note number, and each voice has its own playhead marker in the waveform display.

Hold Pedal and mode switches

Switching between Single and Multi mode never changes the toolbar Hold Pedal — that state is always yours. Engage it for continuous drone/textural playback without held notes (in either mode); leave it off for note-gated playing. Presets recall their own saved pedal state on load.

Voice Markers

Each active voice is shown as a colored diamond marker in the waveform display. Each voice has a unique color so you can track up to 8 simultaneous voices at a glance. The diamond sits at the top of a vertical line whose height reflects the current grain size on a log scale — taller lines mean larger grains.

The grain windows and playhead dots for each voice are drawn flush against the diamond at the same horizontal position, so the visual cluster of grains always tracks its diamond precisely regardless of zoom level.

Voice Envelope (ADSR)

Each voice in Multi mode has its own amplitude envelope for shaping the attack and release characteristics. Click the A button to enable the ADSR envelope editor. The global envelope set here also shapes MIDI notes in Single mode (see the Note Envelope section of the Single Mode chapter), so both modes respond to your playing identically.

ADSR Parameters

Visual Editor

When ADSR is enabled, the editor shows a draggable envelope visualization. Drag the nodes to shape the envelope:

Selecting Which Voice to Edit

The ADSR editor always shows the envelope for the currently selected voice. There are several ways to select a voice:

Applying to All Voices

Right-click anywhere inside the ADSR editor to access the "Apply to all voices" option. This copies the currently displayed envelope to every individual voice and to the global settings — useful for resetting all voices to a common starting shape.

ADSR Tips
  • Use short attacks (10-50ms) for percussive granular sounds
  • Long attacks (500-2000ms) create evolving pad textures
  • Low sustain with long decay creates plucked string-like tones
  • When ADSR is disabled, simple fade-in/out prevents clicks
  • Edit inactive voice envelopes in advance — shape all 8 voices before a performance
  • Right-click → "Apply to all voices" is the fastest way to reset everything to a single shape

Jitter in Multi Mode

In Multi mode, Jitter randomises each grain's start position independently around its voice's playhead. Every grain draws its own random scatter offset at the moment it cycles, so grains within the same voice have no correlation to each other — producing genuinely stochastic textures regardless of pitch or note order.

Higher Jitter values spread grains further from the playhead in both directions. At zero Jitter, all grains read from exactly the voice playhead position.

Performance Tips

  • Use velocity to dynamically control grain density
  • Experiment with different sample start positions
  • Layer multiple instances with different settings
  • Automate grain parameters for evolving sounds

Managing CPU Load

Multi mode is polyphonic and granular, so per-voice CPU usage multiplies with the number of held notes. The dominant levers are Stroma mode, grain density, and voice count.

Stroma vs. non-Stroma

Stroma is the default Multi-mode engine and is the lighter CPU path — it alternates forward and backward grains with Hanning windows and uses ADSR-modulated density so each voice runs roughly half the grains during sustain. Disabling Stroma (the σ toggle in the XYPad sidebar) reverts to the older forward-only engine, which roughly doubles the active grain count per voice and removes the sustain-time density reduction. The non-Stroma sound is denser and more aggressive but costs proportionally more CPU.

If you hear dropouts or your CPU meter is pinned:

Rule of thumb

Non-Stroma + 8 voices + high density + binaural spatial is the worst-case combination. If your machine can run that comfortably, it can run anything Stream Pro throws at it. If it can't, drop one of those four levers first.

6 Parameter & Spectral Space

Parameter Space and Spectral Space are now available as free standalone companion applications. These features have been moved out of the plugin UI to give them dedicated full-screen interfaces with more room to breathe.

Free Standalone Apps

Parameter Space and Spectral Space are provided as free standalone companion applications, alongside the Leap Motion Controller companion app. Run them on a second screen or alongside Stream Pro for a dedicated, full-screen control surface that connects via virtual MIDI.

Parameter Space View

An octagonal radar chart where each vertex represents a granular parameter. Each voice's settings form a colored polygon within the space.

The Eight Parameters

Interaction Modes

Global Mode (G)

Adjusts parameters for all voices simultaneously. A single golden polygon represents the global settings.

Per-Voice Mode (V)

Each voice has its own colored polygon. Drag individual vertices to customize that voice's sound.

Hybrid Mode (H)

Shows both global and per-voice polygons. Per-voice adjustments are relative to the global baseline.

Bi-Directional Sync

The Parameter Space stays synchronized with the Texturizer panel faders. Adjusting a vertex updates the corresponding fader, and moving a fader updates the polygon vertex in real-time.

Spectral Space View

Click the spectral button to switch views. Spectral Space visualizes your audio as a cloud of segments positioned by timbral similarity - similar sounds cluster together.

Navigating by Timbre

Trajectory Recording

Record movement paths through spectral space for automated, evolving playback:

  1. Select a Voice

    Click a voice marker in the Spatializer or waveform to select it for trajectory recording.

  2. Start Recording

    Click the record button in Spectral Space view to begin capturing your path.

  3. Draw Your Path

    Click and drag through the spectral cloud. Your movement is recorded as a trajectory.

  4. Play Back

    Click the play button to loop through your recorded trajectory automatically.

Common Controls

Tips

  • Use Parameter Space for sound design - shape each voice's character
  • Use Spectral Space for performance - navigate your sample by feel rather than time
  • Record trajectories on multiple voices for complex, evolving textures
  • Per-Voice mode lets you create wildly different timbres for each MIDI note

7 3D Spatializer

The Spatializer places each voice in 3D space using Steam Audio's binaural HRTF processing for immersive audio through headphones — or distributes grains across the stereo field in classic ping-pong style.

Controls

Binaural vs. Ping-Pong

The Spatializer has two spatial output modes, toggled with the Ping-Pong button in the section title row:

Choosing between them: Binaural is ideal for expressive, position-based spatial design — place voices in a stereo field or a 3D soundstage. Ping-pong is better for rhythmic texture and wide stereo shimmer where you want the grain cloud itself to feel alive rather than fixed to a point.

DAW Automation

The spatializer exposes the following automatable parameters: spatial_enabled (on/off), spatial_x / spatial_y (global position), spatial_v0_x through spatial_v7_y (per-voice positions in Multi mode), and spatial_ping_pong_blend (0 = binaural, 1 = ping-pong). Automate these from your DAW to create evolving spatial movements locked to tempo, or to switch spatial modes mid-song.

BOIDS Flocking

When enabled, voice nodes exhibit flocking behavior with periodic scatter/gather dynamics. They cluster together, then burst apart, creating ever-changing spatial patterns that require no manual animation. BOIDS is only active in Binaural mode — node positions are irrelevant in Ping-Pong mode.

8 Texturizer Effects

The Texturizer adds character to your granular sounds with drive, delay, and filtering.

Effect Chain

Signal Flow

The signal flow button lets you swap the order of Spatializer and Texturizer. This affects whether spatial processing happens before or after effects.

9 Presets

A preset captures a complete snapshot of Stream Pro — every parameter, the sample reference, MIDI mappings, ADSR shapes, and spatial state — in a single .xstream file. Build a consistent preset library by following the workflow and checklist below.

Save / Load Workflow

Saving a Preset

  1. Dial in the patch

    Configure every parameter you want the preset to recall — see the checklist below. Treat this as the moment of truth: anything you skip will fall back to whatever happens to be loaded when someone else opens the preset.

  2. Click the Save Preset button in the toolbar

    The disk-icon button next to the preset name opens a text-entry dialog.

  3. Enter a name

    The .xstream extension is appended automatically. Names are stored verbatim, so the case and spacing you type are what appears in the preset list.

  4. Click Save

    The file is written to ~/Documents/Delta Sound Labs/XStream Presets/ (macOS and Windows). Overwriting an existing file prompts for confirmation.

Loading a Preset

Open the preset combo box in the toolbar and pick from the list, or use Load Preset to open the file browser (filtered to *.xstream) and pick a file from anywhere on disk. Loading replaces the full plugin state, including MIDI mappings — save your current work first if you want it preserved.

File location

User presets: ~/Documents/Delta Sound Labs/XStream Presets/*.xstream
Factory presets: ship with the plugin and appear in the combo box alongside your saves
Old format: .stream files from pre-v1.6 builds are no longer loaded — re-save them as .xstream

Standardized Preset Checklist

Before clicking Save, walk this list top-to-bottom so every preset starts in a predictable state. Skipping items isn't an error — it just means those values come from whatever's currently loaded when someone opens the preset.

1. Sample & Mode

2. Grain Parameters

3. Voice Envelopes (Multi mode)

4. Spatializer

5. Texturizer Effects

6. MPE / Expressive Control

7. MIDI Mappings

MIDI mappings are saved with the preset. If your preset assumes a hardware controller (Seaboard, foot pedal, etc.), map the relevant CCs before saving. Otherwise, clear any incidental mappings so the preset doesn't surprise the next user.

Naming & Categorization

  • Lead with a category prefix so presets sort meaningfully in the combo box — e.g. PAD - Glass Cathedral, BASS - Granular Sub, FX - Reverse Sweep
  • Keep names under ~32 characters so they fit in the toolbar's preset display
  • Include the intended controller in the name if it matters — e.g. PAD - Seaboard Breath
  • Version presets you iterate on — name v2, name v3 — rather than overwriting

Sharing Presets & Sounds

A .xstream preset does not embed audio — only a content-hash reference to a buffer file in your local audio cache. How you bundle a share depends on the audio source.

What goes in the file

Where the audio cache lives

Each file is named <hash>.xstream — the hash is derived deterministically from the buffer's length, channel count, peak levels, and sample values at five positions, so identical audio produces an identical hash on any machine.

Three Share Workflows

Option A — Preset uses a factory pack (simplest)

  1. Send the .xstream file alone

    Recipient drops it into their ~/Documents/Delta Sound Labs/XStream Presets/ folder (or loads it from anywhere via Load Preset). Because both machines have the same factory pack installed, the pack reference resolves automatically and the preset loads cleanly.

Option B — Preset uses your own audio (recommended for most user shares)

  1. Bundle the preset + the original source audio

    Zip the .xstream file together with the original .wav / .aiff / .flac you loaded into Stream Pro. This is the most portable, future-proof bundle — the recipient gets a usable audio file regardless of Stream Pro version.

  2. Tell the recipient: load the audio first, then the preset

    The recipient drags the audio into Stream Pro (or uses the sample browser) before loading the preset. Stream Pro then loads the preset on top of the already-loaded buffer. Their machine's computed hash will likely differ from the sender's (sample-rate, resampling, or edit differences), but Stream Pro's loader keeps the currently loaded audio when the referenced hash isn't found — so the preset still recalls every parameter correctly.

Option C — Exact-buffer share (advanced, for processed audio)

Use this when the audio in your preset is the result of in-plugin recording, tempo edits, or any processing the recipient can't reproduce from a source file alone.

  1. Save the preset

    This guarantees the matching buffer is written to your AudioBuffers/ folder.

  2. Find the matching buffer file

    Open AudioBuffers/ in Finder / Explorer, sort by modification date, and grab the most recently written <hash>.xstream file — that's the buffer your preset references.

  3. Zip both files together

    Bundle the .xstream preset and the <hash>.xstream buffer file in the same archive.

  4. Recipient drops the buffer into their cache folder

    The recipient copies the <hash>.xstream buffer file into their own AudioBuffers/ directory (paths above), then loads the preset. The hash matches, the buffer loads, and the share is bit-identical to the sender's version.

Sending presets to Delta Sound Labs

If you'd like to submit a preset for consideration as a factory preset, or are sharing one for support / feedback, please use Option B: zip the .xstream preset together with the source audio file. Include a short note describing what the preset does, the intended controller (if any), and which mode it's built around (Single vs. Multi, Stroma on/off). Email to connect@deltasoundlabs.com.

Sharing Tips

  • If your preset's sound depends on a specific MPE controller (Seaboard, Sensel, GeoShred), include that in the preset name and mention it in the share — the MPE profile is saved, but the recipient still needs the hardware
  • Strip any incidental MIDI mappings you don't want to travel — they save with the preset and will overwrite the recipient's current mappings
  • Test your bundle on a second machine (or fresh Stream Pro install) before distributing — the most common failure is "I forgot to include the audio file"
  • For batch shares, place all the .xstream files and any required audio in a single folder, zip it, and include a plain-text README listing which preset uses which audio file

10 MIDI Mapping

Stream Pro offers comprehensive MIDI CC and Program Change control with an intuitive mapping interface.

Opening the MIDI Editor

There are three ways to open the MIDI Mapping Editor (standalone only — in DAWs, use the host's own MIDI mapping system):

The editor auto-discovers every plugin parameter on open, so any parameter shipped in the current build (Multi-mode controls, MPE sensitivities & pitch-bend range, spatializer per-voice positions, texturizer effects, etc.) is immediately mappable. The category filter buckets them into Capture, Grain, Multi, Envelope, Playback, MPE, Texturizer, Spatial, Mix, Locators, and Other.

Default CC mappings

Two CCs ship pre-mapped to sensible defaults (only applied when you haven't already assigned them to something else, so upgrades preserve your custom mappings):

Use MIDI Learn in the editor (or right-click → MIDI Learn on any control) to override either default.

Creating Mappings

  1. Find Your Parameter

    Use search or category filter to locate the parameter.

  2. Click Learn

    The row highlights to indicate learn mode.

  3. Move Your Controller

    The mapping is created instantly.

Quick MIDI Learn

Right-click any knob, slider, or button in the interface and select "MIDI Learn" for fast mapping.

Editing & Removing Mappings

To change a mapping, click Learn on its row again and move a different controller — the new CC replaces the old one. To remove a mapping entirely, use the Clear control on the row (or right-click the on-screen control and choose Clear MIDI Mapping). Each parameter holds one CC assignment at a time; assigning a new CC to an already-mapped parameter overwrites the previous one.

MPE & Performance Settings

Stream Pro is fully MPE-capable. Open the settings menu (right/cmd-click anywhere on the toolbar, or the hamburger menu) to adjust how it responds to expressive controllers:

These same values are also exposed as plugin parameters, so they can be MIDI-mapped or automated like anything else.

Mapping Tips
  • Use CC for continuous controls (knobs, sliders)
  • Use Program Change for button toggles
  • Mappings persist across sessions
  • Stored in ~/XStream/MidiMappings.xml

11 Modulation Matrix

The Modulation Matrix adds four independent LFOs (low-frequency oscillators) that sweep Stream Pro's sound-shaping parameters automatically — hands-free movement without drawing a single automation lane.

Opening the Panel

Click the Modulation Matrix button in the toolbar (the grid/matrix icon) to show or hide the panel. Click it again to dismiss.

How Modulation Works

The matrix is an offset layer — it never overwrites the value you dialed in on a knob. Your setting stays the "home" position and the LFO adds a moving offset on top of it. Set an LFO's depth to zero, or hit Reset, and every parameter snaps straight back to exactly where you left it. Because of this, you always keep full manual control of the underlying sound.

The one exception is Range mode (the Rng button on a routing row), where the modulation deliberately takes over and sweeps the parameter inside a window you define — see Min/Max Range below.

The Four LFOs

Each of the four LFOs has its own controls:

Creating a Routing

The lower half of the panel is a set of sixteen routing slots. Each slot connects one source to one destination:

  1. Pick a Source

    In a slot's Source dropdown choose the LFO you want (LFO 1–4), or None to leave the slot empty.

  2. Pick a Destination

    In the Destination dropdown choose the parameter to modulate.

  3. Set the Depth

    The Depth control sets how much the LFO moves the parameter — small for subtle drift, large for dramatic sweeps. Depth is bipolar: negative values invert the LFO's direction on that destination.

Slots are independent, so you can route one LFO to several destinations (using several slots) or stack multiple LFOs onto the same parameter for complex, evolving motion.

Min/Max Range (Override Mode)

Sometimes you don't want modulation around your knob setting — you want it to travel between two exact points, the way Ableton Live's MIDI-map min/max sliders work. That's what the Rng button on each routing row does.

Use Range mode when you need modulation confined to a musical zone — for example a filter sweep that never fully closes, or delay feedback that breathes between 20% and 60% without ever running away. Toggling Bypass (or turning Rng back off) glides the parameter smoothly back to the knob's own value.

Range settings are saved with your preset. Presets made before this feature simply load with Rng off and behave exactly as they always did.

Available Destinations

Modulation can target a wide range of parameters:

Reset

The Reset button in the panel header clears every routing slot at once (Source, Destination, and Depth), returning all modulated parameters to their home values. Your LFO shapes and rates are left untouched, so you can re-route quickly without rebuilding the LFOs from scratch.

Modulation Tips
  • A slow Sine on Filter Cutoff is the classic "breathing" pad movement.
  • S&H on Grain Size or Speed/Dir gives stuttery, glitchy variation.
  • Turn Sync on so the LFOs lock to your project tempo and stay musical.
  • Modulation routings are saved with the preset, so patches recall their full motion.

Need Help?

If you have questions or encounter issues: