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