Jump to content

What the YM2151 can do in the right hands


Recommended Posts

I just thought a little non-technical content might be nice - I came across this YouTube playlist yesterday.

Its an album released in Japan, using the YM2151 as the main instrument. It obviously has some other sample-based tracks as well, but I think this is a great example of how awesome the YM2151 can actually sound when used well by a skilled composer. Tunes like this are exactly the kind of stuff I wanted to be playing in the BG of awesome retro games for the X16, and why I was such a cheerleader for having an FM chip in the system back when the FB group was the primary community.

 

 

  • Like 7
Link to comment
Share on other sites

3 hours ago, Fenner Machine said:

I have been searching for examples of what the YM2151 can do.

For other good examples, go check out VGMrips.net You can browse the available songs by many criteria, and "by music chip" is one - you can browse all kinds of good YM2151 tunes.

One that I think is particularly good listening is Desert Assault - although a lot of the awesome in that game's music comes from PCM samples for the electric guitar riffs and so forth. Good examples of (nearly) pure YM2151 games would be Ghouls N Ghosts, Strider, Street Fighter II, and Rastan Saga. I love Black Tiger as well, but it's not a YM2151 - but I think that chip is 100% compatible as far as the sound capabilities - it just has less voices IIRC.

  • Like 2
Link to comment
Share on other sites

You can also search YouTube for samples of patches running on the synthesizers that were based on the YM2151 (OPM) ... IIRC, the DX21, DX27 and DX100. The YM2151 was the midrange synth chip used for the higher end consumer boards, so unlike the professional Yamaha FM synthesizer keyboards, the keys don't have velocity or aftertouch sensing.

However, one thing the DX21 is known for is for basslines ... if you take one of the bass patches that tickle you fancy and modify it slightly for a slightly different sound, then tune it up a few cents, then run the second channel in sync with the the original patch, that give complex harmonics that can be really full sounding. The DX21 was the more professional of the three, allowing bi-timbrel voices (or allowing a different patch to be assigned to each half of the keyboard), so DX21 bi-timbrel samples in particular give a good source for possibilities.

I can't wait until someone tries something like that on a Bad Apple demo to make the sound really pop.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`

On the DX21 itself, the trade-off for that crunchy bass is that when it is set to bi-timbrel, you only have four voices. That would be limiting for an electric piano, where between chords and decay of one voice when another voice is attacked, you'd rather have eight voices ... but in a bass line, you'd typically only be playing one or two notes at a time, so that's not a serious limitation.

However, in the context of the CX16, you can mix and match single voice and double voice instruments, and of course adjust the ADSR and pitch envelopes for the effect you want in each note, so those aren't the limitations that they are in the keyboard setting.

 

Edited by BruceMcF
  • Like 2
Link to comment
Share on other sites

I plugged a MIDI kid into my computer. Then I loaded Deflemask and used it to set instruments, and just played the YM2151 itself.

im very interested in the reface FM kbd myself but just because I would like the sound. I don’t think it’s going to be any kind of approximation of the 2151, but it might be a good “touchy-feely” way to get the knack of making FM instruments.

Link to comment
Share on other sites

7 minutes ago, hth313 said:

I find the high pitched fragile synthetic tone (I do not know how to describe it) very annoying.

Yeah - FM can sound pretty tinny (that's my word for the sound you're talking about). That's why I didn't list R*Type II as an example "awesome tunes" tune.... I like that soundtrack, but it is definitely tinny. FM doesn't have to sound that way, though - think of the soundtrack from Sega Genesis games, like Sonic the Hedgehog. That chip's close enough to YM2151 that you can just use the same instrument patches on the OPM and they sound identical.

Link to comment
Share on other sites

This is one of the more admired YM2151 tunes, from the arcade version of After Burner II. Sega used the YM2151 with a multi-channel PCM for most of their cabinets from the mid-80s through the mid-90s. This has sampled drums coming from the PCMs, but most of the instrumentation is FM. You could get VERY close to this on the X16, if you are willing to dedicate most of your banked RAM to FM instructions and samples. The samples would need to be lower-bitrate, but for drums that doesn't really matter as much.

 

  • Like 3
Link to comment
Share on other sites

  • 1 month later...
  • 4 months later...

Just came across this:

It is made with a different FM chip, the YM2612. Whereas the previously mentioned AfterBurner soundtrack definitely made heavy use of samples (not only drums but also the guitars), this example here is, as far as I can tell, only FM sound. I am totally blown away by what Tim Follin could do with 6 FM channels. And just from reading the specs, the YM2151 should be mostly on par with the capabilities of the YM2612 (except for small little details and perhaps sound quality). I think that not much is holding the X16 back from delivering THIS sound, which I find very humiliating.

  • Like 1
Link to comment
Share on other sites

Amazing.

I can tell you that the 2151 is very similar in most ways to YM2151. There are 3 major differences:

  1. Voice 2 can use independent frequencies for all 4 operators of that channel
  2. Voice 5 can act as a DAC for digital audio playback
  3. Mysterious SSG register left over from the 2151's ancestor, the YM2203 (Sega's own internal how-to document just says "don't use this"

Feature 1 can kinda/sorta be approximated for certain combinations of frequencies, but it's 90% not compatible

Feature 2 is supported on X16 (obviously) via a standalone PCM FIFO in VERA. (and it's much better than the one in the 2612 which has NO FIFO)

Feature 3: ?  (I don't know much about it, but some people bang on it for strange effect apparently)

  • Like 2
Link to comment
Share on other sites

From what I can tell, Tim Follin didn't use PCM, and if he used the independent frequencies feature, I haven't noticed that either. There is, however, a fourth difference and that is the per-channel clipping in the 2612. Tim Follin made heavy use of that in e.g. the second track in the video to give some distortion/warmth to the bass, keys and for some B3 organ like sounds. This can't be done with the 2151 afaik.

Link to comment
Share on other sites

Well, between the YM2151+YM3012 and the VERA's Geometry and PCM channels, we have sufficient audio power for all of Capcom's arcade games up to the CPS-1 board, and all of Taito's arcade games up to the F1/F2 hardware.  For then contemporary Atari arcade hardware up to the GX2 arcade board, it's debatable whether VERA's geometry channels can simulate a QuadPOKEY, considering the latter uses a "Comb Tooth" Sawtooth pattern for white noise, plus the whole "combining channels" thing, although the PCM Channel can definitely match the Okidata 62 series 4-bit ADPCM chips and Texas Instruments TMS5220 speech chip.

Things like the SegaPCM, and Namco, Seta, and Irem wavetable chips will be harder for the Commander X16 to match directly.  So, any ports of games from those companies wwill need creative use of the PCM channel and Logical Channel 7 + the DAC for the most distinct tones from those chips in those games.

Also, the YM2612 only has 6 channels.  Why stop at a mere perfect port of Sega Genesis and SNK NeoGeo FM audio, when you can add two more note layers (three if they're using Logical Channel 5 for PCM), especially when the X16 Kernel will have garbage collection and the overall system isn't limited to floppy disc capacities?

Edited by Kalvan
Link to comment
Share on other sites

Yeah, I've looked into Sega PCM translation (because Deflemask uses it for 2151 tunes) and that's not going to be trvial to support. It's going to have to mix several channels of PCM and IIRC, resample prior to mixing.

I've already made SN7XXXX, AY, ~SID, 2612, 2203, and OPL conversions to X16. Simple square PSG is pretty easy to convert. It's things like non-white noise that don't translate well. Once my current demo is done, I may try doing NES APU next.

As for using the bit bang DAC techniques of other chips, I'm not a fan. Seems like a waste of CPU when VERA has a PCM FIFO.

Link to comment
Share on other sites

On 10/7/2021 at 9:12 PM, ZeroByte said:

Yeah, I've looked into Sega PCM translation (because Deflemask uses it for 2151 tunes) and that's not going to be trvial to support. It's going to have to mix several channels of PCM and IIRC, resample prior to mixing.

I've already made SN7XXXX, AY, ~SID, 2612, 2203, and OPL conversions to X16. Simple square PSG is pretty easy to convert. It's things like non-white noise that don't translate well. Once my current demo is done, I may try doing NES APU next.

As for using the bit bang DAC techniques of other chips, I'm not a fan. Seems like a waste of CPU when VERA has a PCM FIFO.

An example of this sort of thing is something like Sega's Afterburner.  We have PCM samples for trumpets, snares and cymbals, and the medium and high strings on the electric guitar solo that plays during the ground strafing bonus stages.  If we time things exactly, with the samples, we may be able to put any two of them through the PCI channel, using the FIFO, since the SegaPCM's channels are 12 bits wide each, and most samples were more like 8 bit wide.  That leaves one of those things for either Logical Channel 7+plus the DAC, or else we try to paper it over with at least two FM channels of the YM2151 and remix the rest of the FM track to minimize the loss elsewhere.  We can send the drums, or at least the snares through the Geometry channels, like the PC Engine/TurboGrafx 16 version, but it won't be quite as good as arcade quality.

It's a suboptimal solution, but rather less so than the Non-32X Genesis version of Afterburner II was forced to go with, since the only Genesis cartridges with add-in chips were Virtua FighterVirtua Racing, Daytona USAShining Force IIand Mortal Kombat II and III.

Of course we can always bite the bullet, so to speak, and remix the soundtrack as if it were a Chinese or Brazilian knockoff forced to use Capcom CPS-1 hardware.  We can simply use Sharp X68000 version of the soundtrack as our basis without the addition of MERCURY and/or Roland MIDI module support...

Link to comment
Share on other sites

On 10/11/2021 at 4:55 AM, kliepatsch said:

That sounds quite impressive. Will these conversions be part of some kind of "universal" player?

I did OPL on-system but it took an 8k LUT. YM2612 and YM2203 would be able to use the same LUT. It’s for converting the note frequencies, which unless there’s some algebra I haven’t done that can simplify the conversation, these calls require large numbers.

For now, I’m pre-converting them into my own byte stream of YM2151+PSG writes. This method means it’s fast on X16 but may consume more space. Usually PSG is the big culprit.

  • Like 1
Link to comment
Share on other sites

On 10/11/2021 at 3:30 PM, Kalvan said:

If we time things exactly, with the samples, we may be able to put any two of them through the PCI channel, using the FIFO, since the SegaPCM's channels are 12 bits wide each, and most samples were more like 8 bit wide. 

So... what I'm looking into doing is just collecting the PCM samples and figuring out the sample rate / bit depth / etc from the VGM file in my pre-processor. My thought is to load those into memory along with a generated index file from my preprocessor. Then inject "play digi X" messages into the music data stream. I'm not sure about the analysis / packaging part just yet....

Question for you: is the DAC always always ALWAYS 12-bit data on YM2612? I know the sample rate is not really defined, as that's a product of how fast samples are written to the DAC, but I imagine that any given game was probably consistent - but that is probably a bad assumption. Perhaps if I keep track of delta-T and N-samples played, I can compute the sample rate for a given playback and generate "play digi" commands that include sample rate to be used.

Assumptions - nobody was ever a mad lad enough to do things like compress the digis by having data inteded to be played back with various portions looped in order to get the real sound - e.g. a sample with an attack, a piece of the sustain, and then a decay. It's possible, and given how precious storage space was back then, it may be that games did in fact use techniques like this. For now, I will be happy if I can just get the PCM drum track working for my Sonic the Hedgehog music conversion demo that I posted earlier - you know, for completion's sake. If whatever tactic I use works in the general case would be "Bonus points" but not required as a success metric for me. 🙂

 

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...


I have a few YM2151s here at home for a synth project, because some "Buy It Now" auctions on eBay sell them in a reel and I figured if I mess up I might as well have some extras, but I haven't bought some YM3012 DACs for them yet.

The Sharp X68000 in Japan used a YM2151 but it wasn't release here in the U.S. It had lots of ports too from Capcom and Sega arcade titles that used the YM2151.

Lots of neat things you can do in FM synthesis but can't do on a simple pulse/saw/triangle channel.

  • Like 2
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

Please review our Terms of Use