Genos master compressor

There is an on-going discussion at the PSR Tuturial Forum about the Yamaha Genos™ master compressor.

I did a little “effect sleuthing” and determined that the Genos master compressor is the same algorithm as the Yamaha Montage parallel compressor, PARALLEL COMP. This effect is part of the Montage v1.5 update. The same update added the universal compressor down (UNI COMP DOWN) and universal compressor up (UNI COMP UP) algorithms. All three algorithms can be used as a Montage master effect. On Genos, the parallel compressor is a master effect; the universal compressors can be used only as insertion or variation effects.

How did I run this down? I compared the parameter definitions for the Montage PARALLEL COMP effect algorithm against the parameters of the Genos master compressor. They match exactly. Yamaha often share effect algorithms across their top-of-the-line equipment.The Montage parameters are:

  • Type: Natural, Rich, Punchy, Electronic, Loud
  • Compression: 0 to 100
  • Texture: 0 to 100
  • Output level: -18dB to +18dB (0 to 120)
  • Input level: -18dB to +18dB (0 to 120)

The parameters for the universal compressor algorithms match up, too. However, the Genos user interface (UI) does not allow access to the 17th parameter, Side Chain Input Level. Yamaha need to remove the 16 effect parameter restriction imposed by Genos. (This restriction prevents access to the rotor ramp parameters in the new rotary speaker algorithm, too.)

If you’re a Montage person, you’re probably wondering, “What are ‘Natural,’ ‘Rich,’ etc.?” I’ll quote the Yamaha Genos Reference Manual here:

  • Natural: Natural Compressor settings in which the effect is moderately pronounced.
  • Rich: Rich Compressor settings in which the instrument’s characteristics are optimally brought out. This is good for enhancing acoustic instruments, jazz music, etc.
  • Punchy: Highly exaggerated Compressor settings. This is good for enhancing rock music.
  • Electronic: Compressor settings in which the electronic dance music’s characteristics are optimally brought out.
  • Loud: Powerful Compressor settings. This is good for enhancing energetic music such as rock or gospel music.

Frankly, I don’t know as much about audio compression as I should. Fortunately, Sound On Sound Magazine has an excellent article about parallel compression. The article has terrific background information about all forms of compression including DOWN and UP compression. DOWN compression is the conventional form that we are most familiar with.

Parallel compression puts a very high ratio (limiting) DOWN compression block in parallel with the original audio signal, i.e., it mixes the original signal and the compressed signal.

                ----------------------
               |                      |
     Input ----|                      + ----> Output
               |                      |
                ----> Compressor ---->

Massive gain reduction is applied to the loudest passages. According to SOS, “This means that at those points, its involvement in the mixed output signal is virtually insignificant; the output signal is completely dominated by the original input signal coming via the direct path. As a result, those loud but delicate transients are left completely intact and unchanged — which is the primary aim of this technique.”

No gain reduction is applied to quiet signals below the threshold. Thus, the parallel paths, direct and compressor, pass the same signal. When the two signals are summed (mixed), the quiet passage is +6dB louder. Again, quoting SOS, “this simple form of parallel compression leaves the loud bits unaffected and raises the quiet bits by 6dB, the total reduction in dynamic range is only 6dB.”

I hope this information helps. I recommend reading the SOS article; it has several graphs and goes deeper into this studio technique.

Copyright © 2018 Paul J. Drongowski

Suggestions and questions to Yamaha

The Genos manual should at least mention that the Genos master compressor performs parallel compression. A short explanation would help people apply and tweak the master compressor.

The Genos universal compressor algorithms support side-chain. How can we use side-chaining? How do we get a signal into the side-chain input?

Yamaha engineers are building effect algorithms with more than 16 effect parameters. The Genos user interface needs to provide access to more than 16 effect parameters and to store them.

Genos voice editing: Blending the split point

Recall that our goal is to create a Yamaha Genos™ custom voice with an overlapping split zone between upper and lower instruments. The first step started with factory preset voices to build a split voice using Yamaha Expansion Manager (YEM). The second step used XML Notepad to change the high and low note limits. These steps are demonstrated in the third article in this tutorial series.

The next and final step in our project goes way beyond “extra credit.” The split voice that I created has hard cut-off points for the lower and upper voices. I wanted to take things further and produce a smooth blend across the key range where the upper and lower voices overlap. This problem proved to be more involved than I first thought! Solving this problem turned into a learning experience. 🙂

If you want to experiment on your own, download the ZIP file with the PPF file, UVF files and Java code (SplitVoices_v1.0.zip).

Many synthesis engines implement a form of key scaling in which a parameter (e.g., amplitude, filter cut-off frequency, etc.) changes across the notes of the keyboard. Key scaling allows subtle effects like making higher notes brighter than lower notes. Amplitude key scaling changes volume level across the keyboard. My plan is to use AWM2 amplitude key scaling to make a smooth cross-blend of the upper and lower split voices.

The example voice that we are creating consists of a bassoon in the left hand and two layered oboes in the right hand. I call this voice “2 Oboes & Bassoon” because it is very similar to an MOX patch that gets a lot of play. The table below summarizes the voice design.

Element Name Note lo Note hi Vel lo Vel hi Pan
1 Oboe Hard v3 G#2 G8 101 127 0
2 Oboe Med V3 G#2 G8 1 100 0
3 Bassoon Med St R C-2 E3 1 100 0
4 Bassoon Hard St R C-2 E3 101 127 0
5 [V-645 El-1] G#2 G8 1 127 0

Sharp-eyed readers will notice that the velocity ranges are slightly different than the ranges in the third article. I found that the ranges used in the original MOX patch design made a more playable, easier to control voice.

At this point, I must caution the reader that I’m about to dive into the guts of an AWM2 voice. I assume that you’re familiar with AWM2 synthesis and its voice architecture. If not, I recommend reading the Yamaha Synthesizer Parameter Manual and the introductory sections about voice architecture in either the Montage, Motif or MOX reference manuals.

I suggest exploring a few Genos factory voices using XML Notepad or Notepad++ in order to see how the voices are structured and organized. Drill down into the XML voiceEelement entities. You will see several elementBank entities which are the individual key banks within the voice element.

You should see a blockComposition entity, too. This entity has parameters for the oscillator, pan, LFO, pitch, filter and amplitude synthesis blocks. For our purposes, we need the amplitudeBlock because the amplitude key scaling table is located within this block. The table is located within the levelScalingTable entity. See the example screenshot below. [Click screenshots to enlarge.]

An amplitudeBlock may be located in either of two places within the XML tree:

  • It may be part of the blockComposition belonging to the voiceEelement, or
  • It may be part of the blockComposition belonging to each elementBank entity.

In the first case, the parameter amplitudeBankEnable is OFF. In the second case, the the parameter amplitudeBankEnable is ON. Please remember this setting because it was a hard-won discovery. If it seems like the amplitude scaling is not taking effect, check amplitudeBankEnable and make sure it is consistent with the XML structure! The voice definition is flexible enough to allow block parameter specification at the voiceEelement level and, optionally, for each key bank at the elementBank level.

Knowledge of the XML structure is important here. I found that the bassoon voice elements defined the amplitudeBlock at the elementBank level. That meant an instance of the levelScalingTable for each of the seventeen (!) elementBank entities. Since the table contents are the same in every element bank, I did major surgery on the XML tree. I created a single amplitudeBlock at the voiceEelement level and deleted all of the amplitudeBlock entities at the element bank level. Fortunately, XML Notepad has tree cut and paste. I also set amplitudeBankEnable to OFF. (Eventually.)

Once the XML tree is in the desired form, it becomes a matter of setting each levelScalingTable to the appropriate values. A scaling table consists of 128 integer values between -127 and +127. It is stored as one long text string. Each value is the amplitude level offset associated with its corresponding MIDI note. MIDI note numbers run from 0 to 127.

At first, I used the level scaling tables from the “SeattleStrings p” voice as source material. This voice is a nice blend of the five string sections: contrabass, celli, violas, second violins and first violins. Each level scaling table emphasizes its section in the blend. Here are two screen snaps plotting the level scaling tables for the celli and first violins.

Although I abandoned this approach, in retrospect, I think it’s viable. I abandoned ship before I understood the purpose of amplitudeBankEnable. Also, I had not yet developed enough confidence to shift the table up (or down) 12 values in order to compensate for the octave position of the waveforms.

Instead, I decided to control the table contents and to make the tables myself. The MOX (Motif and Montage) define amplitude level scaling using four “break points.” Each break point consists of a MIDI note and level offset. The offset is added to the overall voice volume level and defines the desired level at the corresponding MIDI note. The offset (and resulting volume level) is interpolated between break points. (See the Yamaha Synthesizer Parameter Manual for details.) I wrote a Java program to generate a level scaling table given four break points. The program source code appears at the end of this article (bugs and all).

Here are the break points that I used. I took inspiration from the MOX break points for its “2 Oboes & Bassoon” patch.

                      BP1      BP2      BP3      BP4
                   --------  -------  -------  -------
    Bassoon Med    A#-1 -75  A#0  +0  A#2  +0  E3 -103
    Bassoom Hard   C-1  -75  A#0  +8  A#2  +0  E3 -103
    Oboe Med       A#2  -85  E3   +0  F#5  +0  C7 -103
    Oboe Hard      A#2  -63  E3  +14  C5   +4  C7 -103

I ran the program for each set of break points, generating four tables. Table plots are shown below. [Click to enlarge.]

Each table file contains one long line of 128 integer values. In order to change a level scaling table, first open a table file with a text editor (e.g., notepad, emacs, etc.), select the entire line, and copy it to the clipboard. Then, using XML Notepad, navigate to the appropriate levelScalingTable in the XML and replace the content of the #text attribute with the line in the clipboard. Save the UVF (XML) voice file. Save early, save often.

Copy the UVF file to the correct YEM pack directory as demonstrated in the third article. It’s important to be careful at every step in the process because we are making changes directly to YEM’s internal database. We don’t want to introduce any errors into YEM’s pack representation and cause a malfunction that needs to be backed out. Be sure to keep plenty of back-up copies of your work just in case.

Fire up YEM, open the “2 Oboes & Bassoon” voice for editing, and test. Enable each voice element one at a time and play the keys in the overlapping zone. You should hear the instrument fade-in or fade-out as you play through the zone.

With the offsets given above, I needed to shift each of the tables either “up” (bassoon) or “down” (oboes) to get a better blend. If you take a little off the front of a table (say, 4 values) be sure to add the same number of values to the end of the table. The table must be 128 values in length.

The blending issue is best resolved up front by defining different break points. Of course, the table files must be regenerated, but this is a little bit safer than trimming and lengthening the tables in-place within the XML. Laziness has its advantages and dangers.

If you require background information about YEM, the first article in this series discusses Yamaha Expansion Manager. The second article covers XML Notepad and how it can be used to work around limitations in YEM. The third article, mentioned earlier, demonstrates creation of the basic “2 Oboes & Bassoon” voice.

There are a few other posts related to voice editing with YEM. Check out this short article about creating a PSR/Tyros Mega Voice using YEM. Take a peek at the article about the design and implementation of my jazz scat voices. Then, download the scat expansion pack for PSR-S770/S970 and Tyros 5, import it into YEM, and take things apart.

One final note, I produced the plots shown in this article with the GNU open source GNUPLOT package. Visualization is essential to getting things right. There are other tools to visualize level scaling tables such as spreadsheet charting.

Copyright © 2018 Paul J. Drongowski

Source code: GenScalingTable.java

//
// GenScalingTable: Generate level scaling table from break points
//

import java.io.* ;

/*
 * Author:   P.J. Drongowski
 * Web site: http://sandsoftwaresound.net/
 * Version:  1.0
 * Date:     15 February 2018
 *
 * Copyright (c) 2018 Paul J. Drongowski
 *               Permission granted to modify and distribute
 *
 * The program reads a file named "breakpoints.txt" and generates 
 * a Yamaha  * amplitude level scaling table. The table is written 
 * to standard out. The table is one long string (line) containing 
 * 128 integer values ranging from -127 to +128.
 *
 * The breakpoint file contains four break points, one break point
 * per line. A breakpoint is a MIDI note name and an offset. 
 * Collectively, the break points form a curve that controls 
 * how the Genos (synth) voice level varies across the MIDI note
 * range (from 0 to 127). The curve extends to MIDI notes C-2
 * and G8.
 *
 * Exampe "breakpoints.txt" file:
 * A#2 -85
 * E3 +0
 * F#5 +0
 * C7 -103
 *
 * The file syntax is somewhat brittle: use only a single space 
 * character to separate fields and do not leave extraneous 
 * blank lines at the end of the file.
 */

public class GenScalingTable {
    static String[] bpNotes = new String[4] ;
    static int[] bpOffsets = new int[4] ;
    static int[] bpNumber = new int[4] ;
    final static boolean debug_flag = false ;

    final static String[] noteNames = {
	"C-2","C#-2","D-2","D#-2","E-2","F-2","F#-2","G-2","G#-2","A-2","A#-2","B-2",
	"C-1","C#-1","D-1","D#-1","E-1","F-1","F#-1","G-1","G#-1","A-1","A#-1","B-1",
	"C0","C#0","D0","D#0","E0","F0","F#0","G0","G#0","A0","A#0","B0",
	"C1","C#1","D1","D#1","E1","F1","F#1","G1","G#1","A1","A#1","B1",
	"C2","C#2","D2","D#2","E2","F2","F#2","G2","G#2","A2","A#2","B2",
	"C3","C#3","D3","D#3","E3","F3","F#3","G3","G#3","A3","A#3","B3",
	"C4","C#4","D4","D#4","E4","F4","F#4","G4","G#4","A4","A#4","B4",
	"C5","C#5","D5","D#5","E5","F5","F#5","G5","G#5","A5","A#5","B5",
	"C6","C#6","D6","D#6","E6","F6","F#6","G6","G#6","A6","A#6","B6",
	"C7","C#7","D7","D#7","E7","F7","F#7","G7","G#7","A7","A#7","B7",
	"C8","C#8","D8","D#8","E8","F8","F#8","G8"
    } ;

    public static int findNoteName(String note) {
	for (int i = 0 ; i < noteNames.length ; i++) {
	    if (note.equals(noteNames[i])) return( i ) ;
	}
	System.err.println("Unknown note name: '" + note + "'") ;
	return( 0 ) ;
    }

    // Put scaling values for a segment of the scaling "graph"
    public static void putTableValues(int startNote, int startOffset,
				      int endNote, int endOffset) {
	// Don't put any values if (startNote == endNote)
	if (startNote != endNote) {
	    int numberOfValues = Math.abs(endNote - startNote) ;
	    double foffset = (double) startOffset ;
	    double difference = (double)(endOffset - startOffset) ;
	    double delta = difference / (double)numberOfValues ;
	    for (int i = 0 ; i < numberOfValues ; i++) {
		System.out.print(Math.round(foffset) + " ") ;
		foffset = foffset + delta ;
	    }
	}
    }

    public static void main(String argv[]) {
	int bpIndex = 0 ;

	// Read break points (note+offset), one per line
        try {
	    FileInputStream fstream = new FileInputStream("breakpoints.txt") ;
	    DataInputStream in = new DataInputStream(fstream) ;
	    BufferedReader br = new BufferedReader(new InputStreamReader(in)) ;
	    String strLine ;
	    while ((strLine = br.readLine()) != null) {
		String[] tokens = strLine.split(" ") ;
		if (bpIndex < 4) {
		    bpNotes[bpIndex] = tokens[0] ;
		    bpOffsets[bpIndex] = Integer.parseInt(tokens[1]) ;
		    bpNumber[bpIndex] = findNoteName(tokens[0]) ;
		    bpIndex = bpIndex + 1 ;
		}
	    }
	    in.close() ;
	} catch (Exception e) {
	    System.err.println("Error: " + e.getMessage()) ;
            e.printStackTrace() ;
        }

	// Display the break point values
	if (debug_flag) {
	    for (int i = 0 ; i < 4 ; i++) {
		System.err.println(bpNotes[i] + " " + bpNumber[i]
				   + " " + bpOffsets[i]) ;
	    }
	}

	// Generate the key scaling table to the standard output
	putTableValues(0, bpOffsets[0], bpNumber[0], bpOffsets[0]) ;
	putTableValues(bpNumber[0], bpOffsets[0], bpNumber[1], bpOffsets[1]) ;
	putTableValues(bpNumber[1], bpOffsets[1], bpNumber[2], bpOffsets[2]) ;
	putTableValues(bpNumber[2], bpOffsets[2], bpNumber[3], bpOffsets[3]) ;
	putTableValues(bpNumber[3], bpOffsets[3], 128, bpOffsets[3]) ;
    }
}

Genos voice editing: An example

Welcome to the third article in a short series about Yamaha Genos™ voice editing with Yamaha Expansion Manager (YEM). The first article introduces YEM and the second article discusses work arounds for a few shortcomings in YEM.

Time for an example! Let’s create a voice similar to the “2 Oboes & Bassoon” voice on the Yamaha MOX. This voice gets a lot of use in situations calling for a delicate solo voice balanced by a heavier single voice in the left hand. The table below summarizes the basic voice design on the MOX:

Element Name Note lo Note hi Vel lo Vel hi Pan
1 Bassoon Med L C-2 E3 1 100 0
2 Bassoon Hard L C-2 E3 101 127 0
3 Oboe2 Med L A#2 G8 1 100 0
4 Oboe2 Hard L A#2 G8 101 127 0
5 Oboe 2 Med R A#2 G8 101 127 0
6 Oboe1 A#2 G8 1 127 0

This voice is not a straight split. The bassoon and the oboes overlap in the key range from A#2 to E3, so there isn’t a sharp sonic break when the melody moves into bassoon range or vice versa. All three independent voices implement two velocity layers: hard (101 to 127) and soft (1 to 100).

The best way to start out is to create a Genos custom regular voice from an existing factory bassoon voice. Earlier, I had browse the Genos factory preset UVF files with XML Notepad as described in the second article. I decided to start with the Genos “OrchestralBassoon” voice because its programming is similar to what we need. In case you want to browse its UVF file with XML Notepad, the full path to the file is:

C:\Program Files (x86)\YAMAHA\Expansion Manager\voices\genos\EKB_LEGACY\Legacy\Woodwind\OrchestralBassoon.uvf

Here is a table summarizing the four elements which make up the “OrchestralBassoon” voice:

Element Name Note lo Note hi Vel lo Vel hi Pan
1 Bassoon Med St R C#3 G8 1 85 0
2 Bassoon Hard St R C#3 G8 86 127 0
3 Bassoon Med St R C-2 C3 1 85 0
4 Bassoon Hard St R C-2 C3 86 127 0

The lower and upper bassoon elements are split at C3. There are two velocity levels: hard (86 to 127) and soft (1 to 85). We will need to extend the lower bassoon elements to E3. Much later in the process, we might want to change the velocity layers to match after we hear how everything sounds and plays.

Here are ten steps to the finished result. This scenario assumes that you have YEM installed and your personal computer is connected to Genos with a USB cable. The best way to test is to actually play the voice while editing! When YEM is launched and Genos is connected, Genos enters a voice editing mode with the new voice in the RIGHT1 part.

1. Create a new pack “SplitVoices”. [Click on screenshots to enlarge.]

2. Create a new Genos custom normal voice starting with “OrchestralBassoon”.

3. Rename the new voice to “2 Oboes & Bassoon”.

4. Edit the new voice.

Copy “OrchestralOboe” element 1 (upper) to element 1 of the new voice.

5. Copy OrchestralOboe element 2 (upper) to element 2 of the new voice.

The new voice contains the following elements at this point in the process:

Element Name Note lo Note hi Vel lo Vel hi Pan
1 Oboe Hard v3 C#4 G8 65 127 0
2 Oboe Med V3 C#4 G8 1 64 0
3 Bassoon Med St R C-2 C3 1 85 0
4 Bassoon Hard St R C-2 C3 86 127 0

This leaves a silent gap between C3 and C#4. Eventually, we need to change bassoon’s note high to E4 and change oboe’s note low to G#2 using XML Notepad. The lower note limit is slightly out of the oboe’s real world range. The overlap is for blending purposes and the bassoon should hide this musical faux pas.

6. Copy “ClassicalOboe” element 1 to element 5 of the new voice.

The new voice contains the following elements at this point in the process:

Element Name Note lo Note hi Vel lo Vel hi Pan
1 Oboe Hard v3 C#4 G8 65 127 0
2 Oboe Med V3 C#4 G8 1 64 0
3 Bassoon Med St R C-2 C3 1 85 0
4 Bassoon Hard St R C-2 C3 86 127 0
5 [V-645 El-1] C-2 G8 1 127 0

We need to change element 5’s note low to G#2 eventually. We’ll make all of these note changes with XML Notepad.

Save your work by clicking the small file (disk) icon in the upper right corner of the editing window.

7. Exit YEM. Find the new pack and voice file using the file browser. Look in the directory:

    C:\Users\XXX\AppData\Local\Yamaha\Expansion Manager\Packs\

Substitute your user name, e.g., “pjd”, where “XXX” appears in the file path. Identify the new pack by its modification date and time, i.e., the date and time when you saved the new voice in YEM. As seen in the screenshot, YEM stores its packs with very cryptic names. Programmers call this kind of name, a “Global Unique Identifier” or “GUID”. The directory named “{1c2a0107-db86-4600-8e0a-b95993120573}” is the example “SplitVoices” pack.

Click to drill down into the pack directory. Copy the UVF file for the new voice to your own working directory. Launch XML Notepad and open your copy of the UVF file. (Save the original to be extra safe!)

Voice file names are also GUIDs. In the example, the file named “{2a6409fa-77b0-41b1-a374-71d1f4524386}” is the new “2 Oboes & Bassoon” voice.

8. Use XML Notepad to change the note limits as required. The “voiceElement” entities are listed in order and you’ll find the note high and low limit parameters within the fifth “voiceElement”.

The final result is:

Element Name Note lo Note hi Vel lo Vel hi Pan
1 Oboe Hard v3 G#2 G8 65 127 0
2 Oboe Med V3 G#2 G8 1 64 0
3 Bassoon Med St R C-2 E3 1 85 0
4 Bassoon Hard St R C-2 E3 86 127 0
5 [V-645 El-1] G#2 G8 1 127 0

We could also change the velocity limits to make them consistent. Save the UVF file. Copy the working file to the pack’s directory, overwriting the original UVF file for the new voice.

9. Launch YEM and open the voice for editing. Play the keyboard and test the new voice where the instruments overlap. We need to set mix levels for both both oboes (elements 1, 2 and 5) and the bassoon (elements 3 and 4). Change the volume level for each element using YEM. Be sure to save your edits when you’re done!

10. Now that the basic voice is finished, feel free to experiment. Try detuning the oboes to get a fatter sound. Let your imagination run free.

In the next article, we will edit the UVF file to get a better blend across the overlapping note region.

Commentary

I hope to attract Yamaha’s attention to the limitations in Yamaha Expansion Manager which are exposed by this scenario. YEM should display all basic information about a factory voice including the element waveform name, low and high note limits, and low and high velocity limits. We should also be able to change these vital parameters for each element. We should not have to reach for a tool like XML Notepad nor should we have to edit parameters behind YEM’s back by changing files in its database. Yamaha must remove these limitations, otherwise users cannot build split and layered voices of moderate complexity.

Copyright © 2018 Paul J. Drongowski

Genos voice editing: YEM

To date, my experience with Yamaha Genos™ has been generally positive. I’ve got a basic set of registrations set up for church tunes and I just converted the PSR-S950 registrations for rock, pop, jazz, funk tunes. Everything — customized styles, WAV files, and registrations — reside in the Genos’ internal memory.

Although some Genos players are reporting divots and a few serious bugs, my use has been quite reliable and error free. The shortcomings which affect me the most are related to drawbar organ (AKA “Organ Flutes”) functionality. I’ll cover that subject in a separate post.

The church registrations make use of left/right voice splits and layers. The Genos, like Tyros 5, breaks the keyboard into four zones/layers: LEFT, RIGHT1, RIGHT2, and RIGHT3. The RIGHTx parts allow two or three voice layers. If the LEFT part is turned off, the RIGHTx voices extend across the full keyboard. If the LEFT part is turned on, the keyboard is divided into LEFT and RIGHTx zones. The LEFT part plays only one voice (no layering).

The Genos allows considerable flexibility within this model. Please see the Owner’s Manual for details and configuration.

By and large, the LEFT/RIGHTx paradigm is sufficient to cover 90% of my needs. However, sometimes the hard split between LEFT and RIGHTx sounds unnatural. Consider a split with strings in the LEFT and oboe in the RIGHT. If the melody line crosses the split point, uh-oh, the melody shifts to the strings.

Now, it may be possible to avoid this issue through Genos ensemble voices, which are a big unexplored territory for me. I will look into ensemble voices eventually. As a synth guy, I’m used to addressing this issue through voice programming. In the synth world, one can have overlapping zones where both left and right voices are heard — usually good enough to fool the ear. Even better, features such as:

  • Level Key Follow Sensitivity
  • Amplitude Scaling

perform a blend across the split point. Think of this as a “horizontal cross-fade” similar to the “vertical cross-fade” which smooths the switch point between velocity levels.

None of these deep techniques is immediately available through the Genos user interface (UI). Genos voice editing reminds me of the TG-500 Quick Edit mode — a way to make fast voice-level changes (via “offsets”) which affect all of the underlying voice elements at once. Quick edit is not unique to Yamaha having seen and used a similar capability on Roland JV/XP gear.

Enter Yamaha Expansion Manager (YEM).

Having a PSR-S950, I nearly and dearly missed Yamaha Expansion Manager. YEM first supported the PSR-S970, S770 and Tyros 5 keyboards, now Genos. YEM is the means to make and install expansion packs. It also allows creation of new voices based on user waveforms (samples). On Tyros 5 and Genos, one can create new voices from preset voices of the “Regular,” “Sweet” or “Live” variety. Super Articulation voices cannot be edited or created via YEM.

My one brush with YEM was the implementation of the Scat Voice expansion pack for the PSR-S970, S770 and Tyros 5. YEM’s voice editing was sufficient to get the job done.

The screenshot below (click to enlarge) shows YEM’s Common voice parameters. YEM has all of the usual sliders and UI gizmos found in a typical computer-based synth voice editor. The Common parameters correspond to the Quick Edit parameters that are accessible through the Genos UI. These tweaks are also the high-level voice parameters found in Yamaha’s XG voice architecture.

The next deeper level of editing adheres to Yamaha’s AWM2 voice architecture. I recommend studying the Motif documentation to learn more about the AWM2 voice architecture, including the Yamaha Synthesizer Parameter Manual. (All manuals are available directly from the Yamaha Web site.) Concisely, a voice consists of one to eight elements. Each element is a mini sample-playback synthesizer with its own waveform, amplitude, pitch, filter and LFO blocks. Through YEM, you can tweak parameters within these blocks as shown in the screenshot below.

When working with user samples, YEM provides access to the key banks which make up an element waveform. In the screenshot above, you can see twelve key banks laid out across the middle of the MIDI keyboard. Velocity for each key bank ranges from 1 to 89. This is a velocity-switched voice, so other elements handle the rest of the full MIDI velocity range of 1 to 127.

I want to mention two major shortcomings of YEM at this point:

  1. YEM does not provide vertical cross-fade to smooth the transition between velocity levels.
  2. YEM does not provide control over velocity sensitivity at the element level.

Lack of vertical cross-fade means a hard sonic change across velocity split points. Inability to control element-level velocity sensitivity prohibits construction of well-behaved Megavoice voices. Yamaha need to add these capabilities to YEM.

As I mentioned earlier, YEM allows Tyros 5 and Genos users to edit preset voices. The screenshot below shows the YEM screen for element 1 in the “SeattleStrings p” voice.

Wow, a big blank where we expect to see the key banks. YEM does not provide access to the individual key banks for the factory waveform assigned to an element. To some extent, this is understandable as they would need to extract and distribute a lot more detail about the factory waveforms with YEM.

However, Yamaha omit vital information:

  • What is the waveform name? A string section? A car horn? What?
  • What range of the keyboard does the waveform cover?
  • How is key amplitude scaling applied to the waveform?
  • How is key velocity scaling applied to the waveform?

These omissions significantly reduce the effectiveness of YEM. Yamaha need to add these capababilities to YEM.

The missing information is available in the Genos voice definition files (UVF) that are distributed with YEM. In my next post on the topic of Genos voice editing, I will describe how to find, access and change the missing parameters.

Copyright © 2018 Paul J. Drongowski

NAMM 2018: And now Yamaha

Yamaha have revamped nearly every model in its previous digital and arranger keyboard line:

  • PSR-S975 Arranger Workstation (MSRP: $2,599 USD)
  • PSR-S775 (MSRP: $1,699) Arranger Workstation
  • PSR-EW410 (MSRP: $599) adds Quick Sampling function – 5 samples (1 Key Follow type + 4 One shot/Loop type) 9.6 sec/sample (maximum) – and Groove Creator
  • PSR-E463 (MSRP: $479) adds Quick Sampling and Groove Creator.
  • KS-SW100 Compact Subwoofer (MSRP: $199) targeted for home keyboard players.

The PSR-S775 and PSR-S975 were announced a few weeks before the NAMM show. The all important Owner’s Manual, Reference Manual and Data List are now available for each model. These documents are very helpful when making purchase or upgrade decisions.

Yamaha are featuring the entire digital and arranger workstation line at Winter NAMM 2018, including the rather wonderful Genos flagship and the lower mid-range PSR-S670. Musicians looking for a MOXF successor will just have to wait a little bit longer.

Copyright © 2018 Paul J. Drongowski

Right on the heels of Genos

Yamaha are announcing two new models in the arranger workstation line: The PSR-S975 and the PSR-S775

The PSR-S975 is an update to the current PSR-S970. New features include:

  • Half bar fill-in
  • Mono legato operation
  • Store and recall of Live Control settings in registration memory
  • More preset styles (523, up from 450)
  • More Super Articulation voices (140, up from 131)
  • More Live voices (99, up from 89)
  • Larger expansion memory (768MB, up from 512MB)
  • Expansion audio styles (128MB maximum)

Expansion packs like Euro Dance and Salsa are pre-installed. [Click image below to enlarge.]

Quoting the Yamaha Web site:

  • 1625 Voices, including Super Articulation Voices, Organ Flutes! Voices. 55 Drum/SFX kits, and 480 XG voices
  • 523 Styles, including 40 Audio Styles, 34 Session Styles, 15 DJ Styles and 3 Free Play
  • Half bar fill-in and Mono legato function
  • 768 MB on-board memory for expansion data
  • Mic/Guitar input for use when singing or collaborating with other performers
  • Vocal Harmony 2 and Synth Vocoder functions
  • Real Distortion and Real Reverb, with an intuitive effects interface
  • USB audio playback with time stretch, pitch shift, vocal cancel and MP3 lyrics display functions
  • External display capability

The PSR-S775 also received a modest refresh versus the PSR-S770.

Observations

I honestly didn’t expect to see a mid-range refresh this January (2018). Genos™ is barely launched in North America with Winter NAMM 2018 just two weeks away. Yamaha normally announces new arranger workstation products in the Fall. From the marketing point of view, it would have been shear madness to refresh the mid-range while launching Genos during Fall 2017.

I suspect that the refresh is in response to the new Korg Pa700 and Pa1000 mid-range arranger keyboards. Korg and Yamaha are really duking it out in these lucrative segments. The S975 and Pa1000 attract “pro-sumer” musicians and the very affordable S775 and Pa700 are near the magic $1000 USD sweet spot.

Fans expecting a “mini-Genos” will just have to wait. Genos is way too hot to spoil by releasing a mid-range model with Genos-like features. Having played and experienced Genos for nearly one month, the enormous difference in street price between S975 and Genos is (and must be!) justified by a wide gap in functionality and sound quality. Value proposition, folks, value proposition.

One must wonder if a similar product strategy will play out in Yamaha’s synthesizer product line. The MOXF is due for at least a refresh. Does Yamaha have a compelling reason to issue a “Half Monty” two years after the Montage launch? A MOXF refresh might be enough to keep customers interested and sales up given the workstation features (sequencing, sampling, …) left out of the Montage. Some change is due simply because Yamaha’s inventory of the old tone generator IC (SWP51L) must be getting low.

The S975 is probably a simple re-spin of the S970 hardware. Yamaha can ride the ONFI NAND flash memory curve for years to come without breaking a sweat. The switch to ONFI compatible memory makes it easy to drop a larger capacity device into the existing printed circuit board footprint.

I’m still trying to discern where Yamaha are going with audio styles. They do have their patent portfolio covering full audio styles. The S975 allocates 128MBytes for Audio Style Expansion. (The S775 does not.) The Genos has a comparable Audio Style Expansion capability which draws from its Internal Memory. My intuition says that something is afoot, but it’s easy to extend one’s expectations beyond the current hardware/software platform.

There are rumors of another Genos update in the works. As with all things Yamaha, we must wait and see. Fortunately, we have excellent instruments to keep us busy and entertained!

Copyright © 2018 Paul J. Drongowski

Java note mapper (v0.1)

Here’s a little bit of Java code to brighten your day.

Two weeks ago, I described the additional hi-hat notes in the Yamaha Genos™ Revo drum kits. The hi-hat sounds replace noises like sequence click, etc. in the lowest numbered notes of the MIDI scale. Thus, a Genos factory style wheezes, zings and clicks when it is played on a legacy PSR or Tyros arranger workstation.

Quite a few people would like to try the new Genos styles, but the hi-hat notes pose a major barrier to conversion (i.e., porting a Genos style to legacy PSR/Tyros). Jørgen Sørensen’s Revo Drum Cleaner suppresses these sounds, but does not remap the Genos hi-hat notes to General MIDI (GM) standard notes.

That’s where note remapper comes in. Note remapper is an experimenter’s kit, not a finished tool. Jørgen (and Michael Bedesem) have written many rather nice tools for the PSR/Tyros arranger workstations. Note remapper gets the job done from the command line, so don’t expect a graphical user interface (GUI) or even a nice installer! It’s an experimenter’s kit.

However, what you do get is source code. Here is the ZIP file containing source, precompiled Java classses (executables), map files and examples.

What else can you do with note mapper? Well, note mapper operates on any Standard MIDI File (SMF). Thus, it’s not just a PSR/Tyros utility. Maybe you want to write a Java program of your own. The source code will give you a good starting point. Copy and modify to your heart’s content.

If you are into converting PSR/Tyros styles, take notice (pun) that note mapper changes both the MIDI note number and velocity according to maps in the files keymap.txt and velmap.txt, respectively. Therefore, you can also map to and from Mega Voices.

Interested? Then please read on. The following text is taken from the README files.

Description

This Java program maps the notes in a standard MIDI file according to a key (note number) map and a velocity map. Use it to map the Yamaha Revo hi-hat/drum sounds. Or, use it to map to and from Mega Voice. It’s all up to you and how you design your key and velocity maps.

The note mapper is launched from the command line (no GUI). There are two command line options:

   -v  Verbose flag
   -w  Write default keymap.txt, velmap.txt and hhmap.txt files

The -w option gives the user a quick start by writing a few default map files. Both -v and -w are optional.

The rest of the command line consists of an (optional) MIDI channel number and the name of the MIDI file to be mapped. The channel number must be an integer in the range [1:16]. Only notes in the specified channel are mapped. The default channel is 10 (the GM/XG drum channel).

The note mapper writes a new file named mapped.mid. It’s up to the user to rename or save this file. If the file in not renamed or saved, it will be overwritten when note mapper is run again.

The note mapper assumes there are two files, keymap.txt and velmap.txt, in the working directory where the note mapper is launched. The note mapper reports an error if it cannot read these two files. The default key and velocity maps preserve the input; the input notes are sent to the output without change.

A map file consists of 128 positive integers in the range [0:127]. Each integer defines how its corresponding note or velocity value is mapped to a new value. Essentially, each integer in the file is loaded into a 128 byte map array indexed by either the incoming MIDI note number or the incoming MIDI velocity value.

The hhmap.txt maps the Revo hi-hat note numbers to General MIDI hi-hat note numbers.

    Revo notes        GM notes
    -------------     ----------------
    13 14 15 16   --> 42 Hi-Hat Closed
    21            --> 44 Hi-Hat Pedal
    17 18 19 20   --> 46 Hi-Hat Open
    22            --> 55 Splash Cymbal

The Examples directory contains two example Genos styles. Be sure to read the READ_THIS.TXT file in that directory, too!

Example command lines

Map the notes for channel 10 in the MIDI file named “Mr.Soul_factory.T552.mid”.

    java MapNotes 10 Mr.Soul_factory.T552.mid

Write the default keymap.txt, velmap.txt and hhmap.txt files before mapping:

    java MapNotes -w 10 Mr.Soul_factory.T552.mid

The default keymap.txt and velmap.txt files do not change/map notes, i.e.,
they are the “identity mapping.”

How to use note mapper to change a style

To use the note mapper on a style, you must split the style into its MIDI and non-MIDI parts using Jørgen Sørensen’s Split/Splice tool. Note mapper, like most commercial MIDI tools, does not recognize or retain non-MIDI data. Thus, you need to run the style through Split/Splice to save the non-MIDI information.

After splitting the style, run the style through the note mapper. The note mapper writes a file named “mapped.txt”. Splice mapped.txt with the non-MIDI data produced in the preceding step. Splicing the mapped MIDI data with the non-MIDI data produces a complete style file (MIDI+CASM+OTS).

Transfer the style file to your PSR/Tyros and revoice the style parts, test the style, edit the OTS, and so forth.

If you don’t like how the mapped file sounds, then you can reuse the non-MIDI data and do another map/splice, assuming that you didn’t modify the OTS.

Compiling

The distribution comes with source code (*.java files) and precompiled class files (*.class files).

You can, of course, modify the source code and recompile. You need the Java development kit which includes the Java compiler, package definitions, and so forth. To recompile, just enter:

    javac MapNotes.java
    javac NoteMapper.java

I have included source for a quick and dirty MIDI file dumper:

    javac QuickDumper.java
    javac QuickDump.java

You may prefer to dump MIDI files using one of the much better tools written by Jørgen Sørensen or Michael Bedesem. See:

The Examples directory

The Examples directory contains two example styles: Mr.Soul and SoulSupreme. Each style has several files, so here’s a little guide.

    Mr.Soul_factory.T552.prs    Original Genos factory style
    Mr.Soul_factory.T552.mid    Original Genos MIDI part
    Mr.Soul_factory.T552.nmi    Original Genos non-MIDI part
    Mr.Soul_mapped.T552.mid     MIDI with mapped hi-hats
    Mr.Soul_mapped.T552.sty     New style file with mapped hi-hats

The *.class files are the Java executable files. Example command line:

    java MapNotes 10 Mr.Soul_factory.T552.mid

The note mapper produces a file named “mapped.mid” which you may rename to something else, e.g., Mr.Soul_mapped.T552.mid.

keymap.txt and velmap.txt are the key (note number) and velocity map files needed by note mapper. hhmap.txt is my initial hi-hat note map.

Workflow

The overall workflow is:

               Mr.Soul_factory.T552.prs
                          |
                          |
                          V
              Jørgen's Split/Slice (split)
              |                          |
              |                          |
              V                          V
  Mr.Soul_factory.T552.mid   Mr.Soul_factory.T552.nmi
              |                          |
              |                          |
              V                          |
         Note mapper                     |
              |                          |
              V                          |
      Rename mapped.mid                  |
              |                          |
              V                          |
  Mr.Soul_mapped.T552.mid                |
              |                          |
              |                          |
              V                          V
             Jørgen's Split/Slice  (splice)
                          |
                          |
                          V
               Mr.Soul_mapped.T552.sty

Copyright (c) 2017 Paul J. Drongowski

Genos: Hi-hat happiness

If you’re following all of the Genos™ hoopla, you know that Revo! drums are one of the major features extensively advertised by Yamaha. You probably know that Revo (I’m dropping that darned exclamation point 🙂 ) drums use wave-cycling to to help remove the mechanical, robotic sound of MIDI drum and percussion parts.

All true.

Revo drums also offer one additional major feature which, in skilled hands, can fend off the MIDI robots: hi-hat drum instruments that help you mimic all of the crazy stuff that drummers do.

Some of us first noticed the new hi-hat sounds while converting Genos styles to other Yamaha arranger keyboards like the Tyros 5, PSR-S970, PSR-S950, etc. Yamaha styles are actually Type 0 Standard MIDI Files (SMF), consisting of a normal MIDI part (regular old SMF MIDI data) and non-MIDI parts (CASM to handle note transposition and OTS to select RIGHT1, RIGHT2, … voice sets on the fly). Whenever a new Yamaha arranger keyboard like the Genos comes along, there is a cottage industry backporting new styles to old axes.

If one installs and plays a Genos style on, say, the PSR-S950, and the style uses a Revo drum kit, you’re entertained by a percussion track that sounds like a Spike Jones novelty tune or a Benny Hill episode. Bells, scratches and other mayhem. What’s up?

For answers, check out the Genos Data List file, a downloadable PDF published and distributed by Yamaha. The Data List file contains the drum kit layout (i.e., how the MIDI note numbers are assigned to individual drum instruments/samples) for all of the drum kits. Many Yamaha drum kits to date approximately follow the note-to-drum instrument layout of the so-called “Standard Kit.” The lowest notes (C#-1 to E0, MIDI note numbers 13 to 28) are sounds like scratch, sequence click, click noise, etc. The highest notes (C#5 to G6, MIDI note numbers 85 to 91) are silent, i.e., no instrument is assigned.

Jump to the new modern age and the Revo “Rock Drum Kit,” for example, assigns ten hi-hat instruments to the notes C#-1 to A#-1. The Rock Drum Kit also assigns four snare drum variations to notes C#0 to E0. The rest of the Revo Rock Drum Kit follows (roughly) the Standard Kit layout.

The Genos styles make use of the new hi-hat and snare instruments assigned to the lowest MIDI note numbers. When a Genos style is played on an old non-Revo keyboard like the S950, the notes bark, ring and wheeze.

Before moving on, I should mention that assigning drum instruments to the highest note numbers is not a new practice for Yamaha or any other vendor, for that matter. Contemporary electronic and dance styles are percussion-rich and the corresponding Yamaha kits often have instrument variations and other fun sounds in the “north country.” Revo drums continue this practice for electronic- and dance-oriented kits.

Back in the day

Even keyboard players are remotely familiar with the real-world hi-hat instrument. The hi-hat is that pedal thing with two opposing cymbals, one platter above the other platter. The pedal controls the top platter, closing the gap between the platters or leaving them apart in the open position.

To appreciate the new Revo world, let’s look back to the MIDI Standard Kit. Drum kits which follow the Standard Kit form have conventionally offered three hi-hat (HH) sounds:

  • Hi-Hat closed
  • Hi-Hat pedal
  • Hi-Hat open

That’s just enough to cover basic hi-hat territory. HH closed is a bright chick or tick. HH open is shimmering and sustained like a ride cymbal. HH pedal is the sound of the pedal closing after being struck.

What drummers do

The top cymbal area is divided (roughly) into three parts: the bell near the center, the edge, and the region between the bell and the edge.

Regular hi-hat sounds are played using the tip of the drum stick hitting the top cymbal somewhere between the bell and the edge. The area closer to the bell has a brighter sound (high frequency tone). Drummers strike the cymbal edge for accents, striking with the thick part of the stick shank (the “shoulder”). Hard rock and metal tend to whack the edge no matter what in order to get an open slushy sound.

Open hi-hat is usually played with the tip on the top of the upper cymbal. For most genres, drummers want a crisp, clean sound. A drummer might hit the edge of an open hi-hat when they want the hi-hat part to stand out in the mix or they want an accent.

As I mentioned, the pedal closes the hi-hat cymbals. Drummers snap the cymbals together as part of their timekeeping (maybe to emphasize quarter notes, for example). It’s not just a binary choice (open/closed), however. Drummers apply more or less foot pressure in order to change the sound, even when the hi-hat cymbals are closed!

Then there are special techniques like choking the hi-hat. The drummer holds the cymbals tight with the pedal, opens the cymbals just before striking the top cymbal, and then quickly clamping the cymbals closed again.

Drummers sometimes look for extra sizzle in the open position and hang a light chain (or other random object) on the top cymbal. Want a completely different tone? Play the hi-hat with brushes or mallets.

Well, combine all of these techniques and the hi-hat is one expressive instrument! The three MIDI Standard Kit sounds don’t even begin to capture the full range of the hi-hat. With all of these playing techniques, the hi-hat has a dynamic sound; it’s no mystery why MIDI hi-hats sound robotic.

This is where Revo comes in.

If you want to learn more about hi-hat playing technique, search the Web. There’s a lot of free info out there. Knowing about real-world instruments is essential knowledge for arranging and orchestration.

What Revo offers

Wave cycling is important, but it only takes you half-way to hi-hat Nirvana.

Here is a table of the new hi-hat instrument sounds in the Genos Revo Rock Drum Kit:

                                     Alternate
Note# Note  RockDrumKit                Group
----- ----  -----------------------  ---------
   13 C#-1  Hi-Hat Tip 00 RD            64
   14 D-1   Hi-Hat Edge 00 RD           64
   15 D#-1  Hi-Hat Tip 10 RD            64
   16 E-1   Hi-Hat Edge 10 RD           64
   17 F-1   Hi-Hat Edge 25 RD           96
   18 F#-1  Hi-Hat Edge 50 RD           96
   19 G-1   Hi-Hat Edge 75 RD           96
   20 G#-1  Hi-Hat Edge 99 RD           96
   21 A-1   Hi-Hat Pedal Closed RD      64
   22 A#-1  Hi-Hat Pedal Splash         96

Even better, the hi-hat instruments (except the splash) use wave-cycling, i.e., there are multiple samples per instrument. The old school hi-hat MIDI note numbers are assigned to Revo sounds in the following way:

                                                Alternate
Note# Note  StdKit     RockDrumKit                Group
----- ----  ---------  -----------------------  ---------
   42 F#1   HH Closed  Hi-Hat Edge 00 RD            1
   44 G#1   HH Pedal   Hi-Hat Pedal Closed RD       1
   46 A#1   HH Open    Hi-Hat Edge 75 RD            1

Given the new-to-old school assignment, I interpret the number in the instrument (sample) name to mean “how open the cymbals are.” This value is the distance between the cymbals where “00” is closed and “99” is open. Warning! I may be totally wrong as Yamaha have not explicitly defined the meaning of the number in the Data List.

Here’s a few more new-to-old school hi-hat MIDI note assignments:

 # Note StdKit PopDrumKit             VintageOpenKit         JazzStickKit
-- ---- ------ ---------------------- ---------------------- ---------------
42 F#1  Closed Hi-Hat Edge 00 PD      Hi-Hat Tip 00 VO       Hi-Hat Edge 00 JS
44 G#1  Pedal  Hi-Hat Pedal Closed PD Hi-Hat Pedal Closed VO Hi-Hat Pedal Closed JS
46 A#1  Open   Hi-Hat Edge 75 PD      Hi-Hat Edge 75 VO      Hi-Hat Edge 99 JS

The closed position is “00” whether the hi-hat is played on the edge or tip. The open position is either “75” or “99”.

These assignment tables suggest a starting point when converting Revo drum parts in Genos styles or songs to legacy, non-Revo kits, e.g., PSR-S950 kits. (More below.)

The Alternate Group controls how an incoming hi-hat note affects an on-going hi-hat sound. Here’s the description from the Yamaha Genos Data List:

  • 1 to 95: Playing any instrument within a numbered group will immediately stop the sound of any other instrument in the same group of the same number.
  • 96 to 127: For these numbers, playing within a specific numbered group will NOT stop other instrument sounds in the same group number. However, the sound of instruments within these numbers are stopped when playing any instrument of a group whose number is that minus “32.” For example, the sound of an instrument numbered “96” will be stopped by playing any instrument numbered “64.”

Revo in action

The image below is a snapshot of the MAIN B section in the Genos “Mr. Soul” style (MP3). [Click image to enlarge.] The DAW is SONAR, which names notes from zero instead of Yamaha’s -2. Subtract 2 from the SONAR note name to get the Yamaha note name.

Section MAIN B plays the following notes and hi-hat instruments in the Revo Rock Drum Kit:

Note# Note  RockDrumKit                 Standard Kit
----- ----  -----------------------     ------------
   13 C#-1  Hi-Hat Tip 00 RD        --> HH Closed
   14 D-1   Hi-Hat Edge 00 RD       --> HH Closed
   15 D#-1  Hi-Hat Tip 10 RD        --> HH Closed
   16 E-1   Hi-Hat Edge 10 RD       --> HH Closed
   17 F-1   Hi-Hat Edge 25 RD       --> HH Open

Section MAIN C starts off with F#-1 Hi-Hat Edge 50 RD. The other drums instruments are:

Note# Note  RockDrumKit                 Standard Kit
----- ----  -----------------------     ------------
   35 B0    Kick 2 RD               --> Kick Tight
   38 D1    Snare 1 RD              --> Snare
   39 D#1   Clap Power              --> Hand clap

These notes carry the kick, snare and clap pattern.

When converting this style to a legacy kit, the kick, snare and clap pattern map to corresponding instruments in the Standard Kit. For the hi-hat, I would first try the mapping shown above for the Revo hi-hat notes. Conversion, though, pretty much sucks the Anton Fig right out of the pattern.

I hope you enjoyed this mini-tour through the Revo drum hi-hats and I encourage you to explore the other extensions in the new Genos drum kits. Yamaha have added variations for snare, brushes, and other drumming techniques. Like the SArt2 acoustic instruments, Genos is a ready-to-play, sample library. The Revo additions greatly enhance the realism of Genos styles. Revo — it’s more than wave-cycling.

Once I get a Genos, or even access to a Genos, I will add audio examples of the individual Genos hi-hat sounds. Meanwhile, give the “Mr. Soul” MP3 a listen

Copyright © 2017 Paul J. Drongowski

A few after action thoughts

A few more thoughts after writing my Genos snap review

Articulations are gonna take practice

The Yamaha Genos™ is a mini, ready-to-play, orchestral library. The player has a large number of physical controllers including joystick, articulation buttons and aftertouch. This is what draws me to Genos.

One big take away: exploiting all of this capability is going to take practice, practice, practice.

Fortunately, the Genos has a few features to ease the process.

The DEMO touch button is your friend. Each voice has a DEMO button that plays a musical phrase. The phrase typically triggers one or more articulations. The appropriate front panel button (ART1, ART2, ART3) lights up when the associated articulation is triggered.

Another helpful feature appears in the Voice Part Setup display. (Hit the front panel VOICE button to go there.) Genos displays a small icon next to the voice name for each available articulation. [See image below. Click to enlarge.] It’s a way to learn quickly what to try or do.

The Genos Data List PDF is another helpful resource. The Data List has a table of all Super Articulation 2 (SArt2) voices, including the articulations supported by each voice.

Reflections on my technique

It really is humbling to record yourself and listen to the playback.

I recorded my noodling and doodling while evaluating the Yamaha Genos. There were a few decent moments in the two hour recording and a number of musical divots:

  • Lost the beat when my left hand ran out of keys in the lower split.
  • Playing certain instruments (e.g., oboe) beyond the comfortable, natural range of the acoustic instument.
  • Pointless, wandering improvised solo lines.

The first two divots are partially due to unfamiliarity with the split point and positioning of the left and right hand voices. In retrospect, I didn’t drop the left hand voice an octave (via the Genos MIXER panel) and wound up playing the bass line quite close to the lowest keys. This problem is easily fixed technically when programming splits and layers for actual use. (Once I get a Genos. 🙂 )

Without setting the left hand range properly, I’m playing away and, suddenly, my little finger is hitting the end cheek (or whatever that inert block of plastic or metal is called). That moment of frustration just enough to throw me off tempo. (The huge reason why I hate 37-key keyboards.)

Playing outside the natural range of the acoustic instrument is mostly on me. I wanted to test the full range of the oboe (for example) and that was a deliberate choice. I usually assess a musical score ahead of time to determine if and when I can play a higher oboe line. However, a big “however,” I know there are times when I botch this — live in front of a congregation. My face flushes and I desperately think about how I am going to gracefully get myself out of the situation.

The third divot is all on me. Alot of my improvisations were down right embarrassing — solo lines that made noise and went nowhere. Some of the meandering was due to the Genos evaluation — pushing buttons to change a voice or randomly flogging the articulation buttons to see what they would do. However, some of the meandering is due to distraction and lack of engagement in what I was playing.

Self-reflection led me to a few rules that I need to follow when improvising:

  • Be full engaged with the music.
  • Don’t become distracted by the technology while playing.
  • Be deliberate. Play with authority. Don’t be tentative.
  • Play with intention.
  • Have a musical guide.

The best moments in the recording are when I was fully engaged with either the score or the backing track. I can sense this while listening. Without engagement, I’m a dead duck and I should just kick back and comp in sync with the beat. (Of course, comping requires a level of engagement, too!)

Being deliberate goes along with engagement. When you’re deliberate, you’re involved. It raises the energy level and mental concentration. All good.

The notions of intention and having a musical guide are very important. Intention means having a message and a direction. Know where you’re going and what you want to say. Otherwise, it really is random noise, even if it’s played in the pocket.

By “musical guide,” I mean a lead sheet or other kind of score. The lead sheet may be mental rather than paper. It’s a structure. With the structure in place, you can make the changes and play around the melody. It’s no wonder that many jazz improvisations start and finish with a head.

I hope these reflections help you out while I hope that I live up to them myself.

Let’s talk money

It always comes back to the money. 🙂

The Genos is not a cheap instrument. A large part of its cost is the research and development that went into the instrument. Yamaha outdid themselves with new SArt and SArt voices. (Yamaha finally broke the waveform memory barrier imposed by their previous generation hardware.)

However, let’s be rational about the price and strategize. Nobody pays MSRP (list price) for a car and you’re not going to pay list. Everyone advertises the Minimum Advertised Price (MAP), $5,499.99 in the United States. If you put in modest effort, you’re not going to pay MAP either.

Don’t just click “Add to cart.” Call. Don’t just call big on-line retailers. Support small dealers. That’s “deal-er.” Aside from good customer service, this is one of the main reasons why I call Audioworks CT.

You may choose to buy Genos somewhere else, but a little bit of phone shopping can save you rent money.

Copyright © 2017 Paul J. Drongowski

Genos: First contact (snap review)

Before I dive into Yamaha Genos™, I need to send a big shoutout to Frank Ventresca of Audioworks CT. I tested and bought my PSR-S950 from Audioworks CT. I’m ba-ack, having had a good experience the first time — largely due to Frank’s customer service. If you’re interested in trying and buying an arranger keyboard, I recommend visiting Audioworks CT and/or giving Frank a call.

For me, it’s about 140 miles one way from home to Audioworks CT. Preparations are similar to getting ready for a long day hike — only with sheet music instead of boots. The long car trip means that testing time is limited. I try to hit the driving sweet spot between morning rush on I-495/I-290 near Boston and the afternoon rush from New Haven and Hartford, leaving me about two hours to play.

After arriving at Audioworks CT, I found a three tiered stack: Yamaha Montage, Korg Pa4x and Yamaha Genos, from top to bottom. Thanks to a tip from Stephen on the PSR Tutorial Forum, I expected to see the Pa4x. With that foreknowledge, do I A/B the Genos and the Pa4x? I chose to focus solely on the Genos given the two hour window for testing. Frank, BTW, invited me to stay longer, but I knew that I needed to avoid traffic Hell later in the day.

I warmed up while Frank finished a business meeting. No music stand, so I used the Pa4x as a very expensive music rest. Once Frank was available, he quickly installed the Genos music stand.

I decided to listen through headphones rather than use Audioworks’ house system. It’s a good system, but I decided to go with my usual, lightweight headphones (Roland RH-7A). Headphones also freed up the LINE OUT which I connected to a Roland MicroBR digital recorder. This setup let me hit record, play and forget.

At the time of this writing, I pulled a few snippets among the noodling and posted them here. I’m trying to get my first impressions down fast and don’t want audio production to get in the way of my initial thoughts.

Before recording, I set the Genos EQ to flat and turned off the master compression. Audio is recorded direct to MP3 (192 kbit/sec). Not the best quality, but I was afraid of overrunning the rather small SD card in the MicroBR. After setting initial levels, I tried to forget that the MicroBR was there and that the red light was ON.

It’s humbling to listen to my noodling. Hats off to everyone’s main man Katsunori UJIIE, who seems to rip this stuff effortlessly!

Genos is an instrument

One shouldn’t have to say this, but the Genos is an instrument in the same league as Montage or Kronos. With the limited time available, I concentrated on Genos as a performance instrument first and as an arranger keyboard second. This approach is consistent with my musical priorities: church gig first, fun and possibly one man band (OMB) second.

As a liturgical musician, I play with a pianist on acoustic piano and a 12-string guitar. That’s a lot of rhythmic content right there. Much of what I play complements piano and 12-string guitar. Subconsciously, I fill in and hear these missing parts when practicing. Hopefully, you will fill in this context, too. If and when you hear the audio snippets, I’m playing fuller than I would with the group. There is always a tendency to “be the whole band” when playing alone. Apologies in advance.

The focus is on emulation of acoustic instruments, orchestra and pop. You won’t hear any synth and given the short trial time, you won’t hear many styles (unfortunately).

The FSX keyboard is a more robust keybed than the PSR-S950. The FSX action is heavier. You do get what you pay for. The FSX affords aftertouch; the S950 does not.

The Genos has three front panel articulation buttons to trigger voice articulations. The voice display shows the available articulations for each selected voice. (Nice.) The voice display also shows a drawbar icon for organ flute voices. Touching the drawbar icon brings up the drawbar display. (Extra nice.) I made extensive use of the voice DEMO touch button in order to play and sort through voices quickly.

The user interface is responsive. I didn’t get a sense of lag as reported by other players. I discovered that the MENU front panel button is your special friend. It brings up two pages filled with touch buttons leading to all internal settings. It’s kind of a “site map” for the Genos.

Strings

The Genos is like having a compact orchestral sample library in a portable, immediately playable keyboard. Think Garritan Personal Orchestra.

There are two major options for strings in addition to legacy voices: Kino strings and Seattle strings. The Seattle strings first appeared in the Tyros 5 before they were explicitly identified and advertised in the Montage. The Kino strings have a different character and the violin sections are panned separately left and right. Both options have multiple bowing and playing techniques (legato, spiccato, pizzicato) plus articulations. The options are also broken out into sections as well as the standard ensemble voices.

The Kino strings have more power and are more in your face than the Seattle strings. Dare I say, more bow? Where is Dave Stewart when you need him? (This review would be wittier if written by Dave Stewart, too.)

The voice DEMO feature is really handy when approaching a deep keyboard like Genos for the first time. I quickly settled on the “warm” variation of the Kino strings and Seattle strings. Either choice (Kino Seattle) would work as a bread and butter ensemble patch. I give the edge to Seattle because, well, they would sit better with piano and acoustic guitar, given our repertoire. Tyros 5 people, hold up your heads with pride.

With the loss of our group’s flutist, I’m play a lot of exposed solo lines using violin, oboe and flute. The Genos offers four Super Articulation 2 solo voices: Celtic Violin, Jazz Violin, Classical Cello and Pop Cello. The Celtic Violin is a good fit with our liturgical repertoire. The Genos cellos are quite good, definitely a big cut above the MOX6 that I currently play. I wish that I had more time to check out the cellos.

Meta-comment: Exploiting the Genos, especially its articulations and ensembles — will require practice, practice, practice.

Woodwinds

In the case of woodwinds, I need both ensemble voices (or layers) and solo voices (mainly oboe and flute). The Genos does not disappoint in either category.

I quite easily built and tried a few layers. It wasn’t difficult to create a workable reed plus horn layer — another bread and butter, every Sunday patch. Less is often more. It isn’t necessary to layer up a preset woodwind ensemble with French horn; sometimes a mellow oboe or clarinet will do.

The Genos has two SArt2 oboes (classical and pop) and an SArt “MOR Oboe.” The Classic Oboe is bright and thin, able to cut through strings. For exposed lines, I would prefer the Pop Oboe or MOR Oboe voices that have a warmer, fuller sound.

The SArt2 Classical Bassoon and Pop Bassoon are quite pleasant without moving into comedic territory. (Peter and the Wolf.)

Brass

The Genos has a mess’o’horns and classical brass. Symphony horns are quite useful in liturgy as pads and mid-range filler. Fanfare brass is too much except for the obvious holidays when all sorts of sonic mayhem can be let loose. The Genos has a wide range of horns from mellow to a brighter more open tone.

The brasher instruments (trumpet and trombone) are available solo and in sections. All quite good. Trombones are especially useful due to their wider range and deeper timbre.

The demo phrases for certain brass voices are way hotter level-wise than the strings or woodwinds. I had to adjust the audio record level way down to prevent clipping. Unfortunately, this affected the level for everything else that I recorded during the day. Sorry, I just spaced out and didn’t reset the level. (Argh!) So, you may need to adjust the audio volume at your end.

Drawbar organ

Huh? That’s not classical. Our church means gospel and a little Hispanic music, too.

I enjoyed getting into the Genos drawbar organ. There’s no undiscovered clone killer here, but Yamaha’s drawbar emulation will work in a lot of churches (and stages, too). I’m already quite familiar with Yamaha’s emulation having played both the MOX and PSR-S950.

The physical drawbars are a treat. The knobs are shaped like, er, classic drawbar knobs. The bars can be changed and played in real time, something that I miss on the MOX and to a large extent, the S950. If you select a preset, the physical position of the sliders does not directly relate to the sound, of course. The sliders are not motorized. When a slider is moved, it won’t change the sound until the slider “catches” the current internal bar value. That’s why Martin Harris “warms up” the sliders before playing the bars in his demo videos.

The new rotary speaker simulation is an improvement, but won’t knock the Neo Ventilator from its perch. Here, Yamaha have some work to do immediately:

  • The Drive parameter doesn’t seem to have any effect on the sound. (Thanks to Uli from the PSR Tutorial Forum for pointing this out.) Pushing the Drive to 10 doesn’t add any overdrive.
  • As mentioned in an earlier post, the rotor slow/fast and fast/slow times cannot be adjusted; only the horn (de)acceleration times can be adjusted.

Yamaha needs to fix these divots.

The rotary speaker sim is set too fast out of the box. This gave me a chance to dive into the DSP effect editing menus. I made the changes without too much difficulty and without a manual. Good job. I just wish that I could change the rotor (de)acceleration times, too.

This seems to be a good place to mention that sound programmers universally tend to set the times too fast, especially the ramp times. Players love it when it takes a while for those old, vintage belts and pulleys to spin the rotor/horn up and down. A lot of real B-players habitually hit the half-moon switch to keep the Leslie in its intermediate, changing state. Watching Gregg Allman do this in 1971 was a revelation that stuck with me for a lifetime!

Wot? No pipe organ? Genos carries over the quite excellent handful of pipe organ voices from Tyros 5. They’re good. Move along.

Pop instruments

Now that the main job is done, it’s time for the funk and blues.

You probably noticed by now that I haven’t said anything about the CFX and C7 acoustic pianos. You’re right and you won’t hear another word about them from me. They’re covered elsewhere, everywhere.

I did try the Suitcase Rhodes (oh, why this charade about names?), the Wurlitzer and the Clav. All will do the business. The Suitcase is still waaaay too polite for my taste in fusion. Think the fuzzed out bliss of “Mahavishnu.” That’s a 70’s Rhodes.

The SArt2 Funk Alto Sax and Funk Baritone Sax are welcome additions. I look forward to exploring those. The Jazz Flute sounds good to my ears and has interesting articulations. The Classical Flute can jam, too.

I took a listen to the new Active Bass (Music Man Stingray?) Sweet. Should provide new options when sequencing.

Then there’s the mess’o’guitars. I presume that 50’s is Telecaster and 60’s is Stratocaster? With all the DSP at hand, the electric guitars are instant “tone” with all of the right pedal-board effects dialed in. The jazz guitar sounds good. I often reach for jazz guitar when playing pop. (Need more technique, though. Practice, practice, practice.)

The sax and brass demos start out with the new funk saxes. The rhythm section demo includes Suitcase Rhodes, Wurli, Clav, CP80, Active Bass, electric guitars and jazz guitar.

Styles

At this point in the day, my ears and hands were getting trashed. I was hoping to try the styles that have been getting short shrift in on-line videos. Given the time that was left, all I could hit was “Mr. Soul” and “Soul Supreme” with the old chestnut “Acoustic Jazz” thrown in. All good for a fun-time jam.

Neither style was harmed by playing over them. I did jam quite a bit and got a decent Fishbelly Black organ tone out of the drawbar organ and rotary sim. Oh, happy day!

Workflow

You should be able to sense my time urgency at this point because my comments are getting shorter and shorter.

I played along with a few MIDI and WAV audio songs in order to assess the workflow for OMB. Even without playlists and registrations, the Genos has a much smoother workflow than the Montage in this regard. Montage designers should take note because many Montage players incorporate audio and MIDI tracks into their performances, too.

I botched a chance to try Revo drums with a MIDI file. I brought the USB drive that contains my WAV audio and MIDI backing tracks. I played along with “Just My Imagination,” a track that suffers from extreme “machine gun” drum rolls. Darn, with time pressing, I forgot to re-voice the file with a Revo drums kit! Bummer.

Summary

Genos is waaaaaay too much for two hours. Two weeks, two months, maybe.

There you have it. Genos? Yes, I played one. As you can tell from this quick review, I’m more enthusiastic than ever about Genos.

Need more information about Super Articulation voices? Please look here.

Copyright © 2017 Paul J. Drongowski