Yamaha PSS-A50 MIDI limitations

My last post about the Yamaha PSS-A50 MIDI implementation covered the basics. Now for a few advanced topics.

First, the bad news. The PSS-A50 does not have a way to save and restore recorded MIDI data. Thus, you can’t save a song and reload it later.

It is possible to SYNC a DAW (like Sonar) to the A50 and record MIDI data played back by the A50. I accomplished this task rather easily in Sonar. The A50 sends MIDI START, STOP and CLOCK. I simply configured Sonar to accept and sync to the A50. I armed the destination Sonar track, hit Sonar’s record button, and pressed the A50’s play button. Sonar recorded all incoming MIDI data to a single track. Sonar’s selective filtering made it easy to separate data in the track by channel.

Even if MIDI data is recorded to Sonar, there isn’t a way to play it back into the A50. The A50 does not recognize MIDI CLOCK, START or STOP.

Next, I tried MIDI bulk dump request messages. The A50 ignores them — no response. I also tried XG MIDI parameter request messages and they are ignored, too. I’m not too surprised because other entry-level arrangers ignore these kinds of messages, too. [The Yamaha SHS-500 Sonogenic is equally silent.]

In a moment of due diligence, I ran Musicsoft Downloader and it is unable to connect to the A50. Well, for $100, you can’t expect everything!

I experimented with reverb- and chorus-related messages. The A50 responds to MIDI CC#91 Reverb Level and CC#93 Chorus Level messages. However, you cannot change either the chorus or reverb type via standard XG parameter change messages. The chorus and reverb are pretty basic and I’m not really surprised.

In terms of quality, the chorus is just OK. The reverb sounds cheap when it is cranked up. As far as future mods are concerned, I’m inclined to beef up reverb and/or spatial enhancement. The Volca Mix’s enhancer made quite a difference in sound quality. Lacking stereo OUTs, the A50 sound doesn’t have much life by itself. (MIDI-wise, it doesn’t recognize CC#10 Pan.)

The PSS-A50 does respond to MIDI identity request:

    F0H 7EH 0nH 06H 01H F7H

In case you’re wondering, identity request and reply are how external software can query and identify external MIDI devices. When the A50 is pinged with an identity request, it responds with:

    F0H 7EH 7FH 06H 02H 43H 00H 41H ddH ddH mmH 00H 00H 7FH F7H 
dd: Device family number/code
mm: Version

F0 7E 7F 06 02 43 00 44 27 1F 00 00 00 7F F7
| | | | |
| | | | Version
| | Model
| Family
Yamaha

Hex 43 is Yamaha’s manufacturer/vendor code. Hex 44 identifies the device family: arrangers. Hex [27,1F] identifies the specific model within the device family.

I’m itching to examine the PSS-A50 motion effects. That’s the next stop.

Copyright © 2021 Paul J. Drongowski

Yamaha PSS-A50 MIDI notes

To learn more about the Yamaha PSS-A50‘s MIDI implementation, I monitored its MIDI output stream using MIDI Ox and Sonar. Here are my notes. They are quite terse!

After inital start-up, the A50 sends MIDI timing clock and active sensing messages.

The default transmit data and channel settings are:

    Assignment              Ch# 
---------------------- ---
Live keyboard: 1 [If OFF, no data is transmitted]
Live arpeggio sequence: 2
Recorded keyboard: 3
Recorded arpeggio seq: 4

Master volume is local. Pressing the Master Volume buttons does not send volume change messages (neither channel volume or MIDI master volume).

Changing Phrase Volume, however, sends channel volume on channel 3 and 4. Legends above keys show setting-related function: what setting, increment and decrement. This is very handy and avoids manual diving. Phrase Volume is changed using the assigned function keys.

Pressing a front panel voice button sends messages on both channel 1 and 2:

    Bank MSB (CC#0) 
Bank LSB (CC#32)
Program Change (PC)
Channel Volume (CC#7)
Reverb Depth (CC#91)
Chorus Depth (CC#93)

Not all voices have chorus applied and Chorus Depth is not sent for voices without chorus.

The keyboard sends note ON and note OFF messages on channel 1. The mini-keyboard is touch sensitive. it’s difficult to send the full 1-127 velocity range with the default touch response level (level 2).

Pressing the Sustain button has the following behavior:

  • Sends new release time when sustain button is pressed.
  • Release time messages are sent on both channel 1 and channel 2.
  • Turning sustain off resets the release time.

Pressing Portamento (SHIFT+SUSTAIN), has the following behavior:

  • Sends portamento time and portamento ON/OFF when SHIFT+PORTAMENTO buttons are pressed.
  • Portamento time and ON/OFF are sent on both channel 1 and 2.
  • Turning portamento off, sends new portamento status on channels 1 and 2.

Pressing ARP ON doesn’t send MIDI messages! Pressing ARP OFF sends messages on channel 2:

    Bank MSB (CC#0) 
Bank LSB (CC#32)
Program Change (PC)
Portamento
Release Time (channel 1 and 2)

It’s like the A50 software assumes that the arp voice is set-up and ready to go when the arpeggiator is turned ON. Then, the software resets certain parameters when the arpeggiator is turned OFF. The arpeggiator sends note ON/OFF on channel 2 (as determined by the MIDI channel assignments).

Pressing PLAY sends the following messages on channel 1 and 2:

    Start (FA) 
All Sound OFF (CC#120)

Pressing STOP sends the following messages:

    Stop (FC) 
GM Reset (System exclusive)
Messages to reset voice settings for channel 3 and 4

You can expect to see the following System Exclusive messages after song playback:

   F0 7E 7F 09 01 F7           GM Reset 
F0 43 10 4C 08 02 0C 40 F7 MULTI-PART Velocity Sense Depth (channel 3)
F0 43 10 4C 08 02 0D 40 F7 MULTI-PART Velocity Sense Offset (channel 3)
F0 43 10 4C 08 03 0C 40 F7 MULTI-PART Velocity Sense Depth (channel 4)
F0 43 10 4C 08 03 0D 40 F7 MULTI-PART Velocity Sense Offset (channel 4)

I’ve seen these XG MULTI-PART messages on other entry-level arrangers supporting the XG Lite conventions.

For Motion Effect A01 Filter 1, Pressing the Motion Effect button sends
these messages on channel 1 and 2:

    Pitch Bend Sensitivity (RPN 0,0)
Harmonic Content (CC#71)
Pitch Bend
Expression (CC#11)
Modulation (CC#1)
Brightness (CC#74)

Harmonic Content (filter resonance is increased to 100). The Brightness (cutoff) messages sweept the filter. Brightness is slowly modulated, i.e., it repeatedly slowly decreases and then increases.

Releasing the Motion Effect button sends messages on channel 1 and 2:

    Pitch bend 
Harmonic Content (CC#71)
Brightness (CC#74)
Modulation (CC#1)
Expression (CC#11)
Pitch Bend Sensitivity (RPN 0,0)

These messages reset the respective parameters to a default value.

For Motion Effect B01 Pitch Whole-Note Up, pressing the Motion Effect button sends these messages on channel 1 and 2:

    Pitch Bend Sensitivity 
Pitch Bend (center)
Expression
Modulation
Pitch Bend (multiple messages)

The Pitch Bend messages sweept the pitch up then down. Releasing the button resets Modulation, etc. to default values.

Pitch bend sensitivity is sent as an RPN (Registered Parameter Number) message:

    RPN (CC 0x64, CC 0x65) 
0,0 Pitch Bend Sensitivity

The Motion Effect feature is similar to something I built into my two-button Arduino-based MIDI controller. It’s a way to add articulation to live playing. I always wanted a way to play perfect pitch bends. 🙂

I was able to save my recorded MIDI data to Sonar. The A50 insists on sending MIDI clock, START and STOP, so I configured Sonar to receive and respond to external clock. The recorded MIDI data is sent on channels 3 and 4. Thanks to Sonar’s channel selection feature (via event filtering), I could separate the channel 3 and 4 data into two tracks. Another possible solution is to write the data as a MIDI Type 0 SMF and then read the SMF into Sonar. Sonar should separate the channel data into different tracks.

Copyright © 2021 Paul J. Drongowski

Review: Yamaha PSS-A50

Before taking a screwdriver and soldering iron to the A50 (Ahem), I’d better write a short review first. 🙂

The Yamaha PSS series keyboards are inexpensive, entry-level instruments which are super lightweight, battery powered, portable and fun. The PSS line is like a small group of fantasy characters where each character has its own super-powers.

  • PSS-E30: A musical game keyboard for younger kids.
  • PSS-F30: “Honey, I shrunk the arranger” keyboard for people who want to play songs with an accompaniment.
  • PSS-A50: A phrase-based music machine which records and speaks MIDI over USB to your DAW or other computer- or table-based music applications.

Last year, I reviewed the Yamaha PSS-E30 Remie and passed it along to our grandson as a Christmas gift. Remie is suitable for young kids, but even Mom and Dad have fun with the musical games.

Yamaha PSS-A50 keyboard [Click to enlarge]

The PSS-A50 (henceforth “A50”) is aimed at people who want more flexibility than the fixed accompaniment styles in the PSS-F30. The A50 has 138 musical phrases — “arpeggios” in Yamaha-speak — that drive an in-built arpeggiator. Twenty-two arpeggios are drum patterns; the rest of the arpeggios are melodic, covering both instrument-specific riffs (strums, bass lines, chord comps) and general purpose phrases like up/down broken chords, etc.

Experienced Yamaha players have seen these arpeggios before. In fact, the A50 reminds me of the Yamaha Synth Arp & Drum Pad iOS application. Without getting into the details, you select a voice, select an arpeggio (“arp”), enable the arp, hit record, and go. If you check out Yamaha’s YouTube tutorials, you’ll see how easy it is to get started.

At this point, I suggest watching Keen On Keys excellent video. It covers all the basics, a brief teardown, and more. I won’t go into such details here. (This chap did a terrific job!) I learned quite a lot from this video including basic “how to use it” information.

Oh, how I long for such reviews in Electronic Music (once Keyboard mag), once again. Ken Hughes, where are you? After reading one of those old product reviews, you actually knew a little about playing the instrument. Now, pfffft!

The sounds

Let’s get down to brass tacks. Like Remie, you won’t get Yamahas top sounds. Shucks, it’s only $100 USD (street price).

Truth be told, even though I regarded the A50 as a candidate for mod projects, I wasn’t too wild about the sounds that I heard in on-line demos. I was hesitant to buy one. Once I got the A50 under my fingers, however, I warmed up.

Basically, the A50 and Remie samples and synth engine are at the same level. The A50 adds touch sensitivity and that, I suspect, makes the difference. Sure, the piano (for example) is uni-dimensional and you can hear it play the same sample louder or softer depending upon strike velocity. The overall effect is more musical, however. Weird how that works?!

The A50 audio OUT is mono. Reverb seems to be the only system effect. Even Yamaha’s cheapest chip implementations have chorus, so it may take a little MIDI magic to unlock that door. The whole sound can be sweetened by out-board effects like maybe a guitar pedal (e.g., TC Electronic Hall of Fame reverb) or a spatializer. I slung an A50 beat through the Korg Volca Mix stereo width and compression effects and got a rather nice result. The Volca Mix Hi/Lo Cut let me isolate the tops and kick, too. I strongly recommend adding external effects.

The A50 motion effects let you juice up your performances. I’m still exploring the motion effects and I’m glad to have them. The motion effects add a way to vary the sound during performance, avoiding a uni-dimensional sound. You get filter fun, pitch bends, slicing and all sorts of sonic mayhem. A few effect types would be good for Hawaiian pedal steel. 🙂 It would be nice to leave the auto wah ON in order to play two-handed funk — a small quibble.

The A50 size, features and price invite comparison against the Yamaha SHS-300 and SHS-500 Sonogenic. Unless you really want the keytar format, I don’t see the value in the SHS-300 versus the A50. I will bet dollars to donuts that the SHS-300 is based on the same chip and samples as the A50. Personally, phrase recording is more fun and creative than a pretend, low-budget, cheap build keytar. Speaker quality is probably a wash between the two and the A50 puts out 1.5W versus 0.7W.

The A50 against the SHS-500 is another story. The SHS-500 voices are definitely better quality. Although the SHS-500 LINE OUT is mono, you can look to its PHONE OUT for stereo. The SHS-500 has PSR E-series DSP effects, three forms of MIDI (USB, 5-pin, and Bluetooth), a General MIDI sound set (available via MIDI only), and jam mode integration with Chord Tracker. The SHS-500 beats the A50 on sound. On the other hand, I prefer the A50’s speaker versus the SHS-500. Of course, the SHS-500 is mainly for playing and doesn’t have an arpeggiator or recorder.

Build quality

One big factor is build quality. The SHS-500 is a solid instrument. The SHS-300 and A50 are cheap. Even though Yamaha specs call out “37 HQ (High Quality) mini keys” for all three keyboards, only the SHS-500 is up to the same quality as the Yamaha Reface series. Yamaha marketing may claim otherwise, but you can feel the difference. The Reface and SHS-500 will stand up to abuse — the SHS-300 and A50, not so much.

As to A50 build quality, the electronic boards and cabling look up to snuff. EMI shielding is absent. Audio quality on battery power or external USB power adapter is good and is reasonably quiet. Powered by my HP desktop, the A50 is susceptible to digital schmutz and produces loud noise through its audio out. One could put blame on the desktop, but nearly all computer switching power supplies are dreadfully noisy. USB powered instruments need better filtering on USB power rails.

In use

I want to use the A50 as a looper: put down a rhythm line and a bass, then jam. It takes a little bit of practice to make glitch-free loops. I wish the A50 applied “measure quantize” to recordings, that is, trim recordings to a clean measure timing boundary. Right now, you have to turn off recording by feel and hope you get it right.

While horsing around with MIDI (another subject for another day), I noticed that the A50 has four parts, each on its own MIDI channel:

  • Keyboard voice: Live, real time performance (Default: channel 1)
  • Arpeggio sequence: Live, real time arpeggiation (Default: channel 2)
  • Recorded keyboard: Recorded keyboard performance (Default: channel 3)
  • Recorded arpeggio sequence: Recorded arpeggio (Default: channel 4)

Hmmm, this makes me wonder if I can layer up to four parts? So far, I can layer 3 distinct musical parts. The fourth part is still elusive.

The main problem is no overdub. It is possible to record two parts at once: arpeggio plus keyboard performance. Thus, you can lay down a drum pattern (arpeggio) and a bass line (by hand). Then, loop the playback and play over the top. Seems like I should be able to add a live arpeggio to the stack.

Anyhow, I found this video (“Yamaha PSS A50 – Jazz Multi Track”) to be instructive. The trick is to get the arpeggio going, select a different instrument, arm record, and play on the first beat. Here is the procedure:

  1. Select drum voice (e.g., voice 39).
  2. Turn the arpeggiator ON.
  3. Select the arpeggio type (e.g., arpeggio 125).
  4. Hold a key to start the arpeggiator.
  5. Press ARP.HOLD to keep the drum pattern running.
  6. Select a bass voice (e.g., voice 14).
  7. Press REC to arm recording.
  8. Play the bass line over the drum pattern. Start playing in time with the drum pattern.
  9. Press REC to stop recording.
  10. Turn the arpeggiator OFF.
  11. Select a piano voice (e.g., voice 2).
  12. Press SHIFT+PLAY to start a looping playback.
  13. Jam over the playback.
  14. Press STOP to stop playback.

Recording doesn’t start until you begin to play the bass line. That locks the bass to the drum pattern. You need to stop recording just before the next loop iteration begins.

If you need some jazzy chords, try: GM7/E, Fm7/B, FM7/D, Em7/A (also notated as Em9, Bm11, Dm9, Am11).

Doggone it, seems like I should be able to layer live arpeggiator into that mix! I’ll keep trying.

Update: Practice makes perfect. Yes, you can get four lines going. I recorded drum and electric piano following the procedure above. With the recorded parts playing, I started a looping bass arpeggio. Finally, I solo’d over the three running parts. Neat, and as complex as you might want for a little practice jam.

Questions

As I begin to explore the A50 MIDI implementation, there are a number of unanswered questions. First and foremost, can I save and restore recorded MIDI data? Does the A50 respond to SysEx messages for reverb and chorus type? Can I drive the A50 with the old Synth Arp and Drum Pad application and make use of its range of arpeggios? Can I load my own simple backing tracks into the A50’s recorder memory?

The final word

After my initial reluctance, I’m glad that I bought the PSS-A50. Apparently, some folks aren’t so happy as A50s turn up as Open Box items quite frequently. Even though $100 is not much, you can save a few extra bucks if you’re willing to buy an open box item. Given the build quality, you might not want to chance it, tho’.

The A50 does not have a full General MIDI sound set. The sound set is close enough for rock and roll, however. Here is an MP3 of the A50 in action (Traffic’s Feelin’ Alright). Wish I could play that piano solo at the end …

Interested in more PSS-A50 content? Check out these posts:

Copyright © 2021 Paul J. Drongowski

littleBits for audio mods?

Here are a few experiments testing littleBits audio post-processing. In the first few cases, audio is produced by a Yamaha SHS-500 synthesizer fed into the LINE IN of a littleBits Microphone module. Outgoing audio is sent through a littleBits Speaker module connected to an external amplified speaker.

I did not draw the littleBits Power module into every example circuit. If you’re experimenting at home, hey, “One, Two, you know what to do…”

The first circuit filters incoming audio:

          PowerSnap 
|
V
Envelope <-- Button <-- PowerSnap
|
V
Mic --> Filter --> Speaker

The Filter modulation input is driven by a littleBits Envelope module. The (audio) input of the Envelope is connected to a littleBits PowerSnap which supplies a constant +5 Volts to the input of the Envelope. A littleBits Button module is connected to the Envelope’s trigger input. (The second PowerSnap assures a full 5 Volt ON signal through the Button.) The Envelope sweeps from 0 to 5 Volts when the Button is pressed. Of course, the Envelope is shaped by its attack and release settings.

The first circuit operates successfully. The audio is filtered according to the Filter’s cut-off and resonance settings. The Filter quacks (a very scientific term!) when the Button is pushed.

The second circuit replaces the Button with a littleBits Pulse module:

          PowerSnap 
|
V
Envelope <-- Pulse <-- PowerSnap
|
V
Mic --> Filter --> Speaker

The Pulse module repeatedly sends a trigger signal to the Envelope module. The triggers cause the Filter to quack correctly. However, there is an audible click when the Pulse module fires — even if no audio is playing. This noise is unacceptible and I don’t know why it is occurring. Power glitches perhaps?

At this point, I began experimenting with the littleBits Threshold module. The (third) simple test circuit below:

    Power --> Dimmer --> Threshold --> Number

demonstrated that my intuition about the Threshold behavior is correct: when the voltage into the Threshold exceeds the threshold setting, the Threshold turns ON and outputs +5 Volts. When the input voltage falls below the threshold setting, the Threshold output turns OFF (0 Volts).

Testing tip: The Number module has a “Voltage” setting in which Number displays the incoming input voltage. You can use a Number module as an in-circuit volt meter.

Given that, I couldn’t determine why the Threshold was not acting like a gate generator when driven by a littleBits audio signal, i.e., driven by the Microphone module in its “Sound” setting. Turns out, the littleBits Microphone module converts the incoming LINE IN signal into its own notion of audio — a signal centered around 2.5 Volts. I connected a Bargraph (or Number) module to the output of Microphone, and indeed, the Microphone sends 2.5 Volts when the audio is silent.

Arg! Once again bitten by the lack of signal documentation! When the Microphone is in its “Other” setting, it converts the input signal to swing from 0 to 5 Volts. Bad news, however. The Speaker module expects audio in the 2.5 Volt centered, littlebits convention and it distorts like a bandit when driven with the “Other” setting.

The 2.5 Volt convention also explains why some folks have observed only a 2.5 Volt sweep in the Envelope output. All of this has serious implications when mixing audio and control signals in littleBits. I need to think about this for a while…

The fourth test circuit demonstrates filtering of regular line level audio:

                              Powered Speaker 
LINE IN
|
Power --> Proto --> Filter --> Proto
|
Synthesizer
LINE OUT

This circuit filters incoming audio. Fortunately, the 2.5 Volt convention does not preclude a simplified signal chain, that is, a chain omitting the littleBits Microphone and Speaker modules. A filter is a filter is a filter, I guess.

Although the Filter module operates on a “regular” audio signal, the Delay module does not. Substituting the Delay module into the fourth test circuit produces nasty noise and a whine. It will process the audio (you can hear repeats, etc.), but the noise/whine is horrible. Screams like a banshee. Bummer.

Bottomline, the littleBits Filter module has potential as an add-in for a PSS-A50 mod (or any other mod) without Microphone and Speaker modules. The littleBits Delay is simply too noisy by itself; one needs the Microphone and Speaker to perform signal conversion. As to the Filter, I need to explore alternatives for modulation. Experiments with using the Oscillator module as an LFO were underwhelming. So far, I haven’t successfully cobbled together an envelope following or audio-trigger envelope. Stay tuned.

Interested in littleBits synth control signals?

Copyright © 2021 Paul J. Drongowski

PSS modding: A few ideas

I’m still thinking about Yamaha PSS mods, most notably, the PSS-A50. Open box A50s are coming on the market and I get the itch to modify an A50. I don’t want to buy a brand new unit since I will immediately tear into it with a screwdriver, drill, and worse! 🙂 Here’s a few more thoughts.

After looking at the PSS-E30 Remie teardown, that speaker has got to go. Even without the speaker, I don’t think there is enough room for the Korg NTS-1 as I first planned.

littleBits filter module

Second-besties, I’m considering a littleBits solution. Lots of folks mod the Korg Monotron to get access to its filter, but oddly, they don’t consider the littleBits filter module. I did a few preliminary experiments with the filter and delay modules using the Yamaha SHS-500 Sonogenic as a stand-in for the PSS-A50 sound generator. The filter and delay sound great although I need to add an envelope generator to make the filter quack and bark.

My main concerns at this point are:

  • Driving littleBits audio without the Microphone module and the Speaker module. Both modules would take up unnecessary space. I’m just don’t know (yet) if regular headphone levels are strong enough for the littleBits 0 to +5 Volt signaling convention.
  • Physically and electrically securing the littleBits modules to themselves and the A50 chassis.
  • Finding 5 volt power in the A50 in order to supply the litleBits modules.

Of course, there’s the problem of mounting the littleBits modules so that the controls (potentiometers) poke through the A50 speaker grill.

I investigated the PSR-F50 audio and digital electronics. The PSS audio amp is mostly likely different than the F50. So, I need to get the A50 service manual. The service manual should help me find the +5 Volt rail, too.

I took another look at the Yamaha YMW830-V processor pin-out. The YMW830-V is also known as the “SWLL” processor. It is a system-on-a-chip (SOC) containing the CPU, memory, and tone generator. The SWLL has five pins (TRST, TDI, TMS, TMS, TCK, and TDO) for serial input/output — most likely USB. This doesn’t bode well for people who want to add 5-pin MIDI to the A50 (or other SWLL-based keyboards).

Reface YC key scan matrix

The PSS series, the Reface series and the SHS-500 share the same 37-key keybed. The key switch matrices are similar. They all break the key range into groups of six keys. Each keybed is a 6 group by 6 key matrix with a dedicated group to scan the fourth C key. The PSS and Reface/SHS differ in the number of key contacts as the Reface/SHS are velocity sensitive and the PSS is not. The Reface/SHS have two contacts per key and the PSS has one contact per key. The Reface/SHS have a total of twelve sense lines (2 lines per key) while the PSS has only six sense lines.

6×6 must minimize ribbon cable width or something because Yamaha will subdivide 61 keys into upper and lower banks in order to deploy six keys per group with 6 groups per bank maximum. You’ll see this practice in the synth product line, too. Just sayin’.

The Yamaha SHS-500 and Reface series use the same MIDI I/O dongle. I came across this rather nice diagram (below) of the SHS’s MIDI port. It should help you to whip up a custom cable or two. [Click image to enlarge.]

Yamaha SHS-500 MIDI circuit and connector pin-out

Hope these observations help someone out.

Copyright © 2021 Paul J. Drongowski

SHS-300: The PSS keytar?

I made a little more progress delineating Yamaha’s mini-key product lines. The PSS series is built for low manufacturing cost. Thanks to PSS-E30 (Remie) and PSS-A50 tear-downs, we know that the PSS series is based on the ultra-small, relatively inexpensive SWLL (YWM-830) processor.

So, what to make of the Yamaha SHS-300 and SHS-500 keytars?

The SHS-300 shares the same basic spec as the PSS series: 32 voice polyphony, 8cm speaker, only one effect (reverb), no MIDI, no Bluetooth, etc. Sound quality is comparable to the PSS series. I suspect that the SHS-300 is based on the SWLL, too.

The SHS-500, however, has a much better spec: 48 voice polyphony, MIDI and audio over USB, MIDI over Bluetooth BLE, 9 DSP effects, Master EQ, chorus, reverb, etc. A glance at the SHS-500 service manual shows that the SHS-500 has much in common with the current PSR E-series keyboards, including the SWX03 processor.

If I get the time, I’ll write a quick post about SHS-500 internals.

The SHS-500 is definitely a cut above the SHS-300 in build quality, sound, MIDI capability and tweak-ability. I’m sorely tempted to take a bite of the apple. NAMM, however, is fast approaching (16-19 January 2020) and good sense tells me to wait. Yamaha’s pre-show press release promises 75 new products including a new family-oriented home keyboard.

Modding the PSS series

I promised a few thoughts about modding the new Yamaha PSS series keyboards. Here goes…

As shown in my PSS-E30 Remie tear-down, a PSS family keyboard consists of four major parts:

  • Mini keybed
  • Digital logic board (DM)
  • Front panel board
  • Plastic skin and parts

For comparison, I recommend this excellent PSS-A50 demo and tear-down on YouTube.

Product personality is determined by the plastic skin/parts, software in the embedded serial ROM, and the addition/absence of the USB interface integrated circuit (IC). There may be a few other minor differences, but it would be difficult to pin them down without the service manuals. Speaking of which, if you start a mod project, I strongly recommend reading the PSR-F50 Service Manual because the F50’s guts are very similar to the PSS series.

Unless you really want the F50 or E30 voices and functionality, the A50 is the best choice for a mod. The A50 has the USB interface IC and the necessary firmware supporting MIDI over USB. The A50 has a higher street price than the other models, but USB MIDI is worth it.

At the 100,000 foot level, there is plenty of empty space inside for a small microcontroller (e.g., Arduino) or sound mangling analog electronics. You could choose to either keep the speaker if you want portable sound or ditch the speaker and go solely with the headphone output to external amplification.

If keep the speaker, you could easily add some sound mangling circuits like a filter or effects. The littelBits filter might be a good start and is certainly small enough to fit in the empty space. Should be easy to tap into battery power as the battery leads are exposed.

If you ditch the speaker, you have a lot more space to work with. I’d be tempted to add the Korg NTS-1 once it’s available. The NTS-1 can process external audio and has digital effects. Previews have given the digital effects high marks. Unfortunately, the NTS-1 is spec’ed 12.9cm by 7.8cm by 3.9cm, which won’t fit directly into a PSS case. A lot depends upon the size of the NTS-1 electronics board. Even if we can’t fit the NTS-1 into a PSS case, the NTS-1 would be a nice complement to the A50.

Without the speaker, one could use the front panel real estate for additional controls. With all of the arpeggios and such, manual control over filtering and effects would be welcome (in addition to the A50’s fixed motion effects).

At the 50,000 foot level, any one of the PSS models could be stripped down for parts. The case and front panel may or may not float your boat, but you could use the shell and front panel for a keyboard project of your own. It would be easy to apply new graphics to the front panel. The front panel buttons are a switch matrix which can be easily mapped out and then scanned by your code. The front panel has a three digit 7 segment display that needs to be multiplexed and driven.

The keybed is quite useful. The keys are affixed to the bottom of the case, so unless you’re reusing the case, too, you probably will need to cut the keybed out of the case, leaving everything as a unit. The keys sit above a printed circuit board (PCB) with the rubberized switch contacts.

Reface YC switch matrix

I’ll make a leap of faith here and assume that it’s the same keybed as Reface. The schematic above is taken from the Reface YC Service Manual. The key matrix has seven select lines (BK0 to BK6) and twelve sense lines (MK10 to MK21). Your software needs to drive one of the select lines and immediately read the sense lines. There are two sense lines per switch for the “lower” and “higher” key contacts. Software can determine key velocity by measuring the time between contact closures for an individual key.

The most tasty enchilada is the digital logic (DM) board. The A50 board, in particular, could form the basis of a USB MIDI tone module. One could add 5-pn MIDI by bridging a 5-pin DIN and the USB micro-B port. The DM board is quite small: 13.5cm by 4.5cm. And clearly, the DM board can be battery powered. Even if you re-housed the DM board and front panel board, you still would get a very compact module.

Modding at the 10,000 foot level gets difficult. There are the usual difficulties tracing signals and soldering surface mount (SMT) devices and signal paths. Even if you strip out the SWLL (YMW-830) integrated circuit, I’m not sure what you would do with it!

Nor am I confident that the firmware can be easily by re-engineered. Yamaha have never documented wave chip internals, so you don’t have much guidance. There isn’t much code — firmware and waveforms reside together in the 2MByte serial ROM. I would guess that the firmware is SH architecture. Even so, reverse engineering would be a difficult task. I have my doubts about repurposing the code. At best, one might be able to add or change the waveforms?

Personally, I’m inclined to go the sound mangling route.

A few more thoughts before closing.

The A50 is not a General MIDI module. If you want a (mostly) GM/XG compatible Yamaha tone module, I suggest the Pocket Miku NSX-39. Also, while stumbling around the web, you might want to check out the Yamaha YMF-825. It’s a 4-op FM chip which Yamaha released for makers.

Copyright © 2019 Paul J. Drongowski
Except service manual excerpts which are copyright Yamaha.

SHS-500 Sonogenic voices

With Yamaha PSS-E30 Remie at hand, I’m still comparison shopping the PSS series against the Yamaha SHS-500 Sonogenic. The Sonogenic has better build quality, has 5-pin MIDI as well as MIDI over USB/Bluetooth, and integrates with Chord Tracker.

Then there is the issue of sound quality. Remie and the rest of the PSS series (PSS-F30 and PSS-A50) have only one main DSP effect: reverb. With the exception of the A50’s motion effects, there aren’t the means to tweak sounds.

As to preset voices, I would love to play Remie and Sonogenic side by side. However, in this day and age when brick and mortar stores do not stock inventory or demo units, that’s impossible. Gosh, I ordered Remie from the UK — I live in the big Seattle USA metro area — with the intention of gifting it to our grandson. (A good excuse. 🙂 ) The PSS series keyboards are so inexpensive that even an impulsive purchase is justifiable. I still haven’t seen a Sonogenic alive in the wild and don’t have hand-on experience with it (yet).

First some tech-head stuff. Remie has 32 voice polyphony and my teardown shows that it is based on the tiny Yamaha SWLL (YMW-830) system-on-a-chip (SOC). It stores its program and waveforms on a 2MByte ROM. Right away, I expect Remie’s sound quality to be compromised with respect to the current PSR E-series.

The current PSR E-series is based on the proprietary Yamaha SWX03 processor. The SWX03 is a much larger SOC with external RAM, ROM, digital to analog conversion (DAC), analog to digital conversion (ADC), and LCD display interface. The program/wave memory is 32MBytes (Spansion S29GL256) much larger than Remie. The SWX03 supports 48 voice polyphony and 10 DSP effects in addition to the usual PSR E-series reverb and chorus. Thus, I expect better sound quality from the E-series.

The SHS-500 also has 48 voice polyphony and 10 DSP effects. These characteristics alone make a strong case for the SWX03 as the main engine within the Sonogenic.

Hearing is believing, however. Without access to Sonogenic in the stores, I’m forced to compare Remie and PSR against YouTube videos. One of the best Sonogenic voice demonstrations is in Japanese by a laid-back jazzer. I also recommend this Sonogenic demonstration in Russian.

The Japanese demo gets rolling roughly 3:30 in. Our jazzer compatriot plays through the presets without a backing track or lots of effects. This is as close to factory stock as one can get. Thank you! Here are direct links to some of the Sonogenic instruments in the video:

These sound pretty good and much better than Remie. The electric piano can bark! The jazz guitar is decent. Many of the brass and woodwind instruments have vibrato sampled in.

The Sonogenic program change table gives us a major clue about the origin of the Sonogenic voices. Most of the Sonogenic voices match up with the PSR series:

 SHS-500            Bank  Bank
Sonogenic MSB LSB PC# PSR/Genos voice
----------------- ---- ---- --- -----------------------
Saw Lead 1 104 20 91 Gemini
Saw Lead 2 0 104 82 RS Saw Lead1
Quack Lead 0 112 85 Portatone
Bright Decay 104 21 85
Square Lead 0 112 81 Square Lead
Under Heim 104 51 88 Under Heim
Analogon 104 52 82 Analogon
Synth Brass 0 113 64 Ober Brass
Electric Piano 104 28 5
DX Electric Piano 0 112 6 DX Modern
Electric Guitar 104 3 31
Jazz Guitar 104 0 27 Cool! Slide Jazz Guitar
Acoustic Guitar 0 117 26 Steel Guitar
Electric Bass 104 6 34
Slap Bass 0 112 37 Slap Bass
Synth Bass 0 112 39 Resonance Bass
DX Bass 0 118 40 DX100 Bass
Piano 0 112 2 Bright Piano
Piano & Strings 104 39 1
Piano & Pad 104 40 1
Air Choir 0 112 55 Air Choir
Strings 0 116 49 Bow Strings
Brass 0 117 63 Pop Brass
Trumpet 0 115 57 Sweet! Trumpet
Flute 0 115 74 Sweet! Classical Flute
Alto Sax 104 2 66
Tenor Sax 104 3 67
Harmonica 0 112 23 Sweet! Harmonica

I verified the matches by comparing the YouTube video against the same voices on Genos. (Removing the Genos effects, of course.) The blank spots in the table are voices which Yamaha re-sampled from PSR or elsewhere. That’s why the electric piano is so darned good. The piano layer voices have a warmer, mellower timbre than the Bright Piano (which really lives up to its name).

So, there you have it. On the basis of sound quality, the Sonogenic SHS-500 wins over the PSS family. Yes, the Sonogenic is more expensive, but you do indeed get more for the money. If Sonogenic had even a single organ voice, it would be a no-brainer and I would have bought one by now. Oh, Yamaha, why do you leave these things out?

Copyright © 2019 Paul J. Drongowski

Inside Yamaha PSS-E30 Remie

Now let’s take a first look at Yamaha PSS-E30 Remie inside.

My Remie is a seasoned world traveller. It was designed in Japan, made in India, distributed by Rellingen, Germany, sold by Amazon UK and played in Washington state, USA. Physics and electrons are indeed universal.

The PSS-E30, PSS-F30 and PSS-A50 are essentially the same physical product. They are part of a family like Reface. The Reface family, BTW, is two pairs of fraternal twins: YC/CP and CS/DX. The PSS family are fraternal triplets and share the same printed circuit board (PCB). In fact, the PCB has three little check boxes. A mark in a check box denotes the specific product personality.

Yamaha PSS-E30 Remie digital logic board (DM)

Product personality is determined by four things: front panel graphics, software, content (voices, styles, etc.) and USB interface.

Line up the three PSS keyboards and you see that they all have the same panel layout. The buttons are all in the same physical place. Everything else that is external is just skin (case color and stick on panel graphics). The panel connections to the digital logic board (DM) are the same in all three products.

Next up, each member of the family has different code and content. The software and content are stored in a Winbond 2MByte serial ROM. The main CPU (SWLL) reads the binary code and waveforms from ROM at boot time. The ROM components are stamped with a product specific code: “2H” for Remie and “2I” for the PSS-A50.

The 2MByte ROM holds both code and waveforms. The small ROM harkens back to the day of the Yamaha QY-70 when XG voices and drum kits fit into 4MBytes. Given the small ROM, one shouldn’t expect super high voice quality in any of the models.

The SWLL is reminiscent of the YMW-820 NSX-1 integrated circuit. The NSX-1 is the engine behind Pocket Miku and eVocaloid.

Finally, the PSS-A50 is the only sibling with an active USB interface. Remie has an unpopulated IC site as you can see in the upper left corner of its PCB. This site is populated with a USB chip in the A50. Without the chip, Yamaha can build and sell Remie at a lower cost than the A50. Even if one carefully soldered the correct USB IC into the unpopulated site in Remie, I doubt if Remie’s software has the code to recognize it.

The PSS-F30 is a shrunken PSR-F50. For the rest of this discussion, I’m using the Yamaha PSR-F50 Service Manual as my guide to the electronics. As to the keybed, I’m using the Reface YC Service Manual.

Remie circuit boards and ribbon cables

Inside, each member of the PSS family consists of three circuit boards: the main logic board (DM), the front panel board and the keybed. The front panel board and keybed are each a switch matrix. The CPU scans both the front panel and keybed separately. It scans each board by asserting a switch group select signal and then reading the current state of each switch in the group.

There are twelve switches in a keybed group, two switches per key. The switch contacts are at two different heights and close at two different times when struck. The CPU measures the closure time between the first contact and the second conent in order to sense key velocity.

The panel PCB and the keybed PCB are each joined to the digital logic board by short ribbon cables. The loudspeaker signals hitch a ride through the front panel ribbon cable.

The main CPU and tone generator is a Yamaha proprietary integrated circuit — the YMW830-V or “SWLL”. The SWLL is the ultra-small brother to the SWL01. The chip is housed in an 80 pin surface mount quad pack which is only 1.3cm on a side. That’s tiny. The entire PCB is a tidy 13.5cm by 4.5cm.

The SWLL is a true system on a chip (SOC) containing the CPU, RAM, tone generation circuitry, UART, ADCs and DACs. Amazing. The chip inside is small, too, and Yamaha can print these like postage stamps in large volume. Everything about the SWLL screams “low cost”.

Using the PSR-F50 Service Manual, here is the SWLL pin-out:

     1   DACLPP    Left channel DAC output (positive)
2 DACLMM Left channel DAC output (minus)
3 DAC_VDD DAC Vdd
4 DAC_VSS DAC Vss
5 DACRMM Right channel DAC output (minus)
6 DACRPP Right channel DAC output (positive)
7 VSS Vss
8 KYN11 Key sense (input)
9 KYN12 Key sense
10 KYN13 Key sense
11 KYN14 Key sense
12 KYN15 Key sense
13 KYN16 Key sense
14 KYB1 Keyboard key group select (output)
15 KYB2 Keyboard key group select
16 KYB3 Keyboard key group select
17 KYB4 Keyboard key group select
18 KYB5 Keyboard key group select
19 KYB6 Keyboard key group select
20 KYB7 Keyboard key group select

21 KYB8 Keyboard key group select
22 KYB9 Keyboard key group select
23 KYB10 Keyboard key group select
24 KYB11 Keyboard key group select
25 IOVDD
26 VSS
27 LDOTSTO
28 KYN21 Key sense (input)
29 KYN22 Key sense
30 KYN23 Key sense
31 KYN24 Key sense
32 KYN25 Key sense
33 KYN26 Key sense
34 SWIN0 Panel scan input
35 SWIN1 Panel scan input
36 SWIN2 Panel scan input
37 SWIN3 Panel scan input
38 VSS
39 SDQ2 Serial ROM WP# (DQ2)
40 SDO Serial ROM DO (DQ1)

41 SCSN Serial ROM chip select (CS#)
42 IOVDD
43 SDQ3 Serial ROM NC (DQ3)
44 SCLK Serial ROM clock (CLK)
45 SDI Serial ROM DI (DQ0)
46 VSS
47 PORTB0 PSW0
48 PORTB1 (7seg_e0)
49 PORTB2 (7seg_e1)
50 PORTB3 (7seg_e2)
51 PORTB4 (7seg_lat)
52 PORTE0 /PSWI
53 PORTC0 (Sustain input)
54 TXD UART transmit data (output)
55 RXD UART receive data (input)
56 PLLBP
57 TEST
58 LDOTST
59 IC_ (Voltage detector)
60 VSS

61 ADC_VDD (+3.3V)
62 ADC_VSS (Ground)
63 AN0 Analog input
64 AN1 Analog input (battery check)
65 VSS
66 PLLVSS
67 PLLVDD
68 LDOC
69 LDOVDD
70 LDOVSS
71 VSS
72 XI Crystal input
73 XO Crystal output
74 VSS
75 IOVDD
76 TDO Test data out
77 TCK Test clock
78 TMS
79 TDI Test data in
80 TRST_ Test reset

I determined pin function by tracing signals in the PSR-F50 Service Manual. Yamaha may have changed things a bit in Remie and A50. I have not determined how the USB interface is connected to SWLL in the A50 nor have I even identified the component.

Yamaha PSS-E30 Remie LSI components

For the PSR-F50, the SWLL internal clock is 33.8688MHz and the master clock is 67.7376MHz. The clocks are generated from a 16.9344MHz crystal. All clocks are a multiple of 44,100Hz, the sample frequency. I can’t read the marking on Remie’s crystal, but there isn’t any reason to believe that it differs from F50.

The three digit LED display is both retro and cheap. Remie has the same eleven transistors driving the time-multiplexed seven segment display.

  • Under software control, transistors Q301 to Q303 (7seg_e0 to 7seg_e2) select one of the three digits.
  • Transistors Q304 to Q311 drive the individual segments.

Segment status is latched into an eight flip-flop SN74LV273 from the SWL KYB1 to KYB8 pins. The latch clock is produced by SWLL pin PORTB4 (7seg_lat). Note that the KYB pins do double duty as inputs from the keybed.

Whew! That leaves us deep in the weeds! Next time, I’ll outline a few ways to mod the new PSS keyboards.

Update: Compare Remie against my Yamaha PSS-A50 teardown.

Copyright © 2019 Paul J. Drongowski

Review: Yamaha PSS-E30 Remie

One of the big benefits of moving out west is time with our grandson. The lad went to Kindermusik as a pre-toddler and already has a good sense of rhythm and an appreciation for music. I dropped a few quick beats with the MODX and he started dancing with a big smile on his face! Editorial: Folks, arts are an essential part of a child’s education.

Last Fall, Yamaha announced a trio of mini-sized PSS keyboards: PSS-E30 (Remie), PSS-F30, PSS-A50. The three products have distinct product markets: young kids, older kids, teens and young adults, respectively. Of course, those are mere marketing constructs since one or more of these ‘boards might appeal to jaded musicians and other folks, too.

Yamaha PSS-E30 Remie

There is another market segment which, perhaps, Yamaha did not explicitly intend — modders, AKA “hacks”. This article will focus on Remie (PSS-E30) as an instrument. I’ve already taken a screwdriver to Remie and will eventually post an article about Remie internals and other topics of interest to hacks.

“Keen On Keys” posted a nicely produced PSS-A50 demo on YouTube. The A50 appeals to musicians who want to put together simple tracks from arpeggios (musical phrases). Looks like fun! The A50 is the only member of the family which can record songs and, most importantly, the only member which sends/receives MIDI over USB. Neither Remie nor the PSS-F30 have a USB interface although they use a micro-B connector for power.

The PSS-F30 is the “Honey I Shrunk the PSR-F50” arranger keyboard. The F30 essentially has the same sounds, styles and songs as the F50/F51. The F30 could be the mini-keyboard for arranger enthusiasts on the go. That said, after taking a peak inside the A50 (see the YouTube demo) and the Remie, the program and waveform memory is quite small and the sound is not up to the same quality level of the current E-series arranger keyboards. Something had to be sacrificed to achieve such a small size, low cost and longer battery life (1.5 Watts versus 6 Watts). YMMV.

Yamaha PSS-E30 Remie

Circling back to Remie… I had to have one, er, buy one for our grandson. Naturally, I needed to check out Remie to make sure that it works on Christmas morning. 🙂 Oh, that includes a peak inside to make sure everything is in its place.

I wish that I could review Remie from a two year-old’s point of view. That review will wait for Christmas day. In the meantime, here’s my take from a musician’s perspective.

The keybed

Remie has 37 mini keys. To my touch, they are indeed the same as the Yamaha Reface series keyboards. I play the Yamaha Reface YC (drawbar and combo organs) at weekly choir rehearsal. I must say, Remie’s keybed feels better than the YC! Maybe I have worn in the YC’s keys or maybe manufacturing quality is better now. Bottom-line, the mini-keys are pretty darned good.

I think the keybed will hold up when kids go to work on it. Our grandson has watched older kids play piano, and he presses keys instead of whacking on them like most kids. [I trust him enough that we play side-by-side on MODX and Genos.] I haven’t been very gentle with the Reface YC and yet, the keys hold up. Parents shouldn’t worry about key quality. The mini-size should be good for kids, too; most adults find these mini-keys cramped.

I have one main complaint with 37 keys: the note range is sometimes too small for some songs. I wish the keybed was 49 keys with middle C in its rightful place. I like to play the left hand part in the two octaves below middle C. With 37 keys, that leaves only one octave above middle C for the melody and I often run out of keys in the right hand.

Remie is no different. Further, Remie does not have octave shift buttons which would alleviate the short range issue somewhat.

Sound

As I mentioned above, voice quality is comparable to early Yamaha portable keyboards, back in the day when waveform (sound) memory was tight. I’m sure Remie is using recycled sounds; that’s why it’s inexpensive.

The voices do not respond to touch. Thus, when you play the keys soft or hard, you get the same volume and timbre. One can make the overall volume louder and softer using front panel buttons. That’s it for dynamics.

So far, I’ve tested Remie through its built-in speaker, headphones (3.5mm stereo) jack and studio monitors. Of course, an 8cm speaker is not going to produce earth-shaking bass. It is adequate for the family room and reproduces the built-in voices surprisingly well. I think Yamaha learned a lesson with Reface and its disappointing built-in stereo speakers. As a result, I always play the YC through JBL Charge 2 speakers, not the YC’s built-in speakers. Unlike Reface, I could actually see myself using Remie’s speaker. BTW, the sound does not distort when pushed to the MAX.

Plugging into the headphone jack turns off the internal speaker. As expected, sound quality improves dramatically through decent headphones or external speakers. Parents should be careful when kids use headphones. Remie can drive headphones painfully loud. Fortunately, there is a “Volume Limit” function that sets the maximum Master Volume level. Parents should definitely set the “Volume Limit” before letting kids use headphones.

Sound quality through studio monitors is quite good! The sound is clear and is comparable to other entry- and mid-range arranger keyboards.

Overall, I’m tempted to take Remie to rehearsal to see if either the F30 or A50 might make a good ultra-portable rehearsal keyboard. I wouldn’t consider playing one of these keyboards in front of a congregation (audience), however. No such quality qualms about the YC which carried me through a few gigs during the move.

Styles and songs

The styles and songs are what we expect from a low-end Yamaha keyboard. The styles are pleasant enough. However, this isn’t a $5,000 Genos. 🙂 The styles do not have A and B sections or auto-fill. I wouldn’t expect kids to be arranging songs unless they are Mozart reincarnated.

The only concerns that I have in this area are operational. Can a young kid figure out how to play a song? Can a youngster play along with a style? I think adult supervision is needed here. I recommend that adults read the manual since operation is not intuitive, especially if you don’t have experience with Yamaha arranger keyboards.

The sound effects (SFX) shouldn’t be too hard to figure out. There are two dedicated front panel buttons to select either the blue kit or the pink kit. Kids shouldn’t have trouble with that.

Remie has a number of deep features controlled by the “FUNCTION” button. This is definitely beyond young kids. Parents should read the manual for more information. Functions include tuning, transpose, metronome, etc.

Yamaha arrangers usually apply effects like reverberation, chorusing, (guitar) distortion and so forth. Musos often complain about too much reverb. I’m happy to report that Yamaha has set the reverb to a pleasant level — a good thing because there isn’t any way to change the amount of reverb. Reverberation appears to be the only effect on Remie.

Musical scales and smart chords

Remie has a Smart Chord feature which is enabled right out of the box. Smart Chord is designed to keep chords within a chosen musical scale, i.e., the C scale AKA “all of the white keys.” Smart Chord lets a kid play one note chords.

If you’re a musician, however, the result may surprise you. Playing a I-IV-V (C-F-G in the C scale) progression sounds right, but hit that VII (B) and uh-oh. The VII chord plays Bm-flat5, the diminished chord. Play with Remie and you may raise a kid with an ear for “interesting” harmonies. Hope you like dissonance. 🙂

BTW, one of the functions sets the Smart Chord key in case you want to play with Smart Chords in some other key than C.

Summary

Well, Remie is a pretty good — although basic — keyboard instrument. It will be interesting to see what young, two year-old hands will do! It’s well-made and is a worthy impulse purchase.

If Remie isn’t what you’re looking for, maybe take a look at my review of the Yamaha PSS-A50? You might also want to take a peek inside of Remie, too.

Copyright © 2019 Paul J. Drongowski