[Main Help]
MIDI in GeoShred [PRO][Studio][Control]
GeoShred supports both MIDI In, MIDI Out. MIDI controllers
can be assigned to performance controls on Control
Surface. The MIDI Inspector, Menu > MIDI, is where
devices, both real and virtual can be configured. Since the
MIDI specification does not specify a protocol for
publishing/querying device capabilities, GeoShred has MIDI
Configurations to quickly set up common uses cases.
GeoShred supports MIDI Modes 1-5 for both MIDI IN and MIDI Out.
Generally you use either MIDI In or MIDI Out, it is not possible to use both at the same time, unless MIDI Thru is enabled for the device in question. In this case you can play MIDI In to GeoShred from an external controller and have it play notes in GeoShred while simultaneously sending notes to MIDI Out.
MIDI Inspector
MIDI Configuration Editor
In the MIDI Configuration Editor you specify parameters for MIDI Input and Output
Global Parameters
- Name Edit the name for user MIDI Configurations, you cannot change the name of factory MIDI Configurations.
MIDI Out
- Channel Mode
- Single Channel Mode - Only one channel is used. Common case for old style MIDI keyboards
- Multi Channel Mode - Multiple channels used. Control Change messages are sent on ALL channels in the range (Min Channel, MaxChannel). Only specify the channels that really needed or GeoShred can send up to 15 times more MIDI traffic than is needed. We recommend using MPE Channel Mode when possible.
- MPE Channel Mode - Master Channel is 1, the Min Channel is 2 and the MaxChannel has to be greater than the Min Channel. In MPE Channel Mode MIDI controllers are only sent on the Master Channel, which greatly reduces MIDI traffic. For this reason alone MPE Channel Mode is better.
- Adjust PB For Temperament - Adjust outgoing pitch bends for the temperament. See Pitch Bend, Temperament and MIDI below.
- Send ARP/MMI Roots - Normally this is on for recording to/from GeoShred and off MIDI out performance. Only the roots of Mono Mode Intervals and the roots of arpeggiated notes are sent out if this is enabled.
- Legato MIDI - If not enabled, send noteOff to MIDI Out after every noteOn when doing legato. Set legato in Performance Settings > Config > Play Mode/Legato. If enabled only send a noteOff when the final note on the string is ended. Most times this is off, unless the synthesizer is like GeoShred which can handle legato re-articulation. Note: It is not necessary to turn this on to set Legato Velocity.
- Legato MIDI (no rearticulate) - An option for Legato MIDI, to turn of rearticulation of held notes.
- Legato Velocity - Velocity (1-127) for playing of legato notes. This is used whether or not Legato MIDI is enabled.
- Pitch Bend Range - Pitch bend range the receiving device is expecting. RPN0 is updated when this is modified. Pitch Bend Range must match both for GeoShred and the target Synth. GeoShred sends RPN0 with the Pitch Bend Range to the receiving synthesizer. However, not all synthesizers respond to RPN0, thus it may be necessary to manually set the Pitch Bend Range on the receiving synthesizer. Note if there is Whammy slider on the Control Surface this pitch bend range will be modified according to this equation:
bendInSemitones = bendInSemitones * (rangeOfWhammySlider/pitchBendRange);
- Pitch Bend Range Scaling - Normally a pitchBend range of n means that the synth can bend -n/2 .. + n/2. For example a Pitch Bend Range of 48 (the MPE default) means that the receiving synthesizer can bend +/- 24 semitones. A few synthesizers have a different interpretation of pitchBendRange. Pitch Bend Range Scaling can be used to compensate for this.
- Send Pitch Bend Range - If this is off then the Pitch Bend Range RPN will not be sent to MIDI output. Sometimes this needs to be turned off if receiving synthesizers do not properly interpret RPN 0
- MIDI Remapping - Convert one MIDI controller to another, copy one MIDI controller to another or flip the value of a MIDI controller. For instance cc74 (MPE KeyY) could be remapped to Channel Pressure (Mono Aftertouch, NOT poly Aftertouch) (MPE KeyZ) A known reason you would want to flip a controller value is for some sustain pedals. Normally if controller 64 is received with a value of 127 it means maximum sustain. If for some reason it does not, you could create a MIDI Remapping with Flip and Sustain (64)
- String to MIDI Port - Typically each string is on it's own MIDI channel. String to MIDI Port can be used to assign each string to a different virtual MIDI Port which can then be assigned under the DIN to different synthesizers.
- Force all noteOffs on panic - Off by default. Send note offs on all MIDI channels (1-16 )for all keys (1-128) Only enable this if a synthesizer your are controlling is having problems with stuck notes.
- Send CC 102 for BankMSB - Off by default, similar to similar to Send CC 115 for Pgm Change, but for Bank MSB
- Send CC 103 for BankLSB - Off by default, similar to Send CC 115 for Pgm Change, but for Bank LSB.
- Send CC 115 for Pgm Change - Off by default. Some DAWs, including Logic, can not receive MIDI Program Change. If this is enabled, GeoShred will send controller 115 with the value of the program number. Then, GeoShred on the receiving end can turn on Receive Pgm Change as CC 115 to execute the program change.
- Send CC 112 on panic - On by default. Some DAWs, including Logic, can not send MIDI Panic controllers CC 120, 123. GeoShred will treat controller 112 as a panic
- Send CC 120 on panic - On by default. Send CC 120, All Sound Off, on panic.
- Send CC 121 on panic - On by default. Send CC 121, Reset All Controllers, on panic.
- Send CC 123 on panic - On by default. Send CC 123, All Notes Off, on panic.
- Send Program Change - On by default. Send MIDI Program Change to MIDI out
- Send Bank Select - On by default. Send MIDI Bank Select to MIDI out
- Send RPNs - On by default. Sends all the RPNs known to GeoShred. Some apps do not properly process RPNs as of iOS 14.3
- Send MIDI ctl surface values - Off by default. Send the MIDI values for the initial state of the control surface
MIDI In
- Channel Mode
- Single Channel Mode - Only one channel is used. Common case for old style MIDI keyboards
- Multi Channel Mode - Multiple channels used. Control Change messages are received on ALL channels in the range (Min Channel, MaxChannel). Only specify the channels that are really needed. We recommend using MPE Channel Mode when possible.
- MPE Channel Mode - Master Channel is 1, the Min Channel is 2 and the MaxChannel has to be greater than the Min Channel. In MPE Channel Mode MIDI controllers are only received on the Master Channel, which greatly reduces MIDI traffic. For this reason alone MPE Channel Mode is better.
- Allow CC74 Before Note On - If enabled apply CC74 values before a noteOn arrives. This was added to support the way the Haken Continuum handles CC74.
- Panic on CC112CC112 can be used to send a panic. This is because some controllers don't support MIDI panic.
- GarageBand Workaround - As of September 2020, GarageBand improperly handles Channel Pressure (Mono Aftertouch, NOT poly Aftertouch) recording when using AUv3 plugins, such as GeoShred. Turn this on for a slick secret workaround.
- Adjust PB For Temperament - Adjust incoming pitch bends for the temperament. See Pitch Bend, Temperament and MIDI below.
- Receive CC 102 for BankMSB - On by default, similar to similar to Receive CC 115 for Pgm Change, but for Bank MSB
- Receive CC 103 for BankLSB - On by default, similar to Receive CC 115 for Pgm Change, but for Bank LSB.
- Receive Pgm Change as CC 115 - On by default. Treat the value of CC 115 as the program number to change to. See CC 115 for Pgm Change
- Ignore Program Change - Ignore program change messages.
- Ignore Global Tuning - Do not apply global tuning on notes coming in from MIDI. You might want this if you send out MIDI notes with global tuning applied.
- Ignore Zero Channel Pressure - Ignore Channel Pressure (Mono Aftertouch, NOT poly Aftertouch) messages with a value of zero. This is a work-around for Linnstrument. Naada will do HOPO properly only if this set.
- Legato MIDI - If enabled, assume sender is not sending note offs after each note on. This is what the Linnstrument was doing as of July 2024
- Mono Mode Per Channel - This is MIDI Mode 4. It only makes sense for MPE or Multi Mode. If enabled Min Channel goes to string 1, Max Channel goes to String 6. Often used in recording.
- Mono Mode Per Channel Offset - Subtract this value from the channel number to get the string number on which to allocate the voice. Can be useful if the MIDI In device uses a channel other than 1 for the lowest channel.
- Use Preset Pitch Bend Range - Use the Pitch Bend Range in the preset rather than the MIDI Configuration Pitch Bend Range
- Pitch Bend Range: - Pitch Bend Range the sending device uses.
- Control Reset Time - Number of milliseconds before applying optional Set Value On Release. Since MIDI controllers do not indicate when they have stopped moving, as opposed to touch screen, where you get a "touches ended" event, defining Control Reset Time to something like 1000 ms would mean that after you stop moving say a Modulation Wheel, 1000 ms later the release value would be sent for controllers mapped to the Modulation Wheel MIDI controller. This applies both to controllers and the expression pad.
- Expr Pad Capture Delay - Number of milliseconds to wait before taking a sample from MIDI Controllers mapped to the Expression Pad. Some MIDI Controllers need this to be set to something other than zero.
- Override Finger Bend Portamento - If on, use the Finger Bend Portamento value for fingered pitch bend coming from MIDI In
- Finger Bend Portamento - Number of milliseconds for fingered pitch bend portamento. Override Finger Bend Portamento must be on
- MIDI Remapping Convert one MIDI controller to another or flip the value of a MIDI controller. A known reason you would want to flip a controller value is for some sustain pedals. Normally if controller 64 is received with a value of 127 it means maximum sustain. If for some reason it does not, you could create a MIDI Remapping with Flip and Sustain (64)
- Key Y Curve: Optional curve applied to the MIDI controller assigned to Key Y (typically Controller 74, typically found on MPE style controllers).
- Channel Pressure Curve - Optional curve applied to Channel Pressure (Mono Aftertouch, NOT poly Aftertouch).
- Note On velocity Curve - Optional curve applied to noteOn velocity.
- Note Off velocity Curve - Optional curve applied to noteOn velocity.
Bluetooth Inspector
Menu > MIDI > Bluetooth Icon - here you can connect
to a Bluetooth device (for both input and output). Once a
connection is made the device will automatically be enabled
for Note Input and Note Output in the MIDI Devices
Inspector.
Bluetooth connections can be tricky, especially when connecting from GeoShred to a Mac. Here's a way you can always get it to work:
- Turn off Bluetooth on your Mac
- Turn off Bluetooth on the iOS device running GeoShred.
- Open Audio MIDI Setup on your Mac.
- Turn on Bluetooth on your Mac
- In Audio MIDI Setup, double-click on the Bluetooth icon.
- Click the Advertise button.
- Turn on Bluetooth on the iOS device running GeoShred.
- Open the MIDI Configurations in GeoShred.
- Click on the Bluetooth icon.
- Your Mac should now be available to connect to.
MIDI Devices Inspector
Menu > MIDI > DIN Button: Here you will see a
list of MIDI sources (devices that send MIDI to GeoShred) and
MIDI destinations (devices GeoShred can send MIDI to
GeoShred). By default, Note Input for all devices is enabled
when a device is first discovered. It is your choice to
decide whether you want MIDI Clock or MIDI Thru, these are
left off by default. You can (and should) turn off devices
you are not using as this will lessen MIDI traffic. The
Input/Output configuration is persistent across GeoShred
launches.
Each device may have it's own idiosyncrasies regarding input and output. In general, you have to understand the settings on each device, as plug and play is only partially possible with MIDI.
The device labeled "Network Session 1" by default in particular requires a great deal of configuration to get going. From a Mac, what you typically do is connect your Mac and iPad to the same WIFI network and then use the Audio MIDI Setup app to connect your iPad to your Mac. A good description on how to do this can be found here
Having said this, we do not recommend using MIDI over WIFI for any serious production work or live performance, there can be timing problems and lost data. It is fine for experimenting though.
Pitch Bend, Temperament and MIDI
If you are using scale that has non-even temperament, and if you are using MIDI In/MIDI Out or recording/playback in a DAW, there are some things to be aware of, which are explained below:
An adjusted pitch bend is a pitch bend that takes the temperament into account. Say for example you defined a -50 cent temperament (also known as an ETDIFF) on the 2nd degree of a custom scale. Further say the C. Now, when you play a D, GeoShred will apply the -50 cent temperment to the note and you will hear a D flattened by 50 cents. MIDI does not operate with fractional key numbers, so GeoShred compenstates for this by sending a pitch wheel change message to adjust for the 50 cents flat before the note on is played. But it does not end there - as you move your finger the pitch wheel change messages adjust according to the temperament on that D but also taking into any temperament on the note you are moving towards There are several cases where it is important to understand the consequences of this.
- Record/Playback, GeoShred as a plugin, MIDI sent from GeoShred keyboard or strum surface
If you are using the AU MPE MIDI configuration, unadjusted pitch bends are sent to the DAW on record, and on playback GeoShred adjusts these pitch bends to take temperaments into account. Note numbers are not adjusted. This works because in the AU MPE MIDI configuration the Adjust PB for Temperament MIDI configuration option in the MIDI Out and MIDI In sections and are turned off.
- Play to external instrument GeoShred as a plugin, MIDI sent from GeoShred keyboard or strum surface
Unadjusted pitch bends are sent unless the Adjust PB for Temperament MIDI configuration option is set in the MIDI Out section of the MIDI configuration editor. This is a common case in AUM, where the MPE Channel Mode MIDI configuration is commonly used.
- Record/Playback, GeoShred as a plugin, MIDI sent from external MIDI device.
This case is a bit complicated: When playing into GeoShred running as a plugin, from an external MIDI device, turn on the Adjust PB for Temperament MIDI configuration option in the MIDI In section of the MIDI configuration editor. However, when you play back you must turn it off.
- GeoShred running standalone taking MIDI input from an external MIDI device
Turn on the Adjust PB for Temperament MIDI configuration option in the MIDI In section of the MIDI configuration editor because external MIDI devices know nothing about temperament - they always send unadjusted pitch bends. The Roli Seaboard and Linnstrument are examples of this.
- GeoShred running standalone sending MIDI output to an external synth
Turn on the Adjust PB for Temperament MIDI configuration option in the MIDI Out section of the MIDI configuration editor, since the synth knows nothing about temperaments in GeoShred
Inputs
- Note Input - Enable/Disable MIDI notes from being received
- Clock Input - Enable/Disable MIDI clock from being received
- Thru - Enable/Disable MIDI Thru
Outputs
- Note Output - Enable/Disable MIDI notes from being sent
- Clock Output - Enable/Disable MIDI clock from being sent
- Port - MIDI Port Alias to send to
MIDI in the Control Surface Editor
You assign MIDI controller mappings from the Control Surface editor. This enables GeoShred to send and receive MIDI controllers from the Control Surface. On MIDI Input, controls will "fly" in response to MIDI messages.
- Menu > Control Surface: Tap on any control
Surface Control, and then tap on the MIDI button on
the top left
- You can select if this control Receives and/or Sends MIDI controls.
- You can select which virtual port it Sends On (there is no concept of Receive ports). By default it sends on all virtual ports
- You can add/edit/delete MIDI Controllers to mapped to this control. A Control Surface controller can can send and receive multiple MIDI controls for a particular GeoShred Controller
- "Send 1st Control". You can optionally elect to only send the 1st MIDI controller in the list of MIDI controller mappings. If a preset is voiced for several different types of controllers and responds multiple controllers for the same GeoShred Controller, it may be desirable to only send the 1st controller in the list when recording MIDI.
Trace Window
In addition to using your ear to determine proper behavior, the Trace Window (Menu> Show Trace) will tell you if note/parameter values are being properly sent/received from MIDI and/or sent to the GeoShred synth engine.
IMPORTANT: Trace can affect performance, please turn it off before trying any fast playing experiments. The easiest way to turn off trace is to simply close the Trace Window, or Menu> Show Trace > Options > Reset. Nothing will be written to the trace log file if you close the Trace Window or reset trace options.
If you find a problem, please try to make it repeatable and demonstrate what is wrong both with the trace output and an audio recording, which you easily make with the Record button in the Trace Window.
We also very much appreciate video bug reports. You can just use your phone to make an informal video to send to us.
Everything that goes to the Trace Window is written to the trace log file, GeoShredTrace.log which is in the GeoShred Documents folder. If you tap the Clear button in the Trace Window, the file is reset. You can access the Documents folder with iTunes file sharing. We also like an app called Phone View for this purpose. Again, nothing is written to the trace log file if the trace window is closed or no trace options are active.
You also can copy the contents of the Trace Window (Menu > Show Trace > Copy) into an email message if device running GeoShred is not connected to a computer. Using the Notes app is another way to do this.
If you want to analyze trends in trace messages, most trace messages are written as tab-delimited text, which is good for use in Excel.
You can also open audio recordings in sound editing applications such as Audacity or Adobe Audition to do analysis on sound files. If you expect there are strange things going on with the sound (most commonly clicks, incorrect pitch bends etc.), this sort of analysis can help diagnose problems.
See the Options button on the trace window for all the things you can monitor in the trace window.
MIDI Recording and Playback
For the best timing use a digital Audio/MIDI interface to connect your iPad to your computer.
NEVER use a WIFI network connected to the Internet, or you will get very poor timing. In a future release we may integrate Ableton Link to address this issue - but there will be more latency -
You can use Bluetooth or an ad hoc network but the timing will not be as good.
MIDI Port Aliases
GeoShred has a concept of "MIDI Port Aliases". This provides a way to refer to actual MIDI ports that appear in the MIDI devices list in the MIDI Configuration Editor without having to worry about the actual ports disappearing or changing. These ports are named Port 1 - Port 32.
Examples
MIDI In
- Pick MIDI Configuration: Menu> Single Channel
- Connect a standard MIDI device, like an Oxygen-25
- Connect your MIDI device to your digital interface
- Next, go to Menu > MIDI > DIN Connector (MIDI Devices Inspector), and make sure your digital interface is connected in the input section.
- Make sure the MIDI I/O switch is turned to input (green)
- Play notes from your MIDI device and you should hear GeoShred make sound. Be sure to experiment with the Modulation Wheel and Pitch Bend Wheel on your MIDI device.
- Experiment with mapping MIDI controllers on your device to the GeoShred Control Surface
- Something wrong? Look at the trace window and tell us what you you see.
MIDI Out
- Pick MIDI Configuration: Menu > MIDI > MPE Channel Mode
- Start an MPE-compliant app such as ThumbJam and put it in MPE mode. If you start GeoShred first, ThumbJam will probably be listening to MIDI form GeoShred, but double-check.
- Next, go to Menu > MIDI > DIN Connector (MIDI Devices Inspector), and select ThumbJam for NoteOutput, deselect any NoteInput. (Note you should not need to do this as GeoShred will find new outputs automatically)
- Turn on Background Audio and turn off Power Saver in ThumbJam
- Make sure the MIDI I/O switch is turned to output (blue)
- Play notes and you should hear a mix of the GeoShred and ThumbJam sound.
- We now want to have separate volume control for ThumbJam and GeoShred.
- To do this, add a new knob to the Control Surface for sending Channel Volume (7) to ThumbJam. Do this by hitting a + button on the an empty control surface slot, then pick Performance > MIDI Out > knob. Then tap the MIDI button, deselect Receive MIDI, and change the controller to Channel Volume (7). You can name this knob "TJ" so you know it's for ThumbJam
- Play some notes, then move the Amplifier level all the way down, and the ThumbJam volume all the way up. Now ThumbJam is loud and clear.
- Go to the Trace Window and turn on MIDI Channel Voice Messages, the hit the ALL button. Go to the trace window and verify you are seeing output like this when you move the TJ slider:
[00000] 0.00000 1 7 62 midiOutController ThumbJam
[00001] 0.03501 1 7 66 midiOutController ThumbJam
[00002] 0.04886 1 7 67 midiOutController ThumbJam
[00003] 0.06439 1 7 68 midiOutController ThumbJam
[00004] 0.08363 1 7 69 midiOutController ThumbJam
[00005] 0.10295 1 7 69 midiOutController ThumbJam
[00006] 0.12933 1 7 70 midiOutController ThumbJam
[00007] 0.13910 1 7 70 midiOutController ThumbJam
[00008] 0.15135 1 7 69 midiOutController ThumbJam
[00009] 0.16948 1 7 67 midiOutController ThumbJam
[00010] 0.18492 1 7 65 midiOutController ThumbJam
- Run all the playing experiments described above using ThumbJam, with GeoShred's Amplifier volume set to zero, then try the same with a mixture with GeoShred's Amplifier mixed in.
Multi-device MIDI Out
GeoShred can send MIDI Out to multiple virtual (or real) devices at the same time, but it can also assign each device to it's own range of strings
- Pick MIDI Configuration: Menu > MIDI > String to MIDI Port
- Open 3 apps (or devices) that can receive MIDI, (perhaps ThumbJam, SampleWiz and Animoog)
- Go to the MIDI Devices Inspector: Menu > MIDI > DIN connector
- Make sure your devices are there and enabled
- Make sure the MIDI I/O switch is turned to output (blue)
- Assign your Ports 1, 2 and 3 to each of the devices
- Now the top two strings (1, 2) play the device/app on Port 1, the next two strings (3,4) play the device/app on Port 2, and the bottom two strings (5,6) play the third device
- Experiment with creating MIDI Out knobs on the control surface to send Channel Volume to each of the three ports to verify you can get independent volume control
- Edit the MIDI Configuration: Menu > MIDI > String to MIDI Port, then tap the Edit button in the upper right, then tap on name of the MIDI Configuration.
- Under the MIDI Out section, you will see row labeled String to MIDI Port. Tap on that row, and you will be brought to a view where you can modify the string/port mappings
- In the String to Port Mapping View you can map one or more string to a given port, set a pitch bend range for the port, and also optionally decide whether you want to ignore the octave button or not
- You might want to ignore the octave button if you want one set of strings do octave rounding (eg. a lead voice) and another set to always stay in the same octave (eg. a bass or comping voice).
- All other MIDI Configuration related parameters are inherited from the MIDI Configuration. If you can think of anything else that needs to be independent please let us know.
MIDI Recording
- Our most common scenario is to use Logic running on a Mac for MIDI recording, so much of the follow discussion will be assuming this. We also assume you know how to set up MIDI tracks in Logic
- Download the MIDI Monitor on your Mac, if you don't already have it, it is extremely useful for analyzing the MIDI data in and out of the Mac. Use this in concert with the GeoShred Trace window.
- Also, we assume you are using a digital interface between your Mac and iPad, such as the iConnect Audio4+. While MIDI over WIFI and bluetooth are fine for experimentation, they are not reliable for production.
- We strongly suggest that you uncheck File > Project Settings > Recording > MIDI Data Reduction in Logic for more accurate recording/playback
- Select the preset called MIDI Recording Test
- Select the MIDI Configuration called Record-Playback
- Turn off the Arp Enable, turn off Mono Intervals, select String play mode.
- In the MIDI Configuration Editor, select the MIDI Devices Inspector, tap on "All On", or select all the input and output ports you wish to use for recording/playback.
- Set up Logic to listen to MIDI on the ports you chose, and then press the record button
- Set MIDI I/O switch to output (blue)
- In GeoShred play some notes, when you're done, hit the stop button in Logic then go back to GeoShred, and toggle the MIDI I/O switch to input (green)
- Play the notes from Logic
- Repeat the above steps with the following setups:
- Turn on the arpeggiator, switch to Mono play mode and select an interval, like min7. Notice GeoShred will only record single notes, not the entire arpeggio.
- Turn on the arpeggiator and mono mode intervals
- In the Record-Playback MIDI Configuration, turn off the "Send Arp/MMI Roots" switch
- Now arpeggios will be recorded. If you want to hear them played back, you should turn off Mono Intervals and Arp Enable and switch the play mode to String or Poly
- If you play the arpeggiator in String or Poly play mode all notes will be recorded.
- Now try doing everything above, but use the Roli Seaboard for MIDI input. To do that, turn on the Thru switch next to the Roli Seaboard input in the MIDI Devices Inspector . You should also be able to simultaneously play from the Roli Seaboard and from the glass.
Trouble shooting
While you are trying the steps above, take note of what is happening in the MIDI recording. Look at both the Event window in Logic and the Trace window in GeoShred. Notice for all moves you do on the control surface and the expression pad, MIDI controllers are sent and received.
You can move seamlessly between arpeggiator playing mode, play mode and gliss mode without the sound stopping. Beware when you switch from Mono Intervals/Mono play mode to String play mode or Poly play mode. If you do that, running voices will decay keep ringing out until you hit the string they were ringing out on.
Sometimes you might have a problem having Logic see MIDI control change messages. If this happens, sometimes you can reset all preferences in Logic. Do this by going to Logic -> Preferences -> Reset All Preferences Except Key Commands.
Mono Mode and MIDI recording
There are several cases of Mono Mode that you can experiment with. Be sure to try pitch bending in each mode (except Piano Gliss) and also try restriking keys that are already sounding.
- Mono Mode, Piano Gliss Mode, Legato On
- Mono Mode, Piano Gliss Mode, Legato Off
- Mono Mode, Guitar Gliss Mode, Snap On, Legato On
- Mono Mode, Guitar Gliss Mode, Snap On, Legato Off
- Mono Mode, Guitar Gliss Mode, Snap Off, fast Slide Speed, Legato On
- Mono Mode, Guitar Gliss Mode, Snap Off, fast Slide Speed, Legato Off
- Mono Mode, Guitar Gliss Mode, Snap Off, slow Slide Speed, Legato On
- Mono Mode, Guitar Gliss Mode, Snap Off, slow Slide Speed, Legato Off
- Mono Mode, Slide Gliss Mode, Snap On, Legato On
- Mono Mode, Slide Gliss Mode, Snap On, Legato Off
- Mono Mode, Slide Gliss Mode, Snap Off, fast Slide Speed, Legato On
- Mono Mode, Slide Gliss Mode, Snap Off, fast Slide Speed, Legato Off
- Mono Mode, Slide Gliss Mode, Snap Off, slow Slide Speed, Legato On
- Mono Mode, Slide Gliss Mode, Snap Off, slow Slide Speed, Legato Off
Reference
MIDI Implementation
GeoShred implements a subset of the MIDI Specification, along with MPE Extensions. For full technical details on MIDI/MPE, see The MIDI Manufacturer's Association
Received
- Channel Voice Messages
- Control Change, Note On, Note Off, Program Change, Pitch Bend Change, Channel Pressure (Mono Aftertouch, NOT poly Aftertouch), RPNs
- System Messages
- Sustain, Controller 64 is continuous and is always mapped to the Release Time parameter of the guitar
Sent
- Channel Voice Messages
- Control Change, Note On, Note Off, Pitch Bend Change, Channel Pressure (Mono Aftertouch, NOT poly Aftertouch), RPNs
- Channel Mode Messages
- All Notes Off, All Sounds Off, Reset All Controllers
- System Messages
RPN Support
Whenever a MIDI Configuration is loaded or a parameter in it changed, the relevant. RPNs are updated
MIDI Program Change
When GeoShred receives a program change message it switches to either the next or previous preset in the setlist. This means program change is relative, not absolute.
- If an attempt is made to increment past the number of available presets then the first preset in the setlist is selected.
- If an attempt is made to decrement past the first available preset in the setlist, then the last preset is selected
MIDI Panic Button
The MIDI Panic button is your friend. Use it if there are ever stuck notes or anything else you don't want to hear. You can record the panic sequence into the beginning of MIDI recordings if you like if you want to be sure the previous state of the GeoShred is cleared.
Interval Separation Time and MIDI Clock
In Performance Settings > Perform > Config, the Separation
Time for successive notes of a chord can be slaved to MIDI
Clock by enabling Performance Settings > Perform > Control
> Master Rate > MIDI Clock.
The value of the Separation Time is in seconds, and it is
the inverse of the bpm of the MIDI Clock times 60.0.
Example: If bpm is 120, then a note occurs every half
second. You can further multiply the Master Rate by a
factor specified using the pop-up menu below
Performance Settings > Perform > Config > Master Rate.
Key Y handling, Controller 74 in Poly Expr
MIDI In: Typically listen to Brightness (74) and apply the controller value to the stack of controllers on Key Y
MIDI Out: Typically use a MIDI Out controller to send to Brightness (74)
Initial Key Y values send before noteOn
Key Z handling, Channel Pressure (Mono Aftertouch, NOT poly Aftertouch) in Poly Expr
Poly Expr assignment is used for any c
MIDI In: Typically listen to Channel Pressure (Mono Aftertouch, NOT poly Aftertouch) and apply the controller value to the stack of controllers on Key Z
MIDI Out: Typically use a MIDI Out KeyZ controller to send to Channel Pressure (Mono Aftertouch, NOT poly Aftertouch)
Initial Key Z values are sent before noteOn
Poly Expr, KeyY/KeyZ and MPE
Poly Expr can be used to map KeyY and KeyZ expression to the MPE equivalents CC-74 (KeyY) and Channel Pressure (Mono Aftertouch, NOT poly Aftertouch) (KeyZ) for MIDI Out
The "MIDI Out" Performance Control should be used to send KeyY to the MPE's CC74
The "MIDI Out KeyZ" Performance Control should be used to send KeyZ to the MPE's Channel Pressure (Mono Aftertouch, NOT poly Aftertouch)
Because Poly Expr handles both KeyY and KeyZ, the "Exclude" mechanism found on the "Midi Out" and "Midi Out KeyZ" inspectors should be used to insure that KeyY only sends CC74 and KeyZ only sends Channel Pressure (Mono Aftertouch, NOT poly Aftertouch). That being said, a patch designer may opt to have KeyY send both CC74 and Channel Pressure (Mono Aftertouch, NOT poly Aftertouch) so that KeyY motion is sending both MPE controls
Common Controller Mappings for the Guitar Presets in GeoShred
GeoShred's new preset template and most of the factory presets use a similar set of controller mappings.
- PitchWheel: Whammy, usually the first slider on the control surface.
- ModWheel (CC-1): Various types of modulation, usually the second control surface slider.
- ChannelPressure: Whatever is on KeyZ.
- CC-74: Whatever is on KeyY.
- CC-113,114. Whatever is on expression pad X|Y.
- CC107,109,110, Whatever is on control surface sliders 3,4,5.
- CC-7, preset volume, usually on control surface slider 7.
In order to have an expressive experience for standard MIDI controllers, devices that only have a Pitch Wheel and a Modulation Wheel, for factory presets, CC-1 (ModWheel) is often mapped to (ExpressionPad-X, ExpressionPad-Y and Modulation), the diagonal of the expression pad. For example for "Shred Lead", the XY expression pad has Feedback and Amp Distance and performers move a finger around on this pad to find feedback harmonics.
By configuring CC-1 (ModWheel) to control all 3 dimensions: ExpressionPad-X, ExpressionPad-Y and Modulation, a single continuous controller like a ModWheel can express a portion of the multi-dimensional expression space.
Common Controller Mappings for the GeoSWAM Presets in GeoShred
Here are some of the common controller mappings for the GeoSWAM presets
- ModWheel (CC-1): Various types of modulation, usually the first control surface slider.
- ChannelPressure: Whatever is on KeyZ.
- CC-74: Whatever is on KeyY.
- CC-113: Whatever is on expression pad X.
- Channel Pressure (Mono Aftertouch, NOT poly Aftertouch). Whatever is on expression pad Y.
- CC-7, preset volume, usually on control surface slider 7.
All of the GeoSWAM presets have a button in the bottom third location of the control surface labled "Finger/MPE Expr". This button switches between Expression being done on the keyboard (either KeyY or KeyZ) or on the Y Expression axis of the Expression Pad. You can perform Expression on the Keyboard or the Expression Pad, but not both at the saem time. There is a lable in the Expression Pad area that illuminates as blue to indicate which mode is active. The "Finger/MPE Expr" button is usually mapped to CC22, but sometimes to CC21 or CC23.
Common Controller Mappings for the Naada Presets in GeoShred
Here are some of the common controller mappings for the GeoSWAM presets
- ModWheel (CC-1): Various types of modulation, usually the first control surface slider.
- ChannelPressure: Whatever is on KeyZ.
- CC-74: Whatever is on KeyY.
- CC-113: Whatever is on expression pad X.
- CC-2, CC114. Whatever is on expression pad Y.
- CC-7, preset volume, usually on control surface slider 7.
All of the Naada presets have a button in the bottom second location of the control surface labled "Finger/MPE Expr". This button switches between Expression being done on the keyboard (either KeyY or KeyZ) or on the Y Expression axis of the Expression Pad. You can perform Expression on the Keyboard or the Expression Pad, but not both at the saem time. There is a lable in the Expression Pad area that illuminates as blue to indicate which mode is active. The "Finger/MPE Expr" button is usually mapped to CC22, but sometimes to CC21 or CC23.
The Naada Presets are designed to work with Conventional MIDI Controllers and Breath Controllers. There are two ways that the Naada presets respond to CC2 (Breath) controlling Expression. If the preset is in "Finger/MPE Expr" ON mode, there is a MIDI Configuration called "Single Channel Naada Breath" that remaps CC2 to Channel presssure. If the preset is in "Finger/MPE Expr" Off mode (aka Pad Expression mode) CC2 can be sent directly to the preset
Additional Special MIDI Controller Mappings
Also, GeoShred is using specific controllers for some special functions:
- CC-102,103: Back door to send/recieve Bank MSB/LSB in situations where are host might block Bank messages.
- CC-112: Back Door to send/recieve Panic Messages(CC-120, 121, 123) in situations where are host might block these messages.
- CC-115: Back Door to send/recieve Program Change, in situations where are host might Program Change messages.
- CC-116: Message to send/recieve Expression Pad Scrape Direction Change
- CC-117: Message to send/recieve KeyY Scrape Direction Change
- CC-119: Message to send/recieve touch begin/end for the expression pad
MIDI controllers for the ambiX Ambisonic plug-in suite
WARNING: Experimental/Unsupported, use at your own risk!
Some digital audio workstations (DAWs) support the ambiX Ambisonic plug-in suite. We have used Reaper on Mac OS with these plug-ins.
In order to make spatialization using the JS: ATK FOA Transform Dominate effect, (Transform Dominate) easier, we created a special expression pad feature Expression Pad Mode.
Expression Pad Mode is set from the global preferences.
By default you setup Transform Dominate to listen to MIDI controller 87 for Azimuth, and MIDI controller 86 for gain. This means that as you move a finger on the Expression Pad closer to the center the gain will decrease. It also means circular motion on the Expression pad will map to Azimuth. This becomes clear once you actually set up the plugin, speaking about it the abstract is a bit hard to visualize if you never saw it in action. One final note, these controllers are always sent on MIDI channel 1, regardless of which MIDI preset you are using
There are 3 possible values for Expression Pad Mode: Rect, which means the Expression Pad only processes what is mapped on its X and Y axes, Ambi, which means the Expression Pad only send out the Ambisonic MIDI controllers, and finally RctAmbi, which means the Expression Pad processes what is mapped on its X and Y axes, and sends out the Ambisonic MIDI controllers
MIDI Configurations
Because many devices have subtle variations with how they want to communicate with MIDI, it's possible setup a configuration that works well for that device. A MIDI configuration can be used to configuration MIDI to work in a particular way. For example, MPE or for a Single Channel.
There are also MIDI Out presets in the setlist "MIDI Out" that are used to setup MIDI controller mappings for specific Synthesizers or Controllers
At the present time:
- Most MPE controllers and synths work with the "MPE Channel Mode" MIDI configuration. This includes devices like the LinnStrument, the Seaboard, the Orba, the KMI controllers, Roli Equator, Moog Model D, Animoog, etc, etc
- Most multi timberal controllers and synths work with the "Multi Channel Mode" MIDI configuration. This includes devices like the Guitar Controllers, the Sound Canvas, the Korg M1, etc, etc
- Most single channel controllers and synths work with the "Single Channel" MIDI configuration. Note that when using GeoShred as a single channel controller or when controlling GeoShred with a single channel controller, that the ability to have per note expression is lost. Specifically when using GeoShred as a single channel controller of a single channel synthesizer, if different notes send finger Pitch Bend messages, there will be contention for pitch on the synthesizer.
- When recording to a DAW, the AU MPE MIDI configuration should generally be used because: it correctly handles notes that were recorded using temperaments, it only sends the roots for arpeggiated MMIs, and it uses a work around for older versions of GarageBand that don't record Channel Pressure (Mono Aftertouch, NOT poly Aftertouch) correctly.
- The other MIDI configurations found under "Menu> MIDI> MIDI Configurations" are retained for legacy purposes.
For the stand alone version of GeoShred there is a switch that appear at the bottom.
- Defeat MMI/ARP - This switch will cause MMI arpeggios to only send the root of the arpeggio.
For the AUv3 version of GeoShred there are two switches that appear at the bottom.
- Send MIDI Clock to Host - This will send MIDI clock messages to the connected MIDI host
- Defeat Reload on Rewind - Typically when recording in a DAW, it is desirable that on Rewind that the preset be reloaded so that it's in the same state it was in when the recording was made. However you may wish to not reload a preset on rewind, for instance in a DAWless jam. This switch will defeat the reload when the system clock sent by the host rewindss
MIDI Out Presets
The setlist "MIDI Out" contains presets for various synthesizers with specific controller mappings setup.
There are a number of MID Out presets that are relevant to MPE as well as Multi Mode. Here is further information:
- Are you controlling a VST that supports MPE or is it multitimbral?
- Is the VST in MIDI Mode 3 or 4?
- Below are relevant MIDI Out presets.
- The presets labeled CC74 send only CC74 for vertical slide on a key (aka KeyY motion).
- The presets labeled Channel Pressure send only Channel Pressure (Mono Aftertouch, NOT poly Aftertouch) for vertical slide on a key.
- The presets without a CC74 or Channel Pressure designation send both CC74 and Channel Pressure (Mono Aftertouch, NOT poly Aftertouch).
- On an iPad its with vertical slide (KeyY).
- On an iPhone with 3D touch, KeyY sends CC74 and KeyZ (pressure) sends Channel Pressure (Mono Aftertouch, NOT poly Aftertouch).
- On an iPad velocity is KeyY touch, how high on the key you tap. On an iPhone with 3D touch Velocity is how hard you tap.
MIDI Out MPE Mode 3 CC74
MIDI Out MPE Mode 3 Channel Pressure
MIDI Out MPE Mode 3
MIDI Out MPE Mode 4 CC74
MIDI Out MPE Mode 4 Channel Pressure.
MIDI Out MPE Mode 4
MIDI Out Multi Mode 3 CC74
MIDI Out Multi Mode 3 Channel Pressure
MIDI Out Multi Mode 3
MIDI Out Multi Mode 4 CC74
MIDI Out Multi Mode 4 Channel Pressure
MIDI Out Multi Mode 4
MIDI Configurations
Under "Menu> MIDI" a number of Pre-defined MIDI configurations are availble. Note that you can always edit these with the "Edit" button". Here is a list of the MIDI configurations and what they are intended to be used for
- AU MPE - MPE recording/playback from the GeoShred Auv3 Audio Unit
- AU MPE Play - MPE recording/playback from the GeoShred Auv3 Audio Unit
- Artiphon INSTRUMENT 1 - Artiphone Instrument 1 controlling GeoShred
- Artiphon Orba 2 - Artiphone Orba 2 controlling GeoShred
- Arturia iSEM - GeoShred controlling Arturia iSEM
- Connect Receive - Used for GeoShred iOS/iPadOS controlling GeoShred Studio. This the recieve side used by GeoShred Studio.
- Connect Send - Used for GeoShred iOS/iPadOS controlling GeoShred Studio. This the send side used by GeoShred for iOS/iPadOS
- Haken Continuum - Haken Continuum controlling GeoShred
- Jamstik+ - Jamstik+ controlling GeoShred
- Jordantron - GeoShred controlling Jordantron
- KMI MPE - KMI Controllers controlling GeoShred
- Korg NanoKey Studio - Korg NanoKey Studio controlling GeoShred
- LinnStrument GeoPizzBass - LinnStrument controlling GeoPizzBass. Has a special Velocity and Channel Pressure (mono aftertouch) curve
- LinnStrument GeoSWAM - LinnStrument controlling GeoSWAM Instruments. Has a special Velocity and Channel Pressure (mono aftertouch) curve
- LinnStrument MPE - LinnStrumment controlling any of the Guitar presets.
- LinnStrument Multi - LinnStrumment controlling any of the Guitar presets.
- LinnStrument Naada Bowed Strings - LinnStrument controlling the Naada Bowed Strings
- LinnStrument Naada Plucked Strings - LinnStrument controlling the Naada Plucked strings
- LinnStrument Naada Woodwinds - LinnStrument controlling the Naada Woodwinds
- M3000 - GeoShred controlling the M3000 Melotron app
- MPE Channel Mode - Generic MPE MIDI configuration for MIDI In and Out
- MPE Channel Mode 3 - MPE MIDI configuration in MIDI Mode 3 for MIDI In and Out
- MPE Channel Mode 4 - MPE MIDI Configuratino for MIDI Mode 4 for MIDI In and Out
- MPE MCM Channel Mode - MIDI configuration that sends/responds to the MPE MCM
- Moog Animoog - GeoShred controlling Animoog
- Moog Model D - GeoShred controlling Moog Model D
- Multi Channel Mode - GeoShred sending/recieving MIDI in Multi Mode
- None - Turns off MIDI configurations
- Oxygen25 - GeoShred Controlled by an Oxygen25
- PPG - GeoShred controlling PPG
- Phonem VpC - GeoShred controlling VpC
- Record-Playback - Generic record/playback MPE configuration for older DAWs
- Roli Seaboard - Roli Seaboard contolling GeoShred
- Roli Seaboard GeoSWAM - Roli Seaboard controlling the GeoSWAM Models
- Roli Seaboard KeyZ - Roli Seabboard with KeyY and KeyZ swapped
- Roli Seaboard Naada - Roli Seaboard controlling the Naada Instruments
- SWAM - GeoShred controlling SWAM
- SampleWiz - GeoSHred controlling SampleWiz
- Single Channel - GeoShred Controlled by a single channel MIDI controller
- Single Channel 10 - GeoShred controlling drums on General MIDI channel 10
- Single Channel Naada Breath - Naada Models controlled by a single channel MIDI contoller with a breath headset or wind controller that sends CC-2.
- Single Channel Naada Foot Controller - Naada Models controlled by a single channel MIDI contoller with a foot controller that sends CC-4.
- Single Channel SWAM Breath - SWAM Models controlled by a single channel MIDI contoller with a breath headset or wind controller that sends CC-2.
- Single Channel SWAM Foot Controller - Naada Models controlled by a single channel MIDI contoller with a foot controller that sends CC-4.
- String To MIDI Port - Special MIDI configuration to allow sending/recieving individual strings to separate MIDI ports
- iFretless - GeoShred controlling iFretless Apps
- iSymphonic - GeoShred controlling iSymphonic
- moBox - GeoShred controlling the top secret moBox. Don't tell anyone ...