Sonogenic voice editor

The Yamaha SHS-500 Sonogenic is a good sounding syntheizer which lets you jam along with ChordTracker songs. The SHS-500 includes a General MIDI Level 1 multi-timbral tone generator that is accessible over MIDI (Bluetooth, 5-pin or USB). Yamaha doesn’t promote the General MIDI capability, but it’s there!

Update: I added a post showing how to customize the Sonogenic voice editor user interface.

The Sonogenic lacks three critical features that one finds in a typical desktop synth:

  1. Although the Sonogenic has 28 great voices and two drum kits built-in, it lacks many important instruments like organ, double reeds, tuned percussion and soft synth pads.
  2. Internal voices cannot be edited, e.g., attack, filter cutoff and so forth cannot be adjusted.
  3. The chorus and reverb types are preselected and cannot be changed.
  4. Edits and changes cannot be stored into and recalled from user memory slots.

This is the ideal situation for a tablet-based app.

MIDI Designer is an iPad-based tool which supports creation and use of MIDI voice editors and controllers called “layouts.” Users have built and shared layouts for many popular synths. Now, I’m pleased to add the SHS-500 Sonogenic layout. With this layout, you can play the General MIDI (GM) voices, change reverb and chorus types, edit General MIDI (GM) voices and save all of your work in MIDI Designer presets. If you turn Sonogenic LOCAL sound generation on, you can layer an internal voice with a GM voice.

This post describes the Sonogenic layout. I recommend reading my post about MIDI Designer to Sonogenic communications (MIDI flow) first. It will help you to understand the relationship between the SHS-500 and the MIDI Designer Sonogenic layout. The write-up may even inspire a new way of using MIDI Designer with Sonogenic.

One thing that’s nice about MIDI Designer and layouts — you can customize them. So, if you want to modify my layout, don’t hesitate. First, though, you should read my post describing Sonogenic’s MIDI implementation. Then you will know more about the MIDI messages behind the layout’s controls.

Click this link to download my Sonogenic layout for MIDI Designer. Use iTunes file sharing to install the layout in MIDI Designer. I plan to upload the Sonogenic layout to the MIDI Designer web site.

Connection

Although you could connect by USB or 5-pin MIDI, the Sonogenic, MIDI Designer and Bluetooth MIDI are made for each other.

midimittr Bluetooth connection to Sonogenic

First, launch the free midimittr app which acts as a bridge between Sonogenic, Bluetooth MIDI and MIDI Designer. midimitter lets MIDI Designer echo Sonogenic’s MIDI note on/off, modulation and pitch bend messages back to the Sonogenic. You should turn Sonogenic LOCAL off unless you intend to layer a Sonogenic voice with a GM voice.

MIDI Designer connection

Next, launch MIDI Designer and make connections to midimittr as shown in the screenshot above. Then load the Sonogenic layout into MIDI Designer. You should be ready to go at this point.

Voices and effects

The Sonogenic layout is separated into three tabs: Effects, Voice and Voice Edit. (See the screenshot below.) Effect-related controls are on the left-hand side of the screen and voice-related controls (tabbed pages) are on the right-hand side.

Effect and voice selection

Selecting a GM voice

The Sonogenic has a strict division between its keyboard sound and the General MIDI sounds over MIDI. You can think of the keyboard sound and GM sounds as two distinct tone generators, each with their own controls. The keyboard sound is selected and controlled through the Sonogenic front panel. The GM sound(s) is selected and controlled by the MIDI Designer layout.

The Voice page has an array of voice buttons. The 28 buttons at the top of the page select one of the preset “panel” voices. The two large buttons in the middle select one of the two preset panel drum kits. The buttons at the bottom of the page select a voice from the General MIDI sound set.

Please note: if you select a panel voice on the Voice page, you are changing the current General MIDI sound. The Sonogenic keyboard sound remains the same. The separation may seem artifical, but it lets us layer two sounds: the keyboard sound and a General MIDI sound.

The Sonogenic panel voices are generally better-sounding than the equivalent GM voice. The layout provides direct access to the panel voices while providing 12 buttons which can be customized for your own favorite GM voices. Of course, you’ll need to learn how to edit the GM buttons…

Effects

The large buttons on the Effects page choose the current reverb and chorus type. Like the voice buttons, the reverb and chorus effect type buttons are “radio buttons,” i.e., you can select only one effect type at a time within the reverb group or chorus group.

The reverb (Rev) and chorus (Cho) sliders adjust the reverb and chorus level for the General MIDI sound. [By the way, the GM voice and its effect levels are on MIDI channel 1.] Change the amount of reverb or chorus effect here. The sliders do not affect the keyboard sound — only the GM sound.

Changing the chorus and reverb type also affects the keyboard sound because the chorus and reverb units are shared by the keyboard sound and the GM tone generator. Reverb and chorus level only affect the GM sound [MIDI channel 1].

The four small buttons are utility buttons:

  1. XG On: Sends an XG System reset to the GM tone generator. This resets the voice (acoustic piano) and all internal MIDI controller values.
  2. Local: Turns Sonogenic LOCAL CONTROL on and off.
  3. All Off: Turns off all notes which may be sounding — a panic button.
  4. C3: Plays the MIDI note C3. Good for testing edits and changes.

Use the XG On button sparingly. The GM tone generator and layout do not automatically re-synchronize with each other.

Voice editing

The Voice Edit page is where you adjust basic voice characteristics like volume (Vol), attack time (Atk), release time (Rel), filter frequency (Freq) and filter resonance (Res). You can spruce things up with these controls. The attack, release, frequency and resonance controls behave like “quick edit” controls, that is, they are offsets from the preset voice parameter values. The middle position (64) specifies a zero offset leaving the original value unchanged. Higher values add an offset and lower values subtract an offset. So, if you want to increase attack time, move the attack slider up. If you want to shorten attack time, move the attack slider down.

Effects and Voice Edit pages

Portamento adds a glide between notes. Press “Porta On” to turn portamento on and press “Porta Off” to turn portamento off. The portamento time slider (Porta Time) sets the glide time.

The velocity sensitivity knobs change how the voice responds to MIDI note velocity (touch). The two voice parameters are:

  1. Velocity Sense Depth (VelDepth)
  2. Velocity Sense Offset (VelOffset)

Please see Yamaha’s explanation in the figure below.

Velocity Sense Depth and Offset

Organ voices, in particular, should not respond to velocity, i.e., a note is either on or off. To achieve this kind of touch response, set velocity sense depth to zero and set velocity sense offset to a value in the range 110 to 127.

The keyboard voices have a default volume which is louder than the General MIDI voices. You may need to set the volume slider (Vol) above 100 in order to get a better balance (mix) between panel and GM voices.

MIDI Designer presets

MIDI Designer itself implements preset storage and recall. A MIDI Designer preset is a snapshot of all the current values in a layout. Here’s a typical usage scenario:

  1. Select a voice.
  2. Select and adjust chorus and reverb effects.
  3. Tweak the voice (e.g., change filter cutoff, etc.)
  4. Save the finished voice as a MIDI Designer preset.

It’s easy to save a preset. Press the more button, press the “Save” button at the bottom of the drop-down menu, and then press one of the ten preset buttons. To recall a preset, simply press more followed by the desired preset button.

MIDI Designer has two groups of presets: regular and alternative. There are ten preset slots in each group, so you get twenty presets total. The Alt button selects the alternative group.

Potential issue: Portamento sometimes stays on (or off) after selecting a preset that changes portamento state. [I’m still investigating.]

Limitations

I experimented with several other controls of the kind normally found on a desktop synth. Unfortunately, the SHS-500 MIDI implementation is rather limited. Here are some known shortcomings:

  • Transpose and note shift
  • DSP effect control
  • Mono and poly mode selection

Should I make any progress with these deficiencies, I will issue an update.

Copyright © 2020 Paul J. Drongowski

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