Language…
10 users online: acd13141,  AmperSam, Cristian Cardoso, CroNo, Dan2point5, Green Jerry, Hayashi Neru, JeepySol, Maw, random_box - Guests: 256 - Bots: 368
Users: 64,795 (2,377 active)
Latest user: mathew

How can you rip FM/DAC samples from Yamaha sound chips?

  • Pages:
  • 1
  • 2
I have been wondering about this for quite a while now. How CAN you rip samples from Yamaha sound chips like the Sega Genesis and the PC-88/98? I know that some people have gotten wav samples of them, but I dont know how exactly can you do it, especially to get FM stuff like basses, drums and synths, nor how to optimize these samples for the SNES.

Also, well, I was wondering about another thing too: is there any program that can efficiently convert ANY SPC to MIDI? It seems that VGMTrans or loveemu`s SPC to MIDI converters doesnt actually work with all SPC files, so that`s why I`m asking, really. lol
Layout by Mathos
I've been wondering about these things too. I've never taken a lot of FM samples for ports, but I've thought about it.

To get FM samples, you could try to find a converter that can take fm patches from fm music files like Genesis for example, and convert them to patches for fm VST plug-ins. I'm sure some do exist as I remember reading about such a vst and converter once. But I can't remember what or where it was. But if you do find something that works, you can then load these patches, take a sample of each, and convert that sample to BRR. That's only handy if you're like me and you'd actually want to use those FM synths as instruments outside of a VGM context. :) If you just want samples for the Snes, a probably? more intuitive way is to just sample the sound you want in-game. Now that I think about it, that might be a better idea.

Most vgm players have muting channel capabilities so you could solo the channel that has the sound you want. Find a note in the middle of that channel's note range and try to ensure it's long-ish. You want enough to at least capture the essence of the sound. If it is to be looped (most FM synth sounds probably will), then be sure the timbre settles out into a fairly constant part that is reasonably loopable. Iirc if you use a player with speed control, the FM speed should only slow the music down but not change the instrument characteristics. So if the notes are going too fast to get adequate lengths of samples you could try slowing the playback down. The efficacy of this probably depends on the sound driver used in the game, and how it controls the FM operators. I'd imagine most of them use the chip itself and not some external envelope, so slowing down would work, but I can't be certain. I'm only speculating about half of this anyway since I haven't played with FM too much. But once you've got your sample you can convert to BRR, which is another field of fun experiences in it of itself especially to get a nice loop. I've made custom brrs before, so if you need help, I can give more definitive advice.

I'm afraid I can't advise you on spc and midi conversion, other than to tell you that there is a very old spc to midi converter simply called spc2midi. The midi files it generates are a mess, at least when I tried it. When it works, VGMTrans seems to be a lot better. I do wonder how porters make things that sound almost exactly like the original game. DO they find really good midi files and convert to mml from which they get the basic notes, and then optimizing by hand for days? Or is there some other automated process that helps?
Make more of less, that way you won't make less of more!
Originally posted by Theultimate12
Also, well, I was wondering about another thing too: is there any program that can efficiently convert ANY SPC to MIDI? It seems that VGMTrans or loveemu`s SPC to MIDI converters doesnt actually work with all SPC files, so that`s why I`m asking, really. lol


I tried with Super Ninja Boy SNES game thing one time and it just crashes when I try to save to a converted MIDI. Sometimes the SPCs I try to drag to won't get scanned for whatever reason. (Wreaking Crew 98' for example)

It will be nice to know what's causing these problems.
100% Orange Juice Playthrough:
https://www.youtube.com/playlist?list=PLf1kPWkjcurtA3xPP3TybfqSiEn1AcX2A

VLDC9 Playthrough:
https://www.youtube.com/playlist?list=PLf1kPWkjcurtiP5de_-e6q0hSVrY37RB-.


I wonder if that has to do with how the game's sound driver is designed. Maybe some of those midi converters are reading direct driver code, or maybe the driver is sending instructions to the SPC in a specific way which is recognized, and if a driver doesn't follow a standard or do things in an expected way, then the SpC won't be recognised? I have no clue how this works or what's going on, but I can imagine that being a big part of the problem.
Make more of less, that way you won't make less of more!
Don't know if I still have the soundfont but here are its respective samples from a Yamaha YM2612. I'm sure somewhere the soundfont is available for download but I'll just link the samples directly.
One Drive Link

Originally posted by musicalman
I do wonder how porters make things that sound almost exactly like the original game.....

Once an MML I'm not sure how else they can automate it aside from optimizations. My assumption is they use some program such as SPC Memory Viewer and/or SPC700 player, take the ADSR values for instruments, learn/arrange the source directories and like you said tweak it.

It doesn't always work out because of some tiny issues. Let's take SD3 Powell. They used the originals echo but left the MVOL alone (the user can change it in the AMK.asm file but why?) which creates problems.

1. The dry volume is too loud. To scale up you'd need EVOL to be at least B9 (-71.)

2. Ripped SPC says MVOL L: C0 R: 40 which means for your default 7F, 7F AMK you'd need to enable surround on all channels.

3. Related to the above it would mean you'd inverse the echo to B9,47

Square has their own spc driver. At the basic principle the port is spot on but just slapping on the same FIR coefficients and echo levels doesn't make it "authentic", some porters adjust for that so grats on them. I won't hate because I've never done it either #tb{:p}
Originally posted by Brozilla
Don't know if I still have the soundfont but here are its respective samples from a Yamaha YM2612. I'm sure somewhere the soundfont is available for download but I'll just link the samples directly.
One Drive Link

Originally posted by musicalman
I do wonder how porters make things that sound almost exactly like the original game.....

Once an MML I'm not sure how else they can automate it aside from optimizations. My assumption is they use some program such as SPC Memory Viewer and/or SPC700 player, take the ADSR values for instruments, learn/arrange the source directories and like you said tweak it.

It doesn't always work out because of some tiny issues. Let's take SD3 Powell. They used the originals echo but left the MVOL alone (the user can change it in the AMK.asm file but why?) which creates problems.

1. The dry volume is too loud. To scale up you'd need EVOL to be at least B9 (-71.)

2. Ripped SPC says MVOL L: C0 R: 40 which means for your default 7F, 7F AMK you'd need to enable surround on all channels.

3. Related to the above it would mean you'd inverse the echo to B9,47

Square has their own spc driver. At the basic principle the port is spot on but just slapping on the same FIR coefficients and echo levels doesn't make it "authentic", some porters adjust for that so grats on them. I won't hate because I've never done it either #tb{:p}


Well, I mean, my MMX-styled ports may not be exactly like the games themselves (especially since I dont use GAIN, nor do I think there`s a general need for it besides maximum authencity), but I do try to be as accurate as possible, at least up to the echo/master volume levels, delay, feedback, and FIR coefficents (and now that I looked at the original SPCs with SPCTool, I`m trying to make the echo levels much more accurate than before). Really, unless you`re a perfectionist, its probably not worth it to go with EVERY detail anyway, as long as the instrumentation is on par with the original, then its already something at least.

EDIT: Also, about the FM samples, I was mostly wondering how can you rip it from a specific game, like Sonic 3, Thunder Force IV, Streets of Rage and all dat good stuff. Soundfonts do tend to be a bit unreliable most of the time, so I dunno...
Layout by Mathos
Originally posted by Theultimate12
Well, I mean, my MMX-styled ports may not be exactly like the games themselves...

Yours weren't intended to be. My statement refers to someone replicating an SPC from another game onto AMK. MMX-style is homage to MMX but is not necessarily MMX in itself.

Originally posted by Theultimate12
about the FM samples, I was mostly wondering how can you rip it from a specific game.

Can't answer that but the Sega Genesis uses YM2612 which means the only difference present between each game are the PCM samples. These often [but not always]include percussion, voices, and special sound effects. As far as quality goes I don't believe you'll get a much better rip of the synthesizer unless you own one yourself and are good at sampling.
Well, the ym2612 has quite a bit of control over operators, so it's not fair to assume that it can only do certain sounds or that it has a predefined sound set. Each operator has volume, frequency and iirc a built-in ADSR envelope. The last of these can create some nice evolving/smooth sounds that the SPC700 can only vaguely imitate. While the spc does have channel modulation which is a crude FM synthesis, it requires two channels to effect one voice (although it is possible to have one channel modulate itself). Even so, it doesn't seem to be designed to really make FM sounds. I think it's more for a sort of distortion effect.
Make more of less, that way you won't make less of more!
Originally posted by musicalman
Well, the ym2612 has quite a bit of control over operators, so it's not fair to assume that it can only do certain sounds or that it has a predefined sound set.

True but it's not a very powerful synthesizer either so I do believe you can cover a good "base."
From sampling the same instrument (i.e. Cello F#4), particularly strings, I could often get somewhat different sounds off the same thing.

Perhaps ripped from Sonic 3D however this is a demonstration of the "FM" capabilities of the SNES.

EDIT: Wrong link
Wow, if that sample you posted is indeed the SPC700, I'd be curious as to how it was made. One of those lead sounds could not possibly just be a sample, it's too consistent and organic.
Make more of less, that way you won't make less of more!
Well, I have actually found out about a way to rip FM samples to WAV, but I`m not exactly sure how to do this, since the export function seems to not export the sample for some reason. Here it is:

https://onedrive.live.com/?id=C200A83C22B3B049%21106&cid=C200A83C22B3B049

This, like SNESGSS, is yet another one of Shiru`s creations, btw (seriously, dude`s awesome for making a functional (albeit limited) SNES and Sega Genesis trackers to fill in the void of tht 16-bit tracking side). If anyone can figure out how to use this (or at least find a better way to do this), please tell me because I`m not exactly sure how to make this work either, and I also dont really know how to use this tracker as well either, so there`s that.
Layout by Mathos
I recommendeded.

I used DefleMask with YM2151 and YM2612.
This thread to How to recording Yamaha and DAC Instruments.
First. I used Audacity for recording these FM instruments.
Then, I Edited, Looped, Exported to WAV and converted WAV to BRR using C700 Plugin made by OpenMPT
Well, I was wondering about this for a while, actually: how can you record samples? I dont really know if you need to buy something to record samples, but I always wondered that, and since I cant get FM samples without doing so, it seems...

Also something else: does anyone know how to rip MIDIs from arcade games with VGMTrans? I`ve been trying to get my hands on some Cadillacs and Dinosaurs MIDIs, but every single file I download doesnt have the MIDIs in them, and its getting really annoying IMO. For reference, this also happened when I tried ripping MIDIs from X-Men: Children of the Atom, when another person got them fine. Seriously, why is this happening?
Layout by Mathos
Use Audacity (http://www.audacityteam.org/download/). It has built-in recording features and can be configured to record from whatever input you desire (For Realtek the input in question is Stereo Mix; if not Realtek you'll have to do some searching).
soundcloud / bandcamp / twitter / buy/stream my EP / buy my touhou music / buy my NEW album!!!
Originally posted by Sinc-X
Use Audacity (http://www.audacityteam.org/download/). It has built-in recording features and can be configured to record from whatever input you desire (For Realtek the input in question is Stereo Mix; if not Realtek you'll have to do some searching).


Oh, so Audacity can do that without anything to buy? All right then, I`ll definitely try that out. lol
Layout by Mathos
Well, I have managed to figure out how to rip FM instruments (finally!), though I didnt use Audacity, I actually used another program instead (sorry lol). I still need answers for this tho:

Originally posted by Theultimate12
Also something else: does anyone know how to rip MIDIs from arcade games with VGMTrans? I`ve been trying to get my hands on some Cadillacs and Dinosaurs MIDIs, but every single file I download doesnt have the MIDIs in them, and its getting really annoying IMO. For reference, this also happened when I tried ripping MIDIs from X-Men: Children of the Atom, when another person got them fine. Seriously, why is this happening?


Could anyone help me with this? Its only arcade roms that do this, other stuff like NDS ROMs or SPCs work just fine, so I'm a little bit confused.
Layout by Mathos
Not every single ROM filetype and architecture is fully supported, it depends on the engine and chip it runs off of; I've tried doing it for Caddilacs and Dinosaurs as well, but instead had to resort to covering by ear in the end.
There's many ways this can be accomplished, but here's a method that relies entirely on free software. By the way, Steps 5-9 work for basically any .wav sample you want to make an instrument out of.

1) Find a song in .vgm/.vgz format on http://vgmrips.net/ and dump it using vgm2opm or vgm2pre (the original sites are down: you have to hunt down mirrors of these software)

2) Download and install OpenMPT

3) If you dumped a .opm from your .vgm/.vgz, get the VOPM VST and hook it up to OpenMPT.
3b) If you have .eif/.y12/.tfi/.tyi/.vgi, additionally download Deflemask Tracker (You still need OpenMPT for later)

4) Whether you used OpenMPT or Deflemask, open your preset you dumped from the .vgm/.vgz with VOPM (if OpenMPT) or the Genesis instrument editor (if Deflemask) and play a fairly long note with the instrument, then export it as a .wav

5) Go to OpenMPT's Samples Tab and create a new Sample, then Drag/Drop (or open) the .wav into the Samples tab interface.

6) Loop the sample, and try to make it as short as reasonably possible, keeping in mind that SPCs have a joint max of 64kb to store all music data including samples.

7) Save the sample from OpenMPT as a .wav

8) Hook up C700 to OpenMPT, then drag/drop your new looped .wav sample over C700.

9) Finally, in C700, export your sample as a .brr, and you should be good to go
additionally, if you've found the perfect loop but it isn't divisible by 16. change the samplerate until it is
Originally posted by CrispyYoshi
There's a couple of better ways I'd do this, but here's a method that relies entirely on free software. By the way, Steps 5-9 work for basically any .wav sample you want to make an instrument out of.

1) Find a song in .vgm/.vgz format on http://vgmrips.net/ and dump it using vgm2opm or vgm2pre (the original sites are down: you have to hunt down mirrors of these software)

2) Download and install OpenMPT

3) If you dumped a .opm from your .vgm/.vgz, get the VOPM VST and hook it up to OpenMPT.
3b) If you have .eif/.y12/.tfi/.tyi/.vgi, additionally download Deflemask Tracker (You still need OpenMPT for later)

4) Whether you used OpenMPT or Deflemask, open your preset you dumped from the .vgm/.vgz with VOPM (if OpenMPT) or the Genesis instrument editor (if Deflemask) and play a fairly long note with the instrument, then export it as a .wav

5) Go to OpenMPT's Samples Tab and create a new Sample, then Drag/Drop (or open) the .wav into the Samples tab interface.

6) Loop the sample, and try to make it as short as reasonably possible, keeping in mind that SPCs have a joint max of 64kb to store all music data including samples.

7) Save the sample from OpenMPT as a .wav

8) Hook up C700 to OpenMPT, then drag/drop your new looped .wav sample over C700.

9) Finally, in C700, export your sample as a .brr, and you should be good to go


Well, I have already found a comfortable enough way to do this with sampling (even made a tutorial, in fact), along with using presets that I got from somewhere (they actually have a lot of Genesis presets in those; in fact, they may have presets out of all the Genesis games!), so I dont really need to know about this anymore. Still, good information.

also welcome back lol
Layout by Mathos
  • Pages:
  • 1
  • 2