PSS chorus: A dusty look back

Here’s a look into the past — and maybe, the present.

A PSR Tutorial Forum member inquired about the chorus effects in the PSR-E463. The PSR-E463 has the usual system chorus effect and the newer DSP chorus effect. I’m going to focus on the older system chorus effect.

The PSR-E series chorus system effect date back to the earliest days of Yamaha XG and arranger keyboards. These are low-cost entry-level keyboards and usually contain a single integrated circuit (IC) which integrates the main processor (CPU), tone generator and effect units. The most price- and cost-sensitive models integrate the wave memory (samples) on the IC, e.g., the SWLL (PSR-F51). Processors in the other models have an external wave memory, e.g., the SWL01 (PSR-E443) and SWX03 (PSR-E463).

Newer DSP effects aside, the E-series models share the same basic reverb and chorus effects. There are three chorus effects:

  • Chorus1 (MSB: 66 LSB: 17)
  • Chorus2 (MSB: 65 LSB: 02)
  • Chorus3 (MSB: 65 LSB: 00)

The LSB has varied, but they all refer to the same CHORUS (CELESTE) effect algorithm. The LSB just selects a set of preset effect parameters. Chorus1, BTW, falls into the XG CELESTE category, not CHORUS.

Due to hardware integration, the chorus effects likely share the same hardware. Since none of these processors have external DSP RAM, the chorus memory is integrated, too.

As far as chorus is concerned, this is the way it has been since the 1990s! Let’s look back to the Yamaha QY-70 XG implementation (1995). I suspect that the current chorus effects are the same or very similar to the good old QY.

The QY-70 had one chorus and celeste effect algorithm:

Param#  Parameter            Value range 
------ ------------------- --------------------
1 LFO Frequency 0.00Hz - 39.7Hz
2 LFO PM Depth 0 - 127
3 Feedback Level -63 - +63
4 Delay Offset 0 - 127
5
6 EQ Low Frequency 50Hz - 2kHz
7 EQ Low Gain -12dB - +12dB
8 EQ High Frequency 500Hz - 16.0kHz
9 EQ High Gain -12dB - +12dB
10 Dry/Wet D63;gt;W - D=W - D<W63
11 ...
15 Input Mode Mono, Stereo
16

These parameters are laid down by the Yamaha XG specification.

The XG specification does not define the preset values, however. Here are the QY-70 preset chorus values:

Param#  Parameter            Chorus1 Chorus2 Chorus3 Chorus4 
------ ------------------- ------- ------- ------- -------
1 LFO Frequency 0.25Hz 0.33Hz 0.16Hz 0.37Hz
2 LFO PM Depth 54 63 44 32
3 Feedback Level +13 +0 +0 +5
4 Delay Offset 106 30 110 104

QY-70 Chorus3 has the same MSB/LSB as PSR-E Chorus2. QY-70 Chorus 1 has the same MSB/LSB as PSR-E Chorus3. Confusing? Yes, but these are probably the PSR values or close to it.

Next are the QY-70 preset celeste values:

Param#  Parameter            Celeste1 Celeste2 Celeste3 Celeste4 
------ ------------------- -------- -------- -------- --------
1 LFO Frequency 0.50Hz 1.17Hz 0.16Hz 0.33Hz
2 LFO PM Depth 32 18 63 29
3 Feedback Level +0 +26 -20 +0
4 Delay Offset 0 2 2 0

None of the QY-70 presets have the same MSB/LSB as PSR, so your guess is as good as mine.

Now, the really bad news. The PSR-E series, at best, is XGlite. XGlite implementations typically don’t support the XG messages that set effect parameters. Therefore, what you hear is that you get. In other words, the effect presets are hardwired.

The Yamaha PSS series with its minimal SWLL processor implements exactly one chorus and exactly one reverb preset. You get what you pay for!

Copyright © 2021 Paul J. Drongowski