Multi-effects for electric piano (Part 3)

This is part 3 of a multi-part series about PSR/Tyros effects for electric piano.

PSR effects for electric piano (Part 1) presents a basic approach to grunging up an electric piano sound with distortion (amp simulation). Editing and saving PSR effects (Part 2) describes how to save a custom PSR/Tyros effect to USER EFFECT memory. In this part, I’ll cover the REAL DISTORTION multi FX algorithm.

If you’re a real gear-head, you probably heard about the new Yamaha Reface mini keyboards including the Reface CP, which is rich in electric pianos. (See my snap-review of the Reface CP.) Aside from good samples, it’s the effects that make the Reface CP a winner. The Reface CP has an effects chain driven by the basic EP voice:

              Tremolo       Chorus       Digital Delay
   Drive -->     X     -->     X    -->         X       -->  Reverb
                Wah         Phaser        Analog Delay

Switches select between Tremolo and Wah (or pass-through), between Chorus and Phaser (or pass-through), and between Digital Delay and Analog Delay (or pass-through). Thus, either Tremolo or Wah is active, but not both at the same time, etc. Each effect has one or two knobs that control the most basic parameters:

  • Drive: Amount of distortion (including none)
  • Tremolo/Wah: Depth and Rate
  • Chorus/Phaser: Depth and Speed
  • Digital Delay/Analog Delay: Depth and Time
  • Reverb: Depth (including none at all)

The front panel controls let you tailor your sound, e.g., maybe a little distortion (Drive) followed by Tremolo and some Reverb.

This article shows you how to make a similar effects chain on your PSR/Tyros. I assume that reverb is applied by the PSR/Tyros REVERB effect block, so I won’t discuss reverb here.

If you have a late-model Yamaha arranger workstation (PSR-S950 or later, Tyros 5 or later), Yamaha have already done much of the work for you. These workstations are equipped with REAL DISTORTION effects. One of the REAL DISTORTION effect types is a multi-effect. On the PSR-S950, look for the effect presets called “MLT DS SOLO,” etc. The “MLT” stands for “MULTI.”

A little product family history. The REAL DISTORTION effects first appeared in the Version 1.5 Motif XF upgrade. Yep, these are among the latest effects in the Motif series. Yamaha implemented all of these effects in the Tyros 5 and about half of these effects in the S950. Yamaha added the rest of the REAL DISTORTION effects to the S970. Fortunately, S950 owners have the versatile “Multi FX” algorithm (effect type).

If you don’t have REAL DISTORTION effects, you’re not totally out of luck. Look in the Data List manual and find combination effects (distortion plus delay, etc.) and use them instead. You won’t have as many effect stages, but the approach still applies.

The REAL DISTORTION MLT effect chain is quite complete:

                                                  Vibe       Chorus
Compressor --> Wah --> Distortion --> Speaker --> Phaser --> Flanger
                                                  Tremolo    Delay
                                                             Echo

The effect chain is really intended for guitar, but hey, people in the sixties and seventies put electric pianos through stomp boxes and guitar amps.

There are six REAL DISTORTION multi-effect presets: MLT DS SOLO, MLT DS BASIC, MLT OD CHO, MLT CR WAH, MLT OLD DLY, and VINTAGE ECHO. Use these as starting points for your experiments. I suggest starting with VINTAGE ECHO as it is the cleanest of the lot. Do what guitarists do — dive in and tweak.

Here is a list of the parameters and the allowed values. See the full information in the REAL DIST section of the Data List manual.

#   Parameter      Display
--  -------------  ---------------------------------------------
1   Comp. Sustain  Off, 0.1 - 10.0
2   Wah Sw         Off, Wah Pedal, Auto+Full, Auto+Mid,
                   Auto+Light, Auto-Full, Auto-Mid, Auto-Light
3   Wah Pedal      0-127
4   Dist Sw        Off, Overdrive, Distortion1, Distortion2,
                   Clean, Crunch, Higain, Modern
5   Dist Drive     0.0-10.0
6   Dist EQ        High Boost, Mid Boost, Mid Cut 1, Mid Cut 2,
                   Mid Cut 3, Low Cut 1, Low Cut 2, High Cut,
                   High/Low
7   Dist Tone      0.0-10.0
8   Dist Presence  0.0-10.0
9   Output         0-127
10
11  SP Type        Off, Stack, Twin, Tweed, Oldies, Modern, Mean,
                   Soft, Small, Dip1, Dip2, Metal, Light
12  LFO Speed      0.1Hz . 9.925Hz (table#27)
13  Phaser Sw      Off, Standard, Wide, Vibe, Tremolo
14  Delay Sw       Off, Delay M, Echo1 M, Echo2 M, Chorus M,
                   Dl Chorus M, Flanger1 M, Flanger2 M,
                   Flanger3 M, Delay St, Echo1 St, Echo2 St, 
                   Chorus St, Dl Chorus St, Flanger1 St, 
                   Flanger2 St, Flanger3 St
15  Delay Ctrl     0-127
16  Delay Time     0-127

The parameters look overwhelming, so let’s break things down.

There are six “switches” that turn effects on and off. In a few case, the switches also select the flavor of the effect when it is turned on. For example, “Dist Sw” turns off the effect in the chain or turns on one of the seven available distortion types (Overdrive, Distortion1, etc.) In addition to switches, there are effect-specific knobs. “Dist Drive,” “Dist EQ”, “Dist Tone” and “Dist Presence,” for example, change the sonic characteristics of the distortion effect.

The “Delay Sw” acts like one of the switches on the Reface CP. “Delay Sw” disables the effect stage, or it turns on a delay, echo, chorus or flanger effect. Some effects are mono (M) and some effects are stereo (St). The “Phaser Sw” switch disables the stage (off) or it turns on a phaser (type: standard, wide, vibe) or tremolo effect.

The Low Frequency Oscillator (LFO) Speed parameter controls the effects that need modulation: phaser, chorus, flanger, tremolo, etc. You need to dial in the appropriate LFO frequency for the modulation effect type.

Wow, that’s a lot of choices! Here is a table of the parameter values for each preset.

    MSB/LSB --->  95/32     95/33     95/34     95/35     95/36     95/37
#  Parameter     DS SOLO   DS BASIC   OD CHO    CR WAH   OLD DLY   VINT ECHO
-- ------------- --------  --------  --------  --------  --------  ---------
1  Comp. Sustain   3.6       3.2       3.6       3.6       4.0       3.6
2  Wah Sw          Off       Off       Off     Auto+Mid    Off       Off
3  Wah Pedal        0         0         0         0         0         0
4  Dist Sw       Distort1  Distort1 Overdrive   Crunch    Clean     Clean
5  Dist Drive      5.0       4.1       3.8       5.0       5.0       6.6
6  Dist EQ       Hi Boost  MidBoost  MidCut2   LowCut1   Hi Boost  MidBoost
7  Dist Tone       2.4       5.6       5.6       4.2       3.0       4.6
8  Dist Presence   4.8       5.6       5.0       5.2       5.6       5.0
9  Output           55        60       102        95       121       113
10
11 SP Type        Twin      Stack     Tweed     Stack     Oldies    Twin
12 LFO Speed      0.1Hz     0.1Hz     0.1Hz    1.167Hz    0.1Hz    0.142Hz
13 Phaser Sw       Off       Off       Off       Off       Off      Off
14 Delay Sw      Echo1 St  Delay St  ChorusSt  Delay M   Delay M   Echo1 M
15 Delay Ctrl       40        26        20        13        24       20
16 Delay Time       48         2        46        36        20        6

These parameter values should give you some starting points for exploration.

If you’re not a guitarist, terms like “presence” may not be meaningful to you. Here are a few helpful definitions taken from Yamaha documentation.

  • Drive: Determines the extent to which the sound is distorted.
  • LFO Speed: Frequency of delay modulation (chorus, flanger), Modulation frequency (tremolo), Frequency of phase modulation (phaser), Frequency at which wah filter is controlled (wah)
  • Delay Time: Determines the delay of the sound in absolute time.
  • Output: Determines the level of the signal output from the effect block.
  • Presence: This parameter of the Guitar Amp effect controls high frequencies.
  • SP Type: Selects the type of speaker simulation.

Why start with VINTAGE ECHO? This preset adds a modest amount of compression and sends the signal through the Clean guitar amp model. The Clean model does not dirty up the sound too much. Rock guitarists — especially guys with mullets — like a lot of distortion. Electric piano, not so much. The Mid Boost adds guts to the midrange frequencies making an EP sound fuller, with guts. Finally, the distorted signal is sent into a Twin speaker model and then a light echo. The Twin model sounds like it would be Fender Twin-ish and similar to the kind of speaker used with a Rhodes EP.

I’ll close with an example USER EFFECT that I called “DirtyChorus.” The chain starts out with compression and a little bit of overdrive and mid-range boost. The distorted signal goes into a nice stereo chorus. I copped the chorus paremeters from the MLT OD CHO preset. I tried different speaker models and liked the sound of the Mean speaker type. Finally, I dialed up the output level to compensate for the low amount of overdrive.

    Comp Sus       5.0
    Wah Sw         Off
    Wah Pedal      0
    Dist Sw        Overdrive
    Dist Drive     1.4
    Dist EQ        Mid Boost
    Dist Tone      3.2
    Dist Presence  1.3
    Output         120
    SP Type        Mean
    LFO Speed      0.1Hz
    Phaser Sw      Off
    Delay Sw       Chorus St
    Delay Control  20
    Delay Time     46

Dist Drive can be increased before the distortion sounds guitar-ish. Generally, the output level must be lowered when more drive is applied. Clipping-induced distortion is not pretty. Of course, if you like that sort of thing, please carry on.

PSR effects for electric piano (Part 1)
Editing and saving PSR effects (Part 2)
Multi-effects for electric piano (Part 3)
Copy PSR DSP effects (part 4)

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

Editing and saving PSR effects (Part 2)

In my previous post, PSR effects for electric piano (Part 1), I give some tips and ideas for improving PSR electric piano sounds through customized DSP effects.

Before going any further, you need to know how to edit and save a DSP effect. Newer Yamaha arranger workstations (e.g., PSR-S970) have a graphical interface for guitar effects and the ability to store edited effects in OTS locations and Registrations. Older model workstations store edited effects in the USER EFFECTS memory locations. See the “Parameter Table” in the Data List manual for your workstation to see the capabilities for your particular instrument. Look under:

    Main > Mixing Console > Effect

to see where “Effect Parameters” can be stored. On the S950, you may store an edited effect to either the USER EFFECT memory locations or a SONG. This is typical for older model arranger workstations.

Not being able to store an edited effect to OTS (within a style) is a major bummer. This limitation makes it hard to share new effect settings with friends. It also means that you cannot directly customize a DSP effect for a particular style. You must first save the edited effect to a USER EFFECT memory location. Then, the OTS in the style is set to refer to the USER EFFECT memory location. On the up side, the USER EFFECT can be assigned a meaningful name. On the down side, the style cannot be transfered to a different keyboard without moving the USER EFFECT data, too.

The Yamaha reference manual does a decent job of describing the “push this, select that” of editing and saving a user effect. Read the chapter about the MIXING CONSOLE for detailed information. The Yamaha manual is a little short on “big picture.” Hopefully, this short note provides a strategic overview that makes all of the button pushing a little more understandable. It might also save you the frustration of trying to save an edited effect to an OTS button and failing. I tried saving to an OTS button (and style) for an hour before checking the parameter table in the S950 Data List and realizing that it ain’t possible.

I included a brief outline of the process of editing and saving an effect at the very end of this blog entry. It should help you to find the parts of the reference manual with the details.

The other part of “the big picture” that you should know is how to save and restore USER EFFECT memory to a USB file. The USER EFFECT memory is part of a bigger package of stuff that is all saved to a single file. That package of stuff contains:

    USER EFFECT types and associated parameters
    User master EQ types
    User compressor types
    User vocal harmony types

All of this is stored in a single USER EFFECT file. So, if you want to move your user effects to another workstation, write a USER EFFECT file to the USB drive. Then, take the USB drive to the other workstation and load the file. The bad news is that you are forced to load the user master EQ, compressor and vocal harmony types, too, thereby overwriting these settings on the target machine.

Saving and loading a USER EFFECT file is handled on the CUSTOM RESET page. Navigate to the SYSTEM RESET page:

    FUNCTION > UTILITY > SYSTEM RESET

and press [H] USER EFFECT FILES. Then TAB over to the USB drive page and press [6] SAVE. The usual file dialog box displays where you can rename the file. The default name is “UserEffectPreset”. The file extension is “.eff”. If you don’t change the name, the PSR writes the file “UserEffectPreset.eff” to the USB drive. (More stuff the Yamaha manual didn’t tell you…)

The subjects of factory and custom reset remind me that it’s a good idea to make a full system back-up to a USB drive. See the:

    FUNCTION > UTILITY > OWNER

page in the Owner’s and Reference manuals for further details. Full system back-ups have saved my bacon on the MOX on the few occasions when I had to perform a complete factory reset. Also, make sure to save the back-up file on a PC or Mac. You never know when that USB drive will fail or get lost!

The PSR-S950 writes a back-up file to the USB drive. The back-up file is named “PSR-S950.bup”. Presumably, other workstation models name the back-up file after themselves, too.

MIXING CONSOLE

Changes to REVERB, CHORUS and DSP effects are made on the EFFECT page in the MIXING CONSOLE. The knobs on the EFFECT page control the effect sends. Press [F] TYPE (in the upper right corner) to change the effect type assigned to each part or channel.

USER EFFECTS

The EFFECT TYPE SELECTION page is a four column browser that lets you choose the effect BLOCK, PART, CATEGORY and TYPE. After selecting the effect type, press [F] PARAMETER (in the upper right corner) to change the effect parameters.

The EFFECT PARAMETER page has a scrolling list of parameters for the chosen effect type. Use the buttons below the LCD display to set the effect BLOCK, CATEGORY, TYPE, PARAMETER and VALUE.

Press [I] SAVE to save the edited type and parameters as a new USER EFFECT. The USER EFFECT page displays the memory locations where you can store the new effect. The number of available memory locations depends upon the chosen effect block:

    REVERB   3 locations
    CHORUS   3 locations
    DSP      10 locations

Choose a memory location using the buttons below the LCD display and press [I] SAVE. Enter a name for the new user effect and confirm the save.

Once a user effect is saved, it appears in the EFFECT TYPE SELECTION page under the USER category. The user effect is recalled just like a built-in effect preset.

SYSTEM RESET

USER EFFECT: Restores the User Effect settings including the user effect types, user master EQ types, user compressor types, and user vocal harmony types created via the Mixing Console display to the original factory settings.

CUSTOM RESET

For the items below, you can save your Original Settings as a Single File for future recall.

    SYSTEM SETUP FILES
    MIDI SETUP FILES
    USER EFFECT FILES
    MUSIC FINDER FILES

The User Effect settings including the user effect types, user master EQ types, user compressor types, and user vocal harmony types created via the Mixing Console displays are managed as a single file.

The USER EFFECT settings can be saved to a file and loaded from a file.

OWNER

BACKUP: Lets you backup all data on the instrument to a USB storage device. Refer to the Owner’s Manual.

RESTORE: Loads the backup file from the USB storage device.

PSR effects for electric piano (Part 1)
Editing and saving PSR effects (Part 2)
Multi-effects for electric piano (Part 3)
Copy PSR DSP effects (part 4)

PSR effects for electric piano (Part 1)

A common complaint about the electric pianos on the Yamaha PSR arranger workstations is their lack of “guts” or “grit.” The voice samples are reasonably good, but the effects programming is vanilla and way too polite, especially for rock and soul styles. Here is a table showing the default DSP effect for some of the electric piano voices in the PSR-S950:

    PSR-S950 voice  Category     Effect
    --------------  ----------   -----------------------
    SparkleStack    CHORUS       CHORUS3
    SweetDX         CHORUS       CHORUS3
    BalladDX        CHORUS       ENS DETUNE1
    DX Dynamics     CHORUS       CHORUS2
    BalladBells     CHORUS       CHORUS3
    SuitcaseEP      CHORUS       CELESTE2
    VintageEP       TREMOLO      EP TREMOLO    [DSP off]
    CP80            CHORUS       CHORUS3
    StageEP         CHORUS       CELESTE2
    SmoothTine      SPATIAL      EP AUTO PAN
    ElectricPiano   SPATIAL      EP AUTO PAN   [DSP off]
    Clavi           DISTORTION   DIST SOFT1
    WahClavi        WAH TCH/PDL  CLAVI TC.WAH
    PhaseClavi      PHASER       EP PHASER2

You can see that most of the voices use a chorus effect. In two cases, the DSP effect is turned off by default. (You need to turn it on using the [DSP] front panel button.) The Clavinet voices are a little more fun and use distortion, wah and phaser.

Chorus does not add much “heft” to a voice and it doesn’t add grit. Compression, mid-range boost (EQ) and overdrive are better choices when you need a punchy and/or grungy electric piano sound.

Let’s take a look at the effects programming for a few electric piano voices on the Yamaha MOX synthesizer workstation. The basic voices drive two insert effects connected in series:

    MOX voice             Insert A     Insert B
    --------------------  -----------  -----------
    Crunchy Comp          MltBndComp   CompDistDly
    Vintage Case          AmpSim 2     Auto Pan
    Chorus Hard           ClassicComp  SPX Chorus
    Drive EP AS1          AmpSim 2     Auto Pan
    Natural Wurli         AmpSim 1     Tremolo
    Wurli Distortion AS1  Tremolo      CompDistDly

On the MOX, every voice uses compression, amp simulation or distortion, even the voices employing the evergreen tremolo, pan and chorus effects.

At this point, PSR users tend to throw up their hands and say, “Well, that’s the Motif series!” and back away. Yamaha — bless them — share technology between workstation products. Quite often, you can find the equivalent PSR effect algorithm for an MOX (MOXF) or Motif algorithm.

Consider the MOX “AmpSim2” algorithm. This algorithm shares the same parameters as the PSR “DISTORTION AMP SIM2” algorithm. Here is a table showing the corresponence between MOX and PSR.

    MOX parameter  PSR parameter  MOX value
    -------------  -------------  ---------
    Preset         n/a            Stack1
    AmpType        AMP Type       Tube
    OverDr         Drive          16
    OutLvl         Output Level   70
    LPF            LPF Cutoff     6.3KHz
    Dry/Wet        Dry/Wet        D<W30

The parameter values given here are taken from the MOX “Drive EP AS1” voice. Bring up a PSR voice like “VintageEP,” edit its DSP effect and replace the tremolo effect with “AMP SIM2.” Plug in these values, listen and tweak!

My second example is taken from the MOX “Natural Wurli” voice. The MOX effect algorithm name is “Amp Sim1”. The equivalent PSR effect algorithm is “DISTORTION V_DIST WARM” and its siblings. Here is the equivalency table:

    MOX parameter  PSR parameter  MOX value
    -------------  -------------  ---------
    Preset         n/a            Stack2
    OverDr         Overdrive      2%
    Device         Device         Vintage tube
    Speaker        Speaker        Stack
    Presence       Presence       +10
    OutLvl         Output Level   53%
    Dry/Wet        Dry/Wet        D<W1

Again, change the PSR DSP effect to “V_DIST WARM” and plug in the values. Then, tweak away.

The final example is a multi-effect taken from the MOX “Wurli Distortion AS1” voice. The MOX effect algorithm is “CompDistDly” that is a compressor, distortion and delay effect chain. The equivalency table is:

    MOX parameter  PSR parameter         MOX value
    -------------  --------------------  ---------
    Preset         n/a                   Hard1
    OverDr         Overdrive             15%
    Device         Vin_tube              Vintage tube
    Speaker        Stack                 Stack
    Presence       Presence              +10
    DelayL         Delay Time L          307.3ms
    DelayR         Delay Time R          271.7ms
    FBTime         Delay Feedback Time   306.6ms
    FBLevel        Delay Feedback Level  +31
    FBHiDmp        Feedback High Dump    0.8
    OutLvl         Output Level          22%
    DlyMix         Delay Mix             0
    Compress       n/a                   -29dB
    Dry/Wet        Dry/Wet               D<W12

The almost equivalent PSR effect algorithm is “DISTORTION+ V_DST H+DLY”. The PSR algorithm is missing the compression component (parameter). If you want compression, then consider one of the other PSR distortion algorithms with mono delay.

Keep thinking “multi FX.” I’m going to visit the REAl DISTORTION multi FX algorithm in a future post.

Some of the MOX voices use VCM effects. I didn’t deconstruct the voices with VCM effects because my S950 doesn’t have them. However, if you have VCM effects, for heaven’s sake, use them!

Learn how to save your new creation in Editing and Saving PSR Effects (Part 2).

PSR effects for electric piano (Part 1)
Editing and saving PSR effects (Part 2)
Multi-effects for electric piano (Part 3)
Copy PSR DSP effects (part 4)

The SWP70 tone generator

As I mentioned in an earlier post, the Yamaha PSR-S770 and PSR-S970 arranger workstations have a new tone generator (TG) integrated circuit (IC) — the SWP70. (“SWP” stands for “Standard Wave Processor.”) The SWP70 is a new TG family in a long line of Yamaha tone generators. The SWP70 replaces the SWP51L, which has been the mainstay in recent generations of Tyros, upper range PSR, Motif, and MOX series workstations.

The SWP70 has much in common with the SWP51L, but also some very significant differences. The SWP70’s external clock crystal frequency is 22.5792 MHz versus 11.2896 MHz for the SWP51L. This funky looking clock rate is a multiple of 44,100 Hz:

    22.5792MHz = 44,100Hz * 512

Samples are transferred to the DAC, etc. at a multiple of 44,100 Hz (Fs). Thus, it makes sense to derive Fs and its multiples from the chip-level master clock. The higher crystal frequency and faster memory read clocks lead me to believe that the SWP70 is clocked twice as fast as the SWP51L.

I am comparing SWP characteristics as deployed in the S970 (SWP70) and the S950 (SWP51L) workstations. This keeps the basis of comparison even although many characteristics (clock rates, DSP RAM size) are the same in higher end models like Tyros 5 or Motif. Higher end models employ two SWPs in master/slave relationship and both SWPs share the same wave memory. For more information about the PSR-S970 internal design, look here.

Five interfaces are essentially the same as the SWP51L:

  1. CPU interface: Communicate with the Main CPU (e.g., Renesas SH7731) via the parallel CPU bus.
  2. Serial audio: Send/receive audio data to/from the DAC, audio ADCs, and main CPU.
  3. Clock interface: Synchronize serial audio data transfers (generate multiples of Fs).
  4. DSP SDRAM interface: Store working data for effect processing.
  5. EBUS interface: Receive controller data messages (e.g., pedal input, keyboard input, pitch bend, modulation, live knobs, etc.) from front panel processors.

The DSP SDRAM is the same size: 4Mx16bits (8MBytes). The SWP70 read clock is 95.9616 MHz, while the SWP51L read clock is 45.1584 MHz. This is more evidence for a higher internal clock frequency.

The Tyros 4, Tyros 5 and S950 have an auxiliary DSP processor for vocal harmony. The microphone analog-to-digital (ADC) converter is routed directly to the auxiliary processor. Prior to these models, the microphone ADC is connected to the tone generator. With the SWP70, the S970’s microphone ADC is once again routed to the SWP70 and the auxiliary processor disappears from the design. Thus, vocal harmony processing (fully or partially) is located in the SWP70. See my post about SSP1 and SSP2 for further details.

The biggest change is the wave memory interface.

A little history is in order. The SWP51L (and its ancestors) were designed in the era of mask programmable ROM. I contend that tone generation is memory bandwidth limited and the earlier interface design is driven by the need for speed. The SWP51L (due to its evolved history) has two independent wave memory channels (HIGH and LOW). Each channel has a parallel address bus (32 bits) and a parallel data bus (16 bits). The two channels account for over 100 pins. (System cost is proportional to pin count.) The user-installed, 512/1024MB flash DIMMs plug directly onto the two channels.

The SWP70 wave memory interface takes advantage of new NAND flash memory technology. The interface is described in US patent application 2014/0123835 and is covered by Japanese patent 2012-244002. I analyzed the US patent application in an earlier post.

The SWP70 retains the HIGH port and LOW port structure. Each port communicates with an 8Gbit Spansion S34ML08G101TFI000 NAND flash device. Address and data are both communicated over an 8-bit serialized bus. This technique substantially decreases pin count and the resulting board-/system-level costs. Smart work.

I did not anticipate, however, the introduction of a new parallel memory interface called “wave-work”. The wave work interface communicates with a 16Mx16bit (32MBytes) Winbond W9825G6JH-6 SDRAM. The read clock is 95.9616 MHz.

The purpose of the wave work SDRAM is revealed by US Patent 9,040,800. This patent discloses a compression algorithm that is compatible with serialized access to the wave memory. The wave work SDRAM is a cache for compressed samples. The characteristics of the Spansion memory device give us a clue as to why a cache is required:

    Block erase time               3.5ms    Horrible (relative to SDRAM)
    Write time                     200us    Terrible
    Random access read time         30us    Bad
    Sequential access read time     25ns    Very good

As the patent explains, two (or more) samples are required to perform the interpolation while pitch-shifting. If there is only one tone generation channel, access is paged sequential. However, random access is required when there are multiple tone generation channels. (The patent mentions 256 channels.) Each channel may be playing a different voice or a different multi-sample within the same voice. One simply cannot sustain high polyphony through random access alone. The cache speeds up access to recently used pages of uncompressed samples.

The wave work interface takes additional pins, thus adding to board- and system-level costs. The overall pin count is still lower when compared to SWP51L. The penalty must be paid in order to use contemporary NAND flash devices with a serialized bus. This is the price for catching the current (and future) memory technology curve.

A few SWP70-related printed circuit board (PCB) positions are unpopulated (i.e., IC not installed) in the PSR-S970. There is an unpopulated position for a second Winbond W9825G6JH-6 wave work SDRAM which would expand the wave work memory to 32Mx16bit (64MBytes). A larger cache would be needed to support additional tone generation channels. Perhaps only half of the tone generation channels are enabled in the mid-grade PSR-S970 workstation.

There is what appears to a second separate wave work interface that is completely unpopulated. The intended memory device is a Winbond W9825G6JH-6, which is consistent with the existing wave work interface.

The PSR-S970 also has a stubbed out interface that is similar to the DSP SDRAM interface. The existing DSP SDRAM signals are labeled “H” for HIGH while the unused interface is labeled “L” for LOW. Perhaps only half of the hardware DSP processors are enabled for the mid-grade S970, waiting to be activated in future high-end Tyros and Motif products.

I refer to future high end products by the names of the current product lines. Yamaha may choose to rebrand future products (e.g., the much-rumored “Montage” trademark).

The Spansion S34ML08G2 8-Gb NAND device is Open NAND Flash Interface (ONFI) 1.0 compliant. The S34ML08G2 device is a dual-die stack of two S34ML04G2 die. The 8-bit I/O bus is tri-state allowing expansion e.g., multiple memory devices sharing the same I/O bus and control signals with at most device enabled at any time. The SWP70 has additional chip select pins that would support this kind of expansion. The current expansion flash DIMMs will no longer be needed or used.

In this note, I concentrated on observations and fact, not speculation about future products. I’ll leave that fun for another day!

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

SSP1 and SSP2: Designated hitter

One notable absence from the Yamaha PSR-S970 design is the “SSP2” integrated circuit (IC) which handles vocal harmony processing. The SSP1 and SSP2 appeared in the Tyros series and PSR series coincident with Vocal Harmony 2.

For you signal sleuths, the PSR-S950 and Tyros 5 microphone input is routed to an analog-to-digital converter (ADC) where the analog signal is sampled and digitized. The digital sample stream is sent to the SSP2 IC. The firmware munges on the samples and voila, the SSP2 produces a vocal harmony signal that is mixed with samples from the tone generator, etc. The SSP2 sends its results to the TG where effects and mixing are performed. The TG sends its output to the digital-to-analog converters (DAC) and digital amplifiers. The Tyros 4 has the same signal flow using an earlier model “SSP1” processor instead.

Previous machines with vocal harmony (e.g., Tyros 3 and earlier, PSR-S910 and earlier), routed the digitized microphone stream to a tone generator (TG) IC such as the SWP51L. Presumably, vocal harmony processing was performed in the TG IC. With the brand new SWP70 tone generator in the S970, the digitized microphone stream is sent to the SWP70. Looks like vocal harmony processing is folded into the SWP70 TG.

I didn’t give the SSP2 much thought or investigation, and just assumed that it was a gate array or something. On inspection, the pin-out resembles a Renesas embedded DSP processor with analog inputs and outputs, digital I/O, USB and all of the usual suspects. The SSP2 in the S950 has 2MBytes of NOR flash program ROM (organized 1Mx16bits) and 2MBytes of SDRAM (organized 1Mx16bits). The clock crystal is a leisurely 12.2884MHz although the SDRAM read clock is 84.7872MHz.

Mysteriously, a web search on the part numbers doesn’t turn up much information. The part numbers are:

    Schematic ID  Manufacturer?       Yamaha
    ------------  ------------------  --------
    SSP1          MB87S1280YHE        X6363A00
    SSP2          UPD800500F1-011-KN  YC706A0

The PSR-S950 parts list does not give a Yamaha order number for the SSP2. If the SSP2 fails, you’ll need to call Yamaha 24×7 directly.

A web search does turn up a few of the interesting places where the SSP has been seen. In addition to Tyros 4, Tyros 5 and S950, the SSP and SSP2 are featured in:

    PSR-S500 arranger (probable role: effects processor)
    EMX5016CF mixer (role: SPX effects and user interface)
    Steinberg UR22 audio interface
    Steinberg MR816 Firewire audio interface
    Yamaha THR modeling guitar amplifier

The SSP is Yamaha’s designated hitter when they need an odd bit of DSP work done.

PSR-S770 and S970 internal architecture

Yamaha just recently introduced the new PSR-S770 and PSR-S970 arranger workstations. As usual, I’m always anxious to dive into the service manual and see what’s up.

First, I’d like to thank Uli and capriz68 on the PSR Tutorial Forum for their help. Uli made a very nice table from my ramblings, so be sure to check it out there.

Without further introduction, here is a table comparing previous generation models (PSR-S750 and PSR-S950) against the new models.

                    PSR-S750  PSR-S950   PSR-S770  PSR-S970
                    --------  ---------  --------  ---------
Main CPU            SWX08     SH7731     SH7731    SH7731
Clock rate (MHz)    135.4752  256        320       320
Tone generator      SWP51L    SWP51L     SWP70     SWP70
Ext clock (MHz)     11.2896   11.2896    22.5792   22.5792
DSP SDRAM (MBytes)  8         8          8         8
DSP RCLK (MHz)      45.1584   45.1584    95.9616   95.9616
Mic ADC                       AK5381     PCM1803   AK5357
AUX IN ADC          AK5357    AK5381     AK5357    AK5381
DAC                 AK4396    AK4396     AK4396    AK4396
Digital amp         YDA164C   2*YDA164C  YDA164C   2*YDA164C
Wave ROM (MBytes)   256       256        512       2048
Wave SDRAM          N/A       N/A        32MBytes  32MBytes
SSP2 chip           No        Yes        No        No

The main CPU remains a Renasas SH4AL-DSP CPU. The clock speed is increased from 256MHz to the 320MHz, which is just shy of the rated maximum for the SH7731.

Wave memory is increased from 256MBytes (S950) to 512MBytes (S770) and 2GBytes (S970). Part of the S770 and S970 wave memory is reserved for expansion pack voices: 160 MBytes (S770) and 512 MBytes (S950). How Yamaha uses the rest of the memory is up to Yamaha. However, we are now in an era when we cannot compare products solely on the basis of physical wave memory size. Our ears and performance experience are more important than mere byte counts!

The S970 has two NAND flash memory devices labelled “audio style.” The devices are:

    4Gbit NAND flash = 512MBytes
    2GBit NAND flash = 256MBytes
                       ---------
    Total audio style  768MBytes

Yamaha specifies memory size in bits, so one must be careful to convert during analysis. The PSR-S950 has a NAND flash device labelled “Program ROM,” which presumably served the same purpose as well as holding the operating system image that is loaded at boot time. The S950 device capacity is 512MBytes (4Gbits). The S970 reserves 128MBytes for audio style expansion.

The upper mid-range model, i.e., the S970, is biamplified with two digital power amps. The older S950 is also biamplified. Not much change here.

The big news is that Yamaha have a new tone generator integrated circuit (IC), the SWP70. The SWP70 uses the serialized wave memory interface that I described in an earlier post. The SWP70 appears to operate at twice the speed of the older SWP51L. The SWP70 has implications for other future products, so I will analyze it in a separate post.

With respect to the PSR-S970, however, there is another evolutionary step. With the appearance of the new SWP70, there is also the disappearance of the SSP2 IC. The introduction of the SSP2 IC coincided with the introduction of Vocal Harmony 2 in both the Tyros line and the PSR-S950. It is reasonable to infer, then, that vocal harmony is implemented on board SSP2. With the PSR-S970, there are two possibilites.

  1. Vocal harmony is assigned to the now faster main CPU, or
  2. SSP2 functionality is integrated into the new SWP70.

The SWP70 is beefed up in other ways including a new wave working memory.

The future looks interesting as always!

Here are links to my articles on other members of the PSR and Tyros product families:
What’s inside of a Yamaha arranger?
A follow-up on the Yamaha SWP51
Yamaha arranger product family

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

Sending performance data via audio

It’s a challenge to get one’s head around the recent patents filed and obtained by Yamaha. In this post, I concentrate on one kind of communication technology that pops up in several patents.

Most people would like to get rid of the cables in their studio or living room. Radio-based communication technology like wi-fi (e.g. IEEE 802.11), Bluetooth, or Bluetooth Low Energy (BLE) seems like a no brainer for wireless communication. Radio is a bit of a regulatory nightmare for a global electronics corporation, however, because radio gear needs type acceptance and approval from governmental authorities. On a functional level, both wi-fi and Bluetooth communications are subject to interference, conflict and latency.

If Yamaha knows anything, it knows about latency and how latency can adversely affect the generation/transmission of data and sound.

US Patent 8,779,267 describes an approach to CDMA-like (code division multiple access) communication via near-ultrasonic sound (18KHz). Pseudo-random spreading codes allow multiple transmitters to operate within the same frequency band. Thus, multiple musical devices in your living room or studio can communicate with each other at the same time. The sound of ongoing communication — “control tones” in the terminology of the patent — are sufficiently high as to be inaudible to humans. (I wonder what dogs will hear and think? Seriously.)

The patent deals specifically with the modulation and generation of control tones by a synthesizer. The synth CPU borrows one of 32 tone generator channels to generate the control tones to be transmitted. The waveforms for the tones are stored, ta-da!, in wave ROM. Amplitude is constant (no ADSR for you) and the tone is sent only through the left channel to avoid sonic interference with itself through the right channel (avoiding phase cancellation, no doubt).

All in all, this is quite clever. Using a tone generation channel keeps cost low — no specialized modulator. The symbol rate is about 400.9 symbols per second, so transmission speed is not blazing fast. However, the ultra-sonic approach avoids the regulatory hassles and latency of consumer data radio technology.

The application discussed in the patent is the synchronization or display of “musical score data” on a tablet. The synthesizer sends control tones to the tablet telling notation software where it is in a musical score. The low symbol rate should be OK for this kind of application. If you’re curious about this application, then check out US Patent 9,029,676 (“Musical score device that identifies and displays a musical score from emitted sound and a method thereof”).

Six futher “embodiments” of theses idea are described in US Patent 9,006,551. The object of this invention is a musical performance information output device and system which superimposes musical performance-related information (e.g., notes, tempo, expression, etc.) on an analog audio signal without damaging the “general versatility” of the the audio data. The embodiments include:

  • A guitar that derives MIDI messages from string sensors and imposes the MIDI data on the audio signal.
  • A guitar that determines fingering information and sends it.
  • An electronic piano that sends tempo clock by imposing it on the audio.
  • A guitar that controls an effect unit.

And so forth.

Data is superimposed onto an audio signal. The signal can be sent in either free-air (patent ‘267) or over an audio cable (patent ‘551). There are probably limits and restrictions on free-air transmission such as signal strength, interference from ambient noise and so forth. Patent ‘267 assumes that the tablet and keyboard are in close proximity (speaker to microphone). In the case of ‘551, combining audio and data communication over an audio cable at least eliminates the need for a separate parallel data cable.

The normal disclaimers apply: Who knows if this technology will make it into product, how, or when?

Chord Tracker revealed

I am using the Yamaha Chord Tracker app to figure out the chords to some tunes. Chord Tracker analyzes the music in an MP3/audio file and displays a chord chart. This is great for learning new tunes and working out arrangements.

Chord Tracker can do much, much more! Yamaha really needs to produce a manual for this app to reveal all of these functions. Here are some useful tips including how to send a MIDI file for a transcribed song to your Yamaha PSR/Tyros arranger for playback.

First off, you can change the chords in the chord chart. If you don’t like a chord, just tap the chord and select a new one. Chord Tracker does a pretty decent job of identifying chords in “simple” music. For example, it did a great job with Hot Chocolate’s “Every 1’s A Winner.” (My guilty pleasure.) It didn’t do such a good job with Groovy Waters downtempo “Wicked Game.” The jazz chords (Dm/Eb, come on, man) threw Chord Tracker off. No problem, just edit the chord chart.

Here’s a crazy idea. Use a DAW to produce a three minute song with one or two chords at the beginning. Transcribe the song with Chord Tracker. When you need to create a new song from scratch, edit the new chords. Presto, a chord chart editor.

Next, you can send the chord progression to your PSR/Tyros. The Yamaha web site touts wireless connection, but you can send the song file via wired USB. I transferred the chord progression to my S950 using the Apple Camera Connection kit. (My iPad is a gen 4 running iOS9, BTW.)

The Yamaha web page for Chord Tracker states that Chord Tracker is compatible with the currently listed “Related Products.” That is true. However, Chord Tracker worked successfully with the S950 (not listed). So, even though you don’t own the latest and greatest, please give this capability a try.

On the iPad side, you need to establish a connection from Chord Tracker to your keyboard. Plug in the Camera Connection Kit and USB cable first. Then select your instrument in the Connection box on Chord Tracker’s main screen.

Choose an audio song to transcribe to a chord chart and turn Chord Tracker loose. Once you have a chord chart, tap the upload icon, i.e., that square box with an arrow shooting upward. Then tap the “Send to Instrument” button. Chord Tracker pops up a dialog in which you can enter/change the name of the song file to be created on the arranger workstation. Tap SEND and Chord Tracker sends the song file to the arranger.

Chord Tracker stores the song file in the arranger’s internal drive. It creates a directory named “ChordTracker” and stores the song file in this directory. Any other song file that you create this way is stored in the “ChordTracker” directory.

Press the SONG SELECT button on the arranger to find and select the song file. Navigate to the USER tab of the internal drive and then press the corresponding button for the “ChordTracker” directory. Then press the corresponding button for the song file itself, e.g., “every1s”, which is the name that I gave to the “Every 1’s A Winner” song file.

Press the play button. The arranger will play back the song using the currently selected style and section. Now have fun changing the style, section, tempo and so forth. You can change the style, section, etc. in real time while the song plays, making it easy to tune the song to your sonic wishes.

Of course, you can dive into SONG CREATOR and tweak away. The System Exclusive TAB reveals much of the magic behind the scenes.

Chord Tracker generates three MIDI metadata records for time signature, key signature and tempo, followed by three System Exclusive messages:

    F0 7E 7F 09 01 F7             GM reset
    F0 43 10 4C 00 00 7E 00 F7    XG system ON
    F0 43 60 7A F7                Accompaniment start

The preamble is followed by a slew of Yamaha System Exclusive messages for the chord changes:

    F0 43 7E 02 34 00 34 7F F7    Chord control (F maj/F)
    F0 43 7E 00 08 7F F7          Section control (MAIN A ON)
    F0 43 7E 02 23 00 23 7F F7    Chord control (Eb maj/Eb)

Chord Tracker does not generate the Yamaha proprietary CdS1 chunk in the MIDI file. All playback is controlled by metadata and System Exclusive messages.

We can expect to see more of these kinds of features from Yamaha. They have a US patent (number 9,142,203) for a formatted chord chart and accompaniment generator. The generator is driven by a simple, free form text chord chart.

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

Why not high-end x86?

Last time around, I broke down the computational core of the Korg Kronos and Krome workstations. The Kronos is one of the few (only?) current synthesizer workstations based on the x86. The Kronos 2 is built around an Intel mini-ITX motherboard with a 1.86GHz dual-core Atom running a custom version of Linux. Since the x86+Linux combination is flexible and versatile, it hosts a wide variety of software-based synthesizers, including the ever popular sample-based synthesis used in so many other products from Korg, Roland and Yamaha (to name a few manufacturers).

Learning this, some folks may be disappointed to find a “lowly” Atom instead of high-end processor such as a honking 4.0GHz Core i7-4790K. It’s a quad-core processor (8 processing threads) with 1MB L2 cache, 8MB L3 cache, and integrated Intel HD Graphics 4600. Sounds like a positive screamer when compared against the D2550 Atom in the Kronos 2.

Before any fanbois freak out, I didn’t have any particular reason for choosing this particular CPU as the example. Yes, it was released in 2014, blah, blah.

First and foremost, please consider power consumption. The i7 is rated at 88W total power dissipation (TDP) while the Atom is rate at 10W TDP. High clock speed and high functionality come at a cost, specifically, power.

  • On the consumption side, the i7 needs a power supply with 8 times the capacity of the Atom-based solution.
  • On the dissipation side, the i7 solution needs to dissipate and remove 8 times the heat of the Atom solution.

It’s the laws of physics, folks. Silicon CMOS circuits at high clock speed consume gobs of power. If you want to save dynamic power, then reduce the clock speed and/or throw away unneeded functionality.

High power consumption and dissipation lead to difficult design problems at the product system level. The power supply (PSU) must be bigger and heavier. An ATX power supply is 2.5 to 5 pounds of dead weight. The PSU also generates heat of its own no matter how efficient it may be. CPU cooling requires both a heavy heat sink and a fan. Further, the heat produced by the heat sink and power supply must be removed from the product chassis by exhaust fans. Great, additional weight and fan noise. Ultimately, the musical instrument designer becomes a desktop computer designer.

Customers already complain about the weight of workstation products. Heavy synthesizer workstations are “studio queens.” If a workstation is too heavy to take to gigs, then why not use a high performance desktop or server solution in the studio to begin with?

One must take the CPU support infrastructure into account, too. Mid- and high-end x86 processors cannot stand alone — they need a companion chipset. The x86 processor and the chipset integrated circuit (IC) are the Mario and Luigi of computer design. You don’t see one without the other. The chipset IC implements the I/O ports: PCIe, USB and most importantly, the SATA interface to bulk storage. The chipset IC consumes and dissipates power, too, and must have its own heat sink.

x86 system design requires specialized expertise in high frequency electronics, thermal design and mechanical design. You’re unlikely to find this specific expertise at Korg, Roland and Yamaha. It’s not their core competence or value added. That’s why Korg very wisely adopted an existing mini-ITX solution for the Kronos. Korg design and manufacture the ARM-based user/audio interface board. Embedded electronics like that are a core competence and value-added component. The mini-ITX motherboard plus user/audio interface board solution is smart, system-level engineering.

So, in the end, we have the “good enough” solution that is appropriate for the product space. Korg build musical instruments, not desktop computers. The D2550 Atom has enough computational horsepower to deliver a range of synthesis techniques with adequate polyphony. The solution fits into a conventional keyboard chassis without noisy fans, without becoming dangerously hot to the touch, and at a tolerable weight.

You may think that I’ve conceded higher performance at this point, but here is one more idea for consideration — laptop technology. This solution will not deliver the absolute highest level of performance, but it might be the next step up from the mini-ITX solution. From the systems point of view, it might make sense to design a portable keyboard product around an OEM laptop motherboard, cooling system and processor. Laptop fans are generally quiet and heat could be vented through a modest port in the chassis. One could power the instrument from lithium ion batteries for relatively short periods of time or leave the batteries out for lighter weight. Perhaps Korg engineers considered this solution, too. They’ve clearly demonstrated their skill in the design of the Kronos.

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.