SAM2695, A50 and NSX-39 thoughts

I’m still kicking around ideas for small, ultra-low cost MIDI tone modules. Random thoughts to follow…

I completed the SAM2695 project using the M5Stack U187 MIDI module. Using a nibbling tool and utility knife, I cut a few holes along the edge of a Hammond 1591CSBK plastic project box. I packed the MIDI module and cabling into the Hammond box and strung cables through the holes. There are three cables:

  • An in-line barrel connector switch cable
  • A 3.5mm stereo cable (6 feet)
  • A CME MIDI cable (3 feet)

The audio and MIDI cables are thin and flexible. Overall, this proved to be a better construction method than drilling holes for external connectors and so forth. I’m not the best fabricator…

SAM2695 General MIDI tone module

The end result is a GS-compatible General MIDI module which is the size of a guitar pedal. I configured a Novation Launchkey 49 (Mk4) to select 16 GM voices through the pads and to tweak/tweeze a basic set of GM parameters. The Mk4 supports two zones (Part A and Part B), is flexible, and deserves a blog post of its own.

I put the SAM2695 through its paces and confirmed my impressions. (See my post comparing the SAM2695 against the Yamaha PSS-A50.) Not a bad GM module for $50 (total). Still, it won’t have people selling their Nords, Montages, Kronos, whatever. 🙂 There are some decent playable voices and then there are some crap voices.

The SAM2695 effects, in particular, leave me wanting. The 2695 exposes reverb and chorus parameters, but most tweaking requires System Exclusive (SysEx) messages. More ranting about SysEx in a minute.

Relatively speaking, the Yamaha PSS-A50 is not harsh and its effects are better. The PSS-A50 also uses a one-chip solution, the Yamaha YMW830. On the other hand, the A50 MIDI implementation is truly spartan. For example, one cannot change either the reverb or chorus type. The stock A50 is mono (not stereo), so the Yamaha engineers decided not to implement MIDI CC#10 Pan.

Thus, I have really cooled to the idea of hacking the A50 into a module. Why begin a project when you know that the end result will be deficient in a major way?

Which brings me to the third option — chopping up Gakken NSX-39, better known as “Pocket Miku.” The NSX-39 is based upon a different one-chip Yamaha solution, the YMW820 (NSX-1). The YMW820 is a more than decent XG MIDI implementation. It supports the full GM sound set (A50 has 40 selected GM voices) and it has a fair to middling variation effect unit, including rotary speaker!

With all that going for it, the NSX-39 should be a no brainer. Nope. There is no clear, direct way to hack MIDI onto the YMW820. So, it’s likely to be MIDI over USB all the way and the USB port is implemented by an ARM media processor chip fronting MIDI to the YMW820 over SPI. The NSX-39 is already a small board/package and there isn’t much to cut away.

Then there is the issue of that insipid Miku voice. MIDI channel 1 is dedicated to Miku and, without writing the flash ROM, you can’t get rid of it. Yamaha had envisioned Real Acoustic Sound (RAS) as an alternative to Miku, but they never released a ROM image. RAS is a form of Articulation Element Modeling (AEM), also known as “Super Articulation 2“. Here is a video demo (AEM saxophone) of what could have been. [Video courtesy of Ken Fujimoto.]

YMW820 Real Acoustic Sound (RAS)

A big issue hanging over all three design options is the inability to send SysEx from the Launchkey. Or, another way of stating the requirement, critical settings need SysEx when most inexpensive MIDI controllers are incapable of sending SysEx. Really, how hard would it be to add SysEx support to a MIDI controller? SAM2695 has two MIDI CCs — CC#80 and CC#81 — which set the reverb type and chorus type, respectively. This capability is very unusual, however.

Yamaha arrangers keep voice set-up data in a few different places. Every voice has a basic set-up in its internal meta-data. One level up in abstraction, each panel voice has a so-called VCE (Voice Edit) file. (“VCE” is one of several file name extensions which denote a Voice Edit file.) The VCE is a MIDI file which selects the base-level voice and then changes EQ, filter characters, attack/release, and insert effect among other things. Styles contain something like a VCE in One Touch Setting (OTS) locations. Registrations can store VCE-like data, too.

The arranger voice design got me thinking. Why not map MIDI Program Change messages to a group of VCE-like MIDI messages in order to set up the SAM2695 (or whatever), i.e., choose reverb and chorus type, tweak EQ, and so forth? My AdaFruit Feather MIDI event processor would be a good platform given the appropriate custom code. A future project?

Copyright © 2025 Paul J. Drongowski

M5Stack U187 General MIDI module

Getting right to the point, cabling the M5Stack U187 MIDI Unit was a straightforward breeze. I now have a tiny General MIDI (GM) module for less than $50 USD. Best of all, the audio is cleaner than other SAM2695 implementations and I have full access to the Roland GS-compatible engine within.

Yep, I traced out signal paths to make sure +5V and ground go to the right places. M5Stack have done a good job with their connector and port layout. Plus, the cable color-coding makes it easy to see “what goes where.”

M5Stack U187 General MIDI module cabling

The picture above (click to enlarge) shows all of the electronics and cabling splayed out. I added an in-line power switch between the AC-DC adapter and the M5Stack buck converter. The only “trick” is to jumper the RXD and TXD signals. The jumper creates a signal path from the external MIDI IN to the SAM2695 MIDI port. RXD and TXD are both TTL-level signals, i.e., the receive side is after the opto-isolator.

And, gosh, M5Stack gear is inexpensive for what ya get. I’m tempted to try one of their integrated controllers like the M5Stack Core 3. Count me in.

Next on the agenda is a case. I’m going to stuff everything into a plastic Hammond 1591CSBK, also known as a “guitar pedal” case. I don’t intend to add connectors; the audio, MIDI and power switch cables will dangle out of the box. I’m ham-handed when it comes to craftsmanship and there is no reason to complicate set up. I will use a CME MIDI cable since the CME’s have much smaller plugs. The HOSA MIDI cable (above) won’t fit inside the 1591 case.

The only quibble is that M5Stack have jacks on all four sides of the U187 module. Thus, I’ll need cables with compact, right-angle plugs.

Overall, the M5Stack U187 MIDI Unit is the fastest, cheapest path to a GM tone module. Recommended.

Copyright © Paul J. Drongowski

Sound test: Yamaha A50 vs. SAM2695

The Yamaha A50 keyboard and the M5Stack U187 MIDI Unit (synthesizer) are based on two different ultra-low cost chips: the Yamaha SWLL (YMW830) and the Dream S.A.S. SAM2695, respectively.

The SAM2695 implements the full General MIDI (GM) sound set replete with Roland GS control and System Exclusive (SysEx) MIDI messages. The A50 implements forty voices from the GM sound set and a subset of the Yamaha XG MIDI standard. Because the A50 is a subset, it seems only fair to compare equivalent voices and see which synth is stronger.

The table at the end of this post is a voice-to-voice comparison. Neither instrument will have you ditching your Montage or Kronos. 🙂 The price points are definitely entry-level — $120 USD for the A50 (if can find one) and $15 for the M5Stack U187 MIDI Unit.

Surprisingly, the main grand piano voices are nearly identical! Both pianos are single strike and key velocity simply makes the underlying multi-sample louder or softer. Unexpectedly, the A50 electric grand is darker than the main grand. I prefer the darker tone as it is less likely to shatter glass.

The A50 electric pianos correspond to dark Rhodes and FM DX tones. The SAM EP has a bell-like chime, even its attempt at Rhodes.

The organs aren’t going to knock you out being the typical GM fare. The A50 drawbar organ has more low-mid tone and guts. The SAM rock organ is annoying and is especially buzzy in the low end. (An attempt at overdrive?) It’s unusable.

The A50 acoustic guitars have more mid-range body tone. The SAM clean and overdriven electrics are thin and the SAM overdrive (OD) is unconvincing. I selected A50 voices through its front panel and Yamaha may be adding the chorus effect to the clean guitar. Both jazz guitars need chorus to get the classic JC120 effect.

The SAM basses sound like a sampled electric. The SAM acoustic bass is not very jazzy (authentic). The A50 slap bass nails “Seinfeld” and the A50 synth bass almost nails “Chameleon”. The SAM synth bass is all punch and no sustain — doesn’t sound very rezzy.

The SAM solo violin and cello have more attack and body than the A50. Didn’t see that coming! The SAM pizzicato string voice has reverb sampled in, resulting in playback artifacts. The A50 harp low notes are unrealistic.

My biggest knock against SAM is the ensemble string voice. There is a bad, very audible loop lump in the octave about middle C. This gaffe should have never shipped.

Trumpet and trombone are what one would expect of GM solo brass — kind of real, but one-dimensional. Again, it’s a single multi-sample made louder and software by velocity. The A50 French horn is mellower than SAM. The SAM brass section sounds like a sampled synth brass patch, not real horns.

The A50 tenor sax is breathy although it won’t fool anyone. The SAM tenor sounds like a snake-charmers reed recorder. Yuck. I prefer the warmer A50 oboe. The clarinet and flute voices are nearly identical.

What can you say about synth leads and pads? They are what they are. The A50 has a few nasty, aggressive lead voices and the SAM has a few, too. Yamaha nails a few of the classic GM synth voices, but they were there at the beginning of General MIDI, weren’t they? 🙂

Overall, it’s a split decision. I lean Yamaha A50 over SAM2695. Yet, I keep repeating “15 dollars” over and over again. Remember, SAM is a full GM sound set and you might be able to substitute an alternative GM voice in place of a weaker voice.

If you like Akai MPK Mini and want an A50-like experience, I recommend the Akai MPK Mini Plus 37 combined with the M5Stack U187 MIDI unit. The M5Stack gives you a complete GS-compatible synth module (for $15!). Avoid the Akai Mini Play and its brain-damaged SAM implementation.

Copyright © 2025 Paul J. Drongowski

+ mark means "generally useable for a low-price instrument"

PC1  Voice name            A50 SAM  Comments
---  --------------------  --- ---  --------------------------
1    Grand Piano            +   +   Same
3    Electric Grand Piano   +       SAM: bright; A50: dark
5    Electric Piano 1       +       SAM: chimey tines; A50 dark Rhodes
6    Electric Piano 2           +   SAM: Rhodes; A50 DX EP

12   Vibraphone             +   +   Same
13   Marimba                        SAM: more hammer tone

17   Drawbar Organ          +       A50: more low-mid freq
19   Rock Organ             +       SAM: sampled chorus is annoying, buzzy
22   Accordion              +       SAM: thin; A50: chorus/octaves
23   Harmonica                  +   A50: thin

25   Nylon Guitar           +       A50: body tone/resonance
26   Steel Guitar           +       A50: body; SAM: not bad!
27   Jazz Guitar            +   +   A50: dark; SAM; bright; both need chorus
28   Clean Guitar           +       SAM: thin; A50: built-in chorus, sustain
30   Overdriven Guitar      +       SAM: too clean, OD fake-y

33   Acoustic Bass          +   +   SAM: sampled electric?
34   Finger Bass            +       SAM: picked bass?
37   Slap Bass              +       SAM: picked fretless? A50: Seinfeld
39   Synth Bass             +   +   SAM: no sustain; A50: Chameleon

41   Violin                     +   SAM: more attack, body
43   Cello                  +   +   SAM: more body
46   Pizzicato Strings      +       SAM: sampled reverb, artifacts
47   Orchestral Harp            +   A50: low notes unrealistic
49   Strings                +   +   Similar; SAM: Can hear loop point

57   Trumpet                +   +   SAM: slightly warmer; A50: more real
58   Trombone               +   +   A50: more attack blat
61   French Horn            +   +   SAM: brighter, more attack; A50: mellow
62   Brass Section          +       SAM: sampled synth brass?
63   Synth Brass                    Very similar

67   Tenor Sax              +       A50: breathy; SAM: snake charmer
69   Oboe                   +       SAM: bright, almost synthetic
72   Clarinet               +   +   Very similar
74   Flute                  +   +   Very similar

81   Square Lead                    A50: pure; SAM: nasty, chorus/distort
82   Sawtooth Lead                  A50: clean; SAM: nasty, chorus/detune
83   Gemini                         A50: nasty; SAM: Calliope
85   Punchy Chordz          +       A50: nasty; SAM: kind of weak

89   New Age Pad                    SAM: bell-like; A50: classic GM
90   Warm Pad               +   +   Both good; A50: classic GM
101  Brightness                     What can I say?

M5Stack U187 MIDI in the house

Here are a few pictures of the M5Stack U187 MIDI unit, U125 buck converter and cables.

M5Stack MIDI Unit and 5V buck converter

These M5Stack parts are tiny. I included an SD-sized adapter in one of the pictures in order to convey a sense of scale.

The M5Stack modules interconnect by way of 4-pin JST connectors (GROVE). I plan to use the U187 MIDI Unit as a standalone MIDI module powered by the 5V buck converter and an AC adapter. The buck converter requires a center-positive adapter cable, by the way — a simple fact not mentioned in the converter’s description.

The U187 MIDI Unit has MIDI IN on 5-pin DIN and 3.5mm jack. It has MIDI OUT on 5-pin DIN and 3.5mm jack. The slide switch controls internal signal flow. Optionally, one can pass the MIDI IN through to the MIDI OUT as shown in the routing diagram.

The next step on the way to musical joy is figure out the wiring. The short ribbon cables are “unbuckled”, a term which I have not encountered before! “Unbuckled” seems to mean straight-through. In other words, when you look at the JSTs in the same orientation, pin 1 is white on both, pin 2 is yellow on both, etc. Conceivably, one could have a “twist” that reverses the signal order.

Why worry, Alfred? The buck converter has a JST connector, too. The +5V and Ground pins are live while the two “data” signals are unconnected (NC). I plan to short the U187 TXD and RXD signals, and when push comes to shove, I do note want to accidentally short +5 and Ground!

M5Stack color-code their JST ports, thank goodness. The U187 port is blue and matches the blue PORT.C UART JST on their controllers and bases. This should help me do the matchy-matchy when wiring. I plan to double-check power using a multi-meter. It’s not the expense ($15) of blowing up the U187 as much as the time wasted ordering a replacement and waiting on delivery.

One Dream SAM tidbit. Dream have formally declared the SAM 2000 series synth chips as end of life (EOL). The window for final orders has already closed. Dream have asked customers to move on to the SAM 5000 series.

M5Stack U187 MIDI Unit inside

The image above shows the inner guts of the M5Stack U187. The U187 case is held together by a tiny hex screw and lucky me, my smallest hex wrench got the job done. You see the Dream SAM2695 in the shot. Long live the 2000 series!

Copyright © 2025 Paul J. Drongowski

Akai MPK Mini Play: GM/GS MIDI mod

In order to make your Aka MPK Mini Play (Mk1) into a GM/GS module, you must modify its hardware. As it is with all mods, modifications void the warranty, could damage the keyboard, and may affect resale value. The risk is yours alone.

That said, I’ve now thoroughly tested my Akai MPK Mini Play (Mk1) MIDI mod. Not only is a General MIDI module hiding inside, it does Roland GS, too!

Recapping, the MPK Mini Play main printed circuit board has a group of test pads for the internal synthesizer. The test pads are bigger than surface mount (SMT) traces, which makes soldering much easier. I tapped four signals and brought them out from the board on a ribbon cable:

  • SAM2635_RX: MIDI IN (white wire)
  • SAM2635_TX: MIDI OUT (black wire)
  • D Ground: Ground for external power (grey wire)
  • D +3.3V: +3.3V for external power (purple wire)

“SAM2635” refers to the Dream S.A.S. SAM2635 synthesizer chip — the MPK Mini Play’s tone generator.

Akai MPK Mini Play (Mk1) test pads (before and after)

I did a reasonably thorough analysis of the internal MIDI messages and the Mini Play’s MIDI over USB implementation. The Akai software is much too limiting and I became determined to unleash the Kraken within (the SAM2635).

Akai MPK Mini Play (Mk1) connected to UBLD.IT MIDI breakout board

I connected the other end of the ribbon cable to a UBLD.IT MIDI breakout board. The UBLD.IT board provides Akai MPK Mini Play 5-pin MIDI IN and MIDI OUT ports to the Dream SAM2635. I recommend turning INTERNAL SOUNDS off so controller messages do not interfere (collide) with incoming 5-pin MIDI messages. Don’t expect signals/messages to merge.

What else do you need to start using the SAM2635 as a MIDI module? Documentation! The Dream S.A.S. web site has:

You can skip the datasheet, but you will definitely need the firmware and sound bank guides.

The firmware guide describes the GM/GS implementation including, of course, the supported MIDI messages. You’ll find a few interesting and useful enhancements beyond General MIDI and Roland GS:

  • Several selectable reverb and chorus effect types.
  • 1-, 2- or 4-band equalization.
  • A spatial effect.

Near as I can tell, the microphone and CODEC are not connected in the MPK Mini Play electronics. Maybe you’ll discover a hack of your own…

The sound bank guide describes the available voices and drum kits:

  • 128 General MIDI instruments.
  • Nine drum sets and one sound effects (SFX) set.
  • 225 variation instruments.

The variation instruments are a true bonus. You get additional electric pianos, organs, guitars, synth basses and orchestral instruments. The variations are a little light on synth leads and pads, but I think you are expected to roll-your-own by programming amplitude and filter characteristics via MIDI CC messages. The GS implementation offers many options that way.

How does it sound? Here is an MP3 of my standard GM test: Traffic’s Feelin’ Alright. Compare with the Yamaha PSS-A50 rendition. There is a decent piano solo during the last 30 seconds or so, if you want to skip ahead.

I pulled together links to all of my previous articles about the Akai MPK Mini Play (Mk1):

All in all, this has been a successful hack!

Copyright © 2022 Paul J. Drongowski