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 the 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 MIDI plug-in 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
- 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
-
- Sculpture overview
- Sculpture interface
- Global parameters
- Amplitude envelope parameters
- Use the Waveshaper
- Filter parameters
- Output parameters
- Define MIDI controllers
- Extended parameters
-
Manipulate loops in Alchemy in MainStage
MainStage features Loopback to trigger loops live. You can also play back and shape loops with synthesis tools available in Sampler, Ultrabeat, and Alchemy. Alchemy supports playback of Apple Loops as well as .aif, .caf, and .wav audio files, and you can use it to manipulate tempo and pitch in real time. Alchemy’s sophisticated synthesis engines can transform loops with multiple forms of resynthesis and extensive filter, modulation, and effects options.
Note: Images shown are not specific to the presets used in tasks. They are included as a guide to help you find areas and parameters in the Alchemy interface.
Time stretch and pitch shift samples in real time in Alchemy
If you cannot find the loop used for this example, you’ll need to download additional content packages. To do so, choose Download Additional Content... from the Logic menu in the menu bar.
In Alchemy in MainStage, click the File button in the Name bar and choose Initialize Preset from the pop-up menu to reset all Alchemy parameters to default settings.
Set the project tempo to 110 BPM.
Click the source select field for source A, and choose Import Audio from the pop-up menu.
The Import window opens.
Open the Apple Loops browser, and type “Basic Vintage Break” in the search field. Drag the Vintage Funk Loop 03 file from the Apple Loops browser to the Dropzone area of the Import window.
Note that the original tempo of this file is 100 BPM and that it is 8 beats (2 bars) long.
Click the Spectral and Formant analysis mode buttons at the lower left, then click the Import button.
This determines the synthesis engine used for resynthesis of the audio sample. Spectral + Formant is a good general purpose option that works well for drum loops. It’s also the default setting in a new instance of Alchemy. When analysis is complete, you can trigger the loop at its native pitch and speed by playing C3 on your keyboard. Playing other pitches transposes the loop, but retains the tempo.
Set the Speed knob in the source main controls section to zero percent (full left).
This stops the loop from playing forward in time and repeats the first few samples at the current position.
Hold a note and rotate the Position knob to hear how playback is affected.
The Position knob moves playback forward and backward through the loop. Set the value to zero percent (full left).
Modulate position with an LFO in Alchemy
In Alchemy in MainStage, Control-click the Position knob and choose Add Modulation > LFO > LFO1 from the shortcut menu.
This assigns LFO 1 to control the Position knob, and the central modulation section automatically updates to display the controls for LFO 1.
Switch the LFO shape from Sine to Ramp Up, and set the Rate to 2 (measures) to match the length of the Apple Loop.
Tip: Changing the LFO shape to Ramp Down plays the loop backward by starting the Position at 100% and moving back to 0%.
Click the Bipolar button to turn it off.
When Bipolar is active, the LFO outputs both negative and positive values in each cycle (from -50% to 50%). When off, only positive values are output (from 0% to 100%). If you play and hold a note on your keyboard, a small dot around the Position knob indicates its values changing from 0% to 100%. Bipolar is useful for controlling parameters like pan where 0 is in the midpoint of the knob’s rotation and you want the value to oscillate around the center.
Play C3 to hear the loop at its native pitch but at a tempo that matches the project (110 BPM).
Explore further loop manipulation options in Alchemy
In Alchemy in MainStage, explore these additional options with the same loop to get a feel for Alchemy’s loop manipulation capabilities.
Turn off Trigger mode to hear the loop position continue to move through the file only when you play a note. This allows you to create gating and stuttering effects by rhythmically triggering notes. Try playing a series of very short 8th notes over this loop to change its feel.
You can play notes of different pitches or can use pitch bend to add a chopped and screwed effect to your loops. The default pitch bend range is 2 semitones, but Alchemy supports bi-directional pitch bends of up to 36 semitones. To set this, click the Global view button and set the up and down pitch bend values independently in the master section.
Modulate position with an MSEG in Alchemy
The MSEG envelope can duplicate the same kind of looping Ramp Up pattern used in the LFO task but is capable of longer, more complex patterns than a simple repeating ramp. MSEG envelopes are useful when you have specific ideas about how you want parameters to change over time. MSEG modulators are capable of creating a range of patterns from simple short ramps to very long, complex sequences.
In Alchemy in MainStage, click the Position knob, then click the button next to the modulation area to disable the LFO.
Play a few notes and you will hear that the loop no longer plays forward.
Control-click the Position knob, and choose Add Modulation > MSEG Env > MSEG1 from the shortcut menu.
This assigns MSEG 1 to control the Position knob. The central modulation section automatically updates to display the controls for MSEG 1.
Click the File button in the MSEG editor, and load the Ramp Up preset.
This creates an 8 beat (2 bar) ramp from 0% to 100%. When you play a note, the result is identical to that of the LFO modulation used in the previous task.
Click along the graph line in the MSEG editor to add three points near bars 5, 7, and 9. Double-click a point to remove it.
Note: The exact position of each point in the MSEG is important for keeping a consistent tempo.
Drag points horizontally to move them, noting that they snap to the tempo grid. Drag vertically to set the following values for each point.
Bar 1: Point value 0%
Bar 5: Point value 50%
Bar 7: Point value 25%
Bar 9: Point value 50%
Hold a note to hear the loop play forward, backward, and then forward again at the project tempo.
More complex MSEG settings can cause the position to jump to specific points in the loop, thus creating variations of the original loop.
Download the guides:
MainStage User Guide: Apple Books | PDF
MainStage Instruments: Apple Books | PDF
MainStage Effects: Apple Books | PDF