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
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.