MidiVision turns your iOS device into a handy, portable midi protocol capture and analysis tool. Interfaces supported include Line6's Midi Mobilizer (I and II) and all iOS supported CoreMIDI interfaces. Also supported are CoreMIDI network and virtual interfaces (to other running apps) MIDI events received on a connected MIDI interface's input are captured and displayed in a human readable and colour coded form. The events can be viewed in a compact one event per line form or a more detailed format showing also the actual raw midi bytes for the event. ![]() Captured events can be sent out of a MIDI output either using the midi thru feature or replayed on demand. Incoming events can also be subjected to filtering to either block out unwanted events or to focus only on specific types of events. Captured events can be emailed both as a printable report and a standard midi file for further analysis or use in other software. MidiVision can also continue running in the background. iOS4.3 or above is required for background operation. Unfortunately, Midi Mobilizer I cannot run in the background. In summary, a quick and easy way to see what exactly is coming out of your midi gear without having to drag around a computer! MidiVision is very simple to use. Along the bottom of the screen are 6 tabs that switch between the different views. Just touch each tab to change the view. Each view is described in detail below.
This is the main view where captured events appear as they arrive. Each event type is colour coded (can be switched off) and denoted by an event type icon. In addition, a timestamp (relative or wallclock) for each event is shown, accurate to milliseconds (as per the Midi Interface). The parameters (eg. note value/velocity) of each event are also shown. There are two forms of the event viewer; Compact and Detail. The compact view shows each event on one line along with basic/condensed information. ![]() The detail view shows more information but over three lines and also includes the raw bytes received. Additionally in the detail view if the bytes received are significant (say for a sysex event) the complete bytes can be viewed by touching the disclosure button. ![]() The event view is scrollable, but if the bottom of the events is being shown, then new events that arrive will appear and the view will scroll automatically to follow the new events. The number events captured in the display is shown in the badge on the compact tab as below: ![]() There are two scrolling 'hotspots' (at top and bottom of view) which when touched will scroll to the very first event or the very last event. The picture below shows the scroll to bottom hotspot. It's the semi-opaque button with the big arrow in it. A new hotspot at the bottom left corner allows you to clear events from the main event views. You need to double tap that hotspot to effect a clear. ![]() Worth mentioning also is the green bar shaped 'led' to the right of the 'Help' tab visible in the above diagram. This led blinks solid green when a Midi Interface is connected. If the led is solid red, then no events can be received. When midi events are received by MidiVision, the led will blink red (from green) briefly. Finally, an audible 'beep' will be emitted from the iOS device when it receives midi data as a non-visual indicator of incoming events. The beeps will occur at no less than 5 second intervals while data is being received, and will beep on the first event received after more than 5 seconds of data silence. ie. It won't beep on every single event.
The filter view allows you to filter out (or in) certain types of midi events from either being captured/displayed or being mirrored to midi thru. To set up a filter you need to set the filter parameters on the Filter view. This section describes each control and how it affects the filter:
The Actions view is where you can email, replay or clear the events that are in the event display. You can touch the 'email events' panel to generate an email which will include reports (printable) of the events in the display as well as a standard midi file (960 ticks per quarter/120 BPM) that can be used in other software packages such as sequencer programs. You can touch the 'clear events' panel to clear all events in the display. You may be asked to confirm you wish to clear events (depending upon the confirm to clear setting described later) before the events are cleared. Note, you can also shake your device to clear events (again depending upon the option in the settings view). The event display can be replayed using the 'Events Replay' panel. The first event in the display will start 1 second after the play button is pressed and continue until the end or until stop/pause are pressed. If new events arrive while events are playing, they will be captured, but will not be included in the current play. On the event display, the next event that will be played will be highlighted and the Actions tab badge will show the current state of the transport. ![]() The green time display (Current Play Time) shows how many seconds have elapsed since play was started. The smaller red 'End' value shows the time at which the last event will be played (relative to the start). To the right of the transport panel the current/total events are shown. The event player can play the events through one output only and the output that will be used is shown in the transport. The app selects the output for play automatically based upon the interfaces present at the time. The order (from highest to lowest priority) for determining the play output is as follows:
User defined settings that alter the behaviour of MidiVision are found on this view. All (almost) settings are 'on/off' type parameters and settings (and indeed filter settings) are remembered between app invocations. The settings are:
Known limitations and issuesThis section describes some of the known issues and limitations of MidiVision. Event Display Throughput - If the incoming midi data is heavy and sustained, MidiVision will go into 'busy mode', where it backs off from updating the event display in order to process the incoming events as a priority. You will recognise when this happens by a 'busy mode' message that will appear. Once the input load drops, MidiVision will update the display and the message will disappear. Midi Thru Latency - Depending upon the quantity of data being input, the midi thru feature can experience some variable latency causing events output to be slightly (or not so slightly) out of time. If the midi input load is high then busy mode (as described above) will kick in which will reduce this effect but may not eliminate it. Turning off audible alerts helps and also do not interact with the application (or rotate the device) to reduce the output variation. A future firmware update from Line6 may possibly offer a hardware midi thru function. Also, you can turn on 'Jitter Reduction' which eliminates the stuttering by applying a fixed latency of 250ms Other Audeonic AppsWe'd like to mention our other iOS apps which may be of interest to you. Touch the app icon to view in the App Store
Finally, Thanks ToLine6 Midi Mobilizer Team Tab bar icons by Joseph Wain www.glyphish.com, used under Creative Commons Attribution 3.0 United States License. Actions icons used under GPL license from www.carpicon.com You, for downloading (and presumably purchasing) this application. We hope it will be useful to you. Please do take time to review it in the App Store for others. If you have any suggestions for improvements, have found bugs, want to vent your spleen or even need an app developer, please contact us at apps@audeonic.com or visit www.audeonic.com. HTML handcrafted in vi by Audeonic Apps in Dublin, Ireland Version 1.2 - © 2011 Audeonic Apps |