Copy PSR DSP effects (part 4)

This is part 4 of a series of articles about DSP effects for electric pianos and other electrified instruments like guitar. The first three articles are:

This article covers two more techniques that should help you create and apply DSP effects to PSR/Tyros voices.

Beg, borrow and steal

As Picasso once said, “When there’s anything to steal, I steal.” I’m not encouraging larcency or piracy, but when there’s a good effect in an OTS or voice, copy and paste is the way to go.

I like writing these blog posts because they encourage me to learn more about PSR/Tyros features that I might have ignored or overlooked. Such is the case with the section titled “Disabling Automatic Selection of Voice Sets” in the Reference Manual. This features gives us a way to selectively copy certain aspects of a voice to another (new) voice.

This feature is like a “mini-freeze” that applies solely to VOICE SET, not entire registrations. Navigate to:

    FUNCTION > [E] REGIST SEQUENCE/FREEZE/VOICE SET

then TAB over to the VOICE SET page. There are four buttons at the bottom of the page controlling, respectively, four aspects of voice loading when a voice is selected:

    VOICE
    EFFECT
    EQ
    HARMONY/ECHO

When a button is ON, the corresponding voice parameter settings are loaded automatically from the selected voice. When a button is OFF, the corresponding voice parameters settings are not loaded.

So, if we set the button for EFFECT to OFF, we essentially “freeze” the current effect settings. When we load a new voice, the effects remain the same. This gives us a poor man’s copy and paste between voices.

Let’s say that we like the distortion effect on the “Clavi” voice and want to apply it to “VintageEP”. First, I load the Clavi voice to call up the DSP effect. Then, I navigate to the VOICE SET page (as described above) and turn the EFFECT button OFF. This freezes the effect part of the voice programming. Then, I select the VintageEP voice. Voila, the VintageEP voice plays using the distortion effect that was frozen.

Stop! Wait a minute!

Once you save the VintageEP voice to the USB drive or an OTS button, be sure to unfreeze the EFFECT aspect of voice loading. If you don’t do this, you will surely wonder why all of the voices you load are distorted!

Hey, where’s the loot?

The built-in voices are the most obvious source of inspiration for new basic voice plus effect combinations. Yamaha need to maintain backward compatible voices, however, and the older voices such as the electric pianos may not use the latest and greatest effects (e.g., REAL DISTORTION). The guitar voices tend to turn over more quickly and adopt the latest effects.

Backward compatibility is less of an issue for the OTS voices within styles. You are more likely to find new and interesting effects under the OTS buttons. Take the built-in “WahClavi” voice, for example. The built-in voice uses the old CLAVI TC.WAH effect. The “WahClavi” voice in the JazzFunk style, on the other hand, uses the new REAL DISTORTION multi-effect MLT CR WAH (Multi FX Crunch Wah).

The following table is a list of OTS voices showing the parent style and DSP effect. Follow this map to find buried treasure!

Voice            Style          S950 effect   Tyros 5 effect
---------------  -------------  ------------  -------------------------------
GrungeGuitar     JazzFunk       AMP1 HEAVY    British Combo Heavy
OverdriveWah     JazzFunk       MLT CR WAH    Multi FX Crunch Wah
VintageAmp       Soul           V_DIST SOLID  V_Dist Solid
Slapback         MotorCity      V_DIST ROCA   V_Dist Roca
SingleCoilClean  Live8Beat      CMP+OD+TDLY4  Compressor+Overdrive+TempoDelay4
JazzClean        KoolShuffle    V_DST JZ CLN  V_DistJz Cln
StageLead        HardRock       MLT DS SOLO   Multi FX Distortion Solo
EarlyLead        FunkPopRock    TEMPO AT.WAH  Tempo At.Wah+
MetalMaster      ContempRock    ST AMP DS     Small Stereo Distortion
ElectroAcoustic  AcousticRock   AMP1 CLASSIC  British Combo Classic
BluesyNight      70sGlamPiano   ST AMP VT     Small Stereo Vintage Amp
PureVintage      60sRock&Roll   MLT OLD DLY   Multi FX Oldies Delay

VintageEP        SoulBrothers   AMP1 CLASSIC  British Combo Classic
WahClavi         JazzFunk       MLT CR WAH    Multi FX Crunch Wah
SuitcaseEP       Live8Beat      CELESTE2      Celeste 2
ElectricPiano    FunkyGospel    EP AUTOPAN    EP Autopan
CP80             FunkPopRock    T_PHASER1     T Phaser 1
JazzVibes        DetroitPop2    VIBE VIBRATE  Vibe Vibrato
VintageEP        60sPopRock     EP TREMOLO    EP Tremolo

HoldItFast       LiveSoulBand   DIST SOFT2    Distortion Soft 2
WhiterBars       Soul           V_DIST CLS S  V_Dist Cls S
WhiterBarsFast   GospelSwing    ST AMP CLEAN  St Amp Clean
CurvedBars       MotorCity      ST 3BAND EQ   St 3Band EQ
EvenBars         FunkyGospel    ST 3BAND EQ   St 3Band EQ
AllBarsPhase     FunkPopRock    PHASER2       Phaser 2
ClassicBars      BluesRock      ST AMP CLEAN  St Amp Clean
Organ-a-Gogo     70sDisco2      V_DIST TWIN   V_Dist Twin
R&B Tremolo      60sVintageRock DIST HARD2    Distortion Hard 2
OrganFlutes      60sPopRock     AMP2 CLEAN    British Legend Clean
OrganFlutes      6-8SlowRock    ROTARY SP1    Dual Rot BRT

GrowlSax         SoulBrothers   V_DST S+DLY   V Distortion Soft + Delay
GrowlSax         MotorCity      V_DST H+DLY   V Distortion Hard + Delay
RockSax          LiveSoulBand   DST+DELAY1    Distortion + Delay 1
RockSax          HardRock       ST AMP CLEAN  St Amp Clean
Harmonica        6-8Soul        TEMPO AT.WAH  Tempo At.Wah+

Use the poor man’s copy and paste method to mix and match a basic voice sound with a DSP effect. The treasure map demonstrates how the Yamaha style programmers make use of the workstation’s sonic resources. There’s a lot to learn here!

Dry/Wet mix

I like to change voices by hitting the OTS buttons while jamming along with a tune. I have created more than 50 styles with customized OTS buttons to cover my current repetoire. The OTS buttons select the voice and effect combinations that are the most approprtiate for specific tunes (appropriate to my ears anyway).

Unfortunately, the kind of OTS voice and effect informaton that can be stored is limited by the S950’s operating system. (See the Voice Effect, Voice Set, and Mixing Console sections of the Parameter Chart in the Data List manual for the exact details.) An OTS button remembers:

  • DSP effect type (insertion type)
  • DSP ON/OFF
  • DSP variation ON/OFF
  • DSP variation value
  • DSP depth

for the RIGHT1, RIGHT2 and LEFT parts.

If you cast your mind back to Part 1, you know that there are a lot of parameters behind each effect. These parameters cannot be directly captured in an OTS button, which is why they must be stored in a USER EFFECT memory location as described in Part 2. You do get a fly-speck of tweakability by modifying the DSP variation value. Unfortunately, the parameter type is fixed.

The OTS restrictions are relieved or eliminated in the PSR-S970. Again, please see the Parameter Chart in the Data List manual.

Fortunately, OTS remembers DSP depth. The DSP depth controls the “dry/wet” mix, that is, the amount of uneffected (dry) and effected (wet) signal that is mixed together and sent further along (usually to the system-level chorus and/or reverb blocks).

Let’s say that you added a heavy distortion sound to the “SuitcaseEP” voice and you want to reduce the amount of distortion without changing the tone. (Guitar distortion is often waaaay too much for electric piano.) Simply dial down the DSP depth. This increases the amount of dry (clean) electric piano sound and decreases the amount of wet (distorted) electric piano sound. Voila, an electric piano with a bit of grit, not a fuzzed out shredder’s delight.

Here are the parameters for the DISTORTION presets DIST SOFT1 and DIST SOFT2.

                       DIST SOFT1  DIST SOFT2
                       ----------  ----------
    Drive                 16           7
    Amp Type             Tube        Combo
    LPF Cutoff          4.5 KHz     3.6 KHz
    Output Level          64          82
    Dry/Wet              D44>W      D<W63
    Edge (Clip Curve)     49          40

The built-in preset “Clavi” voice uses DIST SOFT1 to get its biting tone. Note that the DIST SOFT1 dry/wet mix has more dry signal than wet and that the DIST SOFT2 dry/wet mix has more wet signal than dry.

Here’s where things are cool, confusing, or both. The S950 seems to know when a DSP effect has a predefined dry/wet mix parameter. The parameter value tracks the DSP depth knob in the Mixing Console. Cool. The DSP depth knob is calibrated from 0 to 127 while the dry/wet parameter is calibrated from full dry (D63>W) to full wet (D<W63). Confusing. Internally, a 50-50 dry/wet mix (D=W) is represented by the value 64. The dry/wet mix is 50-50 (D=W) when the mixing console DSP depth knob is set to 64; the knob determines the internal value. (Pan gets munged in a similar way.)

As an exercise, I suggest applying the distortion effect in the built-in “Clavi” voice to “SuitcaseEP.” Then, use the DSP depth (dry/wet mix) to dial back (or dial up!) the distortion to taste.

A loose end

Some of you probably noticed that I didn’t say much about the “Wah Pedal” parameter belonging to the REAL DISTORTION multi-effect algorithm. This parameter can be swept by an XG “assignable controller.”

I didn’t say much about the “Wah Pedal” parameter because I was hoping to find a way to control this parameter from either the expression pedal input or an external MIDI controller. It may be possible to set up external control if a controller can utter the right SysEx mumbo-jumbo to set up an XG assignable controller. The process looks beastly and not very practical.

However, the S970 and Tyros 5 are capable of sweeping the wah pedal parameter. Please see the reference manual concerning “Footswitch / Foot Controller Settings”.

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?

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.

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!

Performance styles for PSR-E443

The PSR-E443 folks don’t get enough love, so here is a collection of performance styles for the E443 and the E433.

So, what is a “performance style?”

The Yamaha Motif/MOX series of synthesizer workstations have hundreds of factory “Performances” to to help a composer get started with a new song. A Performance has up to four independent voices (drum, bass, guitar, etc.) and up to six sets of related musical phrases — “arpeggios” in Motif-speak. The arpeggios are drawn from a built-in library of several thousand musical phrases in a slew of contemporary genres. Each set of phrases has a role (main section, fill, break) and the composer switches between sets while playing in order to lay down a basic arrangement or backing track. Even if you’re not a songwriter, the Motif Performances are just plain fun for jamming or practice.

I recorded and translated 22 of my favorite Motif/MOX Performances to PSR/Tyros styles — Performance styles. They play just like regular styles (follow chords in the left hand, play fill-ins when changing main sections, etc.) The styles are stripped down and are meant to be played. A few of the styles have only bass and drum, so there isn’t a lot of elaborate orchestration to get in the way. The introductions and endings are very simple.

This first collection targets the PSR-E443 and E433. The styles are SFF1 and should work on other arrangers supporting SFF1 although you may need to substitute different drum kits. The styles in this collection do not use Mega Voices. A more advanced collection with SFF GE and Mega Voices is being developed.

Since these are my favorite performances, the styles come from a funky, jazzy, fusion kind of place.

For more information, check out the README page. Then, download the ZIP file and have fun!