Like “CK61β’” and “CK88β’”, the primary class is “Musical Instruments” and the trademark registration is “intended to cover the categories of musical instruments, namely, electronic musical keyboards, electronic pianos, music synthesizers.”
Although Yamaha submitted a drawing (below), the “mark is presented in standard character format without claim to any particular font style, size or color.” So, keep your fingers offa those characters! π
Update: Yamaha have filed for a stylized (figurative) trademark in the European Union. See image below.
Of course, everyone is deconstructing the proposed mark. “AN” is known as Yamaha’s Analog Physical Modeling Synthesis as embodied in products like the AN200 Desktop Control Synthesizer. I’ve still got my AN200 and it’s a keeper. The AN200 consists of an SWX00B host processor and a PLG150-AN daugherboard. The PLG150-AN itself has a Renesas H8/300H 16-bit microcontroller and two Yamaha custom integrated circuits: VOP3 and MDSP. The custom circuits implement the VA synthesis and digital effects.
It’s worth mentioning that VOP3 appears in the Yamaha FS1r — the inspiration for today’s FM-X. The FS1r does both 8-op FM and Formant Shaping Synthesis. Internally, two custom FS1-AB integrated circuits perform FM and formant shaping synthesis. Two VOP3 integrated circuits implement the filters (the first VOP3) and effects (the second VOP3).
Yep, I’ve mused about adding VA synthesis to Montage before and was skeptical about adding it to the existing SWP70-based Montage pipeline. I remain doubtful about adding VA synthesis to the existing Montage/MODX platform.
It’s worth noting, again, that Yamaha have never published nor described the actual data processing pipeline and signal paths within the SWP70 tone generator. I don’t have any formal relationship with Yamaha nor does Yamaha engineering ring me up regarding the internal details of their tone generation hardware. π Do I have a right to change my mind in light of new information and analysis? Yes. Do I hope for a surprise from Yamaha? Yes.
The question is whether the SWP70 is capable of subsuming VOP3-like DSP functionality for VA synthesis. It’s how the YC series implements its Virtual Circuitry Modeling (VCM) organ engine. Clearly, if you can model drawbars, you can model an analog oscillator. Lest anyone forget, the Montage V3.0 upgrade (MODX V2.0) added the VCM Mini Filter, VCM Mini Booster and Wave Folder DSP effects.
As to filtering, what is a hardware or software digital filter other than a mathematical model of an analog filter — even if its cold and heartless? What is a digital amplitude envelope other than a model of an analog envelope generator and VCA? Distinction due to implementation technology is nearly moot; it comes down to the characteristics of the particular models.
What does all this portend for the future? If I were Yamaha and I could add VA to the Montage (MODX) platform, I would sell it as an upgrade. Many people want VA on Montage and there is money to be made.
I’m willing to go a step further. Yamaha could and should offer a VCM organ upgrade, too. The SWP70 can support it. I’ll put money where my mouth is — I will pay real money for a YC upgrade on MODX (Montage). BTW, there’s no technical reason to not offer the FM-based YC organs on MODX/Montage already — it’s FM-X, after all.
Contemporary workstation instruments offer several options for combo organ emulation. Every workstation has at least a few internal combo organ waveforms. Korg Kronos, for example, has two Vox organ waves built in. Even the lowly Korg microKorg XL+ has two Vox waveforms (DWGS single cycle).
Yamaha MODX and Montage — my focus in this article — have a good variety of Vox and Farfisa waveforms. Yamaha Genos has a lesser endowment as we’ll see. Yamaha Reface YC shares sonic DNA (AWM2 and effects) with the Motif XF and will be the subject of a future post.
Motif, Motif ES and Motif XS
Models in the early Motif series primarily base combo organ patches on two waveforms:
Portable Electronic: Vox-y tone
Compact Electronic: Farf-y tone
You can hear these waveforms at work in the Tiny Combo Bars 1 performance and the Tiny Combo Bar 2 performance. The patches layer three are more elements playing Portable Electronic or Compact Electronic (respectively). Each element is filtered differently: low pass, band pass and high pass. The net effect is like several distinctive tab stops or drawbars pulled at once.
These waveforms are very old, going back to the original Motif (maybe S80) in the early 2000s. I’ll bet dollars to donuts that the Portable Electronic waveform is the basis for the 60’sOrgan voice (MSB: 0, LSB: 116, PC: 18) in PSR and Tyros keyboards. The 60’sOrgan voice was the sole combo organ mainstay in the arranger line for a loooong time.
Motif XF, Montage, MODX
Motif XF got a big shot of combo juice. Motif XF added several combo organ waveforms:
Fr All Tabs
Fr Bright Boost
Fr Flute
Fr String Lo
Fr String Hi
Fr Trumpet
Fr Piccolo
Fr Pedal
Fr KeyOff
Vx Drawbar1-3
Vx DrawbarIV
Vx KeyOff
The Farfisa (Fr) waveforms support emulation of specific Farfisa features: individual voice tabs (flute, string, trumpet and piccolo), the wicked Bright Boost knee lever, bass keys (pedal), and key off sound. The Fr All Tabs waveform covers one of the most common use cases — all of the tab stops turned on. Subtlety was not a hallmark of sixties combo organ music. π
The Vox (Vx) Vx Drawbar1-3 waveform covers the three Continentel footage drawbars while the mixture drawbar is handled by the Vx DrawbarIV waveform. The Vox waveforms include a Vox key-off noise.
In terms of voice programming, one uses note shift to achieve different footage ranks. Passive filtering is emulated through filter type (low pass, band pass, high pass) and cutoff frequency. Of course, everything can be routed into insert effects for distortion, amp simulation, and other grunge.
Since Montage and MODX inherit all things Motif, these waveforms and the Motif performances are there for you. The Montage and MODX sliders allow control over individual voice elements. For example, choose the Raspy Tabs performance and assign slider control to element level. The Fr Raspy Tabs waveform-to-element assignment is:
El# Waveform KeyLo KeyHi VelLo VelHi Coarse Level Cutoff XA Ctrl --- ------------ ----- ----- ----- ----- ------ ----- ------ ------- 1 Fr String Lo C2 G8 1 127 0 97 255 Normal 2 Fr Trumpet C2 G8 1 127 0 82 255 Normal 3 Fr Flute C2 G8 1 127 24 120 236 Normal 4 Fr Pedal C-2 B1 1 127 0 127 160 Normal 5 Fr String Hi C2 G8 1 127 19 24 236 A.SW2 On 6 Fr KeyOff C2 G8 1 127 6 87 80 Key Off
Different tabs are brought in and out by moving the corresponding slider. Assignable switch 2 turns on additional brightness. The low keyboard octaves play the bass (pedal) tones. Overall, this is a fairly controllable representation of a wheezy Farfisa Compact.
Because the sliders are not discrete, you can probably make up Farfisa tones which aren’t entirely authentic. But, really, should one care? π
Vox performances have similar control-ability. Here is the waveform-to-element assignment in the Vx Full Bars performance:
The first three sliders control the 16′, 8′ and 4′ Vox drawbar settings and the fourth drawbar controls the Mixture (IV) tone. Go ahead, just everything to eleven. π
Montage and MODX FM
But, wait, there’s more! Montage and MODX have two FM combo voices: BOX FM Combo Organ and FM YC Combo Organ. Although these performances don’t sound authentic to my ears, they provide starting points for further programming. I haven’t heard the YC61 as yet, but I wonder if the YC61 combo emulations can be ported to Montage and MODX?
Genos
As I mentioned earlier, the arranger series has been historically short on combo organ sounds, relying on the old 60’sOrgan voice. Wheezy, raspy Farfisa tones are noticably absent. The 60’sOrgan voice sounds like the Portable Electronic waveform on which the Motif 1967 Keys performance is based.
Tyros 4 and Motif XF were introduced at approximately the same time. They certainly were together in the development lab during late 2009. Tyros 4 added four combo organ voices:
60sComboOrgan1: VoxContiComb1_Full_NoVib waveform
60sComboOrgan2: VoxContiComb1_Full_VibOn waveform
60sComboOrgan3: VoxCombi4NoVib waveform
60sComboOrgan4: VoxCombi4NoVib091117 waveform
Voices 1 and 2 capture one Vox Continental drawbar combination (Comb1) and voices 3 and 4 capture a second combination (Combi4).
Voices 1 and 3 are without vibrato. Voices 2 and 4, unfortunately, have an excessive amount of vibrato — almost painfully so. When I use voices 2 and 4 in a MIDI sequence, I dial down the vibrato depth using MIDI CC#77 messages. Vibrato frequency is about 5Hz. I also remove touch sensitivity by setting:
Velocity sensitivity depth to zero, and
Velocity sensitivity offset to 114.
An organ voice should not respond to touch (key velocity) — ever.
PSR, Tyros and Genos players shouldn’t forget the “hidden” Italian 60s organ voice (It60’sOrgan) in the GM2 sound set. On PSR and Tyros, you’ll find It60’sOrgan within the Legacy voices Organ subfolder. On Genos, you need to download GM2 and XG user voices to the USER voice folder. (See this thread in the PSR Tutorial Forum.) Of course, you can select It60’sOrgan from a DAW (MSB: 121, LSB: 2, PC: 17) .
All-in-all, you can get a nice Vox tone out of Genos. Farfisa is still missing in action, tho’. Kind of an odd shortcoming of a keyboard with styles and a user base that want to play popular hits from days past.
In the next post, I’ll compare Reface YC combo organs against Montage/MODX (Motif XF). The result may surprise you.
There’s been an extended discussion in the YamahaSynth.com Montage Forum about the ability to add Virtual Analog (VA) synthesis to the current Montage and MODX platforms. It’s been a good discussion and it encouraged me to jot down a few musings about the hardware support for AWM2 and FM-X.
In case you don’t visit YamahaSynth.com, I reposted my musings here and added a diagram or two.
Before saying anything, I have to emphasize “Speculatively speaking.” With as much invested in AWM2/FM-X and their implementation in silicon, Yamaha have not published about the internal design. This whole discussion — including my own comments — would be on much sounder footing (no pun intended) if the micro-architecture were published. Yamaha are tight-lipped so “Hah!” to us all. π
BTW, we’re lucky that we can speculate at all since Korg, Nord, etc. have largely buttoned up their service manuals.
I’m skeptical
I’m skeptical about adding VA through an update given the current platform because of limitations in the current synthesis pipeline.
Yamaha regard their expertise in large scale integration as a strategically important asset. (Please see their annual financial reports.) The SWP70 is a major investment in the future. It’s a generational step and a design with a long expected life time. A long life is needed in order to recoup Yamaha’s investment. Thus, we haven’t seen all of its potential capabilities as yet.
At some point, the current hardware platforms (Montage and MODX) will limit the features which can be delivered solely through software. That will necessitate a new hardware model in each product line. Speculatively speaking, I’m not sure if the SWP70 is capable of CS-like VA synthesis. The Reface CS (and DX) employ a Yamaha SSP2 (SH-2 CPU core) for synthesis. The mere presence of an SSP2 in the Montage is not significant for VA because it clearly supports UR-like digital audio in the existing design.
Of course, business decisions will take precedence eventually. We all love the free updates and improvements in our instruments. (I certainly do!) Like cellphones, tablets and other high-end electronics which enjoy periodic updates, we will need to buy a new upgraded platform in order to fuel the future. Nobody rides for free forever.
My mental model
I suspect that we nerds (and I mean that as a compliment!) have different architectural models in mind as to the SWP70 internals. One model is the “standard DSP” model — a pipelined single instruction, single data (SISD) CPU. Naturally, there may be enhancements for vector processing instructions and so forth.
An example of such a generic model is the Yamaha SSP2, which consists of an SH-2 DSP core and several effect DSP processors. The SSP2 is the heart of Reface CS with an internal clock of 135.4752MHz (a multiple of 44,100Hz, BTW). Another example would be the DSP56362 in early Nord/Korg modeling keyboards. The Reface CS manages 8 voices of polyphony (using the word “voice” loosely) with the effects handled by the SSP2 effect DSP processors. (The effect DSP processors are mini, small core, reprogrammable processors.)
The architectural model which I think is used in the SWP70 is a SIMD architecture more akin to a GPU. The Montage/MODX DSP RAM and wave work RAM memory clock is 95.9616.MHz, also a multiple of 44,100Hz. The SWP70 pumps out a finished sample every 2,176 memory clock ticks. The internal clock is probably a small multiple (maybe two) of the memory clock. Everything needs to run in a modest power envelope without a heat sink, etc., so it’s not possible to run at GHz rates.
After writing this, I realized that the AWM2/FM-X synthesis core may not have an instruction stream at all. It might be a block of 1 to N dedicated pipelines where each pipeline is, roughly speaking, an AWM voice element.
I image a block of tone generation (TG) cores dedicated to AWM2/FM-X. Part of that “dedication” is a pipeline specifically tailored and tuned to AWM2/FM-X. (I believe this design IP (the basic core design) is re-used in other AWM2 products.) Yamaha are in the AWM2/FM-X business so it makes sense to design hardware specific to these tasks. It’s no simple feat to produce 128 channels of tone generation with low latency and no burps and hiccups.
I don’t know how much flexibility is built into the so-called “oscillator” part of a TG core pipeline. Could Yamaha write a new SIMD program for VA using the existing TG core design? I don’t know and hence, my doubt.
That said, since Yamaha haven’t published a darned thing and my job easier (Hah!), I could be totally wrong. Yamaha are smart engineers, especially at the hardware level.
The choices made for Reface may or may not be revealing. Reface YC/CP use the SWX08 for AWM2/SCM synthesis. The SWX08 — in my imagination — use a similar AWM2 TG core assist. Reface DX/CS use SSP2 and its SH-2 core. Was something missing in the SWX08 TG core which was available later in the advanced SWP70 cores? Did SWP70 become VA capable as well?
Example: Yamaha YMW820
The closest I’ve ever gotten to understanding Yamaha’s approach to AWM2 is by studying the datasheet and MIDI spec for the YMW820 (NSX-1). Admittedly, the YMW820 is a low-end device implementing a large subset of the XG voice architecture with only chorus, reverb and a single variation effect.
The YMW820 has a control CPU (dual issue, 32-bit RISC), mixer hardware, DSP for effects, and a “wavetable synthesis core” (Yamaha’s exact terminology). Both the synthesis core and DSP are controlled by the CPU.
The wavetable synthesis core supports 64 channels (polyphony). The YMW820 has a 2MByte wavetable ROM which presumably contains the General MIDI waveforms. It also has a 3 MByte wave RAM which can be loaded with eVocaloid waveforms or Real Acoustic Sound (Articulation Element Modeling).
The 64 channel synthesis core is drawn as a distinct hardware subsystem from the effects DSP. Each channel is what we consider an element: pitch generator, oscillator, digitally controlled filter (DCF), envelope generator (EG), LFO. I suspect that other AWM2-based products have similar wavetable synthesis cores, including the SWP70. [Click image below to enlarge.]
Of course, the SWP70 synthesis core is the ultimate in the entire AWM2 family. It also has many effect DSPs for system and insertion effects.
Bottom line, Yamaha exploit massive parallelism for AWM2 synthesis where each channel is a wavetable synthesis element. A true DSP processor like the SSP2 is better suited for VA synthesis which is why the SSP2 is deployed in the Reface CS, not an AWM2-oriented SWX processor. (The SWX has an embedded wavetable synthesis core, too.) I believe that Yamaha will need to add another SSP2 (or some such) to the Montage in order to implement VA. There’s a reason why it’s called a “Standard Wave Processor” — it is hardware specifically designed for AMW2, FM-X, AEM, and SCM synthesis. It isn’t a general purpose programmable DSP. Maybe VA can be warped to the existing pipeline(s), maybe not.
BTW, the new VCM MINI FILTER and MINI BOOSTER are DSP effects. The effect DSPs are programmable — the AWM2 channel filters likely are not.
Big DSP vs. little effect DSPs
I tend to think of the internals as a tone generation front end followed by a flock of small DSP units in the mixer/effects back-end. This seems to be the canonical Yamaha pipeline. In Montage/MODX, some of the small DSPs are routed as insert effects and some as system/master effects. (The effect routing in Genos, BTW, is different and probably different in the high-end digital pianos.) I suspect that the data flow is predominantly (solely?) front to back.
I don’t really know if the small effect DSPs are general purpose or not.They are probably small simple cores because an SWP has at least 15 and real estate is limited. (Lower capacity parts like the SWXs and SWLs have far fewer small DSP cores.) A small core may not have much throughput and the front-to-back dataflow might prevent feeding data from the DSP cores back to the filters, etc. in the front-end.
There is also the issue of getting note and controller data to the effect DSPs in the back end. Note and controller data are delivered on the E-bus directly from the key, knob, slider, etc. scanning processor(s) to the tone generation core. Does all E-bus data get back to the small DSP cores? Certain some data gets through as knobs, sliders, etc. can tweak effect parameters in real-time.
Overall, even as a consumer, I would be happier with a dedicated SSP2 for VA. The VA SSP2 would inject its digital output stream into the existing mixer/DSP infrastructure. [The SSP2 vocal harmony processing does something like this in Tyros5.] The VA SSP2 gets its own DSP RAM and NOR flash for program, and the processing is totally out of the way of FM-X and AWM2. It would be possible to implement different VA algorithms without making compromises. Yamaha could periodically offer new engines as updates/upgrades.
If you’re an ARM aficionado, you might be thinking “big.LITTLE”. It’s a similar concept. Engineers need to make best use of limited real estate. Yamaha need lots of little DSPs for insertion effects. The SSP2 itself is organized as a big SH-2 DSP core and several little effect DSPs (plus a digital mixer). The mix of channel strip and guitar effects is limited.
Down memory lane
The discussion took me down memory lane to the venerable AN-200 and PLG150-AN. Both products use Yamaha’s AN (Analog Physical Modeling) daughter card. I love the old AN-200 and keep one handy. It is a pretty decent approximation of a five voice Prophet 5.
The daughter card contains two Yamaha LSI components:
YSS-236-F: An enormous 160 pin QFP for analog synthesis
YSS-233-F: A merely huge 128 pin QFP for mixing and effects
The 236 is also known as the “VOP3” and the 233 is known as the “MDSP”. The MDSP is deployed in the PLG150-DX daughter card, again in the mixing and effects role. The An1x, by the way, has two of each, implementing ten voice polyphony.
Some sites ascribe synthesis to the Hitachi H8/3002 on the daughter card. This is wrong. The H8/3002 is the microcontroller that issues commands and maintains digital communication with the mothership. The VOP3 does synthesis.
The VOP3 moonlights as the vocal harmony processor in early arranger keyboards like the PSR-9000. The VOP3 is the predecessor to the SSP and SSP2. The SSP and SSP2 subsume the mixing and effect DSP roles of the MDSP. Such is the march of large scale integration (LSI) fabrication technology.
Given this history, I’m not surprised that Yamaha chose the SSP2 for Reface CS.
I like surprises
Watch, Yamaha will come up with something completely different. π Maybe an SWP71. There were different spins of the SWP50 family, so why not? π From the marketing point of view, demand for VA is sufficiently high that they may require everyone to buy a new platform anyway. Perceived value means “mo’ money.”
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.
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.
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:
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:
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.
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!
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:
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:
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.
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.
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.
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.
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. π )
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.
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.
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.
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.
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:
In addition to assignable buttons for articulation control, add key switching similar to what’s found in VST-land.
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.
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:
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:
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:
Load the LIBRARY file generated by SRM.
Audition the generated Performance in the Library.
Import the generated Performance and its waveform into USER memory.
Select and edit an existing Performance, hopefully one which is close to the desired result.
Save the new Performance under a new name.
Edit the effects or any other Performance Common parameters.
Edit the Part information within the Performance.
Edit the elements in the new Performance to use the new waveform.
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.
Make any other necessary tweaks to the new waveform.
Make tweaks to the Element programming or effects.
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.