Innards of Krome and Kronos

Plenty of discussion about Korg Kronos and x86 on the Keyboard Magazine forum, so it’s time to study up on Korg architecture and formulate an opinion.

Before diving in, I should say that I try to get my information from primary sources (e.g., service manuals) and to not rely on Internet “truthiness.” The Web is filled with people who want to believe something whether they are informed or not. Thanks, Stephen Colbert, for the notion of truthiness!

Not all service manuals are readily available (at no cost!), making the narrative a bit sparse. Nonetheless…

Korg have two distinct paths which have led to the current Kronos and Krome. My simplified take on the first thread of Korg workstation history is, starting from Triton:

  • Triton family begat the
  • M3 which begat the
  • M50 which begat the
  • Krome.

The second major historical thread is the multi-faceted OASYS which begat the Kronos series. Along side all of this “begatting,” Korg developed its professional arranger workstations, e.g., the PA80, PA500, etc. leading to the current PA900 and PA4x. The arranger workstations are kin to the Triton, M-series, and Krome, and share much of the underlying hardware technology.

Let’s take the Krome first because it is the most similar to Yamaha and Roland architecture.

The Korg Triton LE was released in 2002 and is a stripped down version (no sampling, no ribbon controller, smaller display, etc.) of the classic Triton. Its embedded CPU is a Renesas SH7043A, the same choice as Roland and Yamaha in that era. The embedded CPU handles all of the user interface (UI) processing and communicates with the keyboard, knobs, LCD and so forth. Samples are generated by a Korg proprietary tone generator chip designated “TGL96” or MB87F1710-PFV-G-BND. The TGL external clock frequency is 24.576MHz. The tone generator has a dedeicated memory channel to 32MBytes of wave ROM. Overall, the Triton LE internal architecture is similar to corresponding Yamaha and Roland products.

The TR61 was released in 2006 and resembles the Triton LE. It has more physical wave ROM (64 MBytes), USB-to-PC communication and an SD card slot. The embedded CPU is a Renesas SH7043A which, again, handles the UI components. The Korg proprietary tone generator chip is designated “TGL96” or MB87F170-PFV-S. Although the parts list uses the same identifier as the LE, this chip is probably just a slightly updated model in the same TGL family.

Korg marketing called its Triton-era synthesis “HI,” or “Hyper Integrated” synthesis. The PA80 arranger also uses HI synthesis and a Korg MB87F1710-PFV-S TGL96 tone generator. Thus, synths and arrangers using HI synthesis probably contain some variant of the MB87F1710 TGL family.

Skipping ahead to the M3 (released in 2007), the tone generator is designated TG01 or MB87M4080PB-GE1. Korg marketing switched to “Enhanced Definition Synthesis” or “EDS.” This chip is clocked using an external 24.576MHz crystal, yielding an internal clock speed of 98.304MHz. The TG01 has two dedicated memory channels (upper and lower PCM data bus) to wave ROM. The TG01 has a third memory channel to an 8MB DRAM for DSP working storage.

The main CPU in the M3 is a a Freescale MC9328MX1 ARM processor. The ARM is clocked at 196.608MHz. The M3 also uses a Renesas H8 (HD64F3687GFPV) for key scanning. H8s are 16-bit processors that are good for interface and “microcontrol.” The Freescale MC9328MX1 is the first appearance of an ARM processor in Korg synth. Yes, that’s right, folks. Korg have used embedded ARM processors since 2007.

The EXB-RADIAS is a synthesizer/vocoder option board for the M3 that uses Korg MMT (Multiple Modeling Technology). The EXB-RADIUS is no processing slouch, consisting of a Renesas SH7709S CPU and two Texas Instruments TMS320VC5502 DSP processors.

I located a service manual for the PA500 arranger from the same era (2007). The PA500 arranger implements EDS and contains a Korg MB87M4080PB-GE1 tone generator IC. The Freescale MC9328MX1 performs the work of a master embedded CPU (user interface, USB interface, LCD control, keyboard input, MIDI interface, etc.) The ARM core clock is 200MHz — fast enough for control, not fast enough for DSP. The DSP is handled by the MB87M4080PB tone generator.

Completing the early picture, the M50 (released 2008) is a reduced feature version of the M3. The M50 implements EDS and contains a Korg MB87M4080 tone generator.

I could not find a service manual for the Krome. Grainy images of its KLM-3119 motherboard show a Korg MB87M4080 TG01 tone generator and what is probably a TI OMAP ARM processor. Clock frequencies cannot be determined from pictures alone. The designers likely replaced the Freescale processor with the Texas Instruments OMAP. Korg marketing changed the pitch name to “EDS-X (Enhanced Definition Synthesis-eXpanded).” The meaning of “expanded” is not clear although the Krome supports more polyphony than the M50. The Krome employs an internal 4GByte micro SD card for sample storage. The TG01 appears to be driven by two ISSI IS42S16160G 256Mbit DRAMs which are organized 16Mx16bits. Very likely, samples are loaded into these DRAMs by the OMAP on demand. The SD card is relatively slow and continuous streaming from SD to the TG, to me, seems unlikely.

Up to this point in the narrative, we know that Korg have at least two generations of proprietary tone generator chip families:

MB87F1710     Hyper Integrated (HI) synthsis
MB87M4080PB   Enhanced Definition Synthesis (EDS)

Whether EDS-X represents a third generation is open to question. Summarizing further, Korg use ARM processors (low clock rate, low power) to handle UI and control tasks.

A desire for additional synthesis methods led to the Korg OASYS. The OASYS is built around the AOpen MX4GVR-GN micro-ATX motherboard (Intel Socket 478). The motherboard is fitted with an Intel 2.8GHz Pentium 4 processor and a minimum of 1GByte of RAM. The OASYS requires a fair bit of additional logic to handle all of the I/O and user interface including a Renesas H8 and a Texas Instruments embedded DSP. The operating system is a custom version of Linux.

Customers found the OASYS to be too expensive and about 3,000 were sold. Having learned from this experience, Korg developed the lower cost Kronos series. There are three major models in the series, where each model is built around a particular mini-ITX, x86 motherboard:

Kronos Lot A  Intel BLK D510M0      Intel 1.66GHz D510 dual-core Atom
Kronos Lot B  Intel D525MW          Intel 1.80GHz D525 dual-core Atom
Kronos X      Intel D525MW          Intel 1.80GHz D525 dual-core Atom
Kronos 2      ASRock IMB-140D Plus  Intel 1.86GHz D2550 dual-core Atom

The motherboard connects to an SSD memory device via SATA2 and to an ARM processor via USB. The ARM processor handles UI and interfacing duties just like the ARM processor in the Krome. The x86-based motherboard performs synthesis. Thus, the Kronos internal architecture is like the synths in the Krome line except the proprietary tone generator IC is replaced by an x86 motherboard running Linux! This internal organization gives Korg substantial cost savings over the OASYS.

According to Dan Phillips (Korg R&D), “… all synthesis, effects, and audio processing is done within the Intel CPU, and naturally the sequencer and KARMA as well.”

Two types of ARM processors were used: Texas Instruments Sitara AM1806BZWT3 (early models) and Texas Instruments AM1808BZWT3 (later models). I’ll focus on the AM1808. The AM1808 system on a chip (SOC) has an ARM926EJ-S core, 16KB I-cache, 16KB D-cache, 8KB RAM (vector table), 64KB built-in ROM (boot image), 128KB system RAM and a host of built-in interfaces (LCD, USB, SPI, etc.) The wealth of interfacing options makes this kind of ARM SOC ideal for embedded applications. The NEON signal processing extension supports 16-bit fixed point arithmetic including a single-cycle multiply-accumulate (MAC) unit. Hardware floating point is not supported. Although the NEON extension is handy, the heavy DSP is performed by the x86.

ARM core clock speed is a function of core voltage, external crystal frequency and software-level configuration. The external oscillator frequency (24MHz) and core supply voltage (1.2V) point toward a 375MHz core clock speed. In any case, the AM1808’s maximum supported speed is 456MHz. The ARM processor — unlike the high frequency dual-core Atoms — dissipates relatively little heat and does not require a heat sink and/or fan.

At this point, we have accumulated enough information to compare Krome’s synthesis hardware to the Kronos. Krome uses a Korg proprietary tone generator IC (TGL) to synthesize music. The TGL operates at a relatively low clock speed and does not require a heatsink or fan. The size and weight of the TGL are nearly negligible when compared with the mini-ITX motherboard. The Kronos x86 mini-ITX system has a big footprint (6.7in by 6.7in or 170mm by 170mm), needs a heatsink and fan, and weighs 0.61 kilograms (1.4 pounds). The heat generated by the motherboard (20 to 25 watts) must be externally ventilated, thereby complicating the mechanical design of the overall product. Thus, x86 motherboard synthesis comes with a significant system cost. The Intel chipset dissipates the most heat, so even if the extraneous motherboard components are eliminated, thermal design is a significant disadvantage of x86-based synthesis.

Here’s how the complete products stack up (61 key models):

                                    Krome    Kronos 2
                               ----------  ----------
    Synthesis                       EDS-X        HD-1
    Polyphony                      120/60         140
    Power consumption (Watts)          13          60
    Weight (pounds)                  15.9        31.5
    Weight (kilograms)                7.2        14.3

Performance is compared on the basis of sample-based synthesis while disregarding differences in tone quality. The Krome implements only sample-based synthesis, so the basis for comparison on this dimension is limited. As a complete system, the Kronos out-weighs and out-dissipates the Krome two-to-one.

Finally, here are a few words comparing Kronos SSD versus Krome Micro SD for sample storage and transfer. The Kronos SSD is SATA2 with a raw 3Gbit/sec transfer rate. Although the maximum transfer rate is 300MBytes/sec, the 30 GB Toshiba SSD (THNSNB030GBSJ) is specified at:

    Read transfer rate:  180MBytes/sec
    Write transfer rate:  50MBytes/sec

The Class 10 micro SD card is specified at:

    Read transfer rate:   10MBytes/sec
    Write transfer rate:  10MBytes/sec

According to the SD Association, these are minimum speeds and actual devices may operate faster. Further, two different SD bus speeds are rated: 12.5 MB/sec default speed and 25 MB/sec high speed. Without further testing or knowledge of the particular SD card in use, no further conclusions can be drawn properly. One should note, however, that Krome device-to-tone generator bandwidth is significantly lower than Kronos even when best SD performance is assumed.

SD device communication is simpler than SATA. SD is designed for low cost. An SD card interface is a frequent, integrated feature of an ARM SOC. The SD interface favors lower system cost and complexity.

SSD storage devices, on the other hand, are not simple devices. They contain a SATA bus controller, RAM cache and cache controller. Data caching gives SSD its speed advantage over naked flash memory. The SATA interface is part of the Intel NM10 Express Chipset IC on the Intel motherboard. Comparatively speaking, the SD card and bus win on the basis of cost and simplicity.

The complexity of the SATA interface would tend to preclude direct communication from SATA to a proprietary tone generator like the TGL. Cost and simplicity favor “raw” communication between tone generator ICs and RAM/ROM.

Whew! That’s quite a lot of detailed information. To keep things short and focused, I’ll address the suitability of x86 for conventional synthesizer design in another post.

Here is a link to my dive into some old Roland gear. You might also want to read my post about Yamaha MOX internal architecture. There are also three posts (here, here and here) about Yamaha arranger internals.

TC-Helicon Play Electric

Sometimes the best inexpensive multi-effect stomp box is pitched as a vocal harmony processor.

The built-in effects on the Korg Triton Taktile (TT) are rather plain and unpronounced. So, I cast the net for stomp boxes to beef up the keyboard sounds with reverb, chorus, phaser, flanger, tremolo and the rest of the usual suspects. Something to spice up the guitar sounds is also nice. Vocal harmony processing never entered my mind since I rarely sing.

My first thought was to build a small pedal board of stomp boxes. Based on Internet reviews, I bought a TC-Electronic Hall of Fame (HOF) Reverb pedal. It’s stereo, clean and the preset algorithms are terrific. I love this little red box! Its Toneprint capability is really a gas. Through Toneprint, you can actually add chorus or flanger, making it a good, small, one pedal solution for keyboard effects. I also use the HOF for recording — the algorithms and cleanliness are that good.

Based on that success, my next thought was to add more TC-Electric pedals. TC’s guitar pedals hit the street in the $100 to $150 (USD) range. Thus, you can run up a bill pretty fast covering all of the bases!

Enter the TC-Helicon Play Electric (PE). After finding a very attractive price for the PE at ProAudioStar, I investigated its capabilities. Thanks to smart signal routing, the PE is really like two multi-effect processors in one — one side is a guitar chain and the other side is vocal harmony and effects processing. I’m going to concentrate on the guitar side here as I haven’t explored the vocal harmony processing yet.

The guitar effects chain consists of amp simulation, compression, modulation, delay and reverb. It covers all of the major effect food groups except phaser. What it does cover, it does very well. There are a small number of “greatest hit” algorithms from the Corona Chorus, Vortex Flanger and the HOF — all very usable. The user interface is a breeze and I quickly pulled together presets for chorus, flange, rotor, pan, tremolo and auto filter. The Triton Taktile electric pianos sound great through the PE effects. Thanks to the factory presets, U2 can sound like The Edge (pun intended). The rather lame electric guitars sound huge through the PE presets.

The quality of the rotor effect is a real surpise. Although the Neo Instruments Ventilator doesn’t have anything to fear, the rotor is not bad and it compensates for the TT’s inability to switch between slow and fast rotor speed. (If you can stand the sometimes maddening swirl of rotor-on-rotor violence.) I programmed slow and fast rotor presets in adjacent locations and can switch between fast and slow via the increment and decrement switches on the pedal.

What does the Play Electric give up in favor of lower cost? The individual pedal approach has the advantage of immediacy — lots of knobs and switches to play with. The PE effects are easily tweaked through the UI, but lack the immediacy of front panel knobs. Further, the PE exposes only the most important parameters through the UI, emphasizing convenience over tweaking. The compressor parameters roll up the whole lot of attack, release, etc. into “Amount” and “Makeup” parameters. TC-Helicon offer deeper editing in the much more expensive (and heavier) Voice Live. The Voice Live also has a wider range of effects. From what I’ve heard so far, however, I’m good with the Play Electric.

I look forward to trying the vocal side. The PE does not have MIDI IN for scale detection — it’s all audio, baby. The PE has built-in microphones and will detect scale out of the sonic ether as well as processing the audio signal at the guitar input. I’ll post results after experimenting.

The TC-Helicon Play Electric is normally advertised in the live sound section of on-line and print catalogs. Thus, it’s worth checking out vocal processors when looking for keyboard/guitar effects. You might be surprised at what you’ll find.

There is one alternative to the PE that looks viable for keyboard players. Keyboardists don’t usually chain effects together like a guitar player and often one additional effect through a reverb will do. The Line 6 M5 pedal is the “Swiss Army Knife” of effects. It does one effect at a time and has a very wide range of available effects (much greater than the PE). The M5 has stereo inputs (while the PE is mono). An M5 coupled with the HOF would be a capable duo at a reasonable total cost.

Switching gears a little bit, I don’t know why Keyboard Magazine and other keyboard-oriented publications don’t review effect pedals very often. These pedals are just as vital and useful to keyboard players as they are to guitarists. The Keyboard Magazine guys need to drop by the Guitar Player offices while they are writing their massive annual pedal round-up.

Clear the decks?

Yamaha have announced a truly stellar promotion to move Motif XF workstations. The Motif XF Fully Loaded expansion pack includes a FireWire expansion board, two FL1024M memory modules and an USB drive filled with content including Chick Corea’s Mark V electric piano. (See the promotions page at the Yamaha web site for additional details.)

Wow! This promotion really caught my attention and if ever there was a time to upgrade to an XF, it’s now.

Of course, this aggressive promotion could also mean that a new synthesizer workstation will be announced in the not-too-distant future. Winter NAMM 2016, perhaps? Old inventory has got to go!

After the Reface surprise, I’ve given up predicting specific product features, especially based upon a (rumored) product name. The word “Reface,” for example, means something completely different to a saxophone player and, yes, Yamaha manufacture saxophones and mouthpieces. 🙂 So, “Montage”, harumph. I am willing to predict, however, that the next high-end workstation will have a new member of the Standard Wave Processor (SWP) family — the hardware chip that underlies the tone generation infrastructure. (See Serial Memory and Tone Generation.) This is big step for Yamaha because the current SWP51L, for example, is used in everything from mid-range arrangers, to MOX/MOXF, to Motif, to Clavinova.

Just taking in the gestalt of Yamaha’s recent patent filings, they have been actively building their portfolio in at least three areas: human vocal processing and synthesis (VOCALOID), music analysis and combined MIDI/audio accompaniment.

VOCALOID has been a commercially successful software product. The tech has, by the way, some similarities to the “connective” capabilities of Articulated Element Modeling (AEM), known more broadly as “Super Articulation 2” on Tyros. VOCALOID requires frequency domain signal processing, so unless Yamaha have knocked down some real computational barriers, VOCALOID will probably remain a non-real time synthesis technique.

“Music analysis” is a broad area and a rather vague term. At a fundamental level, this area includes beat (tempo) detection and scale and harmony (chord) detection. I think we already see some of these results at work in the Yamaha Chord Tracker app. Chord Tracker analyzes an audio song. It detects the tempo and beats, and partitions the song into measures. Chord Tracker identifies the chord on each beat and displays a simplified “fake sheet” for the song. Chord Tracker can send the “fake sheet” to a compatible arranger keyboard for playback.

Music analysis also includes high-level analysis such as extracting the high level characteristics of a piece of music. This kind of analysis could allow a rough categorization and comparison between snippets of music (similarity index). We haven’t seen the fruits of this technology (yet), but one could imagine a tool that suggests an accompaniment based on what the musician plays or based upon an existing musical work. BTW, the word “musician” here includes guitarists, woodwind players, etc. and not just keyboardists. The world-wide market for non-keyboard instruments is bigger than the market for keyboard-based instruments. (Guitars alone outsell keyboards nearly 2 to 1 in the United States.)

The third main area of exploration and filings is combined MIDI/audio accompaniment. Up to this point, Motif arpeggios are MIDI-like phrases, not audio. Arranger workstation styles are MIDI (SMF in a Halloween costume). Neither product works with MIDI and audio phrases in a transparent way like the very successful Ableton Live. Yamaha’s patent filings disclose arpeggio- and/or style-like accompaniment using a mix of MIDI and audio phrases. Audio phrases are warped in time and pitch to match the current tempo and key scale.

Now, let’s throw these technologies into a bag and shake them around. Imagine a compositional assistant that analyzes a piece of music (recorded or played live), determines tempo, beats, chord changes and more, and automatically whips up an accompaniment or track. MIDI and audio phrases are selected from a library based upon a similarity index between the reference track and phrases in the library. If this is Yamaha’s vision, then double wow! The combination of these technologies would raise the level of music composition substantially from it’s tedious, point-and-click existence. It finesses the problem of listening to the phrases in the Motif/MOX arpeggio library, selecting the most applicable phrases and combining them. DigiTech TRIO is already sniffing around this territory.

Naturally, patents do not imply product. Therein lies the danger of making predictions.

Which brings me, finally, to US Patent 8,779,267 (July 15, 2014). If someone can explain this patent to me, thanks. The invention seems to analyze an incoming musical signal (using some heavy DSP), generate almost ultra-sonic (>18KHz) “control tones,” and produce a multi-timbral accompaniment or track. Amazing stuff.

The near ultra-sonic technique is already in use. The AliveCor Mobile ECG monitor uses ultrasonic tones to communicate with iPhone/iPad. The AliveCor doesn’t require power-sucking Bluetooth (and its emissions certification.) The monitor runs on a CR2016 battery. The downside, in the case of AliveCor, is that its monitor pad must be near the mobile device for reliable communication.

All site content is Copyright © Paul J. Drongowski unless otherwise indicated.

Whither XG?

Once upon a time, the hardware tone module was king of “desktop music production.” A wide range of options were available from pro-level tone modules to desktop tone generators to ISA/PCI cards. The General MIDI (GM) standard came about in this era because people wanted to have consistent playback across hardware platforms.

Every manufacturer offered one or more modules. Two players — Roland and Yamaha — jumped in big. Each company offered desktop tone modules adhering to their own semi-proprietary extensions of the General MIDI standard. Roland had its GS while Yamaha had its XG.

Then, software plug-ins killed the tone module.

Native, computer-based signal processing became fast enough that hardware tone generation was no longer required.

Roland GS, meanwhile, has gone on relatively hard times. Today, Roland offers two products that are up-front GS: Mobile Studio Canvas and Sound Canvas for iOS. The Mobile Studio Canvas is a pricey little number that streets out at $429 USD. Not exactly cheap. Sound Canvas for iOS is an iOS app supporting Inter-App Audio and Audiobus. Roland claim that the app and its host can act as a tone module through a suitable Core MIDI compatible interface. Mobile Studio Canvas is $19.99 through the Apple App Store.

The Virtual Sound Canvas was a VST- and DXi-compatible, multi-timbral soft synth. Unfortunately, for desktop users, the Roland Virtual Sound Canvas (VSC-MP1) was discontinued.

Yamaha XG is battered, but is still breathing. XG-based hardware tone modules are nearly extinct. (Check ebay…) However, current arrangers from Yamaha offers XG compatibility, even if it’s only the XGlite subset. In fact, XG is the de facto voice architecture on arranger keyboards. Edit a voice on an arranger and you are tweaking XG parameters. Of course, this means that you must have space for an arranger on your desktop. A half-rack 1U tone module is far more compact and desktop-friendly.

“Pro” keyboardists still turn up their noses at GS, XG and arrangers. A large part of this is guilt by association with General MIDI. Beneath it all in Yamaha-land, the synths and the arrangers share hardware technology such as CPUs and tone generation circuits. XG is essentially a wrapper around pro-level samples and tone generation.

XG also lives at the heart of the Yamaha Mobile Music Sequencer (MMS) app. MMS has a software-based XG engine inside. It supports 9 reverb, 4 chorus and 26 variation effects. Yamaha cut down the XGlite sound set to just 42 GM voices plus 42 or so synth voices. In case you’re interested, I’ve documented many of the XG features in MMS here:

Mobile Music Sequencer Reference
Make music with MMS on PSR/TYROS

MMS demonstrates that it’s possible to host XG on an iPad with an ARM processor. Will Yamaha answer Roland’s Sound Canvas for iOS?

Needing an XG-compatible VST soft synth on Windows, I went in search of one and stumbled onto a retro cult. Turns out, there are a whole lot of other people who would like an XG-compatible VSTi on Windows, too.

First, there are enthusiasts who are trying to resurrect the S-YXG50 soft synthesizer on Windows 7 (and earlier). The S-YXG50 uses either a 2MByte or 4MByte wave table, so we’re not talking stellar sound quality. I experimented with S-YXG50 on Windows 7 with no success.

Then, there are enthusiasts who take old daughter boards (DB50XG or DB60XG) and fashion standalone tone modules from them. (Just add a power supply and a MIDI interface.) These daughter boards have a 4MByte wave table. Like XG tone modules, XG daughter boards are scarce as hen’s teeth.

The issue that always rears its head with this old tech is the availability of drivers. You can find the occasional Yamaha-based sound card or SW1000XG, but driver support usually stops with Windows XP (at best).

Finally, another sub-cult has discovered the joys of Yamaha MidRadio. MidRadio is a MIDI player application for Windows 8 (and earlier). It is XGlite compatible with 361 regular voices, 10 drum kits and 2 SFX kits. A few of the regular voices are so-called “panel voices” in the PSR E-series — an added bonus! Wave table size is about 11MBytes. And, guess what? It sounds pretty darned good. Here are links to the list of voices and effects in MidRadio version 7:

List of MidRadio voices and effects

If you try MidRadio, be prepared to use Google translate and be prepared to wade through a Japanese-only user interface.

A few intrepid souls discovered that the MidRadio sound engine (SGP2.DLL) is just a few bricks short of being a VST software instrument (VSTi). They developed a patch which turns the DLL into a VSTi. Yes, the patch works and I can send XG-compliant MIDI from Steinberg Cubase, Ableton Live and VSTHost to SGP2. It plays rather nicely.

In general, I do not recommend this approach. Anytime you download a patch from the Web and execute it, you put the privacy and security of your computer and its information at risk.

Given this enormous red flag, I wish that Yamaha would sell an XG-compatible VSTi for Windows and Mac. There are users waiting for properly a supported, street legal XG plug-in soft synth at a reasonable price. And certainly, we wouldn’t turn down a free one.

DigiTech Trio needs a quick upgrade

The DigiTech TRIO is one of those product that I want to love. The basic idea is commercially viable — an assistant that learns a simple song then adds bass and drum parts. There is some smart technology and smart people behind the TRIO. It is truly innovative. (Does the world really need another distortion pedal?)

DigiTech needs to improve both the product and the customer retail experience in order to make the TRIO successful.

Here’s my experience. I read a few on-line reviews beforehand and knew that it was important to “keep it simple” when starting out with the TRIO. I did not, however, read the operations manual. A mistake, perhaps, but most potential customers do not read the manual ahead of time. Heck, they frequently do not read the manual at all.

The Guitar Center staff did not know that there is a DigiTech TRIO. They needed to look up the TRIO in the inventory database. The clerk struggled to provide power to the TRIO. No help with actual operations here.

Left alone with the TRIO, it took me several moments to suss out LEARN mode and PLAY mode. I didn’t immediately realize that I needed to hold the footswitch in order to switch modes. Even a simple graphic or hint on the front panel — “Hold to change between PLAY and LEARN mode” — would have been enormously helpful.

I’m not the greatest guitar and barely know half-a-dozen chords. I decided to start out slow and simple in LEARN mode by playing single notes in time on the low E string. I also went Ramone and played power chords. Not only didn’t the TRIO learn or add a simple bass/drum pattern in E, there was no feedback other than a blinking LED. The TRIO should at least learn the tempo and add a simple beat ASAP, even if it’s just snare taps. A simple beat would help the user to play in time and provide a measure of positive feedback. Many players are pretty bad like me and they need help.

Eventually, I gave up on LEARN mode and switched to PLAY mode. At least I was able to audition some of the backing tracks. Then, I drove home.

DigiTech need to develop and release a Mark II update — and soon. First off, the TRIO needs to store and recall songs. If a user invests a lot of effort in teaching the TRIO a song, they will want to save it for later. More importantly, storage should be preloaded with songs in the most common keys and chord progressions. For example, there should be a few simple blues I-IV-V patterns in E, A and D. There should be funk patterns like a simple ii-V (Dm-G7) or I7(#9) (E7(#9)).

Yeah, everybody hates presets. However, pre-stored songs would really help the retail experience. Lame players like me can listen to and play to sample songs even if we can’t figure out LEARN mode. Also, one common complaint in on-line forums comes from blues players who can’t wring a simple blues backing out of the TRIO. Pre-stored songs would give the end user value while they learn LEARN mode and develop backing tracks of their own.

The big insight from this experience is the need for instant gratification, most preferably without reading the manual. A musical device or instrument should do something satisfying immediately, right out of the box. That’s where the Yamaha Reface CP is such a kick. It has a live panel and the Reface CP is instant musical fun. Guitarists expect to plug in and make noise. Instant gratification in the store converts to impulse sales. The TRIO, unfortunately, is a complicated lump and the retail staff are no help.

I hope that DigiTech takes these suggestions to heart. The TRIO concept has a lot of musical and sales potential. It just needs to provide a better, immediate user experience in the store and in the studio.

Reface CP: Yes, I played one!

Finally got a chance to try a Yamaha Reface CP and a Reface DX. Given the genres of music that I play, I’m the most interested in the Reface CP and YC models. The CP and DX were on the floor at Guitar Center, so I decided to try the DX, too. I’ll catch the YC another day when it’s in stock.

As we all know, Guitar Center on Saturday afternoon is not the ideal environment for a trial. I demo’d through headphones mainly to cut out the din from the rug-rats randomly pounding on keyboards and the sonic self-stimulation from the guitar department.

Even under these degraded conditions, the CP sounds excellent. The sound is the stuff, if you know what I mean. (This is a family web site.) Quick impressions of the main sounds:

  • Rhodes I: Nice, mellow, laid back, smooth.
  • Rhodes II: Bright, snarky, barks like a dog (in the good way).
  • Wurli: Solid performer, not too polite, more Ray than Supertramp.
  • Clav: Solid performer, good body.
  • CP: Bright knife, brings make the old days without the back ache.

The effects are excellent. Dial in the drive and/or the appropriate effect and you’re good to cover:

  • Smooth Operator
  • Do It Again
  • What’d I Say
  • Higher Ground

and a whole lot more! Max out the drive and it doesn’t get that annoying digital fizziness. The wah needs to be tuned into the appropriate frequency range, but that’s SOP. The wah can be made so bright that it cuts glass and pokes holes in the eardrums. (Not a recommended practice.)

One part of Yamaha’s marketing pitch truly rings right. The CP is a “live panel” instrument. Be ready to dial everything in with no presets. Very old school and a nice change from menu diving. This kind of interactivity bodes well for the YC organ, when I finally find one.

Mini keys. Sigh. If you’re a player, then expect to MIDI the CP to a real keyboard. That said, Yamaha are right to be proud of these mini-keys. They are very responsive. I didn’t have too much trouble laying down block chords or noodling a solo line. However, three octaves is at least one octave too short for stretching out or laying down full right hand jazz chords while holding down any kind of bass. My chief adjustment problem with the mini-keys is playing left hand stride or arpeggios. You probably saw this coming, too.

Build quality is reasonably good for a small, light-weight instrument. The knobs have a solid feel. I’m somewhat less enamored of the volume slider and octave switch. They feel a little bit cheap. The toggle switches are retro in a Home Depot kind of way. Yamaha had better mind their Chinese suppliers because this board could easily degrade to trash if someone sneaks cut-rate components into it.

The built-in speakers are just OK. You’re probably going to connect the CP to a decent amp and speakers anyway.

Bottom line, the CP sound is nicely crafted. I hope to hear these sounds with this kind of interactivity in a new full-size ax soon.

I had to give the DX a try especially since I had a DX-21 back in the day. Turn on the DX and soon you’re back in 4 OP FM yesteryear. Folks in electronic genres (EDM, etc.) dig FM, but for the kind of music that I play today, I’m not ready to return to FM. If you are into FM, then you really should give the DX a try. It, too, is the real stuff.

Extra credit

It is a long drive to GC, so I tried a few other instruments, too.

I had a discussion with one of the salepeople about the CP, mentioning electric piano, jazz chords, etc. This guy was so desperate to make a sale that he insisted on trying the Roland JD-Xi. Only a Carpathian would recommend a JD-Xi to a retro-jazzer. Well, it turns out, the guys was a Carpathian — a guitar player trying to make sales in the keyboard department. Cheesh.

I did try the JD-Xi. Definitely not my cup of tea. Plus, the Yamaha HQ mini-keys really are much better than the JD-Xi.

The keyboard department had a used Tyros for sale. Yes, the original Mark I. I tried it just for grins and to see how much Tyros and mid-range PSRs have progressed over the years. Needless to say, the PSR-S950 — and definitely the newer S970/S770 — are light-years beyond the Tyros Mark I.

Finally, I gave the DigiTech Trio a try. The Trio is a stomp box accompanist. You put it in learn mode, play a rhythm pattern on guitar, and the Trio identifies the tempo and key. Then, in play mode, the Trio adds a bass and drum backing track selected from one of several genres. The Trio is based on musIQ® technology licensed from 3dB Research Ltd. Some of the backing tracks are provided by PG Music, developers of Band-In-A-Box (BIAB). (There’s quite a music technology mafia in Victoria, BC.) Harman, who own DigiTech, liked MusIQ so much that they bought 3dB Research, too.

I couldn’t teach the Trio a thing. I am a lousy guitarist, I was hungry and I definitely was tired of the sonic assault in the guitar department. The backing tracks that I heard were OK although I think BIAB itself sounds better. If you intend to try one in a store, be sure to read the manual ahead of time…

Serial memory and tone generation

Ah, September. Soon it will be time to speculate about new products at the Winter 2016 NAMM!

Every now and again, I take a pass through recent patent filings from Yamaha to get an idea about future product developments. Of course, the tech in a filing may never make it to product. However, a few common threads begin to appear over time.

This post starts with a patent application having the inauspicious title, “Sound Generation Apparatus.” This US application 2014/0123835 was filed on November 5, 2013 and is based on Japanese patent -244002, which was filed November 5, 2012.

First, a little background about the Yamaha tone generation architecture. Yamaha has used the same overall architecture for mid- and high-end workstations and tone modules since the mid-1990s. (TG-500, anyone?) These products employ one or more large scale integrated circuits for tone generation. Current versions of the tone generator IC, the SWP51L, has two dedicated memory channels for waveform data. Each channel has a 16-bit parallel data bus and a parallel address bus (24 or more bits wide). The parallel interface takes at least 40 pins per channel.

That’s a lot of incoming and outgoing connections (80 plus pins for both channels). IC packaging costs are in the range of $2.50 USD to $4.50 per pin. So, there is a direct relationship between the number of IC pins and manufacturing cost. Ultimately, this cost has a real effect on profit and the final price of the product.

The Yamaha patent application describes a serial interface for waveform memory in place of a parallel interface. The serial interface requires six pins per channel. Instead of 80 pins, the serial interface approach uses only 12, providing an 8 to 1 savings in packaging costs alone.

The application cites the Winbond 25Q series as the kind of flash memory to be supported by the serial interface. The largest 25Q device has a 64MByte capacity and can sustain a 40MByte/second transfer rate (quad SPI mode). This is nearly sufficient bandwidth to drive 128 44,100Hz stereo polyphonic voices (about 45MBytes/sec).

If you do the math that’s 128 times 44,100Hz times eight bytes. Two successive samples are required in order to perform interpolation although the oldest sample could be cached.

The product implications are interesting. At the low end of the scale (one or two channels), the device footprint is much smaller. The small size allows a corresponding decrease in the size of the product. Maybe a guitar pedal stomp box?

The high end of the scale is more intriguing. It becomes possible to build a tone generator IC with four or even eight independent channels of tone generation where each channel is driven by its own memory stream. We’re talking 1,024 polyphonic voices in the same LSI footprint as today’s SWP51L.

There are design implications for entry-level keyboard products, too. The SWL01 system on a chip (SOC) integrates both CPU and tone generator onto the same IC. Waveform data (samples) travel on the same bus as CPU instructions and data. A serial SPI interface requires only six pins and might let designers shift waveform storage from ROM on the system bus to a dedicated memory bus and channel. Software might be able to perform new tasks such as variation effects with more bandwidth available to the CPU on the system bus.

I feel confident to predict that the next generation of Standard Wave Processor (SWP) is in development. The SWP51L has been around for a while (including Tyros5). Here are a few key products and members of the SWP50 family:

    Product   Year  TG chip
    --------  ----  -------
    Tyros     2002  SWP50
    Motif XS  2007  SWP51
    Tyros 3   2008  SWP51B
    Tyros 5   2013  SWP51L

It is definitely time for a new design, not an incremental refresh.

Yamaha sees its internal integrated circuit capability as a strategic advantage. Up to this point, Yamaha have both designed and fabricated its own ICs. Last year, Yamaha transferred its fabrication line to Phenitec Semiconductor. Yep, Yamaha has gone fabless. This gets a huge capital expense off its balance sheet. It also means that Yamaha is under less pressure to reuse the same parts across product lines in order to get its IC manufacturing volume up. This is one reason why the SWP51 has had such long legs and why the SWL01 is used across all of the E-series arrangers. Volume, volume, volume! The pressure to (re)use Yamaha’s own IC solutions has been reduced.

We’ll see if Johnny can read (defenses) against Dick LeBeau. Go Browns!

Scat voices the newest Yamaha arrangers

The original Jazz Scat voices expansion pack for the Yamaha PSR-S950 arranger workstation remains a popular part of the site. With the Tyros5, Yamaha took a different direction and format for expansion packs. The new approach to expansion pack development and use is embodied in the Yamaha Expansion Manager, or “YEM” for short. Up to now, Tyros5 users have not been able to load and use the original Jazz Scat voices expansion pack.

That’s all changed! I’m pleased to announce the alpha test version of the Jazz Scat voices expansion pack for YEM-compatible Yamaha arranger workstations. The list of YEM-compatible arrangers include the Tyros5, PSR-S670, PSR-S770 and PSR-S970 workstations.

Why “alpha test?” At this time, I do not have access to a YEM-compatible workstation in order to do my own testing. (I’m happy with the S950, thanks.) In response to requests, however, I have produced a new YEM-compatible expansion pack. I’ve done as much testing as I can in YEM. Now, it’s your turn!

The expansion pack is in YEM project file format, sometimes called a “PPF file” because of its file extension. The PPF file must first be loaded into YEM. Once it is in YEM, you can send it to your keyboard, generate an install file (PPI format), copy voices to your own custom pack and even edit the voices themselves. That’s a lot of flexibility!

If you encounter problems, please post your issues to the PSR Tutorial Forum . If you are a PSR/Tyros user, you really should participate at the forum anyway. It’s a great place to meet other PSR/Tyros users and to learn new techniques.

Here is a link to the expansion pack. You need to download and UNZIP this file, read the README_PACK_YEM.TXT file, and then load the pack into the Yamaha Expansion Manager.

Both the scat voice expansion pack and the scat voice samples are released under a Creative Commons Attribution 4.0 International License.

Creative Commons License
ScatVoices and ScatVoice samples by Paul J. Drongowski are licensed under a Creative Commons Attribution 4.0 International License.

You are free to use the expansion pack voice or samples (even for commercial purposes) as long as you provide a link to http://sandsoftwaresound.net from your own web site AND/OR explicitly credit me in your creative work, e.g., “Scat samples/voice by Paul J. Drongowski”.

If you would like to know more about the sampling and voice design process, please read this post. The original S750/S950 compatible pack is here. Or, feel free to listen to the MP3 demo.

XG effects: SYSTEM mode

The last time that I took a look at Yamaha XG effects, I discussed using the VARIATION effect as a channel insertion effect. I’m now working on a PSR/Tyros style where I would like to apply an amp simulation effect to two channels. So, it’s time to learn about the configuration of VARIATION effects in SYSTEM mode. Even though I’m working on a style, you can apply these techniques to any Standard MIDI File (SMF) for play-back on an XG sound engine.

XG insertion effects are relatively easy to configure as the VARIATION effect is added to the signal chain of a single MIDI channel (XG part). Configuration of the VARIATION block as a SYSTEM effect takes more effort (i.e., more System Exclusive messages), but is well worth it. Now that I understand SYSTEM mode better, I may set up a DAW template for SYSTEM mode and use that template as my default effect configuration.

The diagram below shows the signal flow for the VARIATION, CHORUS and REVERB effect blocks when VARIATION is configured for SYSTEM mode. I show only one channel (Part NN) entering from the left in order to keep the diagram simple. Control “knobs” are drawn as ovals; these are XG/MIDI parameters under your control. The first four knobs — CC91, CC93, CC94 and DRY — are per-part parameters and need to be set for each of the sixteen channels (parts). The MIDI Continuous Controller (CC) knobs set the reverb, chorus and variation send levels for the part, respectively. In my project, I set the variation send (CC94) for two parts to non-zero levels and set CC94 for the remaining parts to zero. The non-zero levels pass the signal to the VARIATION block.

XG_System_Mode

The reverb, chorus and variation send levels are configured using MIDI Continuous Controller messages, but the DRY level is set using an XG System Exclusive (SysEx) message. Although this looks inconsistent, it follows Yamaha’s XG recommendations, i.e., use CC messages in preference to SysEx where possible. DRY level must be controlled using SysEx as no corresponding MIDI CC message is defined.

Please see the table at the end of this post for further message programming details.

The rest of the effect blocks and knobs are global (system-wide). The REVERB, CHORUS and VARIATION return levels (REV RET, CHO RET, and VAR RET) along with the DRY levels determine the amount and balance of effected and un-effected (dry) sound. All of the return levels default to 0dB (decimal 64 or 0x40 in hexadecimal notation). The default for each per-part DRY level is the maximum (decimal 127 or 0x7F). These default values enable signal flow right from the beginning and are a good starting point for experimentation and tuning. At least you are guaranteed to get some sound out of the effect section!

The VARIATION, CHORUS and REVERB blocks need to be configured through the usual XG SysEx voodoo. You need to select at least the effect type and be sure to configure the VARIATION effect for SYSTEM mode. In actual practice, you should do this before setting any send levels as the change to SYSTEM mode changes the level parameters to new default values.

Now the fun begins! The default configuration puts the three effect blocks in parallel. The inter-block send levels:

  • Send VARIATION to CHORUS (VAR to CHO)
  • Send VARIATION to REVERB (VAR to REV)
  • Send CHORUS to REVERB (CHO to REV)

establish serial effect routings between blocks. The level values determine the degree to which a series connection is made (i.e., how much signal is passed). Initially, all of these knobs are set to zero and the effects are full parallel. You can change these values to add reverb and/or chorus to the effected variation signal, for example, in the same way that you add reverb and/or chorus to a part.

The higher end arranger workstations offer a rich choice of CHORUS block effects — everything from chorus, phaser and flange to rotary speaker. Thus, you can create a long effect chain from VARIATION to CHORUS to REVERB, if you so desire. Want to phase a distorted guitar sound? You can!

The following tables summarize the low level details of effect programming. The addressable XG parameters must be set with the usual SysEx magic, e.g., F0 43 10 4C 02 01 40 4B 01 F7 to set the effect type.

Continuous Controller (Per part/channel)                    "Knob"

  CC91  Part/Channel REVERB SEND                            (CC91)
  CC92  
  CC93  Part/Channel CHORUS SEND                            (CC93)
  CC94  Part/Channel VARIATION SEND                         (CC94)

MULTI PART (per part/channel NN)

  Address   Parameter             Default
  --------  --------------------- -------
  08 NN 11  DRY LEVEL             0x7F                      (DRY)
  08 NN 12  CHORUS SEND           0x00
  08 NN 13  REVERB SEND           0x28 (decimal 40)
  08 NN 14  VARIATION SEND        0x00

REVERB effect block (global)

  Address   Parameter             Default
  --------  --------------------- -------
  02 01 00  REVERB TYPE           0x01, 0x00 (HALL1)
  02 01 0C  REVERB RETURN         0x40 (off:0x00, 0dB:0x40) (REV RET)
  02 01 0D  REVERB PAN            0x40 (center)

CHORUS effect block (global)

  Address   Parameter             Default
  --------  --------------------- -------
  02 01 20  CHORUS TYPE           0x41, 0x00 (CHORUS6)
  02 01 2C  CHORUS RETURN         0x40 (off:0x00, 0dB:0x40) (CHO RET)
  02 01 2D  CHORUS PAN            0x40 (center)
  02 01 2E  Send CHORUS to REVERB 0x00 (off, 0dB:0x40)      (CHO to REV)

VARIATION effect block (global)

  Address   Parameter             Default
  --------  --------------------- -------
  02 01 40  VARIATION TYPE        0x05, 0x00 (DELAY LCR2)
  02 01 56  VARIATION RETURN      0x40 (off:0x00, 0dB:0x40) (VAR RET)
  02 01 57  VARIATION PAN         0x40 (center)
  02 01 58  Send VAR to REVERB    0x00 (off, 0dB:0x40)      (VAR to REV)
  02 01 59  Send VAR to CHORUS    0x00 (off, 0dB:0x40)      (VAR to CHO)
  02 01 5A  VARIATION CONNECTION  0x00 (insert:0, system: 1)
  02 01 5B  VARIATION PART #      0x7F (off: 0x7F)

Arranger memory: One more time!

OK, OK, not everyone reads service manuals and schematics for their keyboard. However, I do get a little frustrated when posters compare apples to oranges, and make statements like “I can buy 1GByte for $1 (USD), so why is Yamaha so stingy with wave memory?”

Here is some information from the S750/S950 and Tyros5 service manuals and product data sheets. Please keep in mind that there are many different kinds of memory in an arranger. I’m going to focus on tone generation because that is the most relevant to wave memory size.

Both the S750/S950 and Tyros5 use proprietary Yamaha tone generator integrated circuits designated “SWP51L”. The S750/S950 designs use one SWP51L and the Tyros5 has two SWP51L chips. Each SWP51L has two dedicated memory ports (called “HIGH” and “LOW”) where each port consists of an address bus and a 16-bit parallel data bus.

In the S750/S950, each port is connected to a WAVE ROM:

    S750 WAVE ROM-L 1Gbit IC308   JS28F00AM29EWLA
    S750 WAVE ROM-H 1Gbit IC302   JS28F00AM29EWLA

That’s 128MBytes per device for a total of 256MBytes (2 times 128MBytes).

The Tyros5 microarchitecture is a little more complicated — the memory devices are shared between two SWP51Ls via separate shared address and data busses. There are six WAVE ROM integrated circuits:

    Tyros5 WAVE ROM-L0 1Gbit IC702   S29GL01GS10TFI020
    Tyros5 WAVE ROM-H0 1Gbit IC716   S29GL01GS10TFI020
    Tyros5 WAVE ROM-L1 1Gbit IC703   S29GL01GS10TFI020
    Tyros5 WAVE ROM-H1 1Gbit IC717   S29GL01GS10TFI020
    Tyros5 WAVE ROM-L2 1Gbit IC704   S29GL01GS10TFI020
    Tyros5 WAVE ROM-H2 1Gbit IC718   S29GL01GS10TFI020

That’s a total of 768MBytes (6 times 128MBytes).

Those cryptic names in the tables above identify the specific memory component. The components come from two vendors: Micro Technology and Spansion. Here are the gory details.

    Micron Technology JS28F00AM29EWLA  56-pin TSOP
        Parallel NOR Flash Embedded Memory
        Configurable width data bus (8- or 16-bits)
        Asynchronous random/page read
            Page access speed: 25ns
            Random access speed: 110ns
            Page size: 16 words or 32 bytes

    Spansion S29GL01GS10TFI020 56-bit TSOP

        GL-S MirrorBit Eclipse Flash Non-Volatile Memory
        S29GL01GS 1 Gbit (128 Mbyte)
        16-bit parallel data bus
        Asynchronous 32-byte page read
            Page access speed: 25ns
            Random access speed: 100ns
        Program and erase rates (i.e., write speed)
            Buffer Programming (512 bytes) 1.5 MB/s
            Sector Erase (128 kbytes) 477 kB/s

The read speed (25ns per 16-bit word in page mode) is much faster than write speed, and that’s OK in this application because the data is always read once it’s loaded/initialized. The SWP51L probably operates in page mode since the samples are accessed sequentially. Dunno ’bout you, but 25 nanoseconds per 16-bit word is darned fast. The access speed is MUCH higher than a typical USB flash drive.

Two 27-bit address busses and two 16-bit data busses are sent to/from the plug-in expansion board. These busses extend the two shared WAVE ROM busses. The expansion board needs to keep up with the high read rate.

Please note that the CPU does not get anywhere near the sample streams. That work is assigned to the SWP51Ls.

Hope this helps to clarify.