don't click here

Advice on converting/arranging MP3's into Gym's

Discussion in 'Technical Discussion' started by Granville, May 17, 2008.

  1. Granville

    Granville

    Member
    157
    1
    18
    US
    My inspiration is the rom hack, Sonic 1 Remastered. The track for Starry Night Act 3 was a conversion of Stardust Speedway Good Future from Sonic CD (Japanese version). I believe it was Tweaker and someone else arranged this MP3 into Gym (or was it VGM?) format.

    My question (which I hope is proper for this section) is:

    How would one go about converting MP3 files into Genesis format?

    I heard the Sonic CD song in Genesis style and it itches my curiosity to hear the rest of the Sonic CD tracks in Genesis style. Stupid and weird it may be, but is there any advice or information anyone can give me on how to go about this conversion? Thanks in advance!
     
  2. Hello and welcome.

    first, it's not an easy task, in fact, you need to know a lot about hacking and XM and SMPS :)

    You can't convert MP3s, the conversion wnent from a MIDI file. This is trimmed to fit into the sega genesis hardware specs. It's saved as XM and then it is converted into the Sonic 1 format, which you then can use in your hack :)
     
  3. Flygon

    Flygon

    Member
    Er, technically that is true, but if I recall correctly the XM format has sound samples inside the song, he could simply make the whole MP3 a sample but it kind of defeats the purpose when converting.
     
  4. Jayextee

    Jayextee

    Unpopular Opinions™ Member
    3,253
    64
    28
    Atro City
    I DONE MAKED GAMES.
    I believe you're stating that you just want to hear it in MegaDrive style, in which case I'd suggest transcribing them into TFM Tracker or something. To stick it in a ROM, though, you'll have to make a .XM tracker module and XM3SMPS it... either way, you'll have to recreate the music from scratch. Or find a midi. It's quite a bit of work.
     
  5. Aquaslash

    Aquaslash

    <The Has-been Legend> Moderator
    Yes, to go from MP3 to a Genesis format, you'll have to either find a MIDI or compose one yourself. When composing one, you have to keep the limitations of the SMPS format in mind. It's also a good idea to check out Tweaker's music porting guide, as it has information about the format, and links to documents explaning the hardware.
     
  6. Jayextee

    Jayextee

    Unpopular Opinions™ Member
    3,253
    64
    28
    Atro City
    I DONE MAKED GAMES.
    Incidentally, (Because this is relevant, given Sonic CD's regular instrument choices) is there a good Orchestra Hit soundalike voice to use? I don't remember hearing one in any MegaDrive (=P) game I've ever played, I wondered whether this was because it would just sound bad or whatever.
     
  7. nineko

    nineko

    I am the Holy Cat Tech Member
    6,326
    490
    63
    italy
    Unfortunately it is (almost?) impossible to get a good orchestra hit on FM (if you had a Sound Blaster 16 you should know this), I had this exact same problem when I wanted to convert Metallic Madness.

    The best I could come up with was a gay voice that sounds like the one used on the Sound Blaster 16 mentioned above. Its sound data is 3A 64 60 60 30 9D 9D 50 4C 04 06 04 05 1F 05 01 01 A8 25 25 55 7F 06 14 00, you can paste this in xm3smps and try it for yourself, but it sounds nothing like an Orchestra Hit.
     
  8. Overlord

    Overlord

    Now playable in Smash Bros Ultimate Moderator
    19,313
    1,012
    93
    Long-term happiness
    Yeah, the process for a Mega Drive VGM file from a PCM track can be slow and arduous, but some of the results are spectacular. Good luck! =)
     
  9. Granville

    Granville

    Member
    157
    1
    18
    US
    Thanks for the kind advice everyone (and the patience with my first post)! There are some good MIDI's from Sonic CD on VGmusic. I expected there to be some hacking involved. For the time being, my intention is to get them in a Genesis style just to see what they sound like. My long term plan would be a hack.

    My ambition some day is to port Sonic CD to the original Genesis Sonic 1 engine. I will likely not be able to complete this, but it gives me a motivation to learn programming. I know it's far too complicated for me and will likely never become real, but it's just a concept I'm playing with. I know it's possible (beside the FMV's and mode7 stages), but it's far over my level at the moment. I will however attempt to learn the Sonic programming and try to arrange the MP3 tracks into Genesis style.

    I'm not trying to sound like a newbie. I guess every hack begins as a concept and everyone started out with my level of experience (none). Thanks for being nice to an inexperienced and new person!
     
  10. Jayextee

    Jayextee

    Unpopular Opinions™ Member
    3,253
    64
    28
    Atro City
    I DONE MAKED GAMES.
    I'm still inexperienced and new, and so very thankful for the patience of the guys here; I'm no hacker myself, but I'm trying. But, if you're not an obvious moron (And thus far, you haven't been XD) you should be fine here.

    Porting Sonic CD to the Sonic 1 Engine is feasible if you're willing to cut some of the art from the stages, and obviously simplify the music. But don't expect it to be easy work -- some of the hackers here are either porting Sonic CD features into their own hacks (There's one being worked on with time travel!) or, like myself, simply trying to make their hack Sonic CD-esque (Hence, I had my own reasons for asking about that Orchestra Hit -- I think I remember a half-decent one in Tiny Toon Adventures, but it could be a DAC since I only remember it at one tone).

    My advice? Start simply, as I have(n't) -- start by making a layout hack (God knows, some people shouldn't have skipped this step, because there are some hacks that sorely NEED some good layouts), then add either graphics or basic ASM features when you're comfortable enough to do so; don't move on to another thing until you're comfortable with what you've attempted. Walk first, then run. =)

    Nonetheless, if you find out you have a particular talent for, say, art or music hacking and there's always talent exchange for your other features.
     
  11. Granville

    Granville

    Member
    157
    1
    18
    US
    Yes, the engine, level layout, and features should come first. The graphics and sound should be a side project. The cool thing is that Sonic CD used a similar style of play as sonic 1. Time travel would be difficult (where the level would change based on changes in the time-stream). Sonic's moves (the spindash and peel out) have already been done in Sonic Extended Edition.

    Obviously the videos, special stages, and music would have to be changed. Videos could be handled by ingame cutscenes. Special stages could possibly be done in an overhead perspective (ala Sonic Crackers), and obviously the music is what my topic is about. I was impressed by how Stardust Speedway turned out in Genesis format. I'm not worried about the orchestral hits much, but it'll be interesting to try.

    Obviously I'd use the Japanese soundtrack as it's generally considered far superior (which I definitely agree with).

    One pretty interesting thing was the person a while back who designed a sound driver for Sonic 1 to use low quality versions of real MP3's. It had several tracks from Sonic CD and 3D sonic games. I'd rather try it out in true Genesis format though.
     
  12. Time travel isn't that difficult, but you have to find an efficient way of transition. All you have to do is get another level slot, make it there, and that can be your 'past or future' level.


    Ps. Project Chaos has timetravel if I remember correctly.
     
  13. Tweaker

    Tweaker

    Banned
    12,387
    2
    0
    That's the bitch way to do it. It's much easier to load a separate pattern load cue set and Main Level Load Block based on a RAM byte, which would define your timezone.
     
  14. Flygon

    Flygon

    Member
    In my opinion, the ONLY thing that would be a pain to port would be the Mode 7 IF space was not an issue (Lets face it, the 2 FMV's would demand 16 megabytes as it is I estimate).
     
  15. Granville

    Granville

    Member
    157
    1
    18
    US
    Wow, I seem to have attracted some big league hackers here! Thanks for answering.

    I do know a bit of what the Genesis can do. As far as I know, the Mode7 technology was added to the Sega CD as competition to the SNES and is supposedly impossible to do on the Genesis. I don't know how one were to handle the special stages. Maybe a constantly moving sidescrolling segment (like the bosses in Sonic Advance 2). I don't know how to do that, but it would probably be feasible. The backgrounds from Sonic CD could still be included and a street like these from Sonic Battle (redesigned in Genesis style of course):

    [​IMG]

    [​IMG]

    I'll try to make a mockup later if that's ok.

    Someone said some of the level art would have to be cut. Why is this? The Sega CD had the same color limitations as the Genesis and appeared to support the same number of multiple scrolling backgrounds. Sonic 2 Beta had a very impressive background in the Hidden Palace. It had many layers with a lot of scrolling and animation effects. Palmtree Panic is probably the most complex background in the game. It had a background that expanded a large vertical part of the screen and had an upside-down reflection of the top part when Sonic travels towards the bottom of the screen.

    The only Genesis game I've seen with FMV was Sonic 3D blast. They were very short and severely compressed. I don't think it would be very easy to include them unless a very large filesize were used.

    I've seen the time travel hack for Sonic 1 but I've never tried it personally. I believe (judging from Youtube videos) that the time travel element was handled by jumping into a checkpoint ring. I don't know any coding yet, but I think it would be possible to have the time travel in the same way as in Sonic CD. Here's a possible theory on how to do it:

    #1 Port the Past/Future signs and have them work the same way as Sonic CD
    #2 Take the speed limit out of Sonic 1
    #3 Have a speed monitor that measures Sonic's running speed
    #4 Have a set speed required to enter the time-stream
    #5 Once Sonic reaches that speed, count 3 seconds and he travels through time
    #6 Enter the new level

    Sonic Extended Edition's intro video has the time travel animation, so that would probably be feasible to do. I should win an award for stupidly getting my hype up. There's not even much of a point trying to port Sonic CD to the Genesis....Except it being a cool concept.
     
  16. Tweaker

    Tweaker

    Banned
    12,387
    2
    0
    Not level art, specifically—you'd have to cut some of the available 16x16 tiles. The reason for this is because, in Sonic 1, 16x16 tiles (and, subsequently, 256x256 tiles) are compressed; this leaves you a limit of $64 metatiles and however many 16x16 tiles. In Sonic CD, though, they're uncompressed, allowing up to 255 of either, being limited only by Sega CD program size (256kb per program).

    You could use uncompressed mappings in Sonic 1, as well, but it would severely bloat the filesize, limiting the chances further of being able to include every aspect of the game onto a Genesis cartridge. One option is to use bankswapping, which would theoretically make fitting it all in quite possible; however, I'm not entirely sure on the plausibility of such a thing.

    The best chance you really have is scrapping the time travel concept and simply including the present timezones for each level. It wouldn't be the full game, but it'd still be pretty complete, in my opinion. :)
     
  17. Flygon

    Flygon

    Member
    About the bank switching thing, do any emulators actually support bank switching? (Apart from Gens, as far as I'm aware)
     
  18. Puto

    Puto

    Shin'ichi Kudō, detective. Tech Member
    2,013
    0
    16
    Portugal, Oeiras
    Part of Team Megamix, but haven't done any actual work in ages.
    Actually, $52. Each metatile takes $200 bytes and you have $A400 bytes of RAM space, therefore you can have up to <tt>$A400/$200=$52</tt> metatiles.
     
  19. Jayextee

    Jayextee

    Unpopular Opinions™ Member
    3,253
    64
    28
    Atro City
    I DONE MAKED GAMES.
    There's a tutorial to do that on this very site, which is so simplt to follow that I've even managed it! (Note that it's probably also recommended that you fix the spike bug as well.)

    There is already code within Sonic to do this; speed is measured when determining if the GHZ/SYZ smashable wall can be broken or not. Not having the disassembly with me at the moment (Other laptop, d'oh!) I couldn't tell you where offhand.

    All this is pretty simple to do as well, and I would imagine the Past/Future posts not so hard (Although this is currently above my personal level - I repeatedly state my fail at hacking XD). I would advise attempting Tweaker's "proper' way of doing the different time zones, though.

    It being a cool concept is more than enough! I'd be grateful, anyway; since I primarily use a Mac (Which there isn't a working Mega CD emulator for yet) this would be a cool thing for me. Although as I said, walk before trying to run, huh? :)
     
  20. Aquaslash

    Aquaslash

    <The Has-been Legend> Moderator
    If I weren't so scatterbrained, I could actually live by this rule XD