Page 1 of 1

Best way to handle XM tracks

Posted: Tue Jan 07, 2014 9:34 am
by KanedaFr
Hi all,

I'm about to port a game.
No problem with logic and gfx for now but I wonder what'll be the best approach to handle music and sfx.
The original tracks are on XM format.
Following this thread (viewtopic.php?t=336), it would be a bad idea to write my own XM player, even more since I also need to get simple sound fx (ring, etc...)

So how would you do that port ?
Try to rewrite the tracks using another tool (like Defle, TFM, Echo or whatever...) ?

Come on, let's brain storm ;)

Posted: Tue Jan 07, 2014 6:58 pm
by kubilus1
Use python to write an XM file parser that can spit out files compatible with other formats!

Posted: Tue Jan 07, 2014 9:05 pm
by powerofrecall
Probably Echo, there's already an XM converter for it I believe?

Posted: Tue Jan 07, 2014 9:17 pm
by Chilly Willy
You might want to load the XM tracks into an editor first to get an idea about the composition - how many instruments, what kinds of instruments, how many tracks... that sort of thing. Converting XM music using 32 tracks might be beyond what the MD can handle.

Another thing you could consider is if the SCD is present, use it to play the XM music. I've posted a few examples of using mikmod to play music, and a nice MOD player, both for the SCD.

Posted: Wed Jan 08, 2014 12:47 am
by KanedaFr
Thanks for your suggestions.

- it's a md game, not mcd game
- I know I have XM for 2 to 6 channels (mainly 4)
- I didn't know about Oerg866 xm2esf tool !!!

I was waiting for a valid reason to try Echo...
It seems it's funky time !

Posted: Wed Jan 08, 2014 3:12 am
by tomaitheous
XM's not so bad. Depends on what the songs actually use of the XM format. I wrote a PC XM to PCE XM converter, to play XM's on the pc-engine. Of course, I had specific limitations for the song (mostly my stuffs), but the point is - it's a fairly easy format to convert from.

Posted: Thu Jan 09, 2014 1:57 am
by Aly James
Might be of interest, you will be able to convert FMDrive & SPSG VSTs compositions into VGM files which add the benefit of complex register changes over time and for ANY registers...(special & CSM support will be added later).
https://soundcloud.com/alyjameslab/big- ... sg-vst-now
This is done via an update to the Valley Bell's Mid2VGM converter that will now support FMDrive MIDI controller messages :)

SPSG VST output can already be converted via Mid2PSG too

I am currently debugging these tools and the update(s) should be available in a few weeks at VGMRIPS :) :)

Posted: Thu Jan 09, 2014 4:02 pm
by Chilly Willy
The main issue to watch out for when generating VGM files is to make sure to init the PCM channel before using it, and any time you switch back to channel 6 FM. Too many VGM files don't, so the PCM doesn't play on real hardware.

The problem probably arises because they check the VGM on PC players that treat the PCM as a completely separate channel independent of FM channel 6. That's the easiest way to make a VGM player for a PC that works, but it isn't how real hardware works, so it doesn't work on real hardware.

Channel 6 FM or PCM must be explicitly initialized before doing FM or PCM, respectively. Every, single, time you switch.

Posted: Tue Jan 14, 2014 2:53 pm
by Aly James
Yeah, I haven't checked that part of VBell's code but it seems to me that the DAC (ON OFF)register is handled well. Thanks for the reminder anyway :)

This has been converted from FMDrive VST to VGM (Mid2VGM new beta) then to ROM (with D Fish's VGMPLAY 3.2)
There is a .VGM and Hardware Model 1 recording in the description.
https://soundcloud.com/alyjameslab/wand ... drive-spsg