[Main Help]

MIDI in GeoShred [PRO][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

MIDI Out

MIDI In

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:

MIDI Devices Inspector

Menu > MIDI > DIN Connector: 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.

Inputs

Outputs

MPE Configuration Message (MCM) handling

For more information on the MCM message, see the MPE specification on the MIDI Association website.

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.

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

MIDI Out


[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

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

MIDI Recording

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.

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.

Example of how to send MIDI from a Rise or LinnStrument, through GeoShred and record to Logic

Reference

MIDI Implementation

GeoShred implements a subset of the MIDI Specification, along with the proposed MPE Extensions. For full technical details on MIDI, see The MIDI Manufacturer's Association

Received

Sent

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.

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 in Poly Expr

Poly Expr assignment is used for any c

MIDI In: Typically listen to Channel Pressure 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

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 (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

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. That being said, a patch designer may opt to have KeyY send both CC74 and Channel Pressure so that KeyY motion is sending both MPE controls

Common Controller Mappings for Presets in GeoShred

GeoShred's new preset template and most of the factory presets use a similar set of controller mappings.

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.

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