don't click here

XM to smps converter: released

Discussion in 'Engineering & Reverse Engineering' started by nineko, Sep 10, 2007.

Thread Status:
Not open for further replies.
  1. Tweaker

    Tweaker

    Banned
    12,387
    2
    0
    As far as I can tell, it should be as simple as picking an instrument of your choice and a volume level on each channel. Keeping in mind the basic musical limitations of the Genesis (5FM channels, 3PSG channels, 1 DAC channel, each monophonic), importing should be simple as long as your module was pre-labeled or specifically composed with these limits in mind. This is what I do when I make midis for import with Sonic QX, and it will give the best possible output.

    I believe that if someone with only basic knowledge of both the SMPS format and Genesis musical knowledge in general (nineko) can create this program and successfully import several songs into Sonic 1, then anyone who uses a basic reference document (such as my guide) can easily do the same.

    From what I've heard of the interface so far, the only way it could really be made easier is to add a proper GUI, and perhaps reading initial volume levels in the module. But otherwise, I think that it's fairly straightforward and easy to use as long as you keep your basics in mind.
     
  2. Chimpo

    Chimpo

    Hungriest Retro Poster Member
    9,024
    1,922
    93
    Los Angeles, 2029
    Banana
    Well....you're gay.

    Ice burn
     
  3. nineko

    nineko

    I am the Holy Cat Tech Member
    6,346
    507
    93
    italy
    I'm posting from work right now so I don't have much time.
    Just wanted to say that this evening (MY italian evening, it's 1:12pm right now) I'm definitely going to attempt to release this thing to everyone. And as Tweaker said, it's not THAT unusable. Just, you need to know a few basic things, especially for the drums. And you have to pick a reasonable song for the conversion, don't expect a 32-channels XM to be converted flawlessy.

    Anyways, I fail at naming things. Suggest me a name for this converter, or I'm going with "xm2smps". Actually, screw that. Xm2smps it is. Who needs creativity? We also have SonMapEd and RotSprite, good programs don't need a good name.

    quick edit: I don't know if I'll manage to release anything tonight. It's being an hard day at work and I don't know when I can go home.
     
  4. nineko

    nineko

    I am the Holy Cat Tech Member
    6,346
    507
    93
    italy
    Double post because I'm releasing it. Yup guys, the converter is here. Of course this is way far from perfect right now, I wanted to work on this a bit more before the release, but the main features are there so there's no reason to wait.

    What doesn't work right now:
    Notes with a duration > 127 won't work (*)
    Loops must begin at the start of the song (**)
    There is no pan control at all (**)
    You can't change the volume during the song (**)
    All the XM effects (vibrato, arpeggio, pitch bends...) are being ignored (**½)
    The optimizator is still rudimental (***)
    You are still allowed to input weird values in some places, and the song gets broken (***)
    Maybe something else, but I forgot

    *: is going to be fixed soon
    **: is maybe going to be fixed, but may need more time
    ***: low or no chance to get this feature working

    Other generic underlined text so people don't think this is still the "what doesn't work" section
    Download it here: http://digilander.iol.it/projectchaos/smps/xm2smps.exe

    You'll need a binary file with the voices you wish to use, but I'm not including it for the download.

    I'm eventually going to write a short guide for this, but not now, it's been an hard day at work. Actually, I'm probably going to be ultra busy for this whole week, big updates are probably going to arrive during the weekend. Of course I'm not already dropping the project, but my real life chose a bad time to get messed up. This is one of the reasons of this "earlier" release.

    Have fun!

    edit:
    Just a quick note. I forgot to say that this tool creates dozens of temporary files during the conversion. They should be deleted automatically, but if for any reason you find a bunch of .tmp files you should delete them by hand before you run the converter again.
     
  5. Ritz

    Ritz

    Subhedgehog Member
    4,094
    117
    43
    This looks really, really awesome, but I can't seem to get the Replace.exe thing working- I've asked for help several times, everyone seems intent on silently ignoring me. So, yeah, when I start it up, it gives me a '?'. That's normal, right? What am I supposed to type next?
     
  6. nineko

    nineko

    I am the Holy Cat Tech Member
    6,346
    507
    93
    italy
    something.bin

    Where "something" is the binary file you want to use. Like, if you want to try this song I just converted, you should type "Boys.bin".

    Also, I just noticed that the Universal Voice Bank is lacking good strings. I should rip some good ones somewhere.
     
  7. Bibin

    Bibin

    DON'T LET THE SUN LAUGH AT YOU. Member
    881
    0
    0
    New York City
    Ghost in the Machine
    I'm terrible with voice libraries and whatnot. What should I put for "What is the Voice Library?"?
     
  8. SMTP

    SMTP

    Tech Member
    Yea, I have no clue what to do at this point and on....
     
  9. Bibin

    Bibin

    DON'T LET THE SUN LAUGH AT YOU. Member
    881
    0
    0
    New York City
    Ghost in the Machine
    K, I got up to the point where I can select voices (I used the universal midi bank) but when I finish with the PSG voice selection, it dies.
     
  10. 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.
    If I recall, after that, you should have the song in an out.bin file.
     
  11. Bibin

    Bibin

    DON'T LET THE SUN LAUGH AT YOU. Member
    881
    0
    0
    New York City
    Ghost in the Machine
    Nope, nothing at all except a bunch of temp files.
     
  12. SMTP

    SMTP

    Tech Member
    I don't know where to get this "universal midi bank"...
     
  13. nineko

    nineko

    I am the Holy Cat Tech Member
    6,346
    507
    93
    italy
    The voice bank must be a binary file with a collection of Genesis voices (the $19 bytes ones), and I'm not going to explain how to obtain that, check the SCHG guide.

    Now, if you have a bunch of temporary files when the program closes, it means that some kind of error happened, I set it to keep them in case of failure for debug purposes, and I forgot to remove this "feature" in the released version. You have to delete them by hand before you run the converter again or it won't work. Also, the converter does explain what kind of error occurred, but if you have Windows set to auto-close ms-dos sessions when the program is done you won't manage to read that. To temporarily solve this problem you can either run the converter from a console window, or set Windows to keep sessions open as long as you don't close them.

    I can't do anything for now because I'm posting from work, but when I get home this evening I'll make a quick fix in which I remove the debug feature that keeps the temporary files on errors, and I'll add a "Press enter to continue" thing to prevent the auto-closing of the dos session.

    Oh shit the boss is coming here. Laters guys.
     
  14. nineko

    nineko

    I am the Holy Cat Tech Member
    6,346
    507
    93
    italy
    Another double post. But it seems that I have to do this.

    Now the converter stays open until you press enter, and the temporary files are always deleted, even if you get an error.
    Also, most of the "common" errors you can get are described properly so you can know what happened and how to fix it. Examples: you tried to use a channel for both drums and PSG, or you tried to load a wrong file, etc.
    If for any reason you get a weird error (this should never happen, anyway), the program will give you two numbers. Report them to me so I can know what happened.

    I didn't work on the features yet, this was just a very quick bugfix. Expect more news in the next days or something.

    Oh, the link is the same. http://digilander.iol.it/projectchaos/smps/xm2smps.exe
     
  15. ICEknight

    ICEknight

    Researcher Researcher
    Link doesn't work. :(
     
  16. nineko

    nineko

    I am the Holy Cat Tech Member
    6,346
    507
    93
    italy
    Right, fixed. Thanks.
     
  17. ICEknight

    ICEknight

    Researcher Researcher
    EDIT: Nevermind, I got the correct file, thanks Nineko!


    By the way, while converting a few songs from MIDI to XM to SMPS I started to wonder... Wouldn't a MIDI to SMPS converter be easier to make?

    Since both MIDI and SMPS have equivalent instruments, they could just be assigned automatically, I guess.
     
  18. nineko

    nineko

    I am the Holy Cat Tech Member
    6,346
    507
    93
    italy
    You know, as I told you via PM, I'm actually starting to think that I made an useless converter.
     
  19. Hivebrain

    Hivebrain

    Administrator
    3,060
    181
    43
    53.4N, 1.5W
    Github
    Better yet, a MIDI/XM/MOD/IT/S3M to SMPS converter. How feasible would a VGM converter be?
     
  20. ICEknight

    ICEknight

    Researcher Researcher
    It's quite useful, just very difficult to learn.
     
Thread Status:
Not open for further replies.