MainStage User Guide
- Welcome
-
- Overview of Edit mode
-
- Select patches and sets in the Patch List
- Copy, paste, and delete patches
- Reorder and move patches in the Patch List
- Add and rename patches
- Create a patch from several patches
-
- Overview of the Patch Settings Inspector
- Select patch settings in the Patch Library
- Set the time signature for patches
- Change the tempo when you select a patch
- Set program change and bank numbers
- Defer patch changes
- Instantly silence the previous patch
- Change patch icons
- Transpose the pitch of incoming notes for a patch
- Change the tuning for a patch
- Add text notes to a patch
-
- Overview of channel strips
- Add a channel strip
- Change a channel strip setting
- Configure channel strip components
- Show signal flow channel strips
- Hide the metronome channel strip
- Create an alias of a channel strip
- Add a patch bus
- Set channel strip pan or balance positions
- Set channel strip volume levels
- Mute and solo channel strips
- Use multiple instrument outputs
- Use external MIDI instruments
- Reorganize channel strips
- Delete channel strips
-
- Overview of the Channel Strip Inspector
- Choose channel strip settings
- Rename channel strips
- Change channel strip colors
- Change channel strip icons
- Use feedback protection with channel strips
- Set keyboard input for a software instrument channel strip
- Transpose individual software instruments
- Filter MIDI messages
- Scale channel strip velocity
- Set channel strips to ignore Hermode tuning
- Override concert- and set-level key ranges
- Add text notes to a channel strip in the Channel Strip Inspector
- Route audio via send effects
-
- Screen Control Inspector overview
- Replace parameter labels
- Choose custom colors for screen controls
- Change background or grouped screen control appearance
- Set screen controls to show the hardware value
- Set parameter change behavior for screen controls
- Set hardware matching behavior for screen controls
- Reset and compare changes to a patch
- Override concert- and set-level mappings
-
- Overview of mapping screen controls
- Map to channel strip and plug-in parameters
- Map screen controls to actions
- Map a screen control to multiple parameters
- Use screen controls to display PDF document pages
- Edit the saved value for a mapped parameter
- Set drum pads or buttons to use note velocity
- Map screen controls to all channel strips in a patch
- Undo screen control parameter mappings
- Remove screen control mappings
- Work with graphs
- Create controller transforms
- Share patches and sets between concerts
- Record the audio output of a concert
-
- Overview of concerts
- Create a concert
- Open and close concerts
- Save concerts
- How saving affects parameter values
- Clean up concerts
- Consolidate assets in a concert
- Rename the current concert
-
- Overview of the Concert Settings Inspector
- Set MIDI Routing to channel strips
- Transpose incoming note pitch for a concert
- Define the program change message source
- Send unused program changes to channel strips
- Set the time signature for a concert
- Change the tuning for a concert
- Set the pan law for a concert
- Add text notes to a concert
- Control the metronome
- Silence MIDI notes
- Mute audio output
-
- Layout mode overview
-
- Screen control parameter editing overview
- Lift and stamp screen control parameters
- Reset screen control parameters
- Common screen control parameters
- Keyboard screen control parameters
- MIDI activity screen control parameters
- Drum pad screen control parameters
- Waveform screen control parameters
- Selector screen control parameters
- Text screen control parameters
- Background screen control parameters
- How MainStage passes through MIDI messages
- Export and import layouts
- Change the aspect ratio of a layout
-
- Before performing live
- Use Perform mode
- Screen controls in performance
- Tempo changes during performance
- Tips for performing with keyboard controllers
- Tips for performing with guitars and other instruments
- Tune guitars and other instruments with the Tuner
- The Playback plug-in in performance
- Record your performances
- After the performance
- Tips for complex hardware setups
-
- Overview of keyboard shortcuts and command sets
-
- Concerts and layouts keyboard shortcuts
- Patches and sets (Edit mode) keyboard shortcuts
- Editing keyboard shortcuts
- Actions keyboard shortcuts
- Parameter mapping (Edit mode) keyboard shortcuts
- Channel strips (Edit mode) keyboard shortcuts
- Screen controls (Layout mode) keyboard shortcuts
- Perform in Full Screen keyboard shortcuts
- Window and view keyboard shortcuts
- Help and support keyboard shortcuts
-
-
- Use MIDI plug-ins
-
- Arpeggiator overview
- Arpeggiator control parameters
- Note order parameters overview
- Note order variations
- Note order inversions
- Arpeggiator pattern parameters overview
- Use Live mode
- Use Grid mode
- Arpeggiator options parameters
- Arpeggiator keyboard parameters
- Use keyboard parameters
- Assign controllers
- Modifier controls
- Note Repeater controls
- Randomizer controls
-
- Use Scripter
- Use the Script Editor
- Scripter API overview
- MIDI processing functions overview
- HandleMIDI function
- ProcessMIDI function
- GetParameter function
- SetParameter function
- ParameterChanged function
- Reset function
- JavaScript objects overview
- Use the JavaScript Event object
- Use the JavaScript TimingInfo object
- Use the Trace object
- Use the MIDI event beatPos property
- Use the JavaScript MIDI object
- Create Scripter controls
- Transposer controls
-
-
- Alchemy overview
- Alchemy interface overview
- Alchemy Name bar
- Alchemy file locations
-
- Alchemy source overview
- Source master controls
- Import browser
- Source subpage controls
- Source filter controls
- Source filter use tips
- Source elements overview
- Additive element controls
- Additive element effects
- Spectral element controls
- Spectral element effects
- Pitch correction controls
- Formant filter controls
- Granular element controls
- Sampler element controls
- VA element controls
- Wide unison mode
- Source modulations
- Morph controls
- Alchemy master voice section
- Alchemy Extended parameters
-
- Playback plug-in overview
- Add a Playback plug-in
- Playback interface
- Use the Playback waveform display
- Playback transport and function buttons
- Playback information display
- Playback Sync, Snap To, and Play From parameters
- Use the Playback group functions
- Use the Playback Action menu and File field
- Use markers with the Playback plug-in
-
- Sample Alchemy overview
- Interface overview
- Add source material
- Edit mode
- Play modes
- Source overview
- Synthesis modes
- Granular controls
- Additive effects
- Additive effect controls
- Spectral effect
- Spectral effect controls
- Filter module
- Lowpass, bandpass, and highpass filters
- Comb PM filter
- Downsampler filter
- FM filter
- Envelope generators
- Mod Matrix
- Modulation routing
- Motion mode
- Trim mode
- More menu
-
- Sculpture overview
- Sculpture interface
- Global parameters
- Amplitude envelope parameters
- Use the Waveshaper
- Filter parameters
- Output parameters
- Define MIDI controllers
- Extended parameters
-
- Studio Piano
- Copyright and trademarks
Sample Alchemy granular effect controls in MainStage
Granular synthesis is a technique used to create unique and unconventional sounds that are difficult to achieve using other synthesis methods–everything from subtle changes in a sound to radical transformations.
When playing the sample loaded in Sample Alchemy, its granular synthesis engine produces sound by continuously extracting grains from the loaded sample. These grains are short audio snippets, only a few milliseconds long, that represent the audio at the currently played position of the sample. The engine creates multiple overlapping grains that are shaped and combined in real time to form a continuous audio stream, which can be ordered, modulated, or randomized to create unique textures.
You can create a wide range of sounds and timbres by manipulating various parameters affecting the grains, such as their pitch, duration, and position in the original sound waveform. You can set those parameters for each source individually.

Granular synthesis module
Selecting the Granular button below the waveform display shows the parameters in this synthesis module.
Click one of the handles on the waveform display labeled A/B/C/D to select the source you want to edit. Alternatively, you can click the Source pop-up menu in the source module, then choose a source or all sources.
Effect pop-up menu: Choose the synthesis effect type for granular mode, which changes the assignment for the four knobs available in this section.
Classic parameters
Size knob: Adjust the duration of each grain from 2 ms to 230 ms.
Density knob: Determine the number of potentially overlapping grains from 1 (no overlap) to 10.
The Size and Density parameters interact with each other. When the Density value is 1, a single grain is sent to the output stream. As soon as one grain finishes, the next one is sent. A Size value of 100 ms sends a new grain every 100 ms.
Increasing Density to 2 adds a second grain that is sent in between those of the first, resulting in a new grain every 50 ms, assuming a Size value of 100 ms. The first and second grains overlap each other. Higher Density values inject additional new grains into the output stream. These new grains occur more frequently and overlap more heavily.
Setting Size to around 100 ms and Density to around 5 grains is often suitable for smooth pad sounds with no sharp transients. Setting Size between 40 and 80 ms and Density to around 2 grains is useful for drums and other sounds featuring sharp transients. Small Size values tend to produce a buzz that masks the original pitch of the sample. Large Size values tend to break up the sound. You can counteract both tendencies by increasing the Density.
Random Pan knob: Add a random offset to the stereo position of each grain.
Random Time knob: Add a small random offset to grain extraction positions in the sample. The default value is 3% because a small amount of randomization helps to smooth the output of the granular element.
Sync parameters
Formant Shift knob: Adjust the formants of the sound, shifting it up to a maximum of 36 semitones up or down.
Tip: The effect comes alive when modulating formant shift, for example, with a low frequency oscillator (LFO). Set random time to 0% to have a clear effect.
Num Taps knob: Set the number of parallel grain streams (layers) generated by the granular synth engine. Each tap generates its own grains using the same settings but with positional offsets, increasing density and creating a thicker, more diffuse sound.
Tap Spacing knob: Set the positional offset between the layers of parallel grain streams (taps). Each tap reads from a different point in the sample, spaced according to this value, which is expressed as a percentage of the total sample length. Higher values distribute the taps more widely across the sample, while lower values place them closer together.
Random Time knob: Add a small random offset to grain extraction positions in the sample. The default value is 3% because a small amount of randomization helps to smooth the output of the granular element.