Inside Reface YC and CP

Like the Yamaha Reface DX and CS, the Reface YC and CP are brother and sister.

The Reface DX and CS use the Yamaha proprietary SSP2 integrated circuit (IC) for sound synthesis. A few minor hardware differences and the front panel aside, the main difference between DX and CS is software. The YC and CP designs are analogous although the tone generation method and hardware are different.

Sample playback and memory bandwidth

Many people focus on the computational aspects of tone generation and wave memory size, not realizing that memory bandwidth is just as important, if not critical, for sample playback. Waveform samples need to flow from wave memory to the tone generation apparatus whether tone generation is performed on a CPU or a proprietary tone generator IC like Yamaha’s previous generation SWP51L and the now current SWP70.

Sustainable polyphony depends on memory bandwidth. If available bandwidth is low, then polyphony is low. Raise bandwidth and you can raise polyphony, too, provided adequate computational resources (e.g., tone generation channels or CPU cycles) are available.

Several factors affect memory bandwidth.

  • The most obvious factor is the raw speed of the memory technology. Fast memory means high bandwidth.
  • Next is the kind of memory communication channel: shared or dedicated. If waveform samples and CPU code reside in the same physical memory component, then bandwidth must be shared between the CPU and the tone generator, lowering tone generation bandwidth and polyphony. Bandwidth is higher when the CPU and tone generator each have their own memory channel and component. Concurrency wins!
  • Bandwidth sometimes depends on the read access mode or pattern of the memory component. Concerns here include random vs. sequential access, word vs. paged, etc. This subject is a little too deep for this short note.
  • Finally, bandwidth depends on the bus organization: serial or parallel. Parallel buses move each bit in a word on a dedicated wire. Serial buses move moves sequentially on one or a few wires. Parallel is fast; serial is slower.

Of course, there are further factors and choices like the necessity for read-write access, non-volatile data storage, and so forth.

The instrument designer faces the challenge of supplying sufficient memory bandwidth, tone generation channels and polyphony at a particular price point. Polyphony and price point are market-driven requirements. Memory bandwidth and tone generation resources are technological. The designer must work within both kinds of requirements and constraints.

Internet discussions tend to dwell on memory speed and component cost alone, neglecting system-level design costs like board complexity, wiring and testing. A simple rule of thumb is, “More IC pins and wires means higher system cost.” Serial communication decreases pins and wires, but it compromises bandwidth. Shared buses also decrease the number of pins and wires, again, penalizing bandwidth. One expects to find serial communication and/or shared buses in low price products, while higher price products can reap the benefits of dedicated, parallel communication.

I must note that commodity bulk flash memory uses a serialized memory bus, but it does so by sequential paged reads and data caching. The SWP70 is compatible with commodity flash and uses a dedicated RAM cache to achieve high sample bandwidth. This scheme is cheaper than the SWP51L with its parallel dedicated wave bus.

Processor primer

Yamaha have several different processors at their disposal for main CPU, tone generation and effect processing (DSP) chores:

  • SWLxx: SWL processors, like the SWL01U, have integrated CPU, tone generation and DSP resources in the same IC. CPU instructions, data and waveform samples travel on the same shared bus. SWL processors are typically designed into value (i.e., entry-level) products. SWLs are also low power and ready for battery operation.
  • SWXxx: SWX processors have integrated CPU, tone generation and DSP resources on the same IC. CPU, tone generation and DSP each have a dedicated memory channel. SWX processors often appear in mid-range products.
  • SWPxx: SWP processors have a large number of tone generation and DSP elements, and no main CPU. The SWPs must be controlled by a separate main CPU.
  • SSP2: The SSP2 has an integrated CPU and DSP elements. The SSP2 is not used in AWM2 applications, appearing instead in computationally intensive synthesis engines (Reface CS and DX), vocal harmony processors, and digital mixers.

The SWL, SWX and SSP2 series processors are true “system on a chip (SOC)” designs with analog-to-digital conversion, bit-serial data (UART), USB, SPI and other interfaces. The CPU core is usually a variant of the Renesas SH architecture family. Architectural commonality facilitates code reuse across products. Yamaha have damned good engineers.

There are two different types of SWX processor: SWX02/SWX03 and the SWX08. The 02/03 variants appear in lower priced mid-range products. Examples include the MOX6 (SWX02), PSR-S650 (SWX02) and Piaggero NP-32 (SWX03). The SWX08 appear in the upper mid-range: PSR-S770, Reface YC and Reface CP.

Sometimes an SWX processor is used as the main computer controlling an SWP. For example, the SWX02 is the main computer in the MOX6/MOX8, controlling an SWP51L. Similarly, the SWX08 is the main computer in the PSR-S750, controlling an SWP51L. In both cases, the SWP51L handles all tone generation duties. Yamaha increases fabrication volume when it uses an SWX in this way.

At this point, semiconductor folks might ask if Yamaha fuses off TG or DSP deficient SWX08s and assigns them to main computer duty only. This strategy cuts waste as it deploys SWX08s with perfectly good CPUs and faulty, fused off TG and/or DSP circuitry. This is standard practice throughout the industry, so please don’t freak out.

Reface YC and Reface CP

The Yamaha Reface YC and the CP share the same digital logic board design. The main large-scale integrated (LSI) components are:

IC CPU (SWX08)   Yamaha R8A02042BG         SH-2A CPU core
Work SDRAM       Winbond W9812G6JH-6       8M x 16-bit word, 166MHz
DSP SDRAM        Winbond W9864G6KH-6       4M x 16-bit word, 166MHz
Program/Wave YC  Cypress S29GL256S90TFI020 16M x 16-bit word NOR flash
DAC              Asaki Kasei AK4396VF-E2   192kHz, 24-bit stereo DAC
Panel scan CPU   MB9AF141LAPMC1            ARM Cortex-M3 (32-bit core)
ADC              TI PCM1803ADBR            96kHz, 24-bit stereo ADC

The same ARM Cortex-M3 (32-bit core) processor is used in the Reface CS and Reface DX for panel and keyboard scan. Potentiometers and so forth are sensed by the ARM’s 12-bit analog to digital converter (ADC). Key scanning is performed through GPIO lines. (I don’t see any way to expand beyond 37 keys, unfortunately.)

The SWX08 is the main control computer. It handles the 5-pin MIDI interface and the USB interface. The ARM communicates with the SWX08 over a serial link (UART). Integral tone generation and DSP elements synthesize digital audio and effects.

The AK4396VF-E2 digital to analog converter (DAC) is also used in the PSR-S770 and PSR-S970 arranger workstations (among other Yamaha products.) The Montage employs the AK4393VM-E2 DAC by way of comparison. Digital audio for the internal speakers is converted by the Yamaha YDA176 digital amplifier.

The PCM1803ADBR ADC sends serial digital audio (24-bit I2S format) to the SWX08 where it is mixed with the synthesized tones.

DSP processors on the SWX08 have their own dedicated 16-bit data channel to DSP SDRAM (i.e., working memory for effects). The wave memory (NOR flash ROM) has a dedicated 16-bit parallel channel for samples. Wave memory is labelled “E:64MB / O:32MB”. Presumably, this means that the CP needs 64MBytes for electric piano waveforms and the YC needs 32MBytes for organ waveforms. I wonder if Yamaha substitute a larger, pin-compatible flash ROM in the Reface CP? I don’t have the Reface CP service manual in order to resolve this conjecture.

Summary

So, there you have it. Yamaha wisely designed the CS and DX as a pair and designed the CP and YC as a pair. I’m sure that shared board designs reduced their manufacturing costs.

Reface sales seem to be coming to an end. Nearly all Reface models have sold through in North America. Yamaha has either decided to cancel the Reface after the first production run or they will launch Reface 2.0, perhaps with full-size keyboards. They could easily design the guts of the YC and/or CP into the Piaggero NP-12 chassis. That would make for one killer, battery-powered stage machine!

Copyright © 2017 Paul J. Drongowski

LSI, LSI

More fun with large scale integration (LSI).

I went mad with desire when I heard about the Switch Science eVocaloid eVY1 shield for Arduino. The bad news is Switch Science is out of stock and is not making the board any longer.

I started to deep dive the Yamaha NSX-1 eVocaloid IC at the heart of the eVY1 shield and eventually found some specs. The NSX-1 responds to sixteen MIDI channels. Channel 1 is dedicated to eVocaloid — a monophonic singing voice. Channels 2 through 16 are assigned to the polyphonic, multi-timbral MIDI synthesizer. The MIDI synthesizer conforms to the XG voice and effects architecture. Unfortunately, the wave memory is about 2MBytes, putting it at the same level as an old school QY-70. (Got one of those already.)

I uploaded Yamaha’s NSX-1 brochure. Take a peek. Please note the waveform diagram on page 2 (i.e., head, body, joint, tail) eVocaloid and Articulated Element Modeling (AEM) are definitely siblings. “Conventional” Vocaloid uses computational heavy mathematics to blend phonemes. eVocaloid and conventional Vocaloid are more like cousins.

Assessing the MIDI implementation, software needs to pump abbreviations for eVY1 phonemes into the NSX-1 to make it sing. A string of abbreviated phonemes is sent via SysEx message. Looks like the developers got burned by the long SysEx message problem in Windows XP as they recommend using Windows Vista or later.

The vocal database (consisting of samples and more) is stored in a surface mount IC beneath the board. It isn’t possible to replace the vocal database with instrument samples in order to take advantage of the NSX-1’s Real Acoustic Sound (RAS) synthesis. eVocaloid mode and RAS mode are exclusive and cannot be used at the same time. Doesn’t look like we can get Super Articulation 2 voices on the cheap. (Bummer.)

Given these limitations, my ardour cooled rather quickly! However, leave it to Katsunori UJIIE to lift my spirits. Check out UJIIE’s demonstration of the Gakken NSX-39, Pocket Miku.

Meanwhile, my quest for a light-weight, self-contained, battery-powered rehearsal keyboard goes on. Recently, while I waited for the GC associate to process my returned Roland GO:KEYS, I plinked away on a Yamaha NP-12. The NP-12 is certainly cheap enough ($170 USD) and light enough (just shy of 10 pounds). Although it has only ten voices, I could MIDI the NP-12 to the MidiPlus miniEngine USB sound module for non-piano voices. A quick experiment with the miniEngine and the PSR-S950 proved feasibility.

I became curious about the level of tech inside the Yamaha Piaggero products and scrounged the Web for service manuals. I couldn’t find anything on the NP-12, but did find service manuals for the NP-30 (32 voice polyphony, 2007) and the current NP-32 (64 voice polyphony, 2016).

As I suspected, the upgrade in polyphony signaled an upgrade in the internal processor. The NP-30 is based on the SWL01T (YMW767-VTZ) workhorse that is part of many entry-level, battery-powered Yamaha products. The NP-32 is based on the SWX03. I haven’t seen the SWX03 before and I think the SWX03 is a new version of the SWX02 (which appears in the PSR-650 and MOX, for example). The SWL01T fetches sample data from the CPU’s system memory while the SWX02 fetches samples through a dedicated memory channel. Thus, the SWX02 processors have higher memory bandwidth and can support higher polyphony.

Physical wave memory is 8MBytes (64Mbits): 4M x 16-bit words. Uncompressed sample size is approximately 16MBytes. It is a testament to Yamaha’s sound design prowess that they can synthsize a decent sounding acoustic piano with such little memory. Sure, the NP-12 is the absolute bottom of the line, but it does sound decent given its modest street price.