Yamaha Montage: Internals revisited

I liked the Genos block diagrams which I posted the other day. The diagrams summarize the Genos main CPU and tone generation subsystems in a compact form.

So, let’s move on to Montage. The diagrams below are taken from the Yamaha Montage Service Manual. I scrubbed non-essential detail (e.g., power rails) in order to focus on the overall digital system organization.

The internal design of mid- and high-end synths and arrangers separates neatly into a main CPU subsystem (running Linux) and a tone generation/digital audio subsystem. Genos, Montage and MODX fit this design pattern.

[Click images to enlarge.]

The Montage main CPU is a Texas Instruments AM3352. Montage has a slightly lower clock rate: 800MHz vs. 1.0GHz (Genos). I don’t think the difference in clock speed is significant because the main CPU generally doesn’t perform compute intensive tasks. (The tone generator circuits and the audio DSP do the heavy lifting.) The main CPU handles sequencing, user interface, the file system, etc.

The AM3352 is an ARM Sitara Cortex-A8 32-bit “system on a chip.” The AM3352 is designed for embedded applications and as such, it has many integrated input/output (I/O) interfaces. The main interfaces are:

  • Primary working memory (EMIF)
  • Touch panel and display (LCD)
  • Bulk memory (MMC0)
  • USB to device interface (USB1)
  • MIDI I/O (UART1)
  • Serial digital audio bus (McASP0)
  • CPU-SWP70 bus (GPMC)
  • Power management (I2C0)
  • General purpose I/O (GPIO)

Having so many interfaces in one integrated circuit (IC) package lowers cost signficantly.

Memory resources are modest. Primary memory is only 256MBytes. Bulk storage is provided by a 4GByte eMMC embedded memory device. Linux and user data (performances, songs, arpeggios, etc.) reside in the eMMC device. Please note that the bulk memory bus (MMC0) has a relatively slow clock speed (52MHz) and width (4 bits). Simply put, this bus cannot support real-time sample streaming for synthesis. [Please stop ranting about this on the Web.] Instead, waveform samples are stored in NAND flash connected to the Master SWP70 tone generator.

Speaking of tone generation, the main CPU is connected to two SWP70 tone generation ICs by the CPU-SWP70 bus. The bus is mediated by a programmable logic device (CPLD). The bus clock is 100MHz. The bus has 19 address bits and the data path is 16 bits wide. The CPU sends control data to the SWP70s through this bus. Also, the main CPU loads samples into NAND flash using this bus. I doubt if this bus could sustain high volume sample streaming in real time.

The CPU-SWP70 bus is organized as an addressable memory bus. (The ARM acronym “GPMC” means “General Purpose Memory Controller.”) Instead of ordinary memory, I believe that the CPU-SWP70 bus provides direct access to thousands of synthesis control registers for AWM2 and FM-X. Check out the huge list of synthesis parameters in the MIDI section of the Montage/MODX Data List PDF. Each parameter controls some aspect of AWM2 or FM-X synthesis. These parameters need to be loaded quickly into the the SWP70 tone generation blocks. Addressable control registers provide the appropriate mechanism.

There are two other major busses in Montage: the EBUS and the serial digital audio bus. (More about the digital audio bus in a second.) The EBUS is driven by an ARM architecture microcontroller (MB9AF141NBPQC) which scans knobs, sliders and switches. The EBUS sends user input to other components, most notably the SWP70s. Thanks to the EBUS, user inputs are quickly acquired and sent to the tone generation process, thereby minimizing latency. This fast path is an important aspect of Yamaha’s design.

On to tone generation and digital audio!

High-end Yamaha synths and arrangers have two SWP70 (“Standard Wave Processor”) tone generation chips. One SWP70 is the Master and the other SWP70 is the Slave. “Master” and “Slave” refer to the communication relationship between the two components. The Master generates the reference clocks for both the Master and Slave, and it generates the clock for the serial audio bus.

In Montage, the Master SWP70 performs AWM2 synthesis and the Slave performs FM-X synthesis. The Master has waveform memory; the Slave does not. Waveform memory isn’t required for FM-X synthesis, apparently.

Both the Master and Slave SWP70s have 16MBytes of DSP RAM apiece. The DSP RAM provides big, fast random access storage for effects processing. Time-based effect algorithms like reverb and delay need a large amount of memory space. The DSP RAM does the job.

The Master SWP70 has two additional kinds of memory: Wave ROM (4GBytes physical capacity) and Wave RAM (32MBytes). [The Genos designers use slightly different terminology for these units, but the functionality is the same.)

Wave ROM is Open NAND Flash Interface (ONFI) compliant. This is the same commodity NAND flash built into PC solid state drives. Instead of using a solid state drive and a SATA bus, Yamaha have built the controller and data cache into the SWP70. This design eliminates the cost, power consumption and delay of a PC solid state drive controller. The Wave RAM is the data cache, holding the currently used samples needed for AWM2 synthesis.

Why a data cache? NAND flash has two major drawbacks. First, writing to NAND flash is slow. Second, random read access to NAND flash is much slower than sequential block access. In fact, random access is too slow for direct streaming into synthesis. The SWP70 pre-fetches blocks of samples into fast Wave RAM which, in turn, provides fast random access to samples. This two-level storage organization supports the high read bandwidth required for 128 lanes of stereo AWM2 synthesis.

The SWP70 has two independent Wave RAM channels. Only one of these channels is populated in Montage. The second Wave RAM unit is not installed and is reserved for a future model. We haven’t seen the full power of the SWP70 generation — yet.

Montage has a power digital audio subsystem which is interconnected by the serial digital audio bus. The CPU, SWP70s and SSP2 chips transfer digital audio on the serial audio bus. These units send audio to the digital-to-analog converters (DACs) and receive audio from the analog-to-digital converters over the bus. The main audio streams are:

  • The main CPU receives audio from the AD INPUT ADC and the Master SWP70.
  • The Master SWP70 receives audio from the main CPU and the AD INPUT ADC.
  • The Slave SWP70 receives audio from the SSP2.
  • The SSP2 receives audio from the Master SWP70 and the Slave SWP70.

The Master SWP70 sends digital audio to the two DACs (assignable output and main output, respectively). The DACs and the ADCs are on a separate circuit board away from the digital electronics (Pure Analog Circuit).

Montage has an SSP2 processor dedicated to USB2.0 audio I/O. It’s like having a mini Steinberg UR interface inside. The SSP2 is the source of Montage’s audio prowess. The SSP2 is a fairly beefy computational engine having an SH-2 CPU core (135.4752MHz internal clock). It is the computational engine in the high-end Steinberg UR series, the Reface DX and the Reface CS. Its role in Montage is like a UR — high speed, multi-channel USB audio. This is why the SSP2 supplies the Montage USB TO HOST interface. Digital USB audio has a direct path to the USB HOST.

The SSP2 gets commands and transfers data with the main CPU over the CPU-SWP70 bus.

I hope you have found this quick tour to be informative and helpful. Yamaha had a few other tricks up its sleeve as we shall see when I discuss MODX specifically. Take care and stay tuned for the MODX update which is about to drop.

Copyright © 2019 Paul J. Drongowski

Diagrams are Copyright Yamaha

Yamaha Genos, Montage, sample compression

Sample compression is a bit of a hot topic among tech heads on the PSR Tutorial Forum and the YamahaSynth.com Forum.

Yamaha recently pre-announced the Yamaha Genos V2.0 update. Features will include:

  • Increased expansion memory from 1.8GBytes to 3.0GBytes
  • Genos V2.0 Superior Pack (50 styles, more than 25 voices including SuperArticulation 2)
  • Chord Looper
  • Style Section Reset
  • Scale Tune Separation

The update will be available during Winter 2019. The scope of the update has caused much excitement as well as a lot of good feeling because Yamaha views Genos as an update-able platform, not a one off. I’m looking forward to the Genos update and the upcoming MODX update, too.

The Superior Pack likely will be an expansion pack containing new styles and voices. Putting the new content in an expansion pack is the easiest way to distribute the content. A user simply puts the expansion pack installation file on a USB drive, inserts the drive into Genos, and runs the on-board Genos installation procedure. The installation process is tried, true and mature.

Of course, this raises the question of expansion memory space and how to make best use of it. Would or should someone install the Superior Pack and always keep it around? Will there be enough space for other packs? Some people are pack rats (pun intended) and want to keep everything loaded. Increasing the expansion memory from 1.8GBytes to 3.0GBytes takes a little pressure off the pack rats.

Naturally, the increase in expansion memory piques the tech heads. How did Yamaha increase the expansion memory space? One cannot snap fingers and add physical memory to Genos. This is a software update, after all.

One theory has to do with sample compression. Yamaha’s expansion packs typically use two sample formats: LINEAR16_FRAME and WXC. WXC is Yamaha’s proprietary sample compression format. WXC is treated like a closely guarded secret. WXC is the way to pack voice waveforms as tightly as possible within the limited physical capacity of wave memory. It’s part of Yamaha’s secret AWM2 sauce.

User samples, on the other hand, are not compressed and are stored in LINEAR16 format. Currently, when Yamaha specifies the size of Genos expansion memory, they mean the ability to store approximately 1.8GBytes of uncompressed user samples in expansion memory. Since users can’t compress their samples via YEM (or whatever), Yamaha doesn’t want to disappoint them by overstating expansion memory capacity and then underdeliver on their spec.

So, is the increase achieved through sample compression, i.e., restating the capacity as 3.0GBytes using the well-known qualifier “when converted to 16 bit linear format?” WXC compression can easily squish 3.0GBytes of samples into 1.8GBytes. Or, have Yamaha found and allocated extra space to user samples? In the latter case, the extra space must be in the NAND flash memory which holds the factory waveforms. This is left-over space and assumes that Yamaha left quite a bit of slack in the 4GBytes holding the factory waveforms.

Now we get to the point of contention among Montage/MODX tech heads. If Yamaha have found a way to support compressed user samples on Genos, can the same technology be ported to Montage and MODX?

The answer partly depends upon the means by which Yamaha provide sample compression itself. (Remember, sample decompression is built into the SWP70 AWM2 hardware.) YEM is an established application in the Genos software eco-system. Yamaha could add the compression algorithm to YEM. In the case of Genos, a user would compress user samples into WXC format when creating a new voice in YEM. The WXC format samples within Yamaha expansion packs would remain untouched by YEM in WXC format and users wouldn’t see any benefits there.

The closest thing to YEM in the Montage (MODX) eco-system is the John Melas tool suite. Perhaps Yamaha will partner with John Melas, who will add sample compression to the tool suite. That’s one possibility. Another possibility is to add WXC compression to SKYLIFE SampleRobot.

If Yamaha wants to protect its secret sauce, they could provide a Web-based service to compress user samples into WXC format. In that case, Yamaha could keep the WXC algorithm hidden from prying eyes (i.e., reverse engineering). The compression service could compress samples for both Genos and Montage voice developers.

A third alternative approach adds the compression capability into the Montage/MODX keyboard firmware. Embedding the algorithm would provide the best security although Linux experts have already plumbed the depths of Montage/MODX update files. Further, Yamaha has shown a reluctance to add low-want or esoteric features to firmware.

Well, this is all quite interesting and highly speculative. We’ll know more when the Genos 2.0 update is released. In the meantime, wadda think?

Copyright © 2019 Paul J. Drongowski

Yamaha Genos: Tone generation

After visiting the Genos CPU complex yesterday, let’s take a look at the two Yamaha SWP70 tone generators in Genos.

The SWP70 is the latest generation, top-of-the-line Yamaha tone generator. We know that the SWP70 is capable of both sample-playback AWM2 synthesis and FM-X synthesis as demonstrated by the Yamaha Montage and MODX.

[Click image to enlarge.]

The two SWP70s are organized as a master and slave pair, each with different connections and dedicated memory units. The SWP70s communicate with the TI AM4376 processor over the CPU-SWP70 bus. The bus is arbitrated by a programmable logic device (CPLD). The data path is 16 bits and there are 19 address bits. Bus clock speed is 100MHz.

The main CPU sends control messages, etc. to the SWP70s through this bus. The main CPU also uses this bus to write waveforms (“samples”) in the SWP70 wave memory. Please note that the 100MHz bus isn’t fast enough to sustain so-called sample streaming from bulk storage. As mentioned in my previous article about the main CPU, the embedded bulk memory devices (eMMC) would not be able to supply samples fast enough for streaming either. Plus, write time to NAND flash is quite slow — another strike against streaming.

The Master SWP70 has extensive connections to the serial digital audio bus that interconnects the main CPU, tone generation, analog to digital converstion (ADC) and digital to analog conversion (DAC). Here’s a few notable connections:

  • The main CPU sends five digital audio streams to the Master SWP70.
  • The Master SWP70 sends one digital audio stream to the main CPU.
  • The Master SWP70 sends the MAIN OUT, SUB 12 and SUB34 streams to their respective DACs.
  • The Master SWP70 receives the AUX IN and MIC IN streams from their respective ADCs.
  • The AUDIO-LOOP stream is a loop-back from the Master SWP70 to the Master SWP70.

Genos serial digital audio resources and capabilities are substantially less than Montage. In short, Montage has a Yamaha SSP2 processor dedicated to digital audio much like a Steinberg UR interface. This version of the Genos hardware will never have the extensive digital audio capabilities of Montage.

Another important interface is the Yamaha EBUS. Genos has an ARM M3 microcontrollers that scan the knobs, sliders, buttons and keys. The microcontroller sends these inputs on the EBUS. The EBUS is a slow-speed, serial I2C bus. User inputs are quickly encoded and are sent directly to tone generation. Nifty. The direct connection decreases latency by keeping the main CPU out of the message path. Montage and MODX have an EBUS, too. It’s an essential feature of Yamaha high-end design.

As Gandolf would say, “On to the Forest of Memories!”

Each SWP70 has two working memories:

  • WAVE SDRAM (light blue)
  • DSP SDRAM (orange)

Both working memories have dedicated address and data paths. The data paths are sixteen bits wide. The required memory capacity is too large to integrate on the SWP70 integrated circuit (IC), so separate commodity memory devices are used instead.

The DSP SDRAM is working memory for DSP computations. Certain kinds of effects are memory intensive — reverb and delay effects, in particular. The DSP SDRAM is a fast read/write working memory for effects processing.

The WAVE SDRAM is the working memory which holds the most recently streamed and used waveform samples. Random access to data in NAND flash is relatively slow. The WAVE SDRAM is a fast random access cache for samples in current use. The SWP70 behaves like the controller and cache within a commodity solid state drive. It streams waveform samples into cache as fast as possible via sequential reads to the WAVE NAND. The incoming samples are stored in the WAVE SDRAM and are played back from WAVE SDRAM.

Yamaha’s architecture is often (unfairly) slagged on two points:

  • Why doesn’t Yamaha stream from a commodity SSD?
  • Why doesn’t Yamaha use a commodity x86 motherboard for tone generation?

Yamaha combined the best parts of a commodity SSD and hardware tone generation in one component (the SWP70). This is a strategic low-latency advantage. The SSD SATA bus is quite unnecessary. The Yamaha architecture lowers power consumption, component count and most importantly, latency.

As to commodity motherboard, see Korg Kronos (big, heavy and hot).

WAVE NAND memory (light green) is implemented using commodity Open NAND Flash Interface (ONFI) devices. This is the same NAND flash employed in commodity, SATA-based SSDs. The Slave SWP70 has four gigabytes (4GBytes) of waveform memory while the Master SWP70 has two gigabytes (2GBytes). Storage is split into upper and lower bytes for a total data path width of 16 bits. The SWP70 accesses the upper and lower bytes in parallel. (Each ONFI channel is 8 bits wide.) Thus, Yamaha double the transfer bandwidth from NAND flash.

Presumably, the Slave WAVE NAND contains the Genos factory preset waveforms and the Master WAVE NAND contains user expansion waveforms. The Genos specifications split polyphony between preset and user voices. Expansion memory is limited to something just shy of 2GBytes. So, this inference is reasonable.

Now that you’ve read this far, you should have solid footing in Yamaha synth and arranger hardware architecture. Of course, there are many additional details about clock speeds, displays, touch panel, etc. However, you should have a better appreciation for and understanding of the basic data flows and storage units.

Copyright © 2019 Paul J. Drongowski

Source: Yamaha Genos Service Manual (Copyright Yamaha)

[Update: 18 October 2019]

Just a quick addendum about the SSP2 chip and the Steinberg URs. The SSP2 is built into the UR242, UR44, UR28M and UR824. Steinberg have a spiffy iOS app, dspMixFx, which exposes the SSP2’s functionality. Quoting Steinberg:

dspMixFx brings the flexibility and sound of Yamaha’s SSP2 DSP chip to your iOS device. Built in Steinberg’s UR824, UR28M, UR44 and UR242 interfaces, this custom-designed DSP chip runs the acclaimed REV-X reverb, Sweet Spot Morphing Channel Strip and Guitar Amp Classics effects. The free dspMixFx app allows you to control all DSP features and create your own latency-free mixes on your iPad and iPhone with effects, ideal for live recording sessions where getting exactly the right sound for performers is paramount. dspMixFx is also compatible with other iOS audio apps, offering full operation when using third-party apps with the DSP-powered interfaces in Steinberg’s UR range.

The REV-X reverb built into the UR824, UR28M, UR44 and UR242 is a complex reverb algorithm developed by Yamaha. Renowned for its high density, richly reverberant sound quality, with smooth attenuation, spread and depth that work together to enhance the original sound, the REV-X features three types of reverb effects: Hall, Room and Plate simulations with reverb time and level control.

Thanks to its SSP2 chip, the Montage provides conversion to and from a DAW roughly on par with a Steinberg UR interface.

Yamaha Genos: Main CPU

After a long move and a hiatus from writing, it’s time to dig into digital design.

I get a little anxious when I see people speculating about the internal operation of synthesizers and arrangers. They often assume that:

  • A keyboard instrument is organized just like a PC.
  • Samples are streamed from some kind of magnetic or solid-state disk.
  • The main CPU runs the tone generation software.
  • Samples are held in the main CPU’s memory during tone generation.

These assumptions are not true for Yamaha Genos, Montage or MODX.

These musical instruments are organized internally like an embedded hardware device. Sure, there is a main computer inside, but it is an embedded processor with many input/output (I/O) interfaces integrated onto the same integrated circuit (IC). This kind of organization is often called an “SOC,” or “System on a chip.”

[Click on image to enlarge.]

The diagram (above) shows the main CPU in Yamaha Genos. It is a Texas Instruments AM4376 embedded ARM processor. You can see that it has many integrated I/O ports: two USB ports, three serial interface ports (UART), parallel digital pins (GPIO), serial audio (McASP), real-time clock (RTC), and display and touch panel ports. Of course, there are also RAM (EMIF) and bulk storage (MMC) interfaces, too. Finally, there is a 16-bit bus connecting the main CPU to the two Yamaha SWP70 tone generator chips.

Before moving into important details, here’s a few quick observations:

  • The USB1 port connects to an internal 4-port USB hub. The hub provides external interfaces: TO DEVICE (front), TO DEVICE (bottom), USB TO DEVICE, and an internal wireless LAN module (UD-WL01).
  • The USB0 port provides the external USB TO HOST interface.
  • UART1 provides the 5-pin MIDI A data signals and and UART2 provides the 5-pin MIDI B data signals.
  • Digital audio is transferred on an internal serial audio bus using time division multiplexing (TDM). Serial digital audio is 2 channel, 24-bit I2S compatible, allowing direct communication with the audio converters (ADCs and DACs)

Montage has a more extensive digital audio subsystem — one of the reasons why Montage supports studio-level audio conversion.

RAM capacity is modest: 512MBytes. The Linux operating system and Genos control software reside in this memory during operation. Suffice it to say, this is no where near enough to store samples for tone generation. Tone generation is handled by the SWP70 integrated circuits.

There are two embedded bulk storage memories: 4GBytes and 64GBytes. Linux boots from the 4GByte device. The 64GByte device provides the user expansion memory. Please note the data clock speed (52MHz) and data bus width (4 bits), which adhere to the eMMC protocol. There is enough bandwidth to support a single digital audio stream, but not near enough bandwidth for tone generation. I might add that the 100MHz 16-bit bus to the SWP70s is not enough bandiwdth either.

I hope this short article provides a bit of insight about the modest computational and memory resources of the Genos main CPU. When I get a chance, I’ll give a short tour of Genos’s tone generation section.

Source: Yamaha Genos Service Manual (Copyright Yamaha)

Copyright © 2019 Paul J. Drongowski

Yamaha Genos update v1.4

Yamaha have posted Genos™ update v1.4 to their support sites. I’m in the process of downloading and installing the update. [More later.]

Yamaha have also updated the Genos manuals and the AudioPhraser program. AudioPhraser definitely needed some touch-ups. Hopefully, there is a new version of Yamaha Expansion Manager (YEM) and ChordTracker just around the corner.

Looking through the list of changes, v1.4 is not the major update many punters are looking for. However, Yamaha’s strategic decision to issue updates for its flagship products is very welcome. This move brings Yamaha into parity with its major competitors (Korg, especially).

Here’s the list of changes from the Version History:

  • Some information displays have been added to the Home display.
  • Many additional functions have been included for assignment to individual controllers on the Live Control display and the Assignable display
  • You can now see the result of operations of the ASSIGNABLE buttons via the pop-up window.
  • It is now possible to output to an external display by connecting a commercially USB-display adapter. For details on the supported device list, download from the “Downloads” tab on the product site.
  • You can now select the content displayed on the external display, from the Utility display.
  • Changes: The maximum capacity per file of MIDI Song has been expanded to about 3 MB.
  • Changes: Disabled switching between Dual Player mode and Song List mode during Song playback.
  • Changes: Changed the buttons for display/operation on the Song List mode to the SONG B buttons instead of the SONG A buttons.
  • Changes: The font settings on the Lyrics display and the Text display are backed up and retained even after the power is turned off.
  • Changes: The “Song” item which can be selected on the Registration Memory window is divided into “MIDI Song” and “Audio Song.”
  • Changes: When operating the on-screen knobs and vertical sliders, the first touch will not change the value immediately, but only select (focus) it.
  • Changes: The Voice Guide function supports display changes of this version. Please download the latest Voice Guide file from the product site for the additional sounds to work properly.
  • Fixed a problem in which, under a certain situation, the Audio Section of Audio Style would not play back.
  • Fixed a problem in which, under a certain situation, an Audio Song longer than 80 minutes would not play correctly.
  • Fixed a problem in which the instrument would become unresponsive to operations when playing back a specific MIDI Song.
  • Fixed a problem in which the instrument response would slow down when certain Preset Wallpaper settings were selected.
  • Fixed a problem in which Initial Touch On/Off settings would not function properly when calling up a specific Registration Memory.
  • Fixed a problem in which, under a certain situation, the Registration Freeze function would not work properly.
  • Fixed a problem in which certain Music Finder Record files of Tyros series could not be imported.
  • Fixed a problem in which the Panel Sustain parameter seems to have an effect on the Left part because the Panel Sustain can be edited on the Voice Edit display for the Left part.
  • Fixed a problem in which the instrument would occasionally become unresponsive to operations when executing Search.
  • Fixed a problem in which the instrument would occasionally become unresponsive to operations when changing the mode of Wireless LAN.
  • Fixed a problem in which the instrument would become unresponsive to operations when the pop-up window is closed in certain situations.
  • Fixed a problem in which the instrument would become unresponsive to operations when saving a file in certain situations.
  • Fixed a problem in which characters would occasionally not be displayed correctly.

The previous firmware version cannot be restored after updating the firmware to this version (v1.4).

Well, I can confirm that the v1.4 update did not kill my Genos. 🙂 The Home page definitely displays more useful information. (Check out the link to the video to see what I mean.) I like the visual feedback as to where “the one” (downbeat) is. Some styles do not have a firm downbeat in MAIN A and I easily get lost.

I love having more assignable functions although nothing blows me away initially. The assignable functions are listed in the updated (e0) Genos Reference Manual starting on page 126. I’m glad to see the MIDI file size limit kicked up to 3MB. Controller intensive MIDI files can get pretty big.

Overall, I’m looking forward to improved stability. Yamaha gave us a few functional improvements, but nothing stunning. The list of bug fixes, however, shows attention to detail and quality. I will certainly miss the Genos while it’s in storage during the move!

Copyright © 2019 Paul J. Drongowski

Genos sound alike voices on MODX

I love kicking back in the afternoon and playing some old classic tunes from the 60s and beyond. The Yamaha Genos™ is a great machine for producing backing tracks and for jamming against them.

I spent a fair amount of time selecting the appropriate instrument for each cover tune. Now, I’d like to play the MODX over the same backing tracks and perhaps keep the same voices.

Time to play “What’s that voice?”

The Yamaha arranger keyboards and synthesizers share a lot of the same sonic DNA. This is a theme that I’ve written about in earlier blog posts. Sometimes the arranger voice and the MODX Performance share the same name. Sometimes you need to find a sound-alike. And, as I’ve learned, sometimes I need to do some MODX programming to get what I want.

The table below is a quick, rough correspondence between my favorite Genos voices and a MODX Performance (or two, or three). In the case of multiple mappings, the preferred Performance is marked with a star (“*”).

    MODX Performance         Genos Voice
    -----------------------  -----------------------
    TC Clean Pick            SingleCoilClean
    Clean Ballad Pick        SingleCoilClean
    TC Clean Pick            VintageAmp (BRITISH LEGEND CLEAN)
    Dual Coil Slap Vel       Slapback (ROCKABILLY))
    Clean Fingers            50sVintagePure (MULTI FX OLDIES DELAY)
    Melodic Jazz             JazzGuitarClean
    Fat Oil Jazz AF1&2       JazzArtistGuitar
    Jazz Blues               JazzGuitarAmp (MULTI FX OLDIES DELAY)
    Jazz Guitar              JazzGuitarClean (JAZZ COMBO)
    Crunchy Guitar           MetalMaster
    Hard Drive               MetalMaster
    Hard Ramp                MetalMaster

    Tenox Max                Rock Sax
    SoftTenorSaxLegato       SmoothTenorSax
    Sweet Flute AF1          JazzFlute
    Concert Flute            OrchestralFlute
    Latin Flutist*           OrchestralFlute
    Oboe1 AF1                OrchestralOboe
    Oboe2*                   OrchestralOboe
    Clarinet 1 AF1           OrchestralClarinet
    OrchClarinet             BalladClarinet
    Flute & Clari            Clarinet&Flutes
    Bluz Distort             BluesHarp
    FM Accordion 1           JazzAccordian

    Dynamic Brass            DynamicBrass
    Mixed Sax Section        SaxSection
    FM JP Brass              80sSynthBrass
    Simple Saw Brass         80sSynthBrass
    Flugelhorn               Flugelhorn

    Soft Case                70sSuitcaseTrem (E-PIANO TREMOLO)
    Rd Old                   70sSuitcaseClean
    Contempo*                SuitcaseEP
    Hard Vintage             SuitcaseEP
    Wr Rock                  70sVintageEP

    Vibraphone               Vibraphone
    Vibes                    JazzVibes

    Soft RnB                 SoftR&B
    Singleline 1             WireLead
    SingleLine 2*            WireLead
    WindSynth                WireLead
    VeloMaster               VelocityMaster
    Bleep Lead AF2           BleepLead
    Detuned Vintage          DetunedVintage
    FM Syn Lead 2*           FusionLead
    Straight RB              FusionLead
    Saw Lead                 FusionLead
    Dynamic Mini             BrightMini
    Whistle                  Whistle
    Early Lead               Oxygen
    Saw Lead                 Oxygen

    Big Strings              ButterStrings
    Analog                   AnalogPad
    Dark Light               DarkFatSaw
    VP Soft                  VPSoft
    Feeling                  LightPad
    Dark Atmo Pad            NewAtmosphere
    Angel Eyes               DarkAngelPad
    NighttrainToMunich       NightMotion
    Gospel Hmm               Mmh, GospelVoices
    Boy Choir MW Xfade       GothicVox

    All Out None             AllBarsOutFast
    Fully                    AllBarsOutFast
    Bowed Bars CV            CurvedBars, UpsideDownSmile
    Draw Organ               BalladOrgan
    Whiter Bars              WhiterBars
    Jazz 2nd Perc + C3       RotarySwitch
    Vx Full Bars*            60sOrgan, Italian60sOrgan
    Clean                    60sOrgan
    1967 Keys                60sOrgan

Even when the name matches (e.g., Bleep Lead), you’ll find slight differences in programming. The basic sound is there, but maybe one implementation will open up the filter dynamically, or maybe it will have a longer portamento time. These differences are easy to iron out, if they’re important at all.

Occasionally, a Performance and its corresponding Genos voice responds differently due to Expanded Articulation vs. Super Articulation programming. Such differences are fundamental to the arranger or synthesizer design. I’ll just need to keep mental notes about what to do where when playing, that is, push an assignable function button or some other gesture. If a Super Articulation voice is based on a Mega Voice, then chances are good that one can find a way to get a similar result on MODX using Expanded Articulation (XA).

Of course, the Super Articulation 2 (Articulated Element Modeling) technology does not carry over to MODX (Montage). Super Articulation 2 (SArt2) stitches successive notes together, blending tone heads, tails and bodies in real time depending upon the playing gesture. SArt2 requires additional samples and computation which are not implemented in MODX (Montage).

Not so easy are a few of the electric guitar voices. Electric guitar tone depends heavily upon the DSP effect chain. The Genos VintageAmp voice is a good example. It’s a single coil guitar driving the British Legend Clean effect. I couldn’t find a MODX preset to match. However, I quickly cooked up a Performance starting with the TC Clean Pick Performance (a single coil Telecaster). It was a piece of cake to put the British Legend clean effect into the signal chain. Voila — a new sound-alike Performance!

Copyright © 2019 Paul J. Drongowski

Genos/PSR organ registrations

I’m deep in another one of those “cross-platform” projects in which I share voice programming between Yamaha Genos™ and Yamaha MODX. In this case, I’m recreating some of the PSR/Genos “organ flutes” registrations on MODX.

“Organ flutes” is Yamaha-speak for drawbar organ emulation. Genos and S-series PSR arranger workstations implement two kinds of drawbar (Hammond B3) organ voices: normal sample playback voices and organ flutes voices. The organ flutes have their own drawbar user interface where the user can move virtual footage drawbars, including percussion. Organ flutes voices make use of a rotary speaker DSP effect while sample playback organ voices may have the rotary effect sampled-in instead of using a DSP effect. The chief disadvantage of sampled-in is the inability to smoothly change rotary speaker speeds (i.e., ramp up or ramp down between speeds). The abrupt speed change is very unrealistic. Of course, you can’t change the drawbar setting of a sampled-in voice either.

Everyone loves new organ registrations, so here is my go-to table of Yamaha presets. Vibrato is OFF in all cases.

Preset         Drawbars     VOL  RESP  4' 2 2/3'  2' LENG  Rotary effect
-------------- -----------  ---  ---- --- ------ --- ----  -------------
OrganFlutes    78 6600 000   8     0   8     0    0    6   DUAL ROT BRT
USDSmile       87 4323 468   8     0   0     0    0    0   DUAL ROT BRT
ReggaeBars     70 0000 008   8     0   0     0    0    0   DUAL ROT BRT
WarmTheatre    80 0605 000   8     0   0     0    0    0   DUAL ROT WRM
OrganPops      70 8000 000   8     0   8     0    0    8   DUAL ROT BRT
RockOrgan      65 5444 644   8     0   0     0    0    0   DUAL ROT BRT
SoulPercussion 70 0000 530   8     0   0     7    0    0   DUAL ROT BRT
GospelTruth    87 6000 568   8     0   0     0    0    0   DUAL ROT BRT
PadOrgan       00 8520 000   8     0   0     0    0    0   DUAL ROT WRM
FullOrgan      88 7677 788   8     0   0     0    0    0   DUAL ROT BRT

StringBars     48 0787 532   8     0   0     0    0    0   DUAL ROT BRT
LatinSpin      70 0003 443   8     0   0     0    0    0   DUAL ROT BRT
ShadyBars      68 8600 000   8     0   0     0    0    7   DUAL ROT BRT
FunkOrgan      83 5035 788   8     0   0     0    0    7   DUAL ROT BRT
BalladOrgan    86 7300 000   8     0   0     0    0    7   DUAL ROT WRM
RichBars       63 8457 530   8     0   0     0    0    0   DUAL ROT BRT
TrumpetBars    06 0786 540   8     0   0     0    0    0   DUAL ROT BRT
SoulBars       80 0050 578   8     0   0     0    0    0   DUAL ROT BRT
ClariBars      08 0080 760   8     0   0     0    0    0   DUAL ROT BRT
JazzSquabble   80 0008 888   8     0   0     0    0    0   DUAL ROT BRT

These are the registrations for Yamaha’s preset organ flutes voices.

The RESP, 4′, 2 2/3′, 2′ and LENG columns control envelope and percussion. The manual describes these parameters in the following way:

  • Response (RESP): Affects both the attack and release portion of the sound, increasing or decreasing the response time of the initial swell and release, based on the Footage controls. The higher the value, the slower the swell and release.
  • 4′, 2 2/3′, 2′: 4′ is second harmonic percussion level and 2 2/3′ is third harmonic percussion level.
  • Length (LENG): Controls the length of the percussion sound.

There is also an Attack switch to apply percussion to the first note or each note. For realism, I apply first note. Always.

The registrations above use the older rotary speaker effect algorithm which had two PSR/Genos presets: DUAL ROTARY BRIGHT and DUAL ROTARY WARM. I recommend trying the “new” rotary speaker algorithm if you got it (Montage, MODX, Genos).

Here are a few bonus registrations, just for grins:

Preset      Drawbars     VOL  RESP   4'  2 2/3'   2'  LENG  Rotary effect
----------- -----------  ---  ----  ---  ------  ---  ----  -------------
SmithPlus   88 8800 000   8     3    0      4     0     0   DUAL ROT WRM
Simmerin    83 0000 378   8     0    0      0     0     0   DUAL ROT WRM
MellowDee   80 4600 000   8     4    0      0     0     0   DUAL ROT BRT
Shoutin     66 8848 588   8     4    0      0     0     0   DUAL ROT WRM
WhistleStop 88 8000 008   8     3    0      0     0     0   DUAL ROT WRM
WhiterShade 68 8600 000   8     0    4      0     0     8   DUAL ROT WRM

If you want to ditch the sampled-in voices and use organ flutes instead, many of the Yamaha organ flutes presets are equivalent to a sampled-in voice. You just need to decode the names: WhiterBars → ShadyBars, Curved Bars → USDSmile, GospelOrgan (Legacy) → GospelTruth, etc. Save the registrations as Genos or PSR USER voices and use them in place of the sampled-in voices. Then, enjoy the rotary speaker ramp up and down!

Copyright © 2019 Paul J. Drongowski

Yamaha MODX gospel organ

I’ve been woodshedding an up-beat gospel tune, “Stop By, Lord” by Doris Wesley Bettis. It needs a brighter B3 registration than my typical church registrations. So, I turned to Genos™ for inspiration.

Two Genos voices stood out: GospelOrgan and UpsideDownSmile. They are similar and the drawbar settings form an arching curve (i.e., the upside down smile). Here are the registrations:

Genos GospelOrgan

     16   5 1/3  8    4   2 2/3   2   1 3/5  1 1/3   1   Perc
    ----  ----- ---  ---  -----  ---  -----  -----  ---  ----
      8     7    6    0     0     0     3      4     5    No

Genos UpsideDownSmile

     16   5 1/3  8    4   2 2/3   2   1 3/5  1 1/3   1   Perc
    ----  ----- ---  ---  -----  ---  -----  -----  ---  ----
      8     7    4    3     2     3     4      6     7    No

The UpsideDownSmile voice is at essence a brighter version of the GospelOrgan voice.

We need to translate the drawbar registrations (range [0:8]) into MODX Element levels (range [0:127]). The MODX factory patches use a range from 0 to 104. My own patches are using the range 0 to 127. Below is a table mapping each drawbar setting to the equivalent MODX Element level:

    1 * 13 =  13   1 * 16 =  16
    2 * 13 =  26   2 * 16 =  32
    3 * 13 =  39   3 * 16 =  48
    4 * 13 =  52   4 * 16 =  64
    5 * 13 =  65   5 * 16 =  80
    6 * 13 =  78   6 * 16 =  96
    7 * 13 =  91   7 * 16 = 112
    8 * 13 = 104   8 * 16 = 128

Take your pick: soft or hot.

I decided to implement each voice in its own MODX Part. Thus, we need to drop one of the drawbar harmonics in order to shoe horn the registration into eight Elements, the maximum number of individual elemental tones per Part. (Each Element is a drawbar footage.) A quick experiment on Genos found that I could drop the 2 2/3′ bar from the registrations without much sonic effect. It was pretty much buried in the harmonic mix.

The next table shows the Element levels for each MODX Performance.

Genos GospelOrgan

     16   5 1/3  8    4   2 2/3   2   1 3/5  1 1/3   1 
    ----  ----- ---  ---  -----  ---  -----  -----  ---
    104     91   78    0     0     0    39     52    65
    127    112   96    0     0     0    48     64    80

Genos UpsideDownSmile

     16   5 1/3  8    4   2 2/3   2   1 3/5  1 1/3   1 
    ----  ----- ---  ---  -----  ---  -----  -----  ---
    104     91   52   39    26    39    52     78    91
    127    112   64   48    32    48    64     96   112

The upper row in each case contains the Element levels over the range [0:104]. The lower row shows the Element levels over the range [0:127].

Starting with one of my church Performances, I created a three Part MODX Performance. There is one Part for the GospelOrgan setting and one Part for the UpsideDownSmile setting. The third part handles rotor noise, etc. I programmed two Scenes, one for each registration setting. Scene 1 mutes the UpsideDownSmile Part and Scene 2 mutes the GospelOrgan Part. Thus, I can switch between registrations by switching between Scenes. [In my next experiment, I’m going to try the SuperKnob to morph between registrations.]

Next up is the rotary speaker effect. Genos applies the REAL ROTARY effect:

                            USD Smile   Gospel
                            ---------   ------
    Drive                   2.5         4.0
    Tone                    8.5         10.0
    Low/High Balance        L<H1        L<H9
    Output Level            100         100
    Mic L-R Angle           180deg      120deg
    Input Level             +6dB        +6dB
    Modulation Intensity    63          63
    Slow-Fast Time of Horn  1.13        1.13
    Fast-Slow Time of Horn  0.97        0.97
    Woofer Speed Slow       43.5 RPM    43.5 RPM
    Horn Speed Slow         47.3 RPM    47.3 RPM
    Woofer Speed Fast       403.7 RPM   403.7 RPM
    Horn Speed Fast         464.3 RPM   464.3 RPM

REAL ROTARY is the “new” rotary speaker effect added in Montage. On MODX, this effect is called “Rotary Speaker 2”. The Tone parameter seems to function like a high-cut filter, BTW.

I prefer to slow the horn and rotor (woofer) down. Here is my LeslieChurch USER EFFECT preset on Genos:

    Woofer Speed Slow         40.2 RPM   0.67Hz
    Horn Speed Slow           48.0 RPM   0.80Hz
    Woofer Speed Fast         343.2 RPM  5.72Hz
    Horn Speed Fast           403.8 RPM  6.73Hz
    Slow-Fast Time of Woofer  47
    Slow-Fast Time of Horn    20
    Drive Low                 17
    Drive High                42
    Low/High Balance          L=H
    EQ Low Frequency          100Hz
    EQ Low Gain               -2dB
    EQ High Frequency         14kHz
    EQ High Gain              -12dB
    Mic L-R Angle             162deg

When moving between MODX and Genos, be prepared to convert RPM to Hertz and vice versa! Divide RPMs by 60 to get Hertz.

To complete the picture, let’s take a look at the MODX Rotary Speaker 2 presets. The MODX (Montage) has five presets:

  • Clean and Wide
  • Vintage Mono
  • Slow and Dirty
  • Full Drive
  • Broken Motors

The following table shows the parameter values for each preset.

                       Clean     Vint Mono  Slow Dirt  Full Dr  Broken
                       --------  ---------  ---------  -------  ------
Drive                  0.0       1.9        4.6        10.0     1.9
Tone                   6.0       4.4        5.4        8.0      7.5
Low/High Balance       R=H       R=H        R7>H       R=H      R<H11
Output Level           111       111        111        111      111
Mic L-R Angle          180deg    0deg       90deg      120deg   180deg
Input Level            +1.5dB    +1.5dB     +1.5dB     +1.5dB   +1.5dB
Modulation Intensity   63        20         25         19       63
Slow-Fast Time Horn    0.95      0.78       0.98       0.98     0.95
Fast-Slow Time Horn    0.92      0.78       0.92       0.92     0.92
Horn Speed Slow        42.3rpm   40.4       33.4       42.3     59.9
Horn Speed Fast        398.7rpm  403.7      398.7      398.7    270.0
Slow-Fast Time Woofer  1.22      1.43       1.38       1.21     1.33
Fast-Slow Time Woofer  1.86      1.78       1.87       1.87     2.00
Woofer Speed Slow      40.1rpm   39.4       30.6       40.1     22.7
Woofer Speed Fast      323.0rpm  338.1      323.0      323.0    254.9

If you have a Genos, you might want to give these a spin. As of Genos update v1.3, it isn’t possible to set the Slow-Fast and Fast-Slow times for the woofer. I hope that Yamaha fix this oversight.

With respect to the gospel organ Performance, I started with the “Clean and Wide” preset values, then dialed in a few tweaks.

Changing the effect algorithm affected the rotary speaker speed control routing. I needed to drop into the Part Common Mod/Control parameters to select the Mod Wheel source and to set its destination to “InsA SpdCtrl”. (Insert A is the rotary speaker effect algorithm.)

If you’re looking for a gospel organ sound on MODX (Montage), I hope this information will help you out.

Copyright © 2019 Paul J. Drongowski

Winter NAMM 2019: Random Youtube videos

I’m going to post a random selection of Youtube videos here as I stumble into them.

First up are a couple of Yamaha Sonogenic SHS-500. The first video featuring Gabriel Aldort from Yamaha is funny, but shows the essence of the Sonogenic — a fun instrument to play along with tunes. One tidbit — Android support is coming down the line. Does this mean a version of Chord Tracker for Android? Chord Tracker is an important ecosystem cornerstone for several Yamaha digital instruments.

The second Sonogenic video is in Polish. The demonstrator is clearly having fun and there are a few snippets of the instrument sounds. Gratefully, they ducked the vocal and ambient noise during the snippets so you can hear how the SHS-500 really sounds. The drums and eleectric piano aren’t bad.

Everybody’s main man Katsunori UJIIE gives us the run down on the Yamaha MODX synthesizer. Also, check out this blast from the past: UJIIE’s Reface CP demo. Man, that guy is creative! Can’t wait for his demo of the new Yamaha CP73/CP88 digital pianos. It’s no wonder that the street price on the CP and YC have remained firm while the DX and CS are heavily discounted from their initial price. The Reface CP is still a quick and cheap way to get SCM electric pianos (Spectral Component Modeling).

BTW, UJIIE has really mastered those Reface mini keys. I still use the Reface YC at rehearsals. So easy to schlep! I can set up and be ready to go in 60 seconds. Just give me a music stand with the Reface YC across my lap.

On February 12, Frank Ventresca at AudioworksCT hosted a Yamaha Genos™ demonstration and workshop featuring Yamaha Product Specialist Heratch Touresian. (Heratch was assisted by Maio Obregón, Yamaha District Manager.) Frank has posted the video on Youtube. It’s almost three hours long! Thank you Heratch and Frank.

Full disclosure: I purchased an PSR-S950 and Genos from Frank. A great experience both times.

Overall, you get a terrific overview of Genos and current owners will learn new tricks. The last half-hour or so shows off Genos as a songwriting tool. Today’s arrangers — especially Genos — are not your grandfather’s boom-chukka.

If you’re new to Genos, check out my Genos quick start. Also, click on the Genos tag to find all the other Genos-related content on my site.

Copyright © 2019 Paul J. Drongowski

Yamaha piano voice programming

Most of my live playing adds orchestral instruments or B-3 organ to our liturgical church group (synth plus 12-string guitar plus grand piano). Thus, I don’t dip into either acoustic piano or electric piano too often.

Recently, we prepared a number of gospel tunes in honor of Dr. Martin Luther King. Rather than jump to B-3, I decided to practice a few songs on electric piano. The release of the new Yamaha CP73/CP88 was nearly coincident, and naturally, I became curious about the implementation of acoustic and electric piano on MODX, the closest cousin to the CP73/CP88. It also gave me a chance to explore EP on Genos™ and to try using Genos as a controller for MODX.

MODX acoustic pianos

First, a dive into MODX acoustic pianos. Montage and MODX essentially have the same sound engine, modulo differences in polyphony and a few other details that aren’t relevant to this discussion. Therefore, anything I say about MODX should apply to Montage, too.

The basic voice programming unit in MODX is a Performance. A Performance is a versatile “container” for up to 16 Parts. Parts can be split, layered, mixed and so forth. Each Part is itself a powerful programming unit consisting of up to eight Elements, where each Element is a mini, sample-playback synthesizer. (Yeah, yeah, or it could be FM.) That, in a nutshell, is the hierarchical programming breakdown. In Yamaha-speak, each Element plays back a Waveform.

The deal is, contemporary high-quality piano voices need several levels of velocity switching in order to generate the wide dynamic range and timbre of an acoustic or electric piano. These voices are sometimes called “multi-strike” because each note is struck and sampled at several, carefully controlled velocities.

In the Yamaha voice architecture, each strike level is encoded in a Waveform. One Waveform (i.e., the samples associated with a single strike level) is assigned to an Element.

Let’s say that you want to create a highly detailed acoustic piano (e.g., Yamaha CFX) with nine strike levels and key-off sounds. Right away, you need more Elements than a single Part can provide! Thus, Yamaha implement the piano as a Performance consisting of multiple Parts.

Take the Montage/MODX CFX Concert Performance, for example. This Performance consists of four Parts:

Part 1 (six elements)

    El#  Waveform       VLo  VHi  NLo  NHi
    ---  -------------  ---  ---  ---  ---
     1   CFX ppp St       2   25  C-2   G8
     2   CFX pp St       20   35
     3   CFX p St        36   45
     4   CFX mp St       46   59
     5   CFX mf St       60   74
     6   CFX f St        75   92

Part 2  (three elements)

    El#  Waveform       VLo  VHi  NLo  NHi
    ---  -------------  ---  ---  ---  ---
     1   CFX ff St       93  110  C-2   G8
     2   CFX fff St     111  125
     3   CFX ffff St    126  127

Part 3 (eight elements)

    El#  Waveform       VLo  VHi  NLo  NHi
    ---  -------------  ---  ---  ---  ---
     1   CFX pp St        2   35  C-2   G8
     2   CFX p St        36   45
     3   CFX mp St       46   59
     4   CFX mf St       60   74
     5   CFX f St        75   92
     6   CFX ff St       93  110
     7   CFX fff St     111  125
     8   CFX ffff St    126  127

Part 4 (one element, XA control: Key Off)

    El#  Waveform       VLo  VHi  NLo  NHi
    ---  -------------  ---  ---  ---  ---
     1   CFX KeyOff St    1  127  C-2   G5

That’s 18 Elements total. The Elements in Part 3 are a layer on top of the Elements in Parts 1 and 2. The Elements in Part 3 have different filter programming (and maybe something I haven’t discovered yet…)

Perhaps the voice programmer could have squeezed everything into three Parts, but in for a penny, in for a pound. In terms of versatility and re-usability, it makes sense to split the Elements (and their Waveforms) into four Parts.

By the way, the Montage/MODX CFX Concert Performance employes the Damper Resonance DSP effect, which is the same algorithm (effect type) as Genos. Damper Resonance is [u]not[/u] the same as Clavinova’s Virtual Resonance Modeling (VRM). VRM is a step up. This is another topic which comes up frequently in forums.

On the other hand, the single part MODX CFX Stage Performance consists of eight elements:

    El#  Waveform       VLo  VHi  NLo  NHi
    ---  -------------  ---  ---  ---  ---
     1   CFX pp St        2   35  C-2   G5
     2   CFX mp St       36   59  C-2   G5
     3   CFX f St        60   92  C-2   G5
     4   CFX fff St      93  125  C-2   G5
     5   CFX ffff St    126  127  C-2   G5
     6   CFX mf St        2   59  G#5   G8
     7   CFX fff St      60  127  G#5   G8
     8   CFX KeyOff St    1  127  C-2   G5

Please take note of the key ranges. Up to G5, the CFX Stage has five strike levels. Above G5, the CFX Stage is a two strike piano. Good enough for rock and roll.

The Genos voice programming structure is more restricted than MODX. Each Genos voice has eight Elements. Thus, there is a fundamental limit to the number of strikes in a single Genos voice. I wouldn’t be surprised if the Genos CFX Concert Grand voice has similar programming. Proving this hypothesis would require carefully controlled experimentation and A/B listening.

Using Genos as a controller

Genos has a rather nice FSX action keybed which is better suited for acoustic and electric piano than MODX6 or MODX7. A weighted action is even better, of course. [I did rather enjoy playing the MODX8.] I don’t play piano often enough to deal with the extra physical weight of a hammer action keybed. You make your own bed and have to lay it in! With Genos on hand, it’s worth exploiting its FSX action as a controller.

MODX assigns a MIDI channel to each Part. The CFX Concert Performance has four Parts on MIDI channels 1, 2, 3 and 4. [This assignment is sometimes a source of frustration when sequencing with multi-Part Performances, but that’s a topic for another day.]

If we want to use Genos as a controller, we need to know the MIDI transmit channel assignments. By default, the Genos sends RIGHT1, RIGHT2, RIGHT3 and LEFT on MIDI channels 1, 2, 3, and 4 respectively, all on Port1 (AKA “MIDI A”).

First, connect the Genos MIDI A OUT to the MODX MIDI IN using a standard 5-pin DIN MIDI cable. Select the MODX Performance. Next, turn on the Genos Parts (RIGHT1, etc.) which will send MIDI data to the MODX, using the PART ON/OFF buttons in the left right corner of the Genos front panel. Finally, play.

If you get surprised by what you hear, i.e., sounds are missing, then check the Genos MIDI transmit settings and the MODX MIDI receive settings. Use the Transmit Monitor on the Genos side to make sure that you are transmitting on the correct channels via MIDI A (Port 1).

When I connect Genos to MODX, I can the first three MODX Parts in the CFX Grand Performance by sending RIGHT1, RIGHT2 and RIGHT3 on MIDI channels 1, 2 and 3. You get a pretty decent concert grand. You won’t hear any of the key-off sounds because the Genos is not transmitting on channel 4.

MODX electric piano

Let’s take a brief look at one of my favorite MODX Rhodes piano Performances: Case 73 Soft. The Case 73 Soft Performance has two Parts:

Part 1 (eight elements)

    El#  Waveform       VLo  VHi  NLo  NHi
    ---  -------------  ---  ---  ---  ---
     1   Rd73 p           1   49  C-2   G8
     2   Rd73 mp         50   85  C-2   G8
     3   Rd73 mf         86  108  C-2   G8
     4   Rd73 f         109  119  C-2   G8
     5   Rd73 ff        120  127  C-2   G8
     6   Rd73 KeyOff      1  127  C-2   E3
     7   Rd73 KeyOff      1  127   F3   C7
     8   EP2 Hard1+     107  127  C-2   G8

Part 2 (five elements)

    El#  Waveform       VLo  VHi  NLo  NHi
    ---  -------------  ---  ---  ---  ---
     1   Rd KeyNoise p    1   84  C-2   G8
     2   Rd KeyNoise mf  85  116  C-2   G8
     3   Rd KeyNoise f  117  127  C-2   G8
     4   Rd KeyOff mf    86  116  C-2   G8
     5   Rd KeyOff f    117  127  C-2   G8

Part 1 produces the main Rhodes sound while Part 2 adds the key noises. Part 1 is probably good enough by itself for sequencing. Performance Rd73 has similar programming, but adds bark when struck hard.

In order to play this two part MODX Performance from Genos, turn on RIGHT1 and RIGHT2 in order to send MIDI data on Port 1 channels 1 and 2.

Just for grins, here’s the basic programming for the Neo R&B Clean Performance — another favorite.

Part 1 (five elements)

    El#  Waveform       VLo  VHi  NLo  NHi
    ---  -------------  ---  ---  ---  ---
     1   EP3 Soft1        2   80  C-2   G8
     2   EP3 Soft2       81  101  C-2   G8
     3   EP1 Med        102  127   F2   G8
     4   EP3 Hard1      102  127  C-2   E2
     5   EP Key Off       2  127  C-2   G8

Part 2 (five elements)

    El#  Waveform       VLo  VHi  NLo  NHi
    ---  -------------  ---  ---  ---  ---
     1   Rd KeyNoise f  119  127  C-2   G8
     2   Rd KeyNoise mf  76  118  C-2   G8
     3   Rd KeyNoise p    1   75  C-2   G8
     4   Rd KeyOff f    119  127  C-2   G8
     5   Rd KeyOff mf     1  118  C-2   G8

You can see that Part 2 is essentially a ready-made patch for dropping in key noises. I love the shimmering auto-pan coupled with the ensemble detune effect.

Genos commentary

These experiments invite comparison between Genos and MODX, of course.

The featured Genos electric piano is a Rhodes Suitcase. You get the same Rhodes in darker and brighter timbres, and processed by a variety of effects (tremolo, phaser, etc.) You need to dig back into the Legacy EPs to find other Rhodes-like variations. The MODX effects give it the edge over Genos; Montage/MODX allow a longer effects chain. The Genos Suitcase EP is good, but sounds like a one-trick pony after a while. The MODX offers a broader range of Rhodes sounds immediately.

Piano aficionados on the PSR Tutorial Forum sometimes complain about a “lack of depth” in the Genos CFX grand voices. Their complaints may be grounded in fact. A Genos voice is equivalent to an eight Element MODX Part. (Warning, the mix of product terminology may becoming confusing here.) Thus, Genos is limited to the complexity of the single-Part CFX Stage Performance, lacking the “beauty layer” (Part 3) of the CFX Concert Performance. This layer would add depth to the sound as it unrolls dynamically.

Given what we know about the CFX Concert programming, Yamaha could release a full CFX expansion pack for Genos. The full CFX voice would need RIGHT1, RIGHT2 and RIGHT3 to handle all of the extra elements and their layering. Only three parts are needed if the CFX key off waveform is moved to the second part which currently has only three active elements. The Genos player would need to enable RIGHT1, RIGHT2 and RIGHT3 to make all parts active, but this is a small price to pay and could be easily configured into a registration.

Summary

Well, there you have it. I hope that my analysis will help you to understand and better appreciate both MODX and Genos piano voices. The MODX waveform set is quite rich in EP sounds, so get cracking!

Copyright © 2019 Paul J. Drongowski