Yamaha MODX: Inside stuff

Time for a quick look at the MODX internal hardware. I’m going to be brief, so please read my Yamaha Genos articles (main CPU and tone generation) and my Montage internals article for more details and background information.

The MODX main CPU subsystem should look familiar. It is essentially the same as the Montage main CPU subsystem. Again, the Texas Instruments AM3352 Sitara ARM microprocessor is the star, providing many of the important internal device interfaces. The eMMC bulk storage device is still 4GBytes although the MODX eMMC data clock is slightly slower than Montage (48MHz instead of 52MHz). Deja vu all over again.

MODX Main CPU (Click to enlarge)

The MODX is a reduced-spec Montage. Although the MODX has the same waveforms and Performances as Montage, its polyphony is less:

  • AWM2: 128 (maximum; stereo/mono waveforms)
  • FM-X: 64 (maximum)

The keybed is lower quality (semi-weighted vs. FSX) and the MODX front panel is greatly simplified.

Both products employ an MB9AF141NA ARM microcontroller for user interface scanning assisted by an 89FM42AUG logic device (E-GKS) for keybed scanning. User input (e.g., controller messages) are sent to the Master SWP70 tone generator over the EBUS. The EBUS is a low-latency path for controller input and commands, making for a responsive instrument with excellent hand-to-sound connection.

MODX Tone Generation (Click to enlarge)

When we look at the MODX tone generation subsystem, we immediately see why the FM-X spec is lower. The MODX has only one SWP70 tone generator integrated circuit (IC). The Master SWP70 performs both AWM2 and FM-X synthesis. The MODX printed circuit board (PCB) has space and connections for a second SWP70 (in Slave mode), but the real estate is unpopulated (“No Mount”). Yamaha have planned ahead for a future model. They did the same thing with the MOX, BTW, leaving space and connections that were filled in the MOXF.

The extra computational capacity within a single SWP70 is surprising! The Master SWP70 provides 128 channels of AWM2 polyphony and 64 channels of FM-X polyphony. In order to pull off this trick, Yamaha utilize a second dedicated DSP RAM channel and SDRAM. Montage, on the other hand, utilizes only one DSP RAM channel on each SWP70.

Thus, the SWP70 can expand in two different dimensions:

  • DSP RAM (two dedicated channels max) with a corresponding boost in DSP computation, and
  • Wave RAM (two dedicated channels max) with an as-yet unexploited boost in AWM2 synthesis.

MODX illustrates the first case while Montage has an unpopulated position and connections for a second WAVE working memory channel. Your guess is as good as mine as to how Yamaha will expand and exploit these channels in future products.

The MODX serial digital audio bus is a subset of Montage. An SSP2 processor supports audio-over-USB through the USB TO HOST interface, just like Montage. However, the overall spec is substantially reduced. A single DAC drives the MAIN and PHONE outputs. A single ADC encodes incoming stereo audio from the A/D input. The SSP2 does not have a direct channel to an SSP2; the needed logic device is missing from MODX.

In case you’re wondering about serial audio bus clocking, the bus clock is 11.2896MHz. The clock speed is 256 * Fs, where Fs is 44.1kHz. In MODX and Montage engineering-land, this signal is known as M_SYSCLK. Genos engineers refer to this signal as mcasp-256fs. The different terminology doesn’t help comparison across product lines! Bottom line, the master clock is fast enough to support 32-bit 44.1kHz stereo audio. Currently, only the Genos has a 32-bit DAC for its MAIN out, BTW.

Our look inside MODX shows how Yamaha can manufacture the MODX at a lower price point. More significantly, perhaps, is the cost leverage gained by reusing the Montage software and sound content. I think sometimes arguments on the Web play up component cost while neglecting manufacturing, software and sound development costs. I suspect that software and sound development (waveforms, voices, arpeggios, styles, etc.) are a very large fraction of unit cost.

We also caught a glimpse of what’s in store for the future. SWP70 is in early childhood and Yamaha have left room to grow in both the MODX and Montage. In addition to unpopulated PCB sites, Yamaha can build out by using higher capacity NAND flash devices for waveform memory. I’ve said it before — the real limiting factor is Yamaha’s capacity to produce high-quality content — a labor intensive job. Ultimately, the payroll is more important than the cost of commodity NAND flash!

Montage digital audio clocking

I’m still thinking this through…

The Montage USB audio interface supports 44.1kHz, 48kHz and 96kHz sampling frequencies. The number of supported audio channels depends upon the chosen sampling frequency as defined in the specs:

“[Sampling Frequency = 44.1kHz] Input: 6 channels (3 stereo channels), Output: 32 channels (16 stereo channels)

[Sampling Frequency = 44.1kHz – 96kHz] Input: 6 channels (3 stereo channels), Output: 8 channels (4 stereo channels) “

The MODX USB audio interface is strictly 44.1kHz supporting:

“Input: 4 channels (2 stereo channels), Output: 10 channels (5 stereo channels)”

The digital audio bus master clock is a multiple of 44.1kHz, so how does Montage handle 48kHz and 96kHz?

The Montage SSP2 processor handles 44.1kHz, 48kHz, and 96kHz internally. The tone generators, however, are 44.1kHz only. A-ha! That explains the function of Montage’s SRC16 gate array. The gate array is clocked at 49.152MHz, which is a multiple of 48kHz. It converts the sample rates and samples between 48/96kHz and 44.1kHz in DAC-A format (2 channels per line).

The schematic notations on SRC16 match the Montage 48/96kHz spec:

Output: SWP->SRC->SSP2 8 channels (stereo 4 channels)
Input: :SSP2->SRC->SWP 6 channels (stereo 3 channels)

Someday I will explore the Montage/MODX subsystems in more depth.

Copyright © 2019 Paul J. Drongowski
Diagrams are from the MODX Service Manual (copyright Yamaha) .

Update about the updates

Yamaha Genos V2.0 is on the way

Yamaha have updated their short video about the Genos V2.0 update. The release date is now specific: 15 November 2019. There was considerable squabbling on the forums as to what “Winter 2019” meant. I’m glad that Yamaha has put the question to rest.

The other big tidbit from the new video as to do with the “Genos V2.0 Superior Pack.” The new content will include 50 new styles and 68 voices including Super Articulation 2 voices. I’m not a big style hound, but new voices are always welcome! I’ve still got plenty of room in expansion memory and can’t wait for the new content. I’m looking forward to the Chord Looper, too.

[Update] The Yamaha Europe site has further details. The Genos Version 2.0 Superior Pack includes SArt2 Premium voices such as “Pan Flutes,” “Female Vocals,” and “Trombone.” The page shows thumbnails for the Yamaha Musicsoft Premium Expansion Packs of the same name. This might be a little disappointing to users who already own these packs. I have “Female Vocals” already. Of course, that’s just icing and we still need to taste the whole cake.

Improvements have been made to expansion pack installation (Yamaha Expansion Manager). Yamaha have also improved Genos Style Creator, which was looking rather long in the tooth. Other improvements include new portamento functionality, sorting playlists alphabetically, and an increase in the number of USER effects which can be stored.

Additional improvements flash by near the end of the video. (Look for the flying boxes!) Unfortunately, the English is a little rocky and its hard to tell what some of them actually mean! One useful improvement is the addition of USER voices to FAVORITES. (?) I hope they allow USER styles in chord step record because I didn’t see this mentioned.

Yamaha are listening. They cite user feedback as the source for many of these enhancements.

BTW, some folks have noted an increase in the USA Minimum Advertised Price (MAP). Please remember that all dealers cannot publicly advertise below MAP as part of their dealership agreement with Yamaha. That doesn’t mean selling at MAP because that would be illegal price fixing in the USA. If you want a good deal, be sure to call around, especially smaller focused dealerships like Audioworks CT. The large on-line retailers don’t have as much incentive to negotiate or to offer a better price below MAP. Smaller dealerships are often more flexible.

Yamaha MODX update V2.0 is here

Yay! The MODX V2.0 update has dropped! I’m downloading now and will be installing shortly.

Yamaha have posted a new MODX Supplementary Manual and a new MODX Data List PDF in the downloads section of the MODX Web pages. You’ve probably already seen the list of new features as implemented in the most recent Montage update:

  • New effect types have been added: VCM Midi Filter, VCM Mini Booster, Wave Folder.
  • 52 new Performances have been added.
  • The Pattern Sequencer function has been added.
  • You can now play songs, patterns and audio files from the Live Set display.
  • Super Knob Link has been added to the data that is recorded in the Scene function.
  • Keyboard Control has been added to the data that is recorded in the Scene function.
  • Increased the range of the LFO Speed parameter.
  • You can now connect MIDI equipment via the USB TO DEVICE terminal.
  • The Global Micro Tuning settings have been added.
  • The Audition Loop setting has been added.
  • Improvements have been made to the user interface.
  • The sequencer storage capacity (total User Memory) has been increased from about 130,000 to about 520,000 (for Songs) and about 520,000 (for Patterns).

The new Performances are listed on page 17 of the new Data List PDF (version c0). The new Performances are numbered from 2144 to 2195. Laser Trumpet?

Not going to the gym today… 🙂

Installing the MODX V2.0 update

The first thing to note: This is a major update.

I don’t just mean that as a compliment to Yamaha. The software engineers had to touch many, if not all, of the major internal data structures. You must perform a complete back-up before attempting installation as you will need to initialize all data and then reload your back-up file.

Please read the installation directions before starting. The directions clear state that all of User Memory (Library Data, User Data, etc.) will be initialized. Be sure to do a complete back-up following the directions on pages 60-61 of the Owner’s Manual and pages 201-202 of the Reference Manual. You want to write a back-up file, also known as an “ALL file” or “X8A” file by its extension. A back-up file saves the whole shee-bang including your libraries.

Follow the steps in the installation guide. The installation process takes about 4 to 5 minutes. If everything is successful, you will see messages like:

Searching for the updater ... OK

MODX updater 2.00.1

Preparing ... OK (current version 1.10.0)
Updating ... OK
Verifying ... OK
Finish.
Please turn off.

Turn MODX off, remove the USB drive with the updater, and turn MODX on again. Navigate to the System Settings by pressing [UTILITY] > [Settings] > [System]. I pressed the “Initialize All Settings” screen button first and then pressed the “Initialize All Data” button. (Deep breath.) Yamaha’s installation directions should be a little more specific here as to which buttons to press.

The initialization steps will, of course, wipe everything clean. Next, insert the USB drive with your back-up file. Navigate to the load contents page, i.e., [UTILITY] > [Contents] > [Load] and select the “Backup File” content type. Find your back-up file on the USB drive and re-load your content. If all goes well (modulo power failure, cosmic debris, pulsars, etc.), you should be good to go again.

Copyright © 2019 Paul J. Drongowski (excluding excerpts from Yamaha’s announcements)

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

MODX: Quick thoughts

The Yamaha synth folks recently posted an IdeaScale appeal for people willing to participate in a phone interview concerning Montage and synths. Fortunately, I was able to snag an interview slot.

Here’s just a few thoughts that are on my mind. I’m quite happy with both the MODX sound and user interface (UI) although I think there are a few ideas that they could take from the Yamaha Genos™ workstation.

First biggie. Both the Montage/MODX and Genos/PSR instruments would benefit from tighter integration and better direct support from Cubase, and especially, Cubasis. Quite a few users were upset when Yamaha dropped the relatively full featured Motif/MODX sequencer in favor of the Performance Recorder. The likely presumption is that most musicians will use a DAW instead of a built-in sequencer. Well, maybe Yamaha went to far for some users.

I’m not quite so bummed out about the Performance Recorder. But, I often get the impression that Steinberg and Cubase are marching in their own direction. When I spoke with Nithin Cherian at Music Expo Boston, he explained how Yamaha product groups need to come to Steinberg with requests in order to create the overall customer experience with a product. Perhaps it’s a matter of making requests to Steinberg? Yamaha have quite a good asset in Cubase and I’m surprised that it isn’t exploited more strategically across product lines.

Seems like Cubasis (yes, Cubasis) could be an important part of the solution for both synths and arrangers. [The arranger sequencer is showing its age and is sometimes difficult to work with.] Tight coupling with Montage/MODX could eliminate the need for a full-featured built-in sequencer. At the very least, users should be able to select Performances easily and to configure effects from Cubasis. It should be special to use a Yamaha synth or arranger via Cubasis (or Cubase, for that matter). The existing Montage/MODX UI covers much of the same territory as the old Motif/MOX iPad apps and that functionality doesn’t need to be duplicated.

Speaking of iPad (tablet-based) apps, Yamaha app development seems to be stalled. This is just a personal, subjective impression, of course. Mobile Music Sequencer has not been updated for Montage/MODX or Genos, for example. I understand that development resources (e.g., engineers) are limited, so maybe Cubasis is the right platform to invest in going forward?

BTW, when it comes to apps, I feel like there are too many islands and not enough bridges between islands. For example, I should be able to transfer a MIDI file developed in Cubasis to some other app without making a trip through iTunes or Dropbox.

Second biggie. The Montage/MODX Live Set concept, Scenes and Motion Control are wonderful tools for live performance. In a few cases, however, the flow on Genos is smoother than the synths. Here’s an example. Many musicians play in a single or duo with backing tracks. Currently, it takes several steps to select a Performance, load a WAV file, set the audio volume level, and start play back. This is a very streamlined flow on an arranger thanks to the arranger registration concept. I’d love to see Live Set buttons be extended in a similar way. [Arranger registrations get to be a dumping ground for parameters that rightfully belong in a Performance, so a careful separation of concerns/features is appropriate here.] Perhaps Live Set buttons can be extended to remember the path to an audio file on a USB flash drive and the initial volume setting? Then, a user can select a Performance and load an audio file in one button touch.

I prefer WAV audio for backing tracks. For the past 3 to 4 years, I produce the backing track on an arranger and then record (freeze) the track to WAV. It simply is soooooo much easier to massage commercial tracks on an XG-based arranger. Yamaha Musicsoft is my favorite source for commercial tracks.

Here are several smaller suggestions.

  1. The MODX doesn’t have the big bank of front panel selection buttons like Montage. The Live Set buttons are too small and sometimes the touch screen isn’t responsive enough during live performance. I’ve got to switch Performances in a hurry when I play. (Please don’t suggest a foot switch. 🙂 )
  2. The front panel buttons have a nice positive feel. I may experient with Live Set button layout such that I can use cursor buttons to change Performance on the fly.
  3. I compensate for the loss of selection buttons (somewhat) by using Scenes. The sound cuts out when switching scenes. [Maybe this is something I need to fix in my Scene programming.] I would love to have Scene titles (i.e., a text name in a 24-point font) that is displayed on the screen — positive visual feedback that I’ve selected the correct Scene.
  4. The placement of some fields on control assignment pages is confusing. Usually I think of source first sending to a destination. Plus, I always mistake the control filter fields for actual parameter fields.
  5. Control Assign makes it very easy to set up new control relationships. However, it takes a lot of effort to deconstruct (reverse engineer) existing control relationships and edit them.
  6. In Live Set, SHIFT+INC and SHIFT+DEC change the Live Set page. This is a little awkward when making fast changes. Perhaps a way to change the page which doesn’t require SHIFT?

Third biggie. Sound.

Montage/MODX sound quality is excellent. What can be done to make it better?

It would be great if the Montage/MODX adopted Articulation Element Modeling (AKA Super Articulation 2). I realize that it may be difficult to fully edit AEM through the synth UI. Maybe a computer-based application? I love AEM/SArt2 on Genos.

With respect to articulations (and control), here’s two wild ideas:

  1. In addition to assignable buttons for articulation control, add key switching similar to what’s found in VST-land.
  2. Allow user scripting. What else is a synth, but a MIDI controller and a tone generator. Why not make MIDI control programmable through user scripts?

To my ears, Yamaha have clearly invested effort in B-3 organ and rotary speaker emulation. However, musicians on both synth and arranger forums still regard the Neo Instruments Vent II as the “gold standard” for rotary speaker emulation. If the next Montage is to be a clone-killer, it needs to beat the Vent II. [Will Yamaha exploit U.S. Patent 9,899,016?]

I would love to take a MODX Performance and automatically turn it into a Genos voice. Yeah, probably isn’t a problem for the synth people to solve. However, the voice editing in Yamaha Expansion Manager (YEM) really, really lags.

Fourth biggie. Sequencing multi-part Performances via MIDI.

I’m sure you’ve heard this one before. 🙂 I haven’t deep dived MODX sequencing (yet), but I understand there is an issue with sequencing multi-part Performances from a DAW. Perhaps the solution is a map from MIDI channel to one-or-more Parts? This solution breaks the hard binding between MIDI channel and Part.

Final Biggie. People love getting updates! Updates are truly a hit with the user base — including me. 🙂 Social media forums always chatter about the next update and updates are a great way to create continuing interest in Montage/MODX. Please keep the updates coming!

Whew! A longer and discussion than I thought! None-the-less, I really enjoy the MODX. It’s light weight and sound make it a terrific gig machine.

P.S. The last time I participated in an interview, I wrote an MOX retrospective. It describes some of my use cases, flow and general concerns.

MULTI FX: It’s for organ, too!

Every now and again, a question pops up on a forum that is worth reposting here. A member of the YamahaSynth.com MODX forum inquired about distortion effects for drawbar organ.

Yamaha has introduced new DSP effects with every generation of synth and arranger. Unless you don’t have a life (and I resemble that remark), you’re probably not steeped in the history of Yamaha effect algorithms (AKA “effect types”.) Some of the amp simulations (e.g., AMP SIM 1) have been around a loooooong time.

When it comes to distortion or overdrive, I start with the effects added with the Motif XF version 1.5 update:

    US COMBO
    JAZZ COMBO
    US HIGH GAIN
    BRITISH LEAD
    MULTI FX
    SMALL STEREO
    BRITISH COMBO
    BRITISH LEGEND

Of course, you’ll find these effects on Montage and MODX, too. BTW, These same effect types (algorithms) are available on Genos, Tyros 5 and a few other Yamaha arrangers. On arrangers, they are called “Real Distortion.” The arranger presets are voiced differently to fit the needs of arranger styles.

The “All 9 Bars!” Performance insert effects perform distortion and rotary speaker emulation. The effect routing is:

    Insert B --> Insert A

where Insert B is MULTI FX and Insert A is Rotary Speaker 1.

MULTI FX is effectively a chain of guitar pedal effects and is quite versatile. The effect parameters for “All 9 Bars!” are:

    1  Comp. Sustain   2.0
    2  Wah SW          Off
    3  Wah Pedal       0
    4  Dist SW         Clean
    5  Dist Drive      1.8
    6  Dist EQ         Hi Boost
    7  Dist Tone       1.5
    8  Dist Presence   5.0
    9  Output Level    100
   10  --
   11  Speaker Type    Twin
   12  LFO Speed       7.738Hz
   13  Phaser SW       Off
   14  Delay SW        Echo 1 St
   15  Delay Ctrl      40
   16  Delay Time      48

The Compressor Sustain stage is always on. Here, the Wah and Phaser are turned off. So, after the compressor, the rest of the chain applies distortion, amp simulation (Twin) and delay. Arranger people might want to try the MULTI FX with these parameter settings in order to spice up the rather polite drawbar organ voices. Then, crank the parameters!

There’s plenty to tweak here. I recommend reading Phil’s blog covering the new effects in Motif XF version 1.5:

https://yamahasynth.com/blog/exploringmotifxf15guitareffects

If MULTI FX doesn’t get the sound that your looking for, then maybe one of the other “Real Distortion” effects will get the job done.

Copyright © 2018 Paul J. Drongowski

MODX: Sampling Genos pipe organ

Sample Robot for Montage (SRM) is a very useful addition to the Yamaha MODX (Montage) product ecosystem. After my initial start-up experience:

I went on to produce two sampled pipe organ voices: Organ Prinzipal and Organ Pleno.

Prinzipal and Pleno

Anyone who sees a pipe organ — especially a cathedral-sized instrument — is immediately impressed by its large array of pipes. The open metal pipes are the principal pipes which give a pipe organ its distinctive sound. Pipes are arranged in ranks, kind of like the individual drawbars on a Hammond B3 organ (vice versa, really!) Hammond-ites know that the length of a pipe determines its pitch and that each rank has a reference pitch (measured in feet) that specifies the rank’s harmonic character when blended with other ranks.

I generally use pipe organ to lead congregational singing. Conventional wisdom for hymn accompaniment is simple: Use principal pipes with simple, foundational pitch: 8′, 4′ and 2′. Although this sounds plain vanilla, the sound is not cluttered by harmonics that may confuse the congregational ear. This kind of organ registration is often called a “principal chorus.” Due to the deep history of pipe organ in Western Europe, a French, German or Italian name may be used instead, e.g., “Prinzipal.”

Old school players understood the need to built energy and drama during a tune, too. Thus, an organist might add non-fundamental harmonics during the final verse and chorus. Think, Hammand organ “whistle”, 1 3/5′, 1 2/3′, etc. Often, a group of such ranks is brought in, a “mixture.” If the mixture consist of principal pipes, then the resulting registration is called a “full principal chorus.” This registration has many names, too, such as “Organo Pleno” or “Plein Jeu.”

In case you’re wondering, reed stops are rarely used for hymn accompaniment, if ever. Flute pipes are occasionally added for quiet meditative hymns. Principals are the real work horses.

Yamaha Musicsoft offers a terrific PSR expansion pack: Church Organ. Someone put a lot of love and care into this pack! I bought a PSR-S950 based upon the strength of the Church Organ pack. Fortunately, the PSR-S970 version of the pack also loads on Yamaha Genos™ and I’ve been able to take advantage of its sounds for practice and live play.

My goal here is to sample the Organ Prinzipal and Organ Pleno voices on Genos and to use those voices on MODX.

Sample, test, repeat

Sampling with SRM is reasonably straightforward. If you read my previous blog posts, then you already have the general drift. I recommend reading the SRM manual, too.

I liked the sampling strategy and key layout used in the Apple Symphony Orchestra pipe organs and arrived at a planned layout of keybanks:

KB#  Low  High  Center
---  ---  ----  ------
 1    C-2  C#0      C0
 2    D0    E0     D#0
 3    F0    G0     F#0
 4   G#0   A#0      A0
 5    B0   C#1      C1
 6    D1    E1     D#1
 7    F1    G1     F#1
 8   G#1   A#1      A1
 9    B1   C#2      C2
10    D2    E2     D#2
11    F2    G2     F#2
12   G#2   A#2      A2
13    B2   C#3      C3
14    D3    E3     D#3
15    F3    G3     F#3
16   G#3   A#3      A3
17    B3   C#4      C4
18    D4    E4     D#4
19    F4    G4     F#4
20   G#4   A#4      A4
21    B4   C#5      C5
22    D5    E5     D#5
23    F5    G8     F#5

In Sample Robot concepts, this means starting at C0 (MIDI note number 24) and sampling every three semi-tone steps up to C5 (MIDI note number 84). With the exception of the lowest and highest note, a sample is never transposed (pitch shifted) more than a single semi-tone. I also liked the long sample time in the Apple approach and settled on a 12 second capture time plus 0.5 seconds release (12.5 seconds total of capture). I didn’t use the release samples, but I wanted to see and hear them as a learning experience.

If you change the MIDI note range or step number in SRM, be sure to click the Step button! I got hung up and couldn’t figure out why SRM didn’t “see” new note range limits. This really should be mentioned prominently in the SRM manual. I assumed that SRM would simply take what it was given…

These basic sampling parameters can be set using the SRM project wizard. Or, you can set them individually on the various property tabs. I went through the wizard first, then fine tuned individual parameters later.

The virtual keyboard at the bottom of the screen shows the notes to be sampled (black and white) and the notes for which samples have been taken (notes with a blue square). The dark grey notes are not sampled. [Click on images to enlarge.]

Before going further, I must state that I made several attempts at sampling each voice. I decided to retain the volume differences (level nuances) across the multisample. I turned Auto-gain OFF and set the audio input level manually. Thanks to the waveform display, I could find any obviously clipped sample. I also did a spot check of questionable samples in Sound Forge Studio. I eventually arrived at a set of samples for each voice in which one (or a few samples) were max’ed and the rest of the samples in the set fell in line as synthesized by Genos. I believe this strategy preserved the natural levels across the pipe organ key range.

Loop quality

I let SRM do the looping. I know from experience that looping pipe organ samples is not easy and is very time consuming. Plus, I wanted to see how well SRM would do.

The Display buttons below the waveform pane control waveform annotations. Enable the Loop button and SRM shows the loop in (start) and loop out (end) points for a sample. I used the default cross-fade loop settings as shown in the screenshot.

SRM’s loops sound decent. There are a few samples where a bit of a surge could be heard, but no obvious bumps or clicks. SRM’s loops are shorter than the Apple loops and that is a little disappointing. However, there aren’t any short cycle loops that lose the dynamic timbral quality of a pipe organ. I think they are all useable as they are without any manual tweaking. My opinion is based upon what I auditioned in SRM and what I heard at the MODX keyboard itself.

Normalization and gain change

Really good thinking went into this part of SRM. SRM gives you several options for normalizing or applying a gain factor across one or all of the samples in a project. (Please see the manual for details.)

Normalization works as expected. It applies a gain factor that brings up the an entire sample such that the peak is 0dB or a custom peak level which you set.

Gain change is just what I needed for this project. I wanted to maintain the relative difference in level between samples — just make everything uniformly louder without introducing clipping distortion. In order to do this, I needed to know the highest dB level for a group of samples then apply a gain factor everywhere to pull all samples up. SRM provides a few different options for finding the overall peak level, e.g., “Find highest dB Level in selected Project”. Suggested improvement to SRM: After analyzing the samples, SRM should display the peak level for each sample in the property pane along with the sample’s other properties.

I like the option “Warn if clipping will occur.” Features like normalization and gain change would make SRM quite useful and necessary even when starting out with old samples borrowed from a VST software instrument. 🙂

Export and import

I exported each voice as a Montage LIBRARY file (X7L) and loaded each LIBRARY file into MODX. One nice MODX feature is the ability to audition Performances in a Library. This is a quick way to sanity check new waveforms (and underlying samples) on MODX.

There were several iterations at this stage, too. It took a few iterations to get the desired key range for sampling. The initial key range was one octave too high. I like to have three octaves in the left hand and two octaves in the right hand for hymn accompaniment as I’m faking organ pedals in the left hand. I used MIDI OX to check the high and low MIDI note numbers, then I reset the lower and upper note sampling limits in SRM.

Thankfully, any and all iterations are fast. SRM can sample the entire key range in about 5 to 6 minutes with the chosen capture time for each sample (12.5 seconds). This is welcome and needed time to get a cup and give my ears a rest!

Finishing and sanding

The new waveform needs to be incorporated into a finished MODX Performance because the SRM-generated Performance in the Library file is very, very basic. (Actually basic is a good thing for quality assurance and auditioning.)

In one of my earlier experiments, I had fashioned a pipe organ Performance (Plein Jeu). I repurposed the Performance even though I had long since blown away the Plein Jeu waveform.

My process has (roughly) the following steps:

  1. Load the LIBRARY file generated by SRM.
  2. Audition the generated Performance in the Library.
  3. Import the generated Performance and its waveform into USER memory.
  4. Select and edit an existing Performance, hopefully one which is close to the desired result.
  5. Save the new Performance under a new name.
  6. Edit the effects or any other Performance Common parameters.
  7. Edit the Part information within the Performance.
  8. Edit the elements in the new Performance to use the new waveform.
  9. Edit the new waveform to change its name (category and subcategory), to extend the lower note limit of the lowest key bank, and to extend the upper note limit of the highest key bank.
  10. Make any other necessary tweaks to the new waveform.
  11. Make tweaks to the Element programming or effects.
  12. Save the new Performance.

Clearly, prior experience with Performance and Part editing is a real plus at this stage. Ramp up slowly! Gain experience. Rome wasn’t built in a day.

OK, get ready for TMI. When you load a library, MODX seems to load incoming waveforms into wave memory on a contingency basis. This is why you can audition new Performance waveforms in a library. You can even make a contingent waveform part of a USER Performance. If you haven’t explicitly imported the Library Performance and its (contingent) waveform from the Library and you delete the Library, kiss the waveform good-bye; it’s deleted, too.

When you’re ready to commit to a new waveform, you must explicitly import the parent Performance and the new waveform within to USER Memory via the Data Utility.

A few comments for the developers

Nice work! Here are a few refinements.

Please add the ability to directly monitor the incoming sample stream. It would greatly aid set up and we can listen for audible clipping distortion when setting levels.

Display the peak level in sample properties. This will make it easy to find samples which are (potentially) clipped.

The Project Datapath in the Preferences dialog does not seem to apply everywhere and it isn’t persistent i.e., it is reset to the path “C\Users\xxx\Documents\SKYLIFE\SampleRobot6\Data.” This file path should be used consistently.

A native English speaker should take a quick pass through the manual, which is already pretty darned good. There are occasional spelling and simple grammatical errors (e.g., possessive versus plural). The same reviewer should check the application for spelling errors; there are misspelled words.

The manual should inform the user to press the Step button after changing the MIDI note limits for sampling.

What’s next?

When I A/B’ed the expansion pack organs against the Apple Symphony Orchestra pipe organ, I had to give the quality edge to Apple. I’ve already snagged another voice from the Symphony Orchestra Jam Pack. At the very least, I’ll use Sample Robot for Montage to change gain, to layout the key banks and to generate a Montage LIBRARY file. It shines at these operations and really speeds up the work.

Copyright © 2018 Paul J. Drongowski

MODX: Going to the library

After resolving yesterday’s Sample Robot teething issues, I pulled together two new sampled pipe organ voices. Each voice is stored into its own MODX Library file as exported by Sample Robot for Montage (SRM).

At this point, I realized that libraries and voices are going to stack up quickly. So, I dipped into a few on-line resources:

Essentially, a MODX (or Montage) Library is a way to bundle up related Performances, waveforms, arpeggios and other data into a single package. Bundling makes it easy to save, distribute, and load Performance-related data.

Page 23 of the MODX Reference Manual contains a diagram depicting the contents of USER Memory and the relationship of USER Memory to USB flash drive file types like USER files and LIBRARY files. This diagram and its accompanying text is meaningful to engineers, but is somewhat confusing to a regular user who wants to get a job done! Diagram aside, it’s worth noting that there are two main file types that are important to our data management: USER files and LIBRARY files. Each file type has its own file name extension:

                  Montage  MODX
                  -------  ----
    USER file        .X7U  .X8U
    LIBRARY file     .X7L  .X8L

Yamaha have continued their practice of bumping the file format version number with each new generation of synth. Thus, the MODX USER file extension is “.X8U” versus Montage’s “.X7U”. I won’t distract you with compatibility details except to note that MODX can load Montage USER and LIBRARY files. Good thing since Sample Robot exports Montage USER and LIBRARY files (.X7U and .X7L).

There are two primary file operations:

    LOAD: [UTILITY] → [Contents] → [Load]
    STORE/SAVE: Press [STORE] button, or 
                [UTILITY] → [Contents] → [Store/Save]

I think of USER Memory as working storage that holds my most frequently used Performances (and other stuff). It’s important to stay backed up, especially when working with a new keyboard. I back up daily, writing USER memory to a USER file. It’s not that the data is so important — I can’t afford lost time. Lost data is lost time.

A USER file contains:

    User Performance (640 max)
    User Arpeggio (256 max)
    User Motion Sequence
    User Curve
    User Live Set
    User Micro Tuning
    User Waveform
    Utility Settings
    Quick Setup
    User Audition Phrase

That’s pretty much the whole ball of wax from USER Memory — a complete snapshot.

A LIBRARY file is similar to a USER file. A LIBRARY file contains:

    Performance (640 max)
    Arpeggio (256 max)
    Motion Sequence
    Curve
    Live Set
    Micro Tuning
    Waveform
    Audition Phrase

A Library doesn’t contain Utility Settings or Quick Setup data. You wouldn’t want a Library to disturb these settings when it’s loaded.

What’s a little confusing about the USER Memory diagram is that it shows (eight) Libraries as part of USER Memory. Maybe it’s better to think of USER Memory as “Internal Memory”. By the way, some writers refer to this memory as “read only,” kind of, sort of. The correct term is “non-volatile,” i.e., memory contents aren’t lost when power is turned off. This terminology gets around writer-ly semantic problems. Internal memory can be read and written. It just doesn’t lose its mind when power is removed.

A LIBRARY file, since it’s a file, can be loaded and saved. During a load operation, the contents of a library is written (stored) into one of the eight available library slots in USER Memory. The contents of the USER Performances, etc. in USER Memory are not over-written. From my point of view, this is great because I don’t want anything messing with my work! We can, however, save User data to a LIBRARY file.

The final piece of the puzzle is how to bring selected pieces of a memory-resident Library into USER Memory. That’s where Library import comes into play:

    [UTILITY] → [Contents] → [Library Import]

The Import to User Bank operation:

Copies the selected Performance in the User Bank. User Waveforms and User Arpeggio which are used in the selected Performance are copied to the User Bank as well. This button is displayed only when any of the Performances is selected.

Reading this last sentence from the MODX Reference Manual rang a bell in my head.

When I auditioned my first attempt at a pipe organ voice, I loaded the library generated by Sample Robot, but did not import the Performance. I even created a User Performance that referred to the new waveform and it played perfectly. However, was the new waveform really in USER Memory? No. I deleted the Library from USER Memory and the waveform disappeared, too. The User Performance which once referred to the waveform did not sound anymore. Edit revealed an empty space in the voice Element which once referred to the new waveform.

Actually, this is quite good behavior. In order to quickly audition new waveforms produced by Sample Robot, I just need to load the Library file with the new waveform. If I don’t like the sound, I can easily destroy the evidence by deleting the library from its slot in USER Memory. If I like the sound, then I can import the performance from the library to the USER Bank and build on top of the new waveform.

I’m glad that I undertook this experiment before going further. I want to keep the Principal 8′, 4′, 2′ waveform and Performance, and I want to audition any new waveforms without disturbing my earlier work. With load, save and import in mind, I think I see the way forward.

Copyright © 2018 Paul J. Drongowski

Here are a few helpful notes from the YamahaSynth.com site. Special thanks for to Phil Clendeninn and Jason!

A Library file can be loaded without overwriting your USER AREA. A Library file can install data into one of eight LIBRARY locations in your Montage/MODX.

When you place something in a Library location it’s there with everything it needs to be played (just like your Preset data always has everything it needs). But, you can rewrite this, later, if you change your mind or wish to add to it!

To create a LIBRARY you must assemble what you wish to place in that Library into your USER area. From the USER area you can SAVE as a “Library File” — this creates a .X7L file on your USB stick. Once you have that file, you can then install it to one of 8 Library locations.

You can then audition the sounds, decide which ones you think are “keepers”. The ones you want to keep you can IMPORT to USER. Why would you want to import them into USER? Because you assemble the data that you want to keep and then create your own custom library.

You can delete unwanted Libraries by entering the Library folder, select an item, tap “Delete”.

You can assemble data from a Library by using the “Import Library” function (Montage version 1.10 and later): UTILITY → Contents → Library Import

Each library can only be changed in its entirety. You cannot delete individual performances within a library – you can only delete the
entire library. You cannot add one Performance to an existing library. Libraries can only be installed, deleted, or created. Libraries cannot be edited on MODX.

The Library Banks contain the Performances you have added as Libraries. The Library Banks are initially empty. (A Library can be added by importing a library file.)

  1. Install library to a library slot (the one you want to add to)
  2. Backup then clear the user area so it is empty
  3. Create the one user Performance you want to add to the library (eventually) in the user area. The user area now has one Performance you want to add to the installed library.
  4. Import the entire Library you installed in step 1 to the user area. The act of “import” does not overwrite the user area. It will make sure all necessary content in the library, including custom waveforms, are copied (imported) into the user area.
  5. Create a new library from the user area. This new library will be the original one plus the one (in this example) user Performance you wanted to add.
  6. Delete the previous library
  7. Install the new library

Sample Robot: Quick feedback

I’m deep into the next phase of my experiments with SKYLIFE Sample Robot — automatically sampling a pipe organ voice from Yamaha Genos™

Two mundane, yet important observations:

  • The license allows up to 3 simultaneous installs — quite generous.
  • Sample Robot is 64-bit only. (?)

I intended to install Sample Robot on my “upstairs” PC. The upstairs PC is equipped with a basic analog-to-digital converter (ADC) and digital-to-analog converter (DAC), a Behringer UCA202. Yes, I know, it’s kind of low-brow, but I don’t do enough sampling, etc. to splash out for an expensive converter. The upstairs rig is always ready to go, including its E-MU MIDI2x2 interface. It all sits right next to Genos. A quick cable up and we should be ready.

Or not. The upstairs PC runs Windows 7 32-bit. The copy of Sample Robot which Yamaha Musicsoft dealt to me insists on 64-bit Windows 7. BTW, I couldn’t find this requirement (or any detailed platform requirements) on the Sample Robot web site or in the Sample Robot manual. I think it’s 64-bits or the highway…

“If the mountain will not come to Muhammad, then Muhammad must go to the mountain.” Drag Genos, UCA202, and a handful of cables downstairs to Windows 7 64-bit and Sample Robot.

With everything moved and cabled, it’s finally time to fire up Sample Robot. Thank goodness for its start-up wizard because it definitely takes you through every essential setting which must be made. The wizard leads up to its final screen which has a button to start sampling. Great. except what about setting levels?

Here the road gets a bit rough. First, I noticed that Sample Robots meter is twitching as though it’s getting schmutz on the audio input or at least a dirty sample stream from the UCA202 ADC. I’ll be darned if I can find a way to monitor the incoming sample stream through the box, i.e., route the incoming stream to Sample Robot’s audio output in order to hear incoming audio on the monitors.

Worse, I didn’t even know that Genos was playing the wrong voice! Genos has two 5-pin MIDI ports: Port A IN/OUT and Port B IN/OUT. By default, Port A is associated with the SONG channels and Port B is associated with the keyboard (tone generator) itself. I needed port B, and of course, was plugged into Port A.

How did I work through these issues? First, I turned off Sample Robot’s Auto-gain feature. “Use the Force, Luke.” I feel much better hitting the ADC with a known sensible level for starters. I can always enable Auto-gain later on.

Next, I had to get some aural feedback. I reduced the amount of time each sample is taken to two seconds. With such a short time, I could quickly capture half-a-dozen samples, stop capture, and playback each individual sample for quality assurance. This is how I finally discovered the Port A/Port B wrong voice problem.

With Genos properly configured, I started to hear pipe organ instead of cheesy GM piano. This afternoon, I intend to capture a full set of short samples and QA them before acquiring full length (12 second) samples and looping them. Better to wait 60 seconds instead of six minutes; shorten that feedback loop!

Now, I think I can move ahead. But, please, oh please, where is the Monitor function in Sample Robot? To its credit, Sample Robot does what it says on the tin (modulo 64-bitness). More to come.