Creating a Mega Voice in YEM

With all of the Genos™ hoopla, let’s not forget about technique and skills! A few interesting questions popped up on the PSR Tutorial Forum and I’m reposting my answers here.

Today’s blog describes how to create a Mega Voice for PSR/Tyros using Yamaha Expansion Manager (YEM). With this background information in mind, I go on to discuss maximum polyphony in AWM2 and how to count voices against maximum polyphony.

The discussion has a PSR/Tyros focus, but a lot of the information applies to Motif, MOX and Montage, too. If you want to learn more about the Yamaha AWM2 voice architecture, I recommend reading the first chapter of a Motif- or Montage-series reference manual and the corresponding synthesizer parameter manual. (Download these manuals from the Yamaha manual library.)

Creating a Mega Voice in YEM

Regular voices are the usual MIDI voice: 128 velocity levels and only one basic sound. For example, nylon guitar is just the pitched, melodic sound of the notes either louder or softer depending on note velocity.

Mega Voice guitars (and other Mega Voices) are different. Please look at the Mega Voice Map starting on page 16 of the Tyros Data List PDF.

Let’s take a look at the Mega NylonGuitar voice. For MIDI notes B5 and below, the MIDI velocity is broken into eight (8) ranges:

    1- 20 Open soft
   21- 40 Open med
   41- 60 Open hard
   61- 75 Dead
   76- 90 Mute
   91-105 Hammer
  106-120 Slide
  121-127 Harmonics

Each range plays a different kind of sound. So, the MIDI velocity determines which guitar sound. Then, the velocity within that limited range determines how loud it will be.

Example 1: MIDI note A4, velocity 38 makes an Open Med guitar sound which is loud.

Example 2: MIDI note A4, velocity 2 makes an Open Med guitar sound which is quiet.

Example 3: MIDI note A4, velocity 110, makes a Slide guitar sound.

Now, let’s look at the last two columns in the Mega Voice map, again, for the Mega NylonGuitar voice. For MIDI notes between C6 and B7, the Tyros plays a Strum noise. The velocity in this case determines the Strum noise loudness over the full range 1-127.

For MIDI notes above C8, the Tyros plays a Fret noise. The velocity determines the fret noise volume and is full range 1-127.

Example 4: MIDI note D8, velocity 127 plays a very loud fret noise.

Put this knowledge into action with YEM

Now you need to figure out how to do this using the voice editor in Yamaha Expansion Manager (YEM). Each voice has up to eight elements. Think of each element as a mini, controllable synthesizer.

You will need one element for each of the velocity ranges that form the main body of your Mega Voice. In the case of the Mega NylonGuitar voice, that’s eight elements!

In YEM, build one element at a time. Layout the samples for one velocity range of the many body. You may have one waveform or you may have several waveforms. Each waveform occupies a key range. Do not map any waveforms onto the keys C6 and above (yet). These keys are reserved for the noise notes.

When you select a waveform belonging to an element, YEM highlights the color and displays eight resizing dots on the edges of the waveform. Use these dots to resize the waveform. Moving left or right changes the key assignment for the waveform. Moving an edge up or down changes the lower or upper limit of the velocity range to be assigned to the waveform.

If you have a lot of samples, be prepared to do a lot of work! Now you’re learning how much work Yamaha puts into voice development!

Once you have assigned the waveforms (samples) for the main body of your new voice, you can work on the noise notes, that is, any keys C6 and above.

Select the first element. Assign the waveforms for the noise notes to the keys C6 and above. The actual layout is up to you, but you must use only the keys C6 and above.

If your noise notes have only one velocity range, 1 to 127, then you must set the velocity range for only those waveforms (1 to 127). If your noise notes have two or more velocity ranges (not recommended), then you must use more than one element.

So, you can see that YEM has enough editing power to create a Mega Voice. Be prepared to study carefully how Yamaha voices are constructed. Please don’t expect to just jump in, clap your hands, and be finished. I regard Mega Voice development as a fairly advanced, expert job. If you haven’t created a voice before using YEM, then I suggest trying something simple until you understand elements, waveform layout across keys, and velocity ranges.

Counting voices against maximum polyphony

Now that you’re schooled in voice structure, it’s a good time to discuss maximum polyphony and counting voice elements against maximum polyphony.

This has always been a somewhat confusing topic because of the way polyphonic voices are counted.

As I mentioned above, a Tyros or Motif or Montage (AWM2) voice consists of up to 8 elements. Assume that only the RIGHT1 part is enabled and thus, only one Tyros voice is enabled. When a key is struck, the AWM2 engine determines the active elements and assigns each active element to a physical-level, hardware tone generation channel. One or more elements may be active simultaneously for a given note under the assumption.

Assignment and channel use is additive. If RIGHT1 and RIGHT2 are enabled (i.e., two layered voices), then there are one or more active elements from the RIGHT1 voice and one or more active elements from the RIGHT2 voice. This is why layers chew up polyphony.

The number of tone generation channels determines the maximum number of active tones playing at any time — the maximum polyphony.

Be prepared to be confused!

Even if all eight elements are defined in a Mega Voice, not all eight elements may be active at a time. One to eight elements may be active depending upon the incoming MIDI note and the element programming (i.e., the velocity range and note range for each element.) When the synthesis engine gets a MIDI note (consisting of a MIDI note number and velocity), it decides which elements to play. If only one element matches, then only one polyphony voice is used up. If two elements match, then two polyphony voices are used up, and so on.

Thus, depending upon the combination of note ranges and velocity levels, a voice may use anywhere from one to eight voices of polyphony. It all comes down to the particular design (programming) of a user voice.

If you’re not confused yet, hold on, there’s more. In the past, a stereo voice would use two tone generation channels while mono uses one channel. The left waveform is assigned to an element and the right waveform is assigned to its own element. Montage and Genos have the new tone generator, the SWP70. The new tone generation hardware supports 128 mono/stereo voices (channels) of polyphony. That is, stereo elements get mapped to a stereo channel. This is a big deal because it allows greater use of stereo waveforms without cutting too deeply into the available polyphony.

Think like a coder

By now, if you’re a programmer, you’re thinking of pseudo-code somthing like:

    if ((MIDI note number >= lowest key in key range) &&
        (MIDI note number <= highest key in key range) &&
        (MIDI note velocity >= lowest velocity in velocity range) &&
        (MIDI note velcotiy <= highest velocity in velocity range))
    {
        Generate the tone for the MIDI note
    }

This conditional statement summarizes what I discussed earlier.

As usual, there's more.

The AWM2 synthesis engine defines and evaluates other conditions:

  • Detached (non-legato) or legato
  • Articulation button ON or OFF
  • Jump in note interval less than one octave

Motif and Montage people will recognize the first two conditions as Expanded Articulation (XA). PSR and Tyros people will recognize all three conditions as part of Super Articulation (SA). These additional conditions also control element triggering. Think about extending the pseudo-code's condition with other conjunctive terms.

The Motif and Montage voice editors expose the XA conditions. Yamaha Expansion Manager does not expose these conditions. Thus, it's not possible to create Super Articulation voices using YEM.

Copyright © 2017 Paul J. Drongowski

Mega Voice in PSR/Tyros styles

Yes, this site still answers questions and doesn’t just publish rumors and FUD. 🙂

Recently, a member of the PSR Tutorial Forum needed help using a Megavoice in a custom Tyros style. My answer seemed to be useful to a broader audience, so I decided to post my answer here. The information applies to PSR arrangers, too, because the Tyros and PSR share the same SFF1 and SFF2 (SFF GE) style formats.

Megavoice guitars are very different than regular guitar voices.

Regular voices are the usual MIDI voice: 128 velocity levels and only one basic sound. For example, nylon guitar is just the pitched, melodic sound of the notes either louder or softer depending on note velocity.

Megavoice guitars (and other Megavoices) are different. Please look at the Megavoice Map starting on page 16 of the Tyros Data List PDF.

Let’s take a look at the Mega NylonGuitar voice. For MIDI notes B5 and below, the MIDI velocity is broken into eight (8) ranges:

    1- 20 Open soft
   21- 40 Open med
   41- 60 Open hard
   61- 75 Dead
   76- 90 Mute
   91-105 Hammer
  106-120 Slide
  121-127 Harmonics

Each range plays a different kind of sound. So, the MIDI velocity determines which guitar sound. Then, the velocity within that limited range determines how loud it will be.

Example 1: MIDI note A4, velocity 38 makes an Open Med guitar sound which is loud.

Example 2: MIDI note A4, velocity 2 makes an Open Med guitar sound which is quiet.

Example 3: MIDI note A4, velocity 110, makes a Slide guitar sound.

Now, let’s look at the last two columns in the Megavoice map, again, Mega NylonGuitar voice. For MIDI notes between C6 and B7, the Tyros plays a Strum noise. The velocity in this case determines the Strum noise loudness over the full range 1-127.

For MIDI notes above C8, the Tyros plays a Fret noise. The velocity determines the fret noise volume and is full range 1-127.

Example 4: MIDI note D8, velocity 127 plays a very loud fret noise.

The Megavoice mapping makes it more difficult to program (sequence) guitar parts than regular voices. The user needs to make sure that the MIDI note is in the desired range (B5 and under, above C6, etc.) and that the MIDI velocity controls what you want.

Yamaha’s proprietary CASM has a few settings to control Mega Voices. The bad news — you can’t change some of these settings.

When I program Megavoice into a style, I use two parts for each Megavoice:

    Part 1: Pitched notes -- all note B5 and below
            NTR: ROOT TRANS or GUITAR
            NTT: MELODY or CHORD
    Part 2: Noise notes -- all notes above C6
            NTR: ROOT FIXED
            NTT: BYPASS

You want the pitched notes to transpose. You don’t want the noise notes to transpose. (Please think of the noise notes like drum notes/sounds.)

I wrote a three part series of articles about capturing Motif/MOX arpeggios and converting them to PSR/Tyros styles:

If you don’t care about Motif/MOX, then skip part one. Parts two and three are more generally useful and describe the conversion of a MIDI file to a style. Part three concentrates on Megavoice conversion.

Copyright © 2017 Paul J. Drongowski

MOX performance to PSR style (part 3)

In parts one and two, I described a way to capture Yamaha MOX performances into a Standard MIDI File (SMF) and how to translate the SMF to a PSR/Tyros style. Part three discusses Mega Voices and how to program MIDI data for a Mega Voice part such that the special articulations and effects (FX) play back correctly.

A Yamaha Mega Voice is a synthesizer or arranger workstation voice that has several sonic components. Take the MOX “Mega Finger+Slap” voice as an example. It has five components; each component is assigned to a MOX tone generator element:

Element Waveform Lower Upper Velocity
1 Finger Med C-2 B5 1-60
2 Finger Hard C-2 B5 61-80
3 Finger Dead C-2 B5 81-120
4 Thumb/Pull Hard C-2 B5 121-127
5 Electric Bass FX C6 G8 1-127
Table: Mega Finger+Slap voice elements

These components do not sound all at once! The MIDI note number and velocity trigger just one of the elements. (In this case, all components/conditions are exclusive.) One the first four elements sound when the MIDI note is between C-2 (MIDI note number 0) and B5 (MIDI note number 95). The MIDI note velocity further determines which of those four elements is triggered. The fifth element sounds when the MIDI note number is between C6 (note number 96, inclusive) and G8 with any non-zero velocity.

As Phil Clendeninn (Yamaha) points out, Mega Voices are intended to sweeten pre-programmed patterns and styles and are not intended for live keyboard playing. Human beings just cannot play notes with enough precision to reliably and accurately hit the velocity ranges. The bass voice is relatively simple; A Mega Voice guitar has as many as eight velocity zones!

The MOX also has “regular” voices that are similar to Mega Voice. The “Finger PBs AF1” voice is one example. This voice has four components:

Element Waveform Lower Upper Velocity
1 P-Bass Rndwound Med C-2 B4 1-90
2 P-Bass Rndwound Hard C-2 B4 91-127
3 Electric Bass FX C5 G8 1-127
4 Finger Harmonics C-2 B4 1-127
Table: Finger PBs AF1 voice elements

Notice that element 4 overlaps with elements 1 and 2. Element 4 sounds when the assignable function 1 (AF1) button is held. On the MOX, you can deep dive voices through the front panel and find out what makes them tick (or tock). This level of voice programming is hidden on PSR/Tyros arranger workstations. Fortunately, Yamaha have published the note and velocity ranges for workstation Mega Voices. (See the data list PDF.)

MOX and arranger workstation Mega Voices are mostly compatible. However, Yamaha do not advertise or guarantee compatibility. The MOX Electric Bass FX wave contains many more effects than a typical single arranger Mega Voice for example. You’ll need to use your ears to make sure that MIDI data for a MOX Mega Voice sound correctly with an arranger Mega Voice.

Voices such as Finger PBs AF1 resemble and behave like a Mega Voice, but do not follow typical Mega Voice conventions, such as reserving notes above C6 for FX like slides, scrapes, fret noises, etc. Regular notes with this patch sound one octave lower than a Mega Voice bass. You’ll need to transpose the incoming notes depending upon the target arranger voice. Also, if you use an arranger Mega Voice as the target, you must scale numerically the note velocities to match the Mega Voice programming. This translation requires attention to detail and a good ear!

Here’s another crazy problem although it is not Mega Voice related. In two cases, all of the notes in the MOX bass track had velocity equal to one! Coincidentally, a MOX synth bass voice was involved in both cases. I changed the note velocities to something more reasonable (and randomized) using SONAR.

As if all of this is not enough complexity, there is one further wrinkle — note transposition. The arranger transposes the MIDI notes for a part according to the transposition rule and table for the style part (and section). Mega Voice tracks, however, contain both regular notes (below C6) and FX notes (C6 and above). If the transposition rule and table transpose the regular notes, the FX notes get transposed, too, when both kinds of notes are in the same track. When the transposed notes are played back, the FX notes may get mapped to the wrong effect or to high pitched regular notes that sound totally out of place (i.e., sonic clams).

There are three solutions to this problem:

  1. Delete the FX notes from the MIDI data for the part.
  2. Split the MIDI data into two parts: regular notes and FX notes.
  3. Do what Yamaha does.

We’ll take a look at solutions 1 and 2 in a moment. Normal notes and FX notes appear together in the same Mega Voice track in a Yamaha factory style. (Crack one open with a DAW!) So, Yamaha must have an internal way to treat normal notes and effect notes differently. There is some evidence that the note transposition rules and tables can handle Mega Voice. However, this approach is not documented and it is not exposed through the keyboard (i.e., the PARAMETER tab in Style Creator) or a Yamaha-endorsed software tool. Thus, solution number 3 is not feasible for us.

Solution number 1 — delete the FX notes — is straightforward. The downside is that you lose the nuances that make a part exciting. Let’s face it, bass slides are cool and kick up the energy. If you don’t have the time, energy, knowledge or inclination, this is the way to go. Further, you may not have an unused style part available to split off the FX notes into a separate track. (The spirit is willing, but the flesh is weak.) In the case of MOX pseudo-Mega voices, you may still need to scale note velocities or transpose the incoming notes up (or down) one octave to match the target voice. That’s enough hassle for some folks.

Solution number 2 splits the MIDI data into two separate style parts (tracks). One of these tracks holds the regular notes and the other track holds the FX notes. SONAR has a track clone operation which makes separation a breeze. After cloning, both tracks have the same MIDI data and the same Mega Voice patch. You do need to change the MIDI channel number of the clone to the channel of an unused style part. Delete the FX notes (C6 and above) from the BASS part (channel 11). Delete the regular notes (below C6) from the clone. Style Fixer generates the correct transposition rule and table for the BASS part. You must change the transposition rule and table for the cloned part using CASM Editor. Set the rule and table of the clone to “FIXED” and “BYPASS”, respectively. Remember that the rule/table needs to be set for all sections.

Why “FIXED” and “BYPASS”? These are the settings that you would use with a drum track. Effectively, the guitar/bass effects are a kind of percussion instrument that have their own rhythm. Therefore, you want to use the note numbers as they are (FIXED) and you want to inhibit (BYPASS) note transposition.

I recommend making the split early in the style development process because you will need to make this split with a DAW. Once you’ve made the split, I strongly suggest trying the style on the PSR/Tyros right away. Take note of the sections that use FX notes. Listen carefully. Play CMaj7 which does not require transposition (assuming that the transposition root/chord is CMaj7). Can you hear the right effects in the right places? Now play a G7 chord. Do you still hear the correct effects in the right places? If the effects disappear, then you need to check the FX notes and the CASM transposition rule/table information. You can tweak the rule/table for each section on the PARAMETER tab in Style Creator when a fast repair is needed.

If you do change a style on the keyboard, remember to save the style. The keyboard may change the style format to “SFF GE” (also known as “SFF2”). CASM Editor does not currently handle SFF2. This limitation can cramp your working style [pun intended] since a style edited on the keyboard cannot be opened by CASM Editor.