Table of Contents
10 Video Tutorials
Watch these video demonstrations to see XStream in action and learn techniques for granular synthesis.
Getting Started with XStream
A quick introduction to the XStream 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 for immersive binaural audio positioning and BOIDS flocking.
1 Introduction
XStream is a versatile granular synthesis plugin that transforms any audio into evolving textures, playable instruments, and immersive 3D soundscapes.
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:
- Time stretching: Slow down or speed up audio without changing pitch
- Pitch shifting: Change pitch without affecting duration
- Texture creation: Transform any sound into evolving pads and drones
- Spectral manipulation: Create otherworldly timbres
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
-
Download the DMG
Get the latest release from the releases page.
-
Run the Installer
Open the DMG and double-click the PKG installer. Follow the wizard to install.
-
Plugin Locations
- AU:
~/Library/Audio/Plug-Ins/Components/ - VST3:
~/Library/Audio/Plug-Ins/VST3/ - Standalone:
/Applications/
- AU:
-
Rescan Plugins
Restart your DAW and rescan plugins if needed.
Windows
-
Download the ZIP
Get the Windows release from the releases page.
-
Extract Files
Unzip to a convenient location.
-
Copy VST3
Move
XStream.vst3toC:\Program Files\Common Files\VST3\ -
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
XStream'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 controls (0.5x to 2x), and freeze. Controls both modes.
Capture Panel
Record modes (Record, Overdub, Replace) and input monitoring.
Grain Panel
Core granular parameters: size, density, position, jitter, pitch.
Spatializer
3D positioning with binaural HRTF processing and BOIDS flocking.
Texturizer
Effects chain with drive, delay, and filter controls.
Session Persistence
XStream 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
- Position: Where grains are captured from the buffer
- Grain Size: Length of each grain (1-500ms)
- Density: How many grains play simultaneously
- Jitter: Randomizes grain start positions for organic textures
- Pitch: Transpose the output without affecting time
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.
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.
ADSR Parameters
- Attack (A): Time for the voice to fade in from silence to full volume (0-5000ms). Longer attacks create gradual swells.
- Decay (D): Time to fall from peak to sustain level (0-5000ms). Creates the initial transient shape.
- Sustain (S): The level held while a note is pressed (0-100%). Lower values create plucky sounds.
- Release (R): Time to fade out after note release (0-5000ms). Longer releases create natural decay tails.
Visual Editor
When ADSR is enabled, the editor shows a draggable envelope visualization. Drag the nodes to shape the envelope:
- Attack Node: Drag horizontally to adjust attack time
- Decay Node: Drag horizontally for decay time, vertically for sustain level
- Release Node: Drag horizontally to adjust release time
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:
- Play a note: The ADSR editor automatically switches to the most recently triggered voice
- Click a voice node: Click any numbered node in the VOICES circle — including inactive voices — to directly edit its envelope without needing to play it
- Click the center node: Click the center of the VOICES circle to switch to the global ADSR envelope, which provides a baseline for all voices
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
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 XStream 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
- Size: Grain length (1-500ms)
- Density: Number of overlapping grains
- Spread: Stereo width of grain distribution
- Jitter: Random variation in grain position
- Drive: Texturizer saturation amount
- Cutoff: Filter frequency
- Resonance: Filter emphasis
- Delay: Delay mix amount
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
- Segment Cloud: Each dot represents a segment of your audio, positioned by its spectral characteristics
- Hover Preview: Move your mouse over segments to audition them before committing
- Click to Navigate: Click any segment to jump the playhead to that position
- Scrub Mode: Click and drag through the cloud to scrub through segments continuously
Trajectory Recording
Record movement paths through spectral space for automated, evolving playback:
-
Select a Voice
Click a voice marker in the Spatializer or waveform to select it for trajectory recording.
-
Start Recording
Click the record button in Spectral Space view to begin capturing your path.
-
Draw Your Path
Click and drag through the spectral cloud. Your movement is recorded as a trajectory.
-
Play Back
Click the play button to loop through your recorded trajectory automatically.
Common Controls
- Alt+Drag: Rotate the 3D view for better visualization
- Scroll Wheel: Zoom in/out
- Right-Click Vertex: Reassign a vertex to a different parameter
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.
Controls
- Power Button: Enable/disable spatial processing. The on/off state is saved with your session and restores correctly on reload.
- XY Pad: Drag voice nodes to position them in 2D space. In Single mode a single global node controls the stereo position; in Multi mode each active voice has its own colored node.
- Record/Play: Record and play back spatial movement paths per voice
- Flock: Enable BOIDS flocking animation for organic movement
DAW Automation
The spatializer exposes the following automatable parameters: spatial_enabled (on/off), spatial_x / spatial_y (global position), and spatial_v0_x through spatial_v7_y (per-voice positions in Multi mode). Automate these from your DAW to create evolving spatial movements locked to tempo.
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.
8 Texturizer Effects
The Texturizer adds character to your granular sounds with drive, delay, and filtering.
Effect Chain
- Drive: Soft saturation for warmth and grit
- Filter: Per-voice Moog-style lowpass/bandpass filter with cutoff and resonance
- Delay: Stereo delay with time, feedback, and dry/wet controls. The dry/wet defaults to 50% for an immediately useful blend.
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 MIDI Mapping
XStream offers comprehensive MIDI CC and Program Change control with an intuitive mapping interface.
Opening the MIDI Editor
Press Command+M (macOS) or Ctrl+M (Windows/Linux) to open the MIDI Mapping Editor.
Creating Mappings
-
Find Your Parameter
Use search or category filter to locate the parameter.
-
Click Learn
The row highlights to indicate learn mode.
-
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.
Mapping Tips
- Use CC for continuous controls (knobs, sliders)
- Use Program Change for button toggles
- Mappings persist across sessions
- Stored in
~/XStream/MidiMappings.xml
Need Help?
If you have questions or encounter issues:
- Email: connect@deltasoundlabs.com
- GitHub: Report a Bug