About pj

Now (mostly) retired, I'm pursing electronics and computing just for the fun of it! I'm a computer scientist and engineer who has worked for AMD, Hewlett Packard and Siemens. I also taught hardware and software development at Case Western Reserve University, Tufts University and Princeton. Hopefully, you will find the information on this site to be helpful. Educators and students are particularly welcome!

Wire Less: Part 1, Korg Microkey Air 49

With the pandemic raging, I’m searching for ways to reduce my physical gig footprint and schlep factor. I thought I would share my adventure in battery-lowered, almost wireless keyboard-land.

Months ago, I had a good experience with Korg Module Pro. It has the range of high quality sounds that I need for my church gig. So, I decided to eschew battery-powered MIDI modules like the MidiPLUS miniEngine USB and go iPad and Korg Module Pro.

Yamaha SHS-500 Sonogenic (labels added)

I tried a bunch of controller candidates. (See the end of this post for more info.) I had the best experience and minimal number of wires with built-in Bluetooth MIDI. The SHS-500 Sonogenic, in particular, is nearly ideal:

  • Pluses: Built-in Bluetooth, pitch bend and mod wheels, decent mini-keys, narrow depth is good for a lap-board.
  • Estimated battery life is OK (10 hours); AC adapter jack is well-placed and secure.
  • Minuses: 37 keys (3 octaves), no expression pedal input, mod wheel works backwards when played in one’s lap.

No, I am not playing the SHS-500 as a keytar. I find the whole keytar thing to be gimmicky and not appropriate for church. I intend to play the controller in my lap, thereby keeping my physical profile small. (Social distancing!) A lap-board lets me ditch the keyboard stand, minimizing schlep.

Mini-keys deserve comment. Mini-keys enable short, lap-held keyboards. They are very lightweight and easy to transport. If the basic key feel is good, I make peace with play-ability.

My trouble isn’t so much with key size. It’s that three octaves (37 keys) are too short. Many melody and bass lines require two octaves and a player needs two octaves below middle C and two octaves above. Otherwise, I do unnecessary mental and hand gymnastics in real-time to fit the music onto the keyboard. That ain’t right.

Just me? Watch Harry Connick Jr. rock a 3 octave Reface CP. Harry sez, “There’s not a lot of room here.” [Tonight Show: Jimmy Fallon, NBC, 1 September 2016, Playing starts at 3:00.]

Korg Microkey Air 49

In the end, I broke down and bought a Korg Microkey Air 49. It is a good size for a lap-board and the Korg Natural Touch mini-keys ain’t too bad. The Microkey Air firmware was already at v1.04 when it arrived and it connected with Korg Module Pro under IOS 14.1 without a problem. [More on this in a future post.]

The Microkey Air 49 has an estimated 30 hour battery life. Good thing, because Bluetooth operation must use battery power (two AA batteries). Be sure to have two spare AA batteries at the gig; there isn’t a USB powered safety net.

The Microkey Air has a footswitch input. Expression input would be better. Of course, connecting a pedal to the Microkey Air adds a cable. Fortunately, Bluetooth pedals like the Airturn BT200-S4 get the job done. I have a BT200-S4 and found it easy to switch sustain, etc. via Bluetooth in Korg Module Pro. The BT200-S4 is small and light, not any worse than schlepping a wired sustain pedal.

I made a few advances with iPad wiring along the way. The Korg Microkey Air 49 is working out pretty well and I’m practicing with it every day. I have a few custom layers in Korg Module Pro and the day is coming when I’ll try out the rig in front of a congregation.

Going native

For completeness sake, I tried “going native” with sounds built into the Yamaha SHS-500 Sonogenic, Yamaha Reface YC, Yamaha PSS-A50 and Korg microKorg XL+ — all fine battery-powered instruments in their own right with sounds appropriate for rock, soul, jazz, and pop, but not church. I need good strings, reeds, classic organ and gospel B-3. Before moving on, I give props to the Reface YC as it is truly gig-worthy and have play it on the job.

Blooming BLU

I also tried using “the natives” as Bluetooth MIDI controllers. All of the candidates have USB and/or 5-pin MIDI DIN ports, and can be fitted with Yamaha UD-BT01 and MD-BT01 wireless MIDI adapters. The candidate keyboards are battery-powered, so what the heck!

Yamaha UD-BT01 (with AC adapter) and UD-BT01 Bluetooth MIDI

To make a long story short, all candidates worked well with the Yamaha adapters and with Korg Module Pro on iPad — even the lowly, dirt-cheap PSS-A50. A few specific observations:

  • The Yamaha UB-BT01 not only does Bluetooth MIDI, it supplies power to the PSS-A50. If you must add a cable to connect the A50 to the UD-BT01, you might as well get power, too, and save batteries. If you own a PSS-A50 and want to go Bluetooth MIDI, don’t hesitate!
  • The Reface YC has the added bonus of an expression pedal input. An expression pedal is a vital part of my gig toolkit. Korg Module Pro will connect simultaneously to more than one Bluetooth MIDI source (like the BT200-S4 previously mentioned). In one experiment, I used Reface YC as my expression source while playing the black and whites on the SHS-500. Neat. I might add the new Boss EV-1-L wireless expression pedal once it ships.
  • I looked into expected battery life. The Korg Microkey Air is the best at 30 hours estimated life. The other solutions are burdened by tone generation and DSP. The added power-burn is unnecessary if we’re not using the internal synthesis engines.

Even though you take a power hit, an internal engine is a good back-up in case there is a technical problem with Bluetooth, the iPad or Module Pro.

    Instrument     Estimated battery life 
------------- ----------------------
Microkey Air 30 Hours
PSS-A50 20 Hours
SHS-500 10 Hours
Reface YC 5 Hours
microKorg XL+ 4 Hours

In terms of key feel and play-ability, all candidates are acceptable. The Yamaha HD mini-keys are more synth- and organ-like, and are good for legato (especially organ). The Korg Natural Touch mini-keys are more piano-like — good for striking, not quite as good as Yamaha HD for legato. Unlike Microkey Air 49, the other candidates are 37 keys and are too short for unfettered play.

                           Key dimensions 
--------------------
Instrument Width Length Depth
------------------ ----- ------ -----
Reface HD 19mm 88mm 9mm
Korg Natural Touch 20mm 80mm 8mm
MODX 21mm 133mm 10mm
Genos FSX 22mm 133mm 10mm

Check out these related blog posts:

Copyright © 2021 Paul J. Drongowski

PSS chorus: A dusty look back

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

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

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

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

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

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

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

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

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

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

These parameters are laid down by the Yamaha XG specification.

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

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

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

Next are the QY-70 preset celeste values:

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

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

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

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

Copyright © 2021 Paul J. Drongowski

PSS-A50 MIDI mod

Sometimes you get very lucky when searching the Web!

A Japanese blogger (darekasan_net) posted a review of the Yamaha PSS-A50 and a mod adding 5-pin MIDI OUT. [Google translation of the review]

There are a set of test pads in the upper left corner of the A50 main board (DM) as shown in the picture below. [Click image to enlarge it.]

Yamaha PSS-A40 MIDI signals and USB circuitry

The two larger rectangular pads (orange) are digital ground (DGND). The four smaller pads (blue) from left to right are:

  1. MIDI_IN (RXD MIDI_IN)
  2. MIDI_OUT (TXD MIDI_OUT)
  3. 3.3V
  4. Digital ground

The blogger connected the MIDI_OUT signal to a 5-pin DIN connector, which is mounted nearby on the enclosure.

By the way, Yamaha conveniently mark test points with a circle (bullseye). You can see several test points for digital ground (DGND), the +3.3V digital rail, and the +5V digital rail. The USB interface chip is an NXP ARM microprocessor. The micro USB connector is in the upper right.

Direct connection is too trusting. The MIDI_IN and MIDI_OUT pads go directly to SWLL pin 55 (RXD) and SWLL pin 54 (TXD). I suggest adding a 220 ohm current limiting resistor in series with MIDI_OUT. Adding a signal buffer would be even better since you would rather blow up the buffer instead of the main processor (YMW830-V or SWLL) should someone radically misconnect the 5-pin MIDI port. A current limiting resistor on the +V MIDI pin wouldn’t hurt either.

Simple MIDI OUT circuit

If you get the urge to add 5-pin MIDI IN, you’ll need an optoisolator as shown in the schematic below.

Simple MIDI IN circuit

Although the schematics indicate 5V, the circuits should work with 3.3V instead. Fortunately, the unpopulated test connector provides +3.3V as well as MIDI_IN and MIDI_OUT.

Here’s an idea. Instead of hacking in a 5-pin DIN connector alone, why not add a Bluetooth MIDI plug like the CME WIDI Master?

Our Japanese blogger considered adding a sustain input. The PSR-F50 dedicates SWLL pin 53 (PORTC0) to sustain. Unfortunately, the PSS-A50 has other ideas and SWLL pin 53 mutes the headphone output instead. You could put an external switch in parallel with the front panel sustain switch, but it toggles sustain and, thus, it doesn’t behave like a true piano sustain pedal.

As with any mods, make them at your own risk and kiss your warranty good-bye!

Copyright © 2021 Paul J. Drongowski

PSR-E473 speculation

Update: Yamaha PSR-E473 and PSR-EW425 announcement.

Yamaha have had a busy few years updating their entry-level models, most notably, the PSR-E373 and the DGX-670. We have yet to see the PSR-E473 and PSR-EW425 models which will replace the PSR-E463 and PSR-EW410, respectively.

No doubt, supply chain and global shipping problems have delayed product launch. Prior PSR-E4xx models employ digital-to-analog converters (DAC) including DACs from Asahi Kasei Microdevices (AKM). The AKM plant in Nobeoka city suffered a major fire on October 20, 2020. Japanese authorities just recently gave AKM permission to clean-up and rebuild. The AKM fire caused a mass shortage of its digital-to-analog and analog-to-digital converters. The shortage affects other major audio and digital musical instrument manufacturers, too, not just Yamaha.

In addition, Yamaha is ramping up production at its new OneHub Chennai (India) manufacturing plant. The Chennai plant products acoustic guitars and portable keyboards for the Indian market and for export. According to a May 2019 press release, the initial goal is to make 200,000 acoustic guitars and 150,000 portable keyboards, including the PSR-I500 and the PSS series. Yamaha eventually wants to raise the goal to 400,000 acoustic guitars and 300,000 keyboards per year. Roughly 50% of production will be for export.

My PSS-A50 was manufactured in India. Given kinship to the PSR-I500, I would expect Chennai to make the new PSR-E473 and PSR-EW425. Export data indicate that a few E473s already have been run off and exported. Prototypes? Development? Testing?

Of course, the delayed launch has intensified interest among enthusiasts. The E373 received substantial feature upgrades: Super Articulation Lite (S.Art Lite) voices and new DSP effect types which once could only be found on mid- and upper-range arrangers. A few of the new effects are top-of-the-line: dual rotary speaker, Real Distortion guitar amp effects, vintage stereo phaser, compression and harmonic enhancer. One fully expects to see the same upgrades in the E473 and EW425.

S.Art Lite voices behave somewhat differently than their mid- and upper-level cousins. A dedicated articulation button triggers the articulation effect. The cousins transparently employ software scripting which reacts to player gestures, e.g., legato, intervals, and so forth.

Is this the new Yamaha PSR-EW425?

My first thought was “That looks quite professional,” not just a home keyboard. The live control knobs are re-located to the upper left. This decision will be controversial! The lighted buttons look pleasant (light blue color) and the screen is black and white monochrome. Still only four registrations per bank.

Yamaha did majorly swizzle around a bunch of front panel controls with respect to the E463. The keypad to the right has been significantly redesigned.

The quadrant to the right of the display has a 3×4 button matrix for voice and style selection by category. The buttons above the data wheel control selection mode: voice or style. I wonder if one of the mode buttons turns the matrix into a numeric keypad? The FUNCTION and PORTABLE GRAND buttons are below the matrix along with some kind of BOOST button.

The control groups running above the keyboard are (left to right): master volume, SONG/STYLE control, TRACK control, registration memory, and quick sampling. The large light blue button between the volume knob and the SONG/STYLE control group may be the ARTICULATION button.

The Quick Sampling feature got more real estate. Quick Sampling has several buttons: LOOP HOLD, A, B, C, D, and CAPTURE. I wonder if it’s possible to capture four waveforms? Did Yamaha re-think sample control including sample zones? Do the lighted A, B, C, D buttons reflect sample status like a pad controller? Can we play the pads? Are they velocity sensitive?

The live control knobs are further away from the keyboard in the quadrant to the left of the display. I can’t tell if there is an additional row or not. E463 has five live control rows; EW425 has 6 or 7?

The rest of the buttons in the upper left quadrant must be record, metronome, tap tempo, melody suppressor, voice control and all that miscellaneous stuff. The legends in the picture are too distorted to read.

Yamaha is still using an LCD with pre-defined, fixed icons and legends. Do they really save that much money versus a full graphic, pixel addressable display? What do I know? It probably simplifies the software, but it seems so 90s.

Should be interesting finally to see the specs, and not just guess.

Copyright © 2021 Paul J. Drongowski

Review: Mystic Circuits 0HP Envelope

As promised, here is a review of the Mystic Circuits 0HP Envelope module. I won’t go through build details, etc., since I discussed these aspects of the 0HP line in my review of the Mystic Circuits 0HP 0ttenuator.

Mystic Circuits 0HP Envelope and 0ttenuator modules

The 0HP modules all share the same micro form factor. The 0HP Envelope has four jacks:

  • IN: Gate or audio input
  • MULT: Duplicates the IN signal for patches
  • TIME: Release time control voltage (CV) input
  • OUT: Envelope output

Given a gate signal, the 0HP Envelope module generates a simple envelope. Given an audio signal, the Envelope module is an envelope follower, i.e., it generates an envelope which tracks the audio amplitude.

Schematic

Mystic Circuits have not posted a schematic for the 0HP Envelope. So, I drew one up. [Click images to enlarge.]

Mystic Circuits 0HP Envelope schematic

The 1uF capacitor is key to understanding the Envelope’s operation. The IN signal charges the 1uF capacitor while the phototransistor in the optoisolator (KTV816) discharges the capacitor to ground. The charge on the capacitor determines the OUT voltage. If you put audio into the Envelope, the capacitor smooths out the audio, leaving only the amplitude envelope.

The (release) TIME signal controls the brightness of the LED in the optoisolator. The brightness then controls the gate of the phototransistor. When the LED is brighter, the gate turns ON harder, more current flows, and the capacitor discharges faster.

Initial use

I had hoped to use the 0HP Envelope as an envelope follower such that I could process audio through the littleBits Filter module. Short story: A minor fail, but not the fault of the 0HP Envelope.

I connected the output of a Yamaha PSS-A50 to the audio input of the littleBits Filter. I sent the audio — in parallel — to the IN jack of the 0HP Envelope. No joy, or at least, not much happiness. I could not discern an audible difference in the filter cut-off sweep.

This minor failure motivated a few quick experiments to better understand the 0HP Envelope.

Oscilloscope: Audio envelope follower

When puzzled, measure!

Keeping the PSS-A50 as my audio source, I monitored the incoming audio signal and outgoing envelope using a Gabotronics USB oscilloscope.

The 0HP Envelope is, essentially, a passive device. It doesn’t require power and it doesn’t have any active electronics to amplify the incoming audio (or gate) signal. The phototransistor in the optoisolator acts like a variable resistor. Thus, what comes out of the envelope depends on what goes into it.

I immediately had to crank the oscilloscope gain to compensate for the small peak-to-peak audio signal going into the 0HP Envelope. The audio signal from the PSS-A50 does not have much voltage swing. The incoming signal limits the sweep of the outgoing envelope signal.

Envelope (top) and piano note (bottom)

The oscilloscope traces above are a short piano note and the envelope produced by the 0HP Envelope module. Please note the voltage per grid unit; it’s very small. The small peak-to-peak audio signal does not produce a very large envelope voltage swing. The small swing was probably not enough to produce an audible filter cut-off sweep in the littleBits case.

The oscilloscope traces below are an oboe note and its envelope.

Envelope (top) and oboe note (bottom)

The traces look quite noisy thanks to the high oscilloscope gain. I suspect that some noise is to due to the crummy USB ground from the PC.

Oscilloscope: Gated envelope

To verify my hypothesis concerning signal level in affecting signal level out, I connected the Arturia Keystep Gate output to the 0HP Envelope module and monitored both the gate and envelope signals with the oscilloscope.

Short gate (top) and envelope (bottom)

As expected, I needed to adjust the oscilloscope gain down to accommodate the relatively higher gate voltage. Given a strong gate signal, the envelope swing is much wider as shown in the oscilloscope traces above.

The 0HP Envelope stays high while gate is asserted. The example below shows the envelope produced by a longer note. When the TIME input is unused (0 Volts), the release time is rather long. You will most likely need to adjust the release time in practice unless you want a long release!

Envelope (bottom) stays high while gate (top) is high

Summary

Overall, the 0HP Envelope does what Mystic says. It’s a reasonable envelope generator (or follower) as long as you understand its behavior: big signal in, big signal out; small signal in, small signal out.

Here are further notes taken from the Mystic Circuits video about the 0HP Envelope.

When driven with a Gate, the Envelope will stay ON while the Gate is high. Then it will slowly release to zero when the Gate goes low.

Release time is controlled by the RELEASE control voltage (CV) input. With no control voltage going into RELEASE, the Envelope release time is at its longest. Release time decreases as a positive CV is applied. When driven with audio, the Envelope will give you a voltage which is proportional to the amplitude of the incoming audio. Sensitivity is controlled by the RELEASE CV input. When driven with a variable voltage, the Envelope will glide when the input voltage falls. It will increase quickly when the input voltage rises. Glide time is controlled by the RELEASE CV input. This only works on positive voltages.

The Envelope module has an on-board MULT to the input which allows chaining of multiple units. This is useful when you want to use an active envelope generator to produce more complex shapes and use the 0HP to produce simpler shapes. You can also route incoming audio back into your patch.

Copyright © 2021 Paul J. Drongowski

Review: Mystic Circuits 0ttenuator

I discovered Mystic Circuits while browsing Patchwerks. Mystic Circuits make and distribute a line of analog synthesis modules including its “0HP” micro-modules. Time to take a look.

But, first. Patchwerks? Patchwerks was a great little find, too, and a synthesizer lifeline during the pandemic. Patchwerks has a small Seattle-based brick-and-mortar retail store as well as its Web store. I have yet to step into their physical store, but I have ordered a number of small boards and toys on-line. Each time, their fulfillment has been fantastic: good packaging, same day shipping and quite frequently, over-night delivery, thanks to our Seattle metro locations. Watch for their seasonal sales. Highly recommended!

Mystic Circuits assembled and kit

The 0H modules get their name because they don’t take up space in your modular rack. Each module implements one or more utility and synthesis functions that don’t require a rack slot. Just patch ’em in. Mystic Circuits offer 0HP modules both fully assembled and in kit form. Initially, I was searching for an envelope follower block and in the course of that search, I discovered the entire 0HP product line. I bought the 0HP Envelope module (fully assembled $36USD) and the 0ttenuator module (kit form $18USD). I focus on the 0ttentuator in today’s post.

Mystic Circuits 0HP 0ttenuator

The 0HP 0ttenuator is one of those modules that you can’t live without. It performs four functions:

  • Single passive signal attenuator
  • Dual, independent passive signal attenuators
  • Two input passive mixer
  • One-to-two signal splitter

I can’t count the number of times when I needed a simple signal attenuator (e.g., knocking a headphone level down to LINE), or a 2-input mono mixer. The 0ttenuator does the job and then some.

Mystic Circuits 0ttenuator PCB (top)

Even though Mystic Circuits call it the “simplest kit,” I wouldn’t recommend it for beginners. The resistor pads are really dinky and it would be easy to make a solder bridge to other, larger pads. You need a really good soldering tip to nail it. I suggest checking your work with a magnifying glass. Further, Mystic don’t identify the resistor values (or color codes). The resistors are so small, I can’t accurately read the color bars! Whip out a digital meter and the resistors measure as 22K ohms. The potentiometers (B104) are 100K ohms.

Mystic Circuits 0ttenuator PCB (bottom)

If I have to ding Mytic Circuits, I find their documentation to be thin and sketchy. Useful information is buried in video, including build and operating instructions. Nothing is written down. Frankly, I don’t have time to watch a video when I can read bullet points in a few seconds. Although Mystic provide Eagle “sch” files on their github site, most people aren’t set up to display Eagle. I ran the sch file through schematics.io and captured the rendering (below).

Mystic Circuits 0ttenuator schematic

Hey, I’ve seen this circuit somewhere before! Nonetheless, it’s a very flexible design and the 0HP module is well-made. Operation depends upon the switched input jacks which configure the circuit for attenuation, mixing and splitting.

Mystic Circuits 0HP case top and bottom (assembled)

I’m glad that I purchased a fully assembled Envelope module along with the 0ttentuator kit. The fully assembled module showed me how to assemble the case. Again, the Mystic Circuits site does not have instructions for assembling the new 0HP cases. The video build instructions show the old plexiglass covers and spacers, not the new PCB-ish case. That’s the drawback of putting everything in videos; if the product changes, it’s a pain to revise the existing videos to reflect product changes.

The final niggle has to do with the metallic graphic design on the case bottom. I fear it will make unwanted contact with the bottom of the printed circuit board (PCB). I put a thin layer of electrical tape over the inner surface of the bottom case cover. (The design is etched onto both sides of the case bottom.)

If you buy a 0HP 0ttentuator module — and I recommend it — here are the missing operating instructions:

  • To use one attenuator:
    1. Plug incoming signal into IN jack
    2. Plug outgoing signal into OUT jack
    3. Turn knob to change signal level
  • To send an incoming signal to two places:
    1. Plug incoming signal into PAN jack
    2. Plug one outgoing lead into the OUT jack
    3. Plug the other outgoing lead into the MIX jack
    4. Use knobs to set outgoing levels
  • To mix two signals together:
    1. Plug one incoming signal into the IN jack
    2. Plug the other incoming signal into the PAN jack
    3. Plug the outgoing lead into the MIX jack
    4. Use knobs to set the outgoing level
  • To use each attenuator separately:
    1. Plug first signal into the IN jack and the corresponding output lead into the OUT jack
    2. Plug second signal into the PAN jack and the corresponding output lead into the MIX jack
    3. Use knobs to set levels for each separate signal

Mystic Circuits 0HP Envelope

I want to test the 0HP Envelope with a littleBits Filter. Given time constraints, I’ll address that subject in a future blog. In the meantime, here is a little more information about the 0HP Envelope.

Here is a description of the 0HP Envelope, paraphrased from the Mystic Circuits video.

When driven with a Gate, the Envelope will stay ON while the Gate is high. Then it will slowly release to zero when the Gate goes low. Release time is controlled by the RELEASE control voltage (CV) input. With no control voltage going into RELEASE, the Envelope release time is at its longest. Release time decreases as a positive CV is applied.

When driven with audio, the Envelope will give you a voltage which is proportional to the amplitude of the incoming audio. Sensitivity is controlled by the RELEASE CV input. When driven with a variable voltage, the Envelope will glide when the input voltage falls. It will increase quickly when the input voltage rises. Glide time is controlled by the RELEASE CV input. This only works on positive voltages.

The Envelope module has an on-board MULT to the input which allows chaining of multiple units. This is useful when you want to use an active envelope generator to produce more complex shapes and use the 0HP to produce simpler shapes. You can also route incoming audio back into your patch.

Unfortunately, the Mystic Circuits github area does not have an Eagle schematic. So, I drew one (shown below). Hope I got it right!

Mystic Circuits 0HP Envelope schematic

The 1uF capacitor is key to understanding the Envelope’s operation. The IN signal charges the 1uF capacitor while the phototransistor in the optoisolator (LTV816) discharges the capacitor to ground. The charge on the capacitor determines the OUT voltage. If you put audio into the Envelope, the capacitor smooths out the audio, leaving only the amplitude envelope.

The RELEASE signal controls the brightness of the LED in the optoisolator. The brightness controls the gate of the phototransistor. When the LED is brighter, the gate turns ON harder, more current flows, and the capacitor discharges faster.

Copyright © 2021 Paul J. Drongowski

Yamaha PSS-A50: Look inside

Let’s take a quick tour of the Yamaha PSS-A50.

Yamaha PSS-A50 top and bottom [Click images to enlarge]

The A50 has two main boards: the digital and analog electronics board (DM) and the front panel board (PN). After removing nine screws — don’t forget the screw hidden in the battery compartment — the A50 splays into two halves: the bottom half containing the battery compartment, DM board and keybed, and the upper half containing the speaker and PN board. The battery connects to a JST XH connector on the DM board. Ribbon cables connect the keybed and the panel board to the DM board.

Yamaha PSS-A50 front panel board (PN)

The PN board has traces for the front panel buttons. The buttons are arranged into a 3 by 8 switch matrix: 3 drive lines and 8 sense lines. The power Standby/ON switch has two dedicated lines. The eight sense lines are shared with the three digit LED display. A further 3 lines are devoted to the display (for a total of eight lines). In addition to the front panel switch matrix, the PN board conducts audio signals to the speaker through two wide PCB traces.

I dare to say that the A50, PSS-E30 Remie and PSS-F30 have the same panel board. Only the front panel graphics and software differentiate the models in that regard.

Yamaha PSS-A50 main electronics board (DM)

The DM electronics board is tiny and is packed with surface mount (SMT) components. Impressive! The main digital components are:

  • Yamaha YMW830-V: Processor and tone generator (IC101)
  • Winbond 25Q16JVS1M: 16Mbit Serial flash memory (IC102)
  • 74VHC273: 8-bit latch for display data (IC301)
  • NXP LPC11U13F/201: USB interface (IC401)

The YMW830-V is also known as “SWLL” and is a Yamaha proprietary system on a chip (SOC). The A50 has separate amplifiers for the speaker (IC701) and headphone output (IC601):

  • TI TPA6132A2RTER: Headphone amplifier (IC601)
  • Rohm BD27400GUL: Mono class-D power amplifier (IC701)
  • NJR NJM2740M: Dual operational amplifier (IC501)

The dual operational amplifier is part of the post-DAC low pass filter. Finally, the power-related components are:

  • TI TLV74333PDBVR: 3.3V regulator (IC001)
  • TI TPS63060DSCR: Switching regulator (IC004)
  • TI TPS25200DRVR: 5V eFuse/power switch (IC006)

The A50 must choose and switch between +5V USB power and battery power. That’s the role of the eFuse/power switch component.

Yamaha PSS-A50 USB interface (NXP ARM MCU)

The NXP LPC11U13F is a bit of a surprise to me. It is an ARM Cortex-M0 32-bit microprocessor (MCU) with 24KB of flash memory. The SWLL sends and receives MIDI through its UART RX/TX ports. The ARM LPC converts simple MIDI from the SWLL to MIDI over USB. Using an ARM MCU to do the job seems like over-kill. It goes to show how far we have come as an industry when an MCU can be dedicated to such a mundane task!

Yamaha PSS-A50 CPU (Yamaha YMW830-V SWLL)

The SWLL (YMW830-V) has many of the specs that we’ve come to know about Yamaha’s entry-level CPUs. The external crystal resonates at 16.9344MHz. The SWLL internal clock is 33.8688MHz and generates a 67.7376MHz master clock. If these numbers look odd to you, simply note that they are even multiples of 44,100Hz, the basic sample rate:

    67.7376MHz = 44,100Hz * 1,536

When an external DAC is used, the master clock provides the bit serial audio clock. 1,536 can be subdivided in all sorts of interesting ways depending upon sample word length.

The SWLL integrates host CPU, memory, tone generation, serial MIDI communication, keyboard and front panel scan ports, and display ports. The digital to analog converter (DAC) is also integrated into the SWLL. The SWLL is truly Yamaha’s low-cost system on a chip solution.

The SWLL loads its software and samples from a 16Mbit serial flash ROM. 2MBytes for software and samples is not much, so one wonders if the SWLL has a preprogrammed flash memory of its own?

With the exception of the ARM LPC chip, the A50, PSS-E30 Remie and PSS-F30 electronics are identical. The software and samples determine the product personality. Such a high degree of commonality allows Yamaha to manufacture PSS keyboards (in India) and sell them at a dirt cheap price. Hats off — the amount of technology at this price — less than $100USD — is simply astounding.

Copyright © 2021 Paul J. Drongowski

PSS-A50: Power to the people

Today’s topic — power — may seem rather mundane. To a modder, though, power gives our circuits life.

I’m going to make a few comments of general interest before diving into details that are relevant to the Yamaha PSS series keyboards, including the PSS-A50 and PSS-E30 Remie.

Most of us don’t think too much about keyboard power. Sure, we know where the AC adapter connects or how to insert batteries. The internal details are hidden from us.

However, did you really read the fine print in the Owner’s Manual? The front panel power button may be labelled “Standby/ON” instead of “OFF/ON”, and the difference is important. The PSS-A50 Owner’s Manual states, “Even when the Standby/On switch is in standby status (display is off), electricity is still flowing to the instrument at the minimum level.”

Yes, that Standby/ON switch is really a “soft” power switch. It does not physically disrupt the flow of electrical current from the AC adapter (battery or USB port). In the PSS series (and other keyboards, too), the Standby/ON switch sends a signal to the keyboard’s processor telling the software to change the current power state. For the technically inclined, the Standby/ON switch pulls one of the processor pins to ground and software detects the ACTIVE LOW signal.

The rest of the story gets complicated fast depending upon power saving techniques supported by the hardware. Let’s assume that we’re changing from ON to Standby. The processor generates a separate signal which switches off the power amplifier — a major drain on battery or external power. Software turns off the display, another power hog. Finally, software places the processor in a low-power state and waits for the Standby/ON switch to be pressed again. Going from Standby to ON, software turns everything back on.

From the user’s perspective, the transition from Standby to ON is fast. No waiting and let’s get playing! The constant low current flow does affect battery life, however. Ever wonder why the batteries drained sooner than expected even though you haven’t turned your keyboard on for a few weeks? The low current flow eventually drains the batteries.

Power management has implications for people intending to mod an instrument. I’m planning to add an audio delay or filter circuit to the A50. The add-on circuit will need to draw power. Ideally, I would like to switch the add-on circuit on and off with the front panel switch. But, where should I take power from the existing design? Is there a PCB pad or trace that is big enough for soldering? Is voltage regulated at that point? Getting power is not a no-brainer!

If you don’t have the instrument’s service manual and schematic, this analysis gets really hairy and uncertain. For the E30/A50, I’ve been working from the PSR-F50 manual available from Elektrotanya. The PSS series keyboards are a revamped PSR-F50 design.

I’m considering a Synthrotek Dev Delay for add-on. The Dev Delay has a 5V regulator and runs on battery power. My thought is to connect the Dev Delay directly to the A50’s batteries through its own power on/off switch. That way I don’t add to the standby drain on the batteries. It just means turning the delay on and off separately.

PSS-E30 Remie main board (battery connector at right)

Even better, the A50 main board (DM) has a removable battery connector. If I rustle up a compatible cable and connectors, I can tap into existing battery power without soldering. I was already planning to use a short 3.5mm patch cable to jump the headphone OUT to the Dev Delay IN. Again, no soldering to SMT traces, etc. I like “reversible” mods!

I had enough headaches and scars from soldering mod chips to game console boards back in the day. 🙂

I hope this discussion provided some useful advice — no matter what you mod.

Copyright © 2021 Paul J. Drongowski

Yamaha PSS-A50 Motion Effects

As I mentioned in my PSS-A50 review, the Yamaha PSS-A50 arpeggios date back to the first Motif keyboard (2001). Yamaha — like most manufacturers — recycle content and these arpeggios (arps) have (re-)appeared in several synthesizer and arranger products. The arps even made an appearance in the now unavailable Yamaha Synth Arp and Drum Pad application for Apple iPad.

If you were fortunate enough to buy the Synth Arp and Drum Pad app ($8 USD), don’t throw that joint out the window! As of this writing, the old app still runs on iOS.

The A50 resembles a hardware embodiment of the old arp app. The A50, however, has one trick up its sleeve that the app didn’t have — Motion Effects.

The PSS-A50 Motion Effects add a little animation to performances, arps and playback. There are three kinds of Motion Effects:

  1. Group A: Filter
  2. Group B: Pitch
  3. Group C: Modulation

The filter effects do things like filter sweeps. The pitch group includes pitch bends. The modulation group adds modulation and a little bit of everything else like slicing.

The A50 is an inexpensive little guy with simple synthesis hardware. All of the Motion Effects are implemented through MIDI, keeping hardware cost low. The Motion Effects themselves are based on the MIDI control arpeggios in the original Motif! This bit of recycling keeps development cost ultra-low.

Using a Motion Effect is easy. Select an effect, start playing, and press/hold the MOTION EFFECT button when you want to trigger the effect. The A50 then generates the MIDI needed to make the effect happen. Effects are selected by repeatedly pressing the MOTION EFFECT button while holding SHIFT. (Tip: Hold MOTION EFFECT in order to skip to the next effect group.)

Motion Effect MIDI messages are recorded and transmitted along with note ON/OFF and all the rest of the usual stuff. Thus, the A50 is a bit of an interesting controller as you could use it to add/record pitch bends, etc. to a DAW-based MIDI song or live performance.

Inquiring minds want to know, “How did they do that?” I recorded the MIDI messages produced by each of the Motion Effect types. I simply played a note on the keyboard and hit/held the MOTION EFFECT button. If you would like to hear the results for yourself, here is a ZIP file containing SMFs. Open the SMFs in a DAW and explore.

The filter group sends MIDI CC#74 (continuous control) messages. A09 and A10 toss in modulation (CC#1) for a little extra spice:

Group A FILTER 
A01 Filter 1 CC#74
A02 FIlter 2 CC#74
A03 Filter Wah CC#74
A04 Filter 3 CC#74
A05 Filter 4 CC#74
A06 Filter 5 CC#74
A07 Filter 6 CC#74
A08 Filter 7 CC#74
A09 Filter + Modulation 1 CC#74, CC#1
A10 Filter + Modulation 2 CC#74, CC#1

Since it’s often hard to describe sonic effects in words, here are miniature plots of the MIDI controller data for the filter (Group A) effects. [Click images to enlarge.]

Yamaha PSS-A50 Motion Effects (filter)

The pitch group sends MIDI pitch bend messages:

Group B PITCH 
B01 Pitch Whole-Note Up PB (wheel)
B02 Pitch Half-Note Up PB (wheel)
B03 Pitch Whole-Note Down PB (wheel)
B04 Pitch Half-Note Down PB (wheel)
B05 Choking Up PB (wheel)
B06 Choking Down PB (wheel)
B07 Pitch Down 1 PB (wheel)
B08 Pitch Down 2 PB (wheel)
B09 Pitch Up 1 PB (wheel)
B10 Pitch Up 2 PB (wheel)
B11 Pitch Up + Modulation PB (wheel), CC#1
B12 Pitch Up 3 PB (wheel)

The first several pitch effects implement guitar-like bends. If you have trouble bending notes with a joystick or wheel, you might want to try the A50. You get a perfect bend every time — maybe too perfect. The plots below illustrate the PSS-A50 pitch (group B) effects.

Yamaha PSS-A50 Motion Effects (pitch bend)

The modulation group has some real variety to it. The simple modulation messages change pitch at a fixed rate; you cannot change the “LFO rate.”

Group C MODULATION 
C01 Modulation On 1 CC#1
C02 Modulation On 2 CC#1
C03 Pitch Up + Modulation On 1 PB, CC#1
C04 Pitch Up + Modulation On 2 PB, CC#1
C05 Expression Slice 1 CC#11
C06 Expression Slice 2 CC#11
C07 Expression Slice + Filter 1 CC#11, CC#74
C08 Expression Slice + Filter 2 CC#11, CC#74
C09 Pitch Up + Expression Slice 1 PB, CC#11, CC#74
C10 Pitch Up + Expression Slice 2 PB, CC#11, CC#74
C11 Pitch Up + Expression Slice 3 PB, CC#11
C12 Pitch Up + Expression Slice 4 PB, CC#11, CC#74

Slicing implements stutter-like effects using MIDI CC#11 expression messages (alternating volume ON and OFF). The plots below illustrate the modulation (group C) effects.

PSS-A50 Motion Effects (modulation)

Here’s a quick reference guide to the MIDI message types mentioned above:

  • PB Pitch Bend
  • CC#1 Modulation
  • CC#10 Pan (not supported by PSS-A50)
  • CC#11 Expression
  • CC#71 Harmonic Content (resonance)
  • CC#74 Brightness (cutoff)

If you would like more information about the Yamaha PSS-A50 MIDI implementation, check out the basics and advanced topics.

Copyright © 2021 Paul J. Drongowski

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