hikari's blog

Around the General MIDI world in 12 pianos

As friends and followers may know, we* realised at the end of 2022 that we deeply regretted never having learned a musical instrument, and since then we have been having a bit of a music arc. Several, in fact. And somehow, between the autism, an affection for creative constraints, nostalgia, and some happy accidents, this led to us getting very into General MIDI. Perhaps too into it; we now have far too much gear and knowledge from this fading era of music technology, and no idea what to do with it! So… how about we give you a whirlwind tour of the piano tones on the General MIDI instruments we have access to? I promise it'll be fun! Maybe you'll learn something?

Detailed Japanese visual novel-style illustration of a young woman with brown hair in a ponytail, who is wearing a frilly black dress, playing a piano, and obviously enjoying herself.
CG from the visual novel Wonderful Everyday ~Diskontinuierliches Dasein~
(© KeroQ 2010)

Before we begin…

Please let us quickly explain what MIDI and General MIDI are, because we want this post to be accessible to folks with some interest in music who are not informed, or perhaps (as is tragically all too common) misinformed on this topic. If you're already very familiar with both, you can of course skip this section, but I hope it'll be interesting enough that you read it anyway.

MIDI is a fundamental technology in electronic music. Launched in 1983, and still critically important in 2025, it standardises a way for synthesisers and other musical instruments to communicate. The basic idea is that you can take a MIDI keyboard (🎹), and using a MIDI cable, connect it to a MIDI synthesiser. When you depress a key on the keyboard, a small digital message along the lines of “play the note Middle C with a gentle velocity on channel 1” is transmitted over the MIDI cable. When the MIDI synthesiser receives this message, it then produces some kind of sound in response. This may sound like an oversimplification, but it is in fact exactly how MIDI works, and that entire message is encoded in only two to three bytes depending on context — it's frightfully efficient!

Of course, MIDI can do a lot more than encoding the depressing (and of course, releasing) of keys. There's also, for example, a kind of message sent when you turn a knob, push a slider or spin a wheel, used for everything from volume to reverb level to adjusting the ADSR parameters of a synth. There are also some special messages handling esoteric use cases like dumping and restoring synthesiser settings, or updating firmware. But if you think of MIDI as just “tiny digital messages representing pressing a key or turning a knob”, you already understand most of it. In fact, there are many MIDI devices that only use those parts of MIDI, including many popular Digital Audio Workstations (DAWs).

Technically, the “MIDI” we just described is two different things:

This distinction matters because eventually they became separated. The classic MIDI ports and MIDI cables are less common in 2025, now that USB and Bluetooth and virtual cables inside of DAWs are alternative options. Similarly, the MIDI data format has found uses outside of these “cables”. Every DAW uses the MIDI data format internally for all sorts of purposes, for example. But even in a pre-DAW world, there was another kind of “MIDI” you will have heard of:

At this point, if you've been using computers for a long time, you're probably thinking of some beloved (or hated) MIDI files, right? Among the ones bundled with Windows, PASSPORT.MID is a personal favourite of ours:

PASSPORT PLEASE, © 1991 Passport Designs, Inc.
(Synthesized by our Roland SC-7, direct feed recording.)

And indeed, PASSPORT.MID (and CANYON.MID, ONESTOP.MID, mm2wood.mid and god only knows what else) are Standard MIDI Files, and if you look inside them with a MIDI editor, you'll see the content is indeed just simple little messages:

Screenshot of a file called PASSPORT95.MID opened in a MIDI editor named Sekaiju, showing the Event List. In the section of the list visible in the screenshot, we can see various events with different timestamps, with different “Event Kinds” like “Control Change” and “Note On”. The “Control Changes” appear to be affecting things like “Pan”, “Reverb Send” and “Chorus Send”.

Alas, the event view in this particular MIDI editor isn't the easiest to read. Of course, it can also be presented in a more musically meaningful way:

Screenshot of a file called PASSPORT95.MID opened in a MIDI editor named Sekaiju, showing a Piano Roll view, where one can see a visual representation of the different note pitches and durations, and also their velocities.

But, and this is quite important, these are not just any old MIDI files. They are specifically MIDI files that comply with General MIDI, the final thing that must be explained. The MIDI technologies previously mentioned allow controlling synthesisers, and they even allow recording and replaying performances (in the form of MIDI data), but crucially, none of those standards stipulate what MIDI data is supposed to “sound like”. The MIDI standards do of course stipulate a few things, like how the keys on a piano should be numbered, and a few common “controllers” (the knobs/sliders/wheels mentioned earlier) like volume and panning. However, they don't say what particular kind of instrument sound a synthesiser should produce, or in fact even require it to produce a sound at all — there are many compliant MIDI devices that don't make sounds, believe it or not! And so:

And unlike all the other MIDI stuff mentioned, General MIDI is a legacy technology, a thing that was born, grew, peaked, fell, and died… all more or less within a single decade, the 1990's. It is a failed dream, not forgotten, but not always fondly remembered. It does technically still exist today in a few places, but only as a shadow of what it once was, a niche for the nostalgics.

…But you wanted to hear the piano sounds, right? Well, let's get back to that. If you were following so far, the only other technical detail you need to know about General MIDI beyond this point is that instrument number 1 (or 0, depending on how you count) is the “Acoustic Grand Piano”, that there is a “set the instrument on this channel to instrument number 1” message, and that the standard says nothing more about what it ought to sound like. :)

Screenshot of a PDF viewer displaying part of a file whose filename starts with “RP-003-General_MIDI_System_Level_1_Specification”. We can see a heading for a table titled “General MIDI Sound Set”, the clarifying text “(MIDI Program Numbers 1 — 128; all channels except 10)”, and then a large table with four columns, each containing 32 instrument names, for a total of 128. Each column is headed “Prog # Instrument”. At the very top-left we can see “1. Acoustic Grand Piano”, then “2. Bright Acoustic Piano”, “3. Electric Grand Piano” and so on. At the very bottom-right we can see “128. Gunshot”. There are many things in-between, such as “12. Vibraphone”, “27. Electric Guitar (jazz)”, “36. Fretless Bass”, “54. Voice Oohs”, “78. Shakuhachi”, “95. Pad 7 (halo)” and “110. Bag pipe”.

Roland, the king of General MIDI

With that out of the way, let's look at some General MIDI synths and their piano tones. There will be four categories: Roland, Roland again, Roland but this time as farce, and finally Yamaha. They are all Japanese, and they are mostly Roland. This is not just because hikari_no_yume has a particular fondness for Japanese products and perhaps especially for Roland products, though we could never deny the accusation. It is because General MIDI was a very Japanese invention, and more specifically, a Roland invention. Moreover, the only companies that really managed to keep up with Roland there were Japanese (Yamaha, and perhaps Korg to a lesser extent, though we know less about them; Casio also made a decent attempt early on). This does not mean the General MIDI world was limited to Japanese companies, not by any means. There might be hundreds of General MIDI synth vendors out there, and for example, the Android phone in your pocket has an obscure General MIDI software synth — for ringtones! Roland and Yamaha were simply the best and most influential, and took the General MIDI concept places few others could.

The demo MIDI file (is also Roland)

The file you'll be hearing over and over again in this post is called 04PIANO.MID, whose proper title is “Prologue”, © 1999 Roland Corporation. It's a demo file included with the Roland-ED Sound Canvas SC-8850 from 1999, the highest-end dedicated General MIDI synthesiser Roland ever produced. Generally speaking, demos for high-end General MIDI synths play back terribly on older ones. For example, they are likely to use fancy new MIDI messages that older synths won't recognise (as does this demo). But this demo is just a single, relatively simple piano part, and piano is such a critical instrument that even if a General MIDI box can barely manage anything else, it will still try to sound good at piano!

It should also be pointed out that General MIDI is of course designed for multitimbrality, that is, playing a large arrangement with several kinds of instruments at once. Playing back a simple MIDI file that only contains a piano part is, I suppose, not in the spirit of General MIDI, especially since every General MIDI product ever has been forced into a quantity over quality tradeoff by virtue of having to support those 128 standard instruments. And yet, we find ourselves enjoying General MIDI pianos nonetheless, and we think there's a special charm to them.

In any case, armed with a piano-only MIDI file from the end of the General MIDI era, we shall travel back in time to where it all began…

The Roland Sound Canvas SC-55

Photo of the front panel of a Roland Sound Canvas SC-55mkII. This is a half-rack unit, 1U high. It is constructed from dark grey plastic, and has a distinctive black-on-orange backlit LCD screen that displays a bar graph-like visualisation of the various musical parts being played. It has an individual pair of left/right buttons for each of the following parameters: the “Part”, “Instrument”, “Level”, “Pan”, “Reverb”, “Chorus”, “Key Shift” and the MIDI channel. Each of those parameters also has a dedicated numeric zone on the LCD, arranged in the same rows and columns. It also has a 3.5mm headphone jack, and a MIDI port labelled “MIDI IN 2” among other things.
A public domain photo of a Roland SC-55mkII (we don't own one).

The default Acoustic Grand Piano preset on this thing is called Piano 1 in the manual.

We don't own one, so we don't have a sound sample, sorry. But we do have two of the next-best things…

The Roland SC-7

Photo of a Roland SC-7 atop a Roland Sound Canvas SC-88VL. The Roland-SC88VL looks very similar to a Roland SC-55 or SC-55mkII, but this particular model has white plastic rather than dark grey. The Roland SC-7 is smaller than the SC-88VL in all dimensions, being perhaps three quarters the width and height, and it is a gently faded cream colour rather than bright white. The SC-7 lacks the “Sound Canvas” and “GS” branding and has no screen, buttons or additional MIDI port on its front panel, only two 3.5mm jacks (one labelled “Input 2”, one labelled “Phones”), a “Volume” knob, and a small red LED labelled “Signal”. It does, however, have “General MIDI” branding, just like the SC-88VL.
Our Roland SC-7 sitting atop our Roland SC-88VL.

And finally, our first piano audio sample…

04PIANO.MID on the SC-7's Piano 1 patch.

We really love this piano sound, even if it's very unrealistic. It's just so charming.

This is a direct feed audio recording. Everything you hear, including any effects (reverb and so on) is from the audio output of the SC-7, and the SC-7 is solely being controlled by data flowing into the “MIDI IN” port on the back. Of course, a MIDI player is being used to “play back” 04PIANO.MID on our laptop — but all it does is send those MIDI messages at the designated times, over a traditional MIDI cable. Every subsequent audio sample will be using this same type of setup.

(click here only if you want to read gnarly signal chain details)

The Roland SC-88 (…and its cuter variant)

Photo of a Roland Sound Canvas SC-88. It looks similar to a Roland SC-55 or SC-55mkII, but it is vertically extended to be maybe a third taller, with an extra row of buttons for things like User Instrument Editing (abbreviated “User Inst Editing”), “Attack”, “Decay”, “Release“, “Cutoff”, “Resonance”, and various controls for Vibrato (abbreviated “Vib”).
A public domain photo of a Roland SC-88 (we don't own one).
Photo of a Roland Sound Canvas SC-88VL atop a white, lightly reflective surface. The Roland-SC88VL looks very similar to a Roland SC-55 or SC-55mkII, but this particular model has white plastic rather than dark grey. It is turned on, and its screen glows in brilliant orange, and two of the four small round buttons to the right of it glow in a coral-esque reddish orange. Those two buttons are “SC-55 MAP” and “EQ”, two features the SC-55 does not have. There is a beautiful soft reflection of the glowing and non-glowing elements on the surface below the unit.
Vanity shot of our Roland SC-88VL.

So here's our SC-88VL trying to sound like the SC-55:

04PIANO.MID on the SC-88VL's Piano 1 patch in the SC-55 map.

If you compare that to the SC-7 example and try to imagine some kind of midpoint between them, you'll get what the SC-55 sounds like, I guess.

And here's our SC-88VL trying to sound like, well, itself:

04PIANO.MID on the SC-88VL's Piano 1 patch in the SC-88 map.

A lot darker, right? We were never too fond of it, but I think it's growing on us.

(click here only if you want to read gnarly signal chain details) Same as the SC-7 case, except:

The Roland SC-88 Pro

Despite the name, and the fact it looks almost identical to the SC-88 (the big one, not the cute SC-88VL we own), the SC-88 Pro was anything but a minor upgrade, and has to be talked about in its own right.

But we don't have an SC-88 Pro, so no audio sample here, sorry.

The Roland-ED SC-8850

The pièce de résistance?

Photo of a Roland-ED Sound Canvas SC-8850. It looks radically unlike any other previous Sound Canvas. It is a half-rack unit, 2U high. It is silver, with a prominent year-2000 wave-like curve cutting across the body. There is a small black zone around the orange screen, which unlike previous models is a high-resolution full dot-matrix, and displays a cute pixel-art illustration of a grand piano together with the patch name (“Piano 1”). There is a huge encoder wheel for entering the “Value”, and there are buttons for selecting the “Part”, Variation (abbreviated “Var.”) and Instrument (abbreviated “Inst”), but there are no longer individual controls for all key parameters, so the interface is radically different. There are new prominent “General MIDI 2” and “USB” logos alongside the familiar “GS” one.
A public domain photo of a Roland-ED SC-8850 (we don't own one).

We do not own one of these, but someone on YouTube who goes by “Romantique Tp” (the name of an infamous Roland trumpet patch used in Touhou game soundtracks, not found in the Sound Canvas series, but present in the closely related Studio Canvas series…) uploaded a recording, and we have to let you listen to the SC-8850 demo MIDI on the SC-8850 itself, right? So here is their recording:

04PIANO.MID on the SC-8850's Piano 1 patch, as intended.

Now that's a pretty piano.

Roland (pro mode)

Lest we convince you the Sound Canvas series is the only series of Roland synthesisers that matter, it really is not. There are an unfathomable number of series of Roland synthesisers, let alone models, even if you “only” count the ones that happen to be ROMplers released in the 1990's. Within that context, the Sound Canvas series' market positioning was consumer to prosumer. So what does a true pro product look like?

Well, naturally there are also an unfathomable number of pro Roland synthesisers. But one of the big ones is:

The Roland JV-1080

The history of the Roland JV series is a real mess, so we'll spare you the details. This thing is not even the first JV, but it is the one famous enough to have a Wikipedia page:

Photo of a Roland “Super JV 64 Voice Synthesizer Module JV-1080”, that proudly claims it has “4× EXPANSION”. This is a huge, full-width rack-mounted unit (2U height) with a black metal enclosure. It has a big two-line green-on-dark-green character LCD, many buttons for selecting and editing patches, a big encoder wheel, a “PCM Card” slot, a “Data Card” slot, a quarter-inch “Phones” jack, and a prominent “General MIDI” logo, among other things.
A photo of a Roland JV-1080, © ThornDust, CC-BY 4.0 International.
(We don't own one, these things are terrifyingly big.)

We don't own a JV-1080, because that thing is… like, vertically twice the height of the SC-88VL, horizontally twice the width, we dare not ask about the depth, and we definitely daren't ask about the weight. But we do own its cuter younger sibling:

The Roland JV-1010

Photo of a “Roland JV-1010 64voice Synthesizer Module” that proudly advertises it has “Session” onboard and is “EXPANDABLE”. This is a half-rack, 1U-high unit similar in size to the SC-88VL, but it has a black metal enclosure rather than plastic. It offers the following set of controls on its front panel, which are quite limited compared to a Sound Canvas or larger JV model: a quarter-inch “Phones” jack; a “Volume” knob; a “Part/Patch” receive channel (abbreviated “RX CH”) rotary switch; a red-on-black three-digit seven-segment LED display (which lists “MIDI”, “Patch”, “Perform”, “Rhythm” and “GM” modes next to it, indicated by an LED that lights up next to it); a “Value” knob (that can also be pushed to select the mode); a “Category/Bank” rotary switch (selecting between “Piano”, “Key&Organ”, “Guitar/Bass”, “Orch/Brass”, “Synth/Pad”, “Ethnic”, “Rhythm&SFX”, “User”, “Demo”, “Wave-Exp” (Wave Expansion), “Session” and five ”Preset” banks); and a “Power” switch.
Our Roland JV-1010.

Okay, enough chatter, let's hear how the piano sounds:

04PIANO.MID on the JV-1010's Piano 1 patch in General MIDI mode.

Quite pretty, yes? But we're actually sandbagging here. We have been avoiding mentioning that General MIDI on the JV series is something of an afterthought. Professionals don't need General MIDI! Or, more accurately, supporting it well would be a tradeoff, and would come at the expense of things more important to the target market for the JV series. Whereas the Sound Canvas series consists of synths that, essentially, only do General MIDI (and Roland GS, which is “General MIDI if it was good”), the JVs primarily do their own thing, and have a General MIDI mode as a little bonus (and don't even attempt to support Roland GS). But they do have a unique, interesting set of General MIDI sounds, and they're usually higher-quality than their SC counterparts, even though this Piano 1 patch is deliberately trying to sound something like the SC-55's.

Let's briefly leave the world of General MIDI. What does the default JV (or, well, “JV not in General MIDI mode”) piano sound like?

04PIANO.MID on the JV-1010's 64voicePiano patch in Patch mode.

Almost the same, but not quite, right? I think this might even be the same set of samples, but with tweaked parameters within the patch. By the way, it's called 64voicePiano because the JV-1080 (and JV-2080, and JV-1010)'s maximum polyphony is 64 “voices”, and this particular piano patch will let you play 64 notes simultaneously using that budget. Some synth patches use, say, 4 “voices” per note, effectively limiting how many notes you can play at once to 16, but not this one.

But that's the best an unexpanded JV-1080 from 1994 could do. What if you ponied up for the “Session” expansion, filled with high-quality samples of instruments that uh, “session musicians” would supposedly play? Well, then you get this piano:

04PIANO.MID on the JV-1010's St.Concert patch from the integrated Session expansion in Patch mode.

It's such a refined, elegant sound, and it was why we wanted a JV-1010.

(click here only if you want to read gnarly signal chain details) Same as the SC-7 case, except:

Roland, but this time as farce

Hopefully the brief excursion outside of General MIDI land and into the world of professional synths was enjoyable, because the next stop on this journey might be less so…

So far, this post has only talked about dedicated hardware General MIDI synthesisers. This is because they always were and still remain the reference point for what General MIDI is supposed to be, its most complete and most enjoyable implementation. Shockingly however, it turns out most people in the 1990's who just wanted to listen to some simple background music in their PC games might not, in fact, have had hundreds of dollars of extra disposable income to spend on the finest General MIDI synthesiser money could buy. They didn't even have the money to spend on a good one. So what did they use?

Well, generally speaking, they used whatever the sound card (or sound chipset) in their computer happened to have available. In the late 1980's and early 1990's, the cheapest option would be a Yamaha FM synthesis chip of some kind, thanks to those being integrated into the AdLib Music Synthesizer Card, the Creative Sound Blaster series, and many clones thereof. We won't say anything bad about FM synthesis, it's a fun technology that produces lovely sounds, but it wasn't well-suited to General MIDI for various reasons. That didn't stop people from trying, of course, because bad music synthesis is better than no music at all! If you remember PASSPORT.MID from earlier, here's what Windows 95's built-in “MIDI Mapper” would turn it into if you only had one of those:

Screen recording of Windows 95 running in the emulator DOSBox, showing the MIDI settings and playing back PASSPORT PLEASE.
(Pure audio available as a FLAC file… with the same hiccups. ^^;)

Naturally, then, it did not take long before sound card manufacturers started adding newer synthesis technology to sound cards that would be suited to General MIDI. The likes of Roland and Yamaha did join in on this, and if you couldn't afford or didn't want an SC-55 or SC-7, Roland for example would happily sell you what was basically a SC-55 or SC-7 on a card. But these were of course still quite expensive, and various other factors meant they were never going to conquer the PC sound card market anyway. In practice, you would be much more likely to own, say, a Creative Sound Blaster AWE32, which contained a sample-based synthesis engine you could upload a custom sample set to. And while that's, technically speaking, effectively the same type of synthesis as used by the Sound Canvas series, these cards didn't sound anywhere near as good, even if you used the exact same samples. (This is where “SoundFont” comes from, which is not a generic term — it's a trademark owned by Creative — not a good file format, and not something that should have survived the 1990's, but that's a rant for another day.)

And then, as we enter the latter half of the 1990's, people start to realise that having dedicated music synthesis in sound cards is rather silly. For one thing, it's a compatibility headache for music composers, if everyone's computer plays back your music differently. For another thing, everyone has a CD-ROM drive now, and it can play back perfect quality CD audio. And most importantly, as CPUs got faster and computers had more RAM and disk space, it became increasingly practical for the CPU to totally take over synthesis duties, relegating the sound card to a mere digital-to-analogue converter (DAC). Software was inevitably going to eat hardware's lunch at some point.

And well, you'll never guess what company loves it when software eats hardware's lunch…

Microsoft GS Wavetable Synth

“Microsoft GS Wavetable Synth” is a sequence of words that is sometimes hard to utter without scorn, or at least a certain sense of pity. This is, alas, the General MIDI synth we can be absolutely certain you have heard before.

But we should be kind to it, because in 1998 or so, it was probably a big step up for most users who encountered it. Nobody was going to buy a Sound Canvas SC-55 for their office computer intended for Word, Excel, and maybe a side of Minesweeper, right?

Screenshot of a dialogue box on a late-1990's version of Microsoft Windows. The title is “Microsoft GS Software Wavetable Synthesizer”, and the box tells us that it is “Featuring Roland Sound Canvas digital samples.”, displays the Roland and GS logos, and contains the notice “GM/GS(R) Sound Set Copyright 1996 Roland Corporation U.S.”, among other things.
A stolen screenshot of the “about” box for this synth (unlike the synth itself, it is no longer accessible in modern Windows versions).

Anyway, here's that damned piano:

04PIANO.MID on Microsoft GS Wavetable Synth's Piano 1 patch.
(Recorded on Windows 10.)

If it sounds dry, that's because it is. Microsoft GS Wavetable Synth doesn't have any effects, not even reverb. But all things considered, it does sound kind of nice here.

Since we've already let you listen to two renditions of PASSPORT.MID, we may as well let you hear that, too, just for comparison's sake (especially against the SC-7):

PASSPORT PLEASE as rendered by Microsoft GS Wavetable Synth.
(Recorded on Windows 10.)

But if you have a Windows computer, you could also just, you know. Download that file and double-click on it.

(click here only if you want to read gnarly signal chain details) Screenshot of the recording setup MIDI file played back in Windows Media Player on Windows 10. The Steinberg UR22mkII audio interface was configured to loopback mode using the settings. Audacity was used to record. This does mean there's a little bit of background noise, because the actual input to the audio interface is never perfectly silent, and loopback mode doesn't suppress it, it just mixes in the computer's output back into the “input”.

DirectMusic

Windows actually contains two General MIDI synths! Remember Microsoft® DirectX®? It's not just Direct3D and DirectDraw, it's also… DirectMusic!

Screenshot of RPG Maker XP, showing a project with a completely empty grassy field zone, a selection of tiles that could be placed onto the map, and in the center of the screen, a “Sound Test” window, listing various bundled “BGM” (background music) MIDI tracks, but with the currently highlighted one being a user-provided track named “04PIANO”.
Yes, that is RPG Maker XP. Yes, that is how we recorded this.

Here's the piano again:

04PIANO.MID on DirectMusic's Piano 1 patch in the default sound set.

If it sounds… identical aside from the reverb, then that's probably how it's meant to sound!

By the way, the sample set used by both these synths is located at C:\Windows\System32\drivers\gm.dls, so it's often referred to as “gm.dls”. It's in the industry-standard Downloadable Sounds file format (aka DLS; why did SoundFont have to survive instead…), and if you use the right tools, you can look at the patch names, extract the samples, edit the synth parameters, etc. It even contains a textual summary of its content: “226 melodic + 9 drum instruments” (the same number as the SC-55mkII's GS set). Of course, having too much fun here would violate the license found in “gmreadme.txt”. You do care about copyright, don't you?

(click here only if you want to read gnarly signal chain details) Same process as for Microsoft GS Wavetable Synth, except using RPG Maker XP instead of Windows Media Player.

Core Audio's MIDI synth (the macOS thing)

Microsoft wasn't the only company that licensed a bastardised low-quality Roland Sound Canvas sample set from Roland in the late 1990's. Apple, of course, also joined in on the fun. The history of this is more complicated, because they must have revised it a few times… it was a feature of “QuickTime”, and then when the 2000's came around and Mac OS X replaced the old Classic Mac OS — a fundamental technical transformation, more radical than even the Windows 98 to Windows XP transition — it became a part of “Core Audio”? The point is that modern macOS still has its own equivalent of Microsoft GS Wavetable Synth, with a very similar sample set, and we aren't sure exactly what it's called.

Screenshot of a PDF file being viewed with macOS's “Quick Look” feature. The PDF file is named “FullSizeSynth.pdf”. The content is a vector illustration of a large, shiny, dark blue synthesiser keyboard, with all sorts of controls, and a green LCD that displays the patch name “08 Symphony”.
One of the illustrations of generic MIDI devices included with macOS.
(They show up in the Audio MIDI Setup app.)

Unlike on Windows, you can't just double-click on a MIDI file on macOS these days; QuickTime no longer supports MIDI. But certain DAWs and other apps on macOS do support the MIDI synth built into Core Audio, including everyone's favourite, VLC Media Player, so here's what that sounds like:

04PIANO.MID in the Core Audio MIDI synth's Piano 1 patch in the default sound set.

Yeah, this synth also has reverb! Why is it only Microsoft GS Wavetable Synth that doesn't?!

By the way, at least on our macOS Monterey install, the sample set is located at /System/Library/Components/CoreAudio.component/Contents/Resources/gs_instruments.dls. You can glean a little of the history by looking at the text inside the file: the phrases “1997 Roland Corporation” and “QuickTime Music Synthesizer” appear within.

(click here only if you want to read gnarly signal chain details) VLC has a “Convert / Save…” option that basically plays back a file and, instead of outputting the video and audio to your screen and speakers, renders it into another video/audio format. We used that to convert the MIDI file to FLAC here. But beware that VLC's conversion feature is kind of an afterthought, a legacy of it being originally more of a video streaming app than a “video player”, and therefore it produces quite badly-formed files with, for example, broken length metadata. So, if you do use this feature, you should re-encode the file before sharing it. We of course did that here anyway because of the trimming and loudness normalisation we have been doing for all the piano audio samples.

Roland Virtual Sound Canvas

Finally, lest we accidentally convince you that Roland can do no wrong, we should add that they had their own part in the farce that is “bad software implementations of General MIDI”. In the 1990's, they released their own paid commercial product called Virtual Sound Canvas. It sucks, it doesn't follow their own goddamn specifications, it's definitely not worthy of the Sound Canvas name, and it doesn't run on modern versions of Windows, so we can't be bothered to once again go through the hassle of trying to get a recording out of it. But look at it, isn't it pretty:

Screenshot of “Roland Virtual Sound Canvas VSC-88” running on Windows 98. It is pretty in the particular way only low-bit-depth pixel-art audio software UIs can be. It has lots of shiny surfaces, golden embossed General MIDI and GS logos, the classic orange Roland Sound Canvas bar graph-like visualisation of currently playing parts, and various controls that don't bear much resemblance to its hardware brethren.
An old screenshot of ours we dug up.

We must clarify that this is a totally different thing to their (tragically discontinued) “Roland Sound Canvas VA” VST, which is a very good software recreation of the SC-8820 (a close relative of the SC-8850), and easy to recommend if you can somehow obtain it.

Yamaha

At long last, it's time to talk a little bit about Yamaha. Yamaha are a goliath in the music world, bigger and far older than Roland, and active in far more spheres than just electronic music and guitar accessories. For example…

A clip from Bocchi the Rock! episode 12, where Bocchi's gaze is stolen by a Yamaha electric guitar.

They also make acoustic pianos, saxophones, and drumkits of the non-electronic variety… plus a ton of electronic products! Oh, and golf clubs. There's even a brand of motorcycles called “Yamaha”, but that division is a separate company these days.

Despite all that, Roland were Yamaha's main rival when it came to General MIDI. And while Roland beat them to the punch with General MIDI, Roland GS, and the SC-55, Yamaha were not taking it lying down, and they put in such a strong showing that, arguably, they eventually almost won. It would be unreasonable to talk about General MIDI without giving Yamaha's contributions at least as many words as Roland's, but this post is already too long, so we'll try to avoid too much detail. We will simply invite you to imagine the many things in the Yamaha General MIDI world we are forced to leave out.

The Yamaha MU80

As we already discussed, the Roland SC-55 from 1991 was not only the first General MIDI sound module, but far better than anything else any other manufacturer could produce for some time after, with Yamaha being no exception. If you're curious, the Yamaha TG100 and Yamaha TG300 are things you can google, and the latter especially was a decent attempt. But the Yamaha General MIDI story really starts to get interesting with this thing, the very first entry in the Yamaha MU series…

A photo of a “Yamaha MU80” “Tone Generator”. This is a half-rack unit, 1U high, similar in size to the SC-55mkII or SC-88VL, but with a very different design language. It has a highly premium look-and-feel, with some of the facade being dark gray plastic, but with an lighter inset zone that looks more like it might be metal. There is a large backlit black-on-green LCD front-and-center, which displays a similar bar-graph-like visualisation of musical parts to the Sound Canvas series. However, the screen dedicates a lot more screen space to the patch name and distinctive visualisations of the currently selected part's MIDI numbering, volume and expression level, panning position and effect send levels (of which there are three: Reverb, Chorus, and Variation). It even displays a small, quite crude and low-resolution pixel-art illustration to represent a Grand Piano. Beyond the screen, there are among other things, prominent “General MIDI” and “XG” logos, a large gold-rimmed quarter-inch “A/D input” jack, a 3.5mm “Phones” jack, and a few buttons for selecting which parameter to edit and so on.
A public domain photo of a Yamaha MU80 (we don't own one).

We don't own one of these, but you'll see why that doesn't matter in a moment.

The Yamaha MU50

The next entry in the MU series was actually a step backwards… but quite deliberately. This thing will look quite familiar:

A photo of a “Yamaha MU50” “Tone Generator”. It looks more or less identical to the MU80, with the main notable difference being there is no gold-rimmed quarter-inch “A/D Input” jack, only a plastic “Input” jack.
A photo of a Yamaha MU50, © Tobii, CC-BY-4.0 International.
(We don't own one.)

We don't own one of these either, but we own something that sounds very similar…

The Yamaha CBX-K1XG

Finally, a hardware product other than a “sound module”! All the SC and MU-series things we've shown you so far have been “MIDI sound modules”. While they're where General MIDI began, and the easiest way to demonstrate it, it's important to understand that that even if we only look at Roland, and even if we only look at the technology in the earliest SC-series product (the SC-55), there were still easily a hundred different products that all had that exact same synthesis engine and sample set, and in every shape imaginable: keyboards, sound cards, dedicated MIDI player appliances, sequencer workstations, grooveboxes, whatever. Many of these products are incredibly obscure! If you want to get a “Roland Sound Canvas SC-55”, it might cost you a pretty penny on the used market. If you want to get a “product with a Roland GS synthesis engine that sounds suspiciously like a Roland Sound Canvas SC-55”, you may get lucky. That's why we own an SC-7, incidentally; too cheap to resist.

Well, that more or less applies to Yamaha too. There are an unfathomable number of 1990's Yamaha products that sound just like the MU50, and we own one such example:

A photo of a “Yamaha MIDI Sound Keyboard CBX-K1XG”. This is a small, battery-powered musical keyboard with 37 mini-keys, and its enclosure is made from the same dull grey/beige plastic typical of 1990's computer equipment. Visible from this top-down perspective, it features a “Pitch” wheel, an “Assignable” wheel, a large purple “Shift” button, two red “Octave” LEDs, two “Octave Shift” buttons, a volume slider, a pair of speaker grilles, and a red-on-black three-digit seven-segment LED display showing the patch number “001”. It also features a lot of printed text on the enclosure referencing many different kinds of highly technical MIDI controller functionality, and labels for many kinds of connections that can be made at the rear of the unit.
A photo of our CBX-K1XG (running off batteries).

And so, here's the basic piano from this thing:

04PIANO.MID on the Yamaha CBX-K1XG's GrandPno patch in TG300B mode.

Yamaha changed up their basic sound set less often than Roland did, so this sound can be a little overfamiliar, but we'll freely admit it sounds quite nice here.

(click here only if you want to read gnarly signal chain details) Same as the SC-88VL case, except with the CBX-K1XG.

The Yamaha MU90, MU100, MU128, MU1000, and MU2000

You've so far only heard what Yamaha could do in 1994 and 1995, at the very start of the MU series. They didn't stop there: 1996 brought the MU90, 1997 brought the MU100, 1998 brought the MU128, and 1999 brought the MU1000 and MU2000. If we talked about these units, we'd be here all day, because Yamaha really took this to absurd heights. The MU2000, for example, has over 1000 built-in sounds, five multi-effects units, and three expansion card slots that aren't just for adding additional samples and patches — they're for adding entire additional synthesisers, and Yamaha produced several different types of those, including for FM synthesis, virtual analogue synthesis, and a vocal synth that's some kind of predecessor of Vocaloid, among others. And, yes, it's still, primarily, a General MIDI sound module, if you can believe that.

We don't (yet?) own any of those fancy things and don't care to talk about them any more than that, but here's a pretty picture:

A photo of a “Yamaha MU2000 tone generator”. This is also a half-rack unit, but unlike the MU50 and MU80, it is 2U high, and the overall æsthetic is quite different, because silver is now the colour of everything (no more dark grey plastic). It still has the same bright-green screen and buttons as before at the top, but some of the buttons are now in a chunkier form, and there are now two “A/D Input” quarter-inch jacks rather than one. There is also a huge white encoder wheel, a grid of 6 columns and 3 rows of buttons for selecting different categories of sounds (“Piano”, “Bass”, “Strings” and “SFX” among others), a 3.3-volt SmartMedia card slot and LEDs labelled “MU”, “PLG-1”, “PLG-2” and “PLG-3”. It sports the familiar “XG” logo, but now also has the “General MIDI 2” logo, the “Plug for XG” logo, and a “USB” logo.
A photo of a Yamaha MU2000, © Mckuhei CC-BY-4.0 International.

The Yamaha QY70

To give you another little taste of the many other things in the world of General MIDI, here's something we actually do own:

A photo of a “Yamaha QY70 music sequencer”. This is the smallest of the devices seen so far, smaller even than the SC-7, and perhaps similar in size to a VHS tape. It is a portable, battery-powered device that has a curved, angled, incredibly 1990's sparkling silver plastic design. It features a large, non-backlit dot-matrix LCD, on which we can see among other things that this is the “SONG” view, that song #21 “DemoNo.1” is selected, that the tempo is 120bpm, that the song is in 4/4 time, that the current pattern is #000 “Intro” and that the current chord is “C---”. There are also various settings for keyboard input such as velocity, and several sequencer tracks including special ones for Patterns, Chords and Tempo (abbreviated Pt, Cd and Tm). Outside the screen, there are 25 tiny rubber buttons arranged in a musical keyboard layout, which are labelled for entering numbers, selecting chord roots notes and chord types. There are also small rubber buttons in a D-pad shape, a menu button, play/stop/rewind/record controls, and “Song” and Pattern (abbreviated ”Patt”) buttons, among otherss.
A photo of our QY70, whose screen is very difficult to light well.

We're pretty sure the default piano on this sounds just like the CBX-K1XG's, and at this point we are sick of hearing it, so we didn't bother recording an audio sample. That's not its fault, we just happen to have spent a long time making ourselves listen to that one tone in one octave at the highest velocity setting, and that was a mistake. It can also be used for really beautiful stuff.

Yamaha S-YXG50

This post had an entire section complaining about how seemingly nobody in the 1990's could make a good software clone of Roland's General MIDI synths, not even Roland themselves. So you'd think that applied to Yamaha too, right?

Wrong:

A screenshot of an app called “VSTHost”. In it we can see various widgets floating around, two of which are connected by lines, and also that some sort of track is currently being played back (57 seconds in, 1:16 total length). One of the widgets is a small window for “Yamaha S-YXG50”, which has a tiny audio plugin UI with a beautiful brushed-metal æsthetic, bar-graph visualisation of playing parts, a polyphony counter, embossed XG and GS logos, and a “Setup” button. The GS logo is glowing in gold.
A screenshot of our favourite VST UI ever.

Here's how the piano sounds in it:

04PIANO.MID on S-YXG50's default piano patch in Roland GS mode.

See how that sounds almost identical to the CBX-K1XG? That's how you know it's good. :)

The Yamaha PortaTone PSR-350

The MU series and that software plugin are an important part of the Yamaha General MIDI story, but we would be remiss not to talk about the Yamaha PortaTone “PSR” series briefly. This line of arranger keyboards (a particular type of keyboard instrument) is one of the longest and best-selling in the world, in fact they probably are the prototypical do-everything keyboards. You've surely seen one of these before, right?

Photo of a Yamaha PortaTone PSR-350 sitting on a keyboard stand. It looks like any other large portable keyboard instrument in its class. It has big speakers on either side, 61 fairly large plastic keys, a floppy disk drive, and a music rest. It also has large amounts of text printed on the plastic listing different kinds of instrument sounds, built-in songs, styles, and “Music Database” entries. There are many rubber buttons for controlling (e.g. starting and stopping) song and auto-accompaniment playback, for controlling the “Song Memory” and “Registration Memory”, for accessing the settings and the “Lesson” feature, for entering numbers, and so on. There is a dedicated “Portable Grand” button and a “DJ” button. There is a large volume knob, a power switch, and a dedicated “Demo” button. In the centre is an LCD that is relatively small in relation to the unit, but still larger than the LCD on any half-rack unit, and which uses fixed LCD segments rather than dot-matrix graphics. The LCD has a treble clef, bass clef and stave lines permanently superimposed on it. The LCD is not currently illuminated because the keyboard is switched off. The plastic on the unit features a great many logos that advertise various features, but only the “General MIDI” one would be recognisable to someone without deep familiarity with the Yamaha PSR series.
A photo of our Yamaha PSR-350 sitting in a charity shop in October 2022, before we bought it. This is where our MIDI journey began.

These things of course do General MIDI, most of them do something called “XGlite”, and a rare few even do not-lite Yamaha XG. So here's what our demo MIDI file sounds like in the General MIDI mode:

04PIANO.MID on the Yamaha PSR-350's Grand Piano patch in General MIDI mode.

But of course, while General MIDI is not an afterthought on the PSR series — Yamaha really want to be able to sell you, as a PSR owner, MIDI files from their decades-long library of popular music covers — it is still a secondary focus. The purpose of the device is to be an instrument you can just play, and to sound decent while doing it. And since it's a keyboard, the most important instrument sound of them all is the Grand Piano… so important it has a dedicated button, actually: Close-up photo of the zone on the PSR-350's controls panel which features the “Portable Grand”, “Metronome” and “DJ” buttons, all made of grey rubber. The “Portable Grand” button is shaped like the profile of a grand piano viewed from a top-down perspective, with a simplified illustration of a keyboard being printed on the plastic below it. Similarly, the “DJ” button is shaped like a platter on a record player (complete with grooves), with a tone arm printed on the plastic above it. The metronome button looks like a metronome.

And so the demo MIDI sounds a little better if we use technical trickery to make it be played back in the “Portable Grand” mode:

04PIANO.MID on the Yamaha PSR-350's Grand Piano patch in Portable Grand mode.

We don't know if it's the world's greatest piano sound, but it's the best piano sound on the best keyboard we have, and it's brought us endless joy over the years.

(click here only if you want to read gnarly signal chain details) Same quarter-inch cable thing as with the JV-1010 case, but with the PSR-350 of course. We did however really, really suffer when trying to record this, because those MIDI hiccup problems on macOS caught up with us, and uh… we had to improvise workarounds, which you can see in the filenames of the FLAC files. :(

The Yamaha PSS-A50

And now for something completely different! We're flying forward almost two decades, to something you can still buy brand new today:

Photo of a Yamaha PSS-A50. This is a small, portable, battery-powered keyboard with 37 mini keys. The enclosure is made from black plastic, with rounded corners on all sides, and the top-left and top-right corners being almost spherical. It has a single, large speaker grille, a red-on-black three-digit seven-segment LED display, and a selection of buttons for selecting different categories of “voices” (for example, “Piano”, “Bass” and “Brass”), for adjusting the “Master Volume” and “Octave”, for activating the “Arpeggio”, “Motion Effect” and “Sustain“, for setting the “Tempo”, and for recording “Phrases”. There are also various other features (which generally have something to do with MIDI) indicated with labels above the keyboard keys. The photo has obviously been taken outdoors in natural light, with shiny part of the plastic reflecting the blue of the sky and the clouds.
A photo of our PSS-A50 looking up at the sky.

Now, this thing isn't even a General MIDI device, let alone a Yamaha XG device. The MIDI reference PDF you can download from Yamaha's website explicitly states that it is not General MIDI compliant. It can't be: the audio output is only mono, and its set of 42 instrument presets is far smaller than the 128 required by General MIDI. However, Yamaha had been making General MIDI keyboards for almost three decades when they made this, so General MIDI compliance was the path of least resistance for them. All these things are, ultimately, derivatives of the same Yamaha XG engine in one way or another. And so, yes, it has a few glaring omissions, but if you stare at its MIDI reference long enough, you start to notice it sure looks remarkably similar to, say, the PSR-350's, or that of any other Yamaha keyboard made since the late 1990's:

Screenshot of two “MIDI Implementation Chart” PDF pages placed side by side. The one on the left is for the PSR-350, and the one on the right is for the PSS-A50. The PSR-350 one has a date of “26-JAN-2001”, and the PSS-A50 one has a date of “23-April-2019”. There are a great many similarities between the two charts, too many to list, especially for someone familiar with MIDI “Control Change” numbering. A very obvious difference is that the PSS-A50 chart notes it doesn't support the “Pan” controller, presumably because it only has mono audio output, not stereo.
Side-by-side comparison of the “MIDI Implementation Chart” page in the PSR-350 manual and the PSS-A50 MIDI reference. (This is a standardised page every MIDI product is supposed to have in its manual.)
And it doesn't just look like one…
04PIANO.MID on the Yamaha PSS-A50's Grand Piano patch.

…it sounds like one, too. By the way, we did even get PASSPORT.MID to play back on it, but we had to make major edits to the MIDI file, which is cheating. :)

(click here only if you want to read gnarly signal chain details)

Same 3.5mm cable thing as with the SC-88VL case, except with the PSS-A50. The MIDI data, however, was sent over the PSS-A50's micro-USB port (which also powers the device); it doesn't have a traditional MIDI port on it.

This thing has a pretty high, static noise floor (the volume control is only digital), so setting the master volume high enough to make the noise level reasonable, but low enough not to clip, is quite important. I believe we set it to 10 (max is 15) in this case.

One more thing…

Finally, a bonus fun fact. Some of you may have noticed that the PSR-350 has a floppy disk drive. So you can of course put a random MIDI file on a disk, and:

A lazy phone camera recording of floppy playback. :)

It never gets old.


Conclusion

Thank you very much for reading. This post took three full days of hard work to write, but in a sense it took three years, because it's the product of a lot of persistent curiosity over that time, and we've never been able to express it well until now. If it sparked your curiosity, or clarified some things, or at least was just fun to read, then that's all we could have hoped for. We hope it wasn't too long. If you have been using a screen reader or similar, we particularly hope you appreciated the detailed hand-written descriptions of every last photo and screenshot. They say a picture is worth a thousand words, but the mean in this blogpost was actually a hundred, apparently.

A photo of a part of someone's bedroom, taken from something like their eye level, sitting down. In the top-left part of the image, a desk can be seen, which has among other things a computer keyboard and the Yamaha PSS-A50 manual on it, but the main focus here is a stack of MIDI and audio equipment, from bottom to top: a Yamaha QY70, a Roland SC-88VL, a Roland JV-1010, a Roland SC-7, a Steinberg UR22mkII audio interface, a DVD of “Final Fantasy: The Spirits Within”, and a tiny chibi figurine of the Kanbaru Suruga from the Monogatari series. Various cables can be seen connecting some of the devices to eachother, which hang over large parts of the photo, and both the UR22mkII and SC-7 are powered on. Below the desk, a powered-on Yamaha PSR-350 can be seen, poking out somewhat awkwardly, and with its screen glowing in brilliant orange. On top of the PSR-350, but actually lying in someone's lap, is a Yamaha CBX-K1XG, also powered on. The person is wearing a relatively short skirt with a black-and-white striped pattern. The corner of a bed is visible to the right of the desk and the keyboards, and a traditional MIDI cable that is not connected to anything is lying on it. The overall impression is neither fully orderly nor fully chaotic. Some Dunlop guitar picks and their packaging can also be seen.
The chaos of recording old General MIDI pianos.

We are particularly indebted to all our friends and acquaintances in the “DTM MIDI Central” Discord server, to whom we owe much of our knowledge and passion for music, and who we are repaying by running a wiki for them. If this post has given you a taste for General MIDI sounds, then you may want to check out the various DTM MIDI Central collab albums, and not just because some of them feature our (not particularly good) contributions!

We should also give a shout-out to the venerable Video Game Music Archive (vgmusic.com), the @OnlyMIDIs Twitter account, Ichigo's Sheet Music, shingo45endo (a researcher into old General MIDI devices: Twitter, GitHub), kuzu (author of the Sekaiju MIDI editor), psrtutorial.com, and many other people and resources we are likely forgetting right now. Only some of these resources were directly used in preparing this post, but they've all been important enough to us over these last three years that we need to properly thank them somewhere, and this is a good place to do it. We are also of course very thankful to Roland and Yamaha for keeping the full documentation of ancient products online even in 2025, and to everyone who tries to keep old hardware and software working, with the DOSBox project and the Win32 heroes of Microsoft and WINE being especially deserving of thanks here. This post would not be possible in a purely App Store world.


Finally: why did we actually write this post? We had almost forgotten, because we've spent far too long writing, to the point it was seriously affecting our health. But after spending a while outside, looking at the sky and thinking about nothing in particular, we remember again. A few days ago, a very close friend of ours who is an incredibly talented musician asked us if we perhaps recognised a Roland piano tone in the soundtrack of the 2010 visual novel Wonderful Everyday ~Diskontinuierliches Dasein~ (more often known as SubaHibi, an abbreviation of the Japanese title). That's a game very close to our heart for a great many reasons, not least of which the soundtrack: Yoru no Himawari and Oto ni Dekiru Koto are particular favourites, and those are both tracks where the piano takes centre stage.

Unsurprisingly, it wasn't one of the 1990's Roland piano tones we knew well; in other words, it wasn't one of the piano tones we've talked about in this post. It was simply far too high-fidelity to be from that era and category of product. If it is from a Roland product, it's probably from the mid-to-late-2000's, and most likely some kind of digital piano — a very serene kind of digital instrument that, rather than trying to be 128 instruments at once, tries to be very good at just one. Digital pianos have been so successful that it is easy to forget Roland weren't always a big name in the world of pianos; unlike Yamaha, Roland never made acoustics (as far as we know, anyway).

In the end, we didn't figure out what specific Roland product it was from. But we did remember a 2010's Roland product that had similar enough (and very beautiful) piano sounds, and that led to our friend realising Roland were just sampling a Steinway Model D, a piano first made in 1884 that needs no introduction to a concert pianist, because it's the concert grand piano.

And at that point, perhaps it doesn't even matter which product it was, right?

Live happily.

Detailed Japanese visual novel-style illustration of a young woman with brown hair in a ponytail, who is wearing a frilly black dress. She is standing on a rooftop with the wind in her hair, smoking a cigarette and wearing a contemplative expression. The centrepiece of the illustration is the sky, with the bright sun in a deep blue sky surrounded by many different sizes of clouds, that circle it from all directions, but still leaving half the sky uncovered. In the bottom part of the image, we can also see shiny, tall buildings, neither very distant nor very near, as if in the middle of a large Japanese city. Finally, we can also see the rooftop's fence, with its criss-crossed metal wire.
CG from the visual novel Wonderful Everyday ~Diskontinuierliches Dasein~
(© KeroQ 2010)

Footnotes

* We know that the fact we have suddenly started using “we”, “us” and “ourselves” in our posts must come off as jarring, considering that previously we only used “I”, “me” and “myself”. To answer the obvious questions: Yes, this blog is still written only by hikari_no_yume, who is still a single “human being”, still a “magical girl on the internet”, and still reasonable to refer to with “she”; Yes, “we” refers to hikari_no_yume unless context would indicate otherwise; Yes, it has something to do with the recent mental health crisis we are thankfully mostly through with, but this change has been a long time coming; No, we're not currently insane; No, we won't explain in further detail here for now; No, this isn't the “royal we”, and we do not like how arrogant it sounds if you read it that way, but what can we do? If you wonder why we even bother, when writing “I” would be simpler, it is alas because we, like most artists, write things both for ourselves (the authors) and you (the readers), and unfortunately there is quite a heavy significance to this change for us. That is all. 🔝 Return to text