Sonogenic UI MIDI flow

My Yamaha SHS-500 Sonogenic user interface (UI) is coming along quite well and is nearly complete. Before presenting the UI itself, I want to explain the overall concept of operation from the MIDI perspective.

The diagram below shows the flow of MIDI messages between the Sonogenic and the apps running on the iPad. The iPad and Sonogenic exchange MIDI messages over Bluetooth MIDI (BLE MIDI).

MIDI message flow

The two iPad apps are MIDI Designer and midimittr. Although MIDI Designer is Bluetooth MIDI capable, it is not able to echo incoming MIDI note on, note off and modulation messages back to the Sonogenic. For that, we need the (free) midimittr app. midimittr is launched first and makes the connection to the Sonogenic. In Bluetooth terms, midimittr is the “Central” and the Sonogenic is the “Peripheral.” MIDI Designer is launched after midimittr and virtual MIDI connections in and out are made to midimittr. THRU is turned on.

Thus, midimittr acts as a bi-directional pipe for incoming and outgoing MIDI messages (i.e., incoming and outgoing with respect to MIDI Designer.) MIDI Designer along with midimittr forms a MIDI loop-back.

Back in the Sonogenic, keyboard and modulation control messages are sent to the MIDI OUT link and, under the control of the LOCAL ON/OFF switch, are sent to the Tone Generator. If LOCAL is ON, keyboard messages are sent to the Tone Generator. If LOCAL is OFF, keyboard messages only go out on MIDI and no sound is initiated.

In this design, the Sonogenic transmits outgoing MIDI messages on channel 1. MIDI Designer also sends its messages on channel 1. The net effect of the loop-back is to merge messages sent by the Sonogenic with messages sent by MIDI Designer.

The incoming MIDI message stream always goes to the Tone Generator. Along this path, the Tone Generator implements a General MIDI Level 1, 16-channel synthesizer. All channel 1 messages are recognized and interpreted by the Tone Generator whether they originated within the Sonogenic or MIDI Designer.

The incoming MIDI messages and the keyboard messages (when LOCAL is ON) are received by the Tone Generator via two separate and independent ports.

  • The keyboard port is not one of the 16 MIDI channels. Panel voice selection and DSP effect control are available through this port. No General MIDI control is possible through this port.
  • The General MIDI message port handles all 16 channels including channel 1 which carries the merged messages from the Sonogenic loop-back and MIDI Designer. General MIDI messages cannot change the panel voice or DSP effect.

Now you can see why MIDI Designer loops Sonogenic MIDI messages back to the tone generator. And, you can see why there are certain limitations.

However, we do gain one advantage by having two such independent tone generator ports. If LOCAL is turned ON, you can layer a panel voice (selected on the Sonogenic) with a GM voice (selected in MIDI Designer). Want a phat stacked synth? You got it. Want to layer EPiano over strings? You got it.

The MIDI Designer UI lets you select and edit General MIDI voices. You can also select among all of the available chorus and reverb types. Thanks to MIDI Designer’s preset capability, you can save and recall the edited voices. The Sonogenic does not have patch editing or patch storage.

I hope this explanation is helpful. Soon, I will dive into the MIDI Designer interface.

Copyright © 2020 Paul J. Drongowski