Hello everyone. I'm back with my new tool and I want to share it with you. vgm2smps -- it's a tool that converts VGM files (with YM2612 and/or SN76489 of course) to SMPS (Sonic 1) that was made to help you port music from other games or from your own VGMs. (Instructions and flags in the start message) Features: Easy for use. DAC sequence detecting (only for optimized VGMs with data banks as Defle Mask or SMPSPlay exports). DAC samples export. Ability to choose exported channels and song start offset and its length. Ability to set parsing speed in FPS. Alternate "smart" instrument detecting mode. If final note's frequency is lower, than SMPS supports, all notes transposes in octave up, but instrument's multiply transpose down (make instrument lower). (Useful for some TAoBR songs) Warning! Convertions may not be perfect. Also, the tool does not optimize patterns and does not find modulations, and therefore the output file size can be large and can go beyond 64 KB (max). But, you can select your song start offset, length, filter channels, optimize them by SMPS Optimizer and merge channels (for example). Known bugs: Sometimes (but rarely) notes may be wrong (frequencies). Sometimes notes are wrong if -altins is used. Sometimes (but rarely) notes length may be detected wrong. ...which I may be fix in the future... Thanks: ValleyBell for VGM tools and specifications. Delek for Defle Mask with easy VGM creation. Download: Binaries: Windows, Linux Source: GitHub
I used to do a lot of stuff with DefleMask before getting my feet wet with Sonic hacking. Can't wait to hear what it could sound like in-game!
Did I ever say I love you for this? You're definitely a genius, man. Seriously... I'm always fan of your work with SMPS, but you and valleybell never stop surprising me. Games I thought it was impossible to port will now be fully (or at least almost) fully possible. Thank you very much!
This sounds like it could be really awesome to use, though it isn't working for me. A black screen pops up and then disappears on my Windows 10 64-bit laptop. I made sure to keep zlib1.dll in the folder its in. Is there anything I might be doing wrong?
(It's a command-line program, so make sure to run it from the Command Prompt.) This tool will be great for helping to port songs from difficult sound drivers (and even sfx to an extent.) And for what few minor issues it has, there is always SMPS2ASM disassembling for fine tuning.) May I request a feature for a future update? A command line switch to read a file with IDs for DAC remapping, similar to the same functionality within MID2SMPS. This way the unique DAC samples in a VGM file can be mapped to standard S1 ones. A minor feature, but I feel it would be important for fine-tuning
I forgot to ask in my previous post... Is there any preview of when (or if) will be possible to import the DAC sequences along with the song?
Really impressive stuff there, Ivan. Really helpful for porting songs without driver porting or other stuff like that.
That's what I thought at first, but the lack of instructions and made it seem like it would be visual. I guess its just the standard format of "vgm2smps input.vgz output.bin" then, right? I'll have to try it when I get home. I definitely recommend mentioning that for those less familiar with command-line programs.
> Did I ever say I love you for this? You're definitely a genius, man. Seriously... I'm always fan of your work with SMPS, but you and valleybell never stop surprising me. Games I thought it was impossible to port will now be fully (or at least almost) fully possible. Thank you very much! Thanks, very pleased to hear! Enjoy. > Games I thought it was impossible to port will now be fully (or at least almost) fully possible. Thank you very much! Yes, this is one of the purposes of creating vgm2smps... > (It's a command-line program, so make sure to run it from the Command Prompt.) +++ The program does not pause. For see message you need to run this as Win+R -> cmd *vgm2smps path* > May I request a feature for a future update? A command line switch to read a file with IDs for DAC remapping, similar to the same functionality within MID2SMPS. This way the unique DAC samples in a VGM file can be mapped to standard S1 ones. A minor feature, but I feel it would be important for fine-tuning Yes! It's absolutely possible. I guess I'll do that in next update. > I forgot to ask in my previous post... Is there any preview of when (or if) will be possible to import the DAC sequences along with the song? No. You can only insert your DAC sequence by hand with SMPS2ASM. > I guess its just the standard format of "vgm2smps input.vgz output.bin" then, right? Yes. With default settings of course. > Really impressive stuff there, Ivan. Really helpful for porting songs without driver porting or other stuff like that. Thanks Enjoy using. > made it seem like it would be visual. May be if I create GUI frontend for this...
I'm not sure whether I like the implications of this tool. Yes, you can port songs from games easier, but it comes at the cost of having a safe and compact way to share SMPS songs without giving them away to any old ROM hacker that comes across it. The tool also makes mince meat out of the privacy rule in the SMPS Competition, seeing as anyone can now take the public VGM and use the tool to get the source. Granted, I haven't tried using it yet so I have no idea how effective it is.
I tried this out for a bit, and I am astounded by this. The ports that this tool can create are pretty much perfect sounding. It can greatly improve the soundtracks of new Sonic hacks and inspire people to delve into all the amazing music the Genesis has to offer. Now anyone who has a good idea of what music can fit their purposes can easily find it and using, and it will sound great. I also understand that this will discourage SMPS porting, but those who still do it will have the advantage of the larger library and those who don't will still be able to have great music without having someone else do it for them. On issue I've found is that some songs have their PSG delayed because the initial rest period is greater than it's supposed to be. Space Walk from Thunder Force IV is an example of one of them. Fortunately I've been able to fix this with some simple trial-and-error editing with smps2asm. The large file sizes will probably be an issue for someone trying to create a large soundtrack of vgm conversions, especially if that person is using a Z80 sound driver, so that's something for people to keep in mind. Great work, @Ivan YO, and I'm really excited to see how this possibly-revolutionary tool is used. This only works with Genesis and Master System games, and I assume people would rather port music from other systems. If a Genesis game is chosen, then you can add a rule against using this tool.
What he means to say is that this will now discourage others from sharing their SMPS works in the form of VGM files, as they can now be ported to SMPS almost flawlessly and used any way one pleases with fewer hoops necessary to jump through than before. Of course there are regulations here and other places in regards to stolen content, but the issue exists regardless. Despite having not publicly shared (or finished, for that matter) any covers in a long time, I'm now having serious second thoughts about distributing VGM files of any covers or compositions I make in the future. Which is a shame, since I love to collect VGM files of other people's covers, and I'm sure there are others who feel the same way.
Oh. I'm very good at misunderstanding things. You can still distribute files using MP3 or Soundcloud, in that case. I've never really seen the purpose in using VGM files for that purpose unless you want others to get a very authentic version or prove that it works on hardware, but I can see how people would want to build libraries of them. Overall, it's a minor issue compared to what the program allows. It's too bad that there isn't a way to lock a VGM out of being converted. I tried converting a couple of Savaged Regime's Mega Man X conversions and they ended up having the FM voices play extremely low, I guess he unknowingly was able to prevent that possibility.
I kinda agree with the stolen content argument but here is the deal; its the same thing as ROM hacking tools or disassemblers. Sure you could just use IDA to disassemble someone elses hack, but more likely you are not gonna get too great results without actually knowing what you're doing and its gonna be really blatant when your new ROM hack is full of crap you stole poorly. We already have tons of tools that basically allow you just be a cuntass and we have tons of experience exiling people who do. This kind of tools is gonna make inaccurate, large and very unoptimal SMPS files and as long as it does, its very easy to tell, leaving little confusion over whether it was legimate port or not. Sure it can allow porting from other games but I do not expect the result to be good if its not an SMPS game for huge variety of reasons. Since it does not seem to support that many flags (like does this even support LFO of SSG-EG?) I also expect you must still do manual research to fix up ports and good luck with any driver-specific effects. I know GEMS and Westone drivers are out of the question. How I see this tool realistically being used is to do lazy ports of SMPS music, or used with things like Deflemask. It'd be quite an interesting workflow.
I'm glad to see that you have some good principles, but the person who will steal other people's smps will still not be approved by the community and it is not in his interest, right? Same. I also love collect vgms, so please share it. I remind that the main goal of this program is to facilitate the porting of music from other games or the conversion of your VGMs. But not rip content from hacks or your created VGMs without permission. everyone uses as he wants.
Taking into account the risk of being discovered and exiled or banned depending on the way these SMPS are taken. I'm pretty much sure someone will try to use this tool to steal music, but it seems it will fail drastically especially after someone notices the clear differences between the own made SMPS and the SMPS converted with this tool.
VGMs are popular sharing files because they are tiny and have a ton more features than plain MP3 recordings. For reference, the largest VGM I have in my collection on my phone clocks in at ~200kB and I can play the song on a perfect infinite loop, no fade out. MP3s are just lossy recordings of them, 3-10MBs per track depending on quality. And don't even get me started on WAVs, they're 20x the size for the same audio as a FLAC, which are all still recordings of the VGM file. And yes Ivan, I see what you're getting at, but saying that is like blaming a spoiled child for being a dysfunctional human being; sure the child is most definitely at fault for being an entitled prick, but the parents are ultimately responsible for raising them to act this way. They could have been the nicest people with the best intentions, but it doesn't stop the snowball from rolling. I know that you didn't make this tool to give people access to community members' private tunes, but whether you like it or not, this tool will open the floodgates to these sorts of problems.