News:

PSR Tutorial Forum is Now Back to Life!

Main Menu

How are Yamaha preset Voices stored inside the keyboard 🎹

Started by Keyboard Master, August 28, 2021, 04:47:47 PM

Previous topic - Next topic

Keyboard Master

I'm just curious is all Yamaha preset voices packet inside a little sound chip. I just just wondering?

Keyboard Master

Or do they use multiple chips for Mega voices super Art! etc.

pjd

Hi --

There is such a broad range of arranger/synth products at different price points, that the amount of storage and the kind of storage varies by quite a lot.

The lowest of the low: PSS-A50, -E30, -F30, PSR-F51. Presets are stored on a 2MByte serial flash ROM and are loaded into the processor (SWLL) at start-up. The 2MBytes include code, too! Tone generation is integrated into the SWLL. Insanely small, and very low cost.

The highest of the high: Genos. Factory presets are stored in four 1GByte ONFI NAND flash devices. Expansion memory consists of two 1GByte ONFI NAND flash devices. Wave memory connects directly to external tone generators (SWP70).

A "preset" consists of one or more waveforms (AKA "samples") and voice meta-data.

Hope this helps -- pj

http://sandsoftwaresound.net/yamaha-genos-main-cpu/
http://sandsoftwaresound.net/yamaha-genos-tone-generation/
http://sandsoftwaresound.net/yamaha-pss-a50-look-inside/



Amwilburn

This is fascinating stuff, Paul!

Re: the Genos The SWP70's, with 4GB and 2GB, you said you assumed that's where the samples are stored, correct?
But then mentioned that the motherboard itself has a 4GB and 64GB storage (I assume the latter refers to the SSD?) but doesn't that imply the possibility of another 4GB, or is the motherboard 4GB simply a 'blitting' (forgive the graphics parlance) buffer? Or does the OS actually take up a meaningful chunk of the 4GB ram??

I'm just surprised that the more economical Montage would have rom sample storage (or maybe, the 6GB was just the 'expanded linear equivalent... like when companies started quoting what the equivalent uncompressed wave size to their compressed samples... which I don't know whether that even factors in things like the loop length! And maybe it wasn't *physically* 6GB, but more like 1.5?... they (manufacturers) sometimes used 320kbps MP3 in their 1440kbps .wav equivalents when quoted 'sample rom')

Mark

pjd

Hi Mark --

Sorry if this message sounds pedantic. Can't find the right tone...  :)

Yamaha confuses people when they speak of "user memory," "internal memory," etc. They are usually referring to logical, user visible storage.

When getting down to the hardware level, there are many different physical memory units. since we're not discussing fairy dust or magic, the logical storage must be assigned to one or more physical memory units. And, of course, the physical memory units themselves may be composed of multiple integrated circuits.
The other dimension is "what communicates to what." Memory is passive and needs a processor to initiate reads and writes. At the physical level, a memory unit essentially belongs to a single processing unit.

The CPU/SWP70 is not exactly analogous to host CPU plus GPU. Graphics memory is shared between CPU and GPU. The SWP70 does not share its waveform memory with anybody -- it's dedicated to the tone generator. That's why installing a pack is kind of slow and complicated, and why a Genos reboot is required.

Staying with Genos, Genos has two SWP70 tone generators: one handles factory presets and the other handles user expansion voices. The factory SWP70 has 4GBytes of flash memory while the expansion flash memory has 1GB of flash memory. That's physical memory. Yamaha boosted the effective capacity to 3GB expansion through compression.

The SWP70s also have DSP RAM. As a user, you never know about this memory. It's scratchpad memory for DSP effects. Physically, the DSP RAM is completely separate and independent from the waveform memory, and communicates with only its parent SWP70.

The host CPU has two kinds of memory (as determined by its bus interfaces): 1GB of working RAM on the CPU memory bus (EMIF) and two embedded eMMC memory devices that act like solid state storage drives (MMC0 and MMC1). As far as a user is concerned, the user never sees the 4GB eMMC drive (MMC0) just like you don't see the DSP RAM; it's hidden. The MMC0 drive contains the Linux operating system kernel and the root file system.

The user sees only part of the second 64GB eMMC drive (MMC1). The user sees the logical storage which Yamaha calls "Internal memory" or "USER drive." What's in the remaining 6GB? I don't know -- Yamaha haven't left any clues.

Hope this helps with respect to Genos -- pj


Keyboard Master

Oh ok that's cool to know. I'm curious so if I got very creative and replace the chip in the Psr s770 and replace it with the sx900 one would all the extra voices show up. I'm curious (example)

pjd

Quote from: Keyboard Master on September 11, 2021, 09:29:31 AM
Oh ok that's cool to know. I'm curious so if I got very creative and replace the chip in the Psr s770 and replace it with the sx900 one would all the extra voices show up. I'm curious (example)

PSR-S700 to sx900? Not even remotely possible by replacing components. The S700 is based on the old SWP51 tone generator which has a completely different memory interface than SX900 (SWP70). That would also assume bit-compatible ROM contents (i.e., the voice meta-data and waveform representations are logically compatible).

-- pj

SciNote

Well, he said PSR-S770, not S700 -- Would that still be the same situation?  And I knew if anyone here would be able to answer his question, it would be you!
Bob
Current: Yamaha PSR-E433 (x2), Roland GAIA SH-01, Casio CDP-200R, Casio MT-68 (wired to bass pedals)
Past: Yamaha PSR-520, PSR-510, PSR-500, DX-7, D-80 home organ, and a few Casios


Keyboard Master

Oh so and if I swapped the waveforms chips between the two then put everything back together. Will the extra voices from the sx 900 show up in the Psr s770 that's what I'm also curious about.

pjd

Yeah, I was probably thinking about football instead...  :)

I doubt if installing SX900 waveform ROMs will auto-magically make SX900 voices appear. There are two sides to a preset: the software/OS side and the tone generator side (waveform memory). As some folks at Yamaha once described it, the "synthesis engine" is at least two layers: software (OS) and hardware (tone generator). Installing ROMs might make the waveforms available to the tone generator, but the software synthesis layer will not have the necessary info needed to gin up SArt and SArt2, at the very least.

That software synthesis layer is different in arrangers than synths, BTW.

Everything in an arranger is versioned and checksum'ed. Different ROMs and the keyboard may not even boot. The SX900 is Linux-based and the S770 is the old legacy OS. So, there's that difference, too.

You would need to install at least two new waveform ROMs (assuming you can get them). That's two 48-pin surface mount (SMT) ICs. Good luck doing that cleanly by hand. SMT is a nightmare. If a ROM goes bad, most service techs will replace the entire digital logic board.

Basic point, we don't have the service manual for PSR-SX900 and don't know about pin-for-pin compatibility:

https://psrtutorial.com/lessons/workshops/ServiceManuals.html

My advice is don't do it. Practice scales instead.  :)

-- pj

Amwilburn

Additionally, how would you even *get* the voicerom chips of an sx900 without purchasing an sx900 or CVP805?

(Go Seahawks!)

Mark

Keyboard Master

Good point. And one more thing I am also curious about too is if I did swap the right hardware and some of the voices didn't show up what if I loaded a style that uses the extra voices how would the style sound.

pjd

Quote from: Keyboard Master on September 13, 2021, 04:31:53 PM
Good point. And one more thing I am also curious about too is if I did swap the right hardware and some of the voices didn't show up what if I loaded a style that uses the extra voices how would the style sound.

Who knows? I hate to say it, but this question is incredibly hypothetical.  :) I'm outta here.

-- pj

Keyboard Master

I do know one thing I can do. Is record WAV from the sx900 using the audio recorder to record extra voices then I can use YEM. At least extra mega voices drum kits and regular synth and pad soynds. I can use the eight elements in YEM to put the mega voices together. That's something I thought about. Then install them as expansion voices.