Problems with FastTracker retrigger command

Started by ToaTheBoa, April 21, 2013, 11:58:37

Previous topic - Next topic

ToaTheBoa

I especially used lots of R03 to create drumrolls and stuff in FastTracker 2. When importing my fasttracker modules into OpenMPT, it sounds all wrong.

Make something like this on a hihat in FastTracker mode:

|G-401...R03
|G-401...R03
|G-401......

It doesn't sound very good.

Change type to "OpenMPT", the commands are converted to Q03, and everything sounds great. Thats also is how it used to sound in FT2. Seems like the FastTracker mode is less compatible with the FT2 retrigger command than the OpenMPT mode.

Is this really the only way getting it to sound right? Can't I have the module type as "FastTracker" if I want this right?

---

Also when importing I get typical 4 ticks/row and 125 bpm (default FT2 speed). Just converting to OpenMPT makes the Q03 command sound crappy. I have to change the module to 6 ticks/row and adjusting the bpm to 187,5 (which isnt possible, have to go for 187 or 188, creating problems...).

Q03 in OpenMPT mode with 4 ticks/row sounds just as crappy as R03 with whatever ticks/row in FastTracker mode.

Conclusion: R03 with 4 ticks/row in FastTracker mode should sound the same as Q03 with 6 ticks/row in OpenMPT mode.

Saga Musix

FastTracker 2's retrigger command is extremely dodgy, but to the best of my knowledge, OpenMPT emulates this quirkiness perfectly (i.e. it sounds as bad as FastTracker :) ). If you can find a case where FastTracker 2 sounds different from OpenMPT, please provide a minimal test case in the form of a module (not just pasted pattern content) and I'll have a look at it.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

ToaTheBoa

Well my theory is that the retrigger command uses 6 ticks/row no matter what ticks/row the module has got. Can't remember R03 behaving any different, no matter what ticks/row you used in FT2. In OpenMPT mode, Q03 sounds different when changing ticks/row. Only in 6 ticks/row does it behave as in FT2.

Saga Musix

Well, sorry to disappoint you but that's simply not true. I have attached an example module, based on your original pattern, with FT2's WAV writer output loaded into the second sample slot. You will hear that FT2's output is just as idiotic as OpenMPT's. The solution is to not put any extra notes next to the Retrigger command, i.e.

ModPlug Tracker  XM
|C-501...R03
|........R03


Instead of this:

ModPlug Tracker  XM
|C-501...R03
|C-501...R03


Edit: Forgot attachment.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

ToaTheBoa

Thats very strange. Was that with speed 4 in FT2? Does it sound the same with 6 ticks/row? I'm 100% sure all my R03 commands in FT2 sounded like OpenMPT's Q03 command with 6 ticks/row. I think I always used speed 4. R03 in FT2-mode now sounds like Q03 does with 4 ticks/row.

Saga Musix

Apparently there seems to be a difference at speed 4 instead of speed 6, indeed. Everytime you think you know everything about FT2's idiotic behaviour, you just learn something new. I'll see if it can be fixed.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

ToaTheBoa

Woho that would be great. :) I have many many modules with this problem.

Saga Musix

Alright, after several hours of head-desking and changing exactly one line of code, OpenMPT should be closer to FT2's behaviour now. http://sagagames.de/stuff/mptrack.exe
I won't say that it emulates FT2 perfectly now, because it's only a matter of time until I'm proven wrong again! :p
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

ToaTheBoa

Wow. Seems to sound right where I have tested this now. Thank you very much. Your hours of work saved me many more. :)

ToaTheBoa

One thing I noticed when I tested this. It seems like it doesn't start behaving "normal" until it gets a R03 without a volume command on it. I attached a module where the first 32 rows are wrong, and the next 32 are right (R03 without volume at row 31). Only happens first time after loading module.

Saga Musix

» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

Saga Musix

Now it should be even more compatible. http://sagagames.de/stuff/mptrack.exe
Please note that combining retrig with volume is still not a good idea, because volume commands effectively delay the retrigger effect by one tick. It's a pretty fucked up command (well, like most FT2 commands).
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

ToaTheBoa

Thanks again! I thought it was a good idea in the 90s :)

Saga Musix

Well, guess what, of course it was still wrong, so another obscure test case is now fixed. Basically, what I said about the volume command + Rxy combo is true, but if and only if the volume is not zero. Updated exe is available under the link found above. How many more bugs will I find in this?
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

ToaTheBoa

Hmm. I very oftes used the R command with volume without really noticing any difference in how it sounds. Like in the testmodule I posted. I actually meant it should sound like it did in the last 32 rows. 95% of my modules are made with speed 4 and 50% of my modules has some R02 or R03 in them, and I've never noticed anything strange. Are you sure the "don't use volume on R"-rule also is valid for speed=4? My guess is that the R03 command is somewhat hardcoded to sound right both with and without volume, while the other R's are part of some bizarre formula. Damn, I should have a working copy of FT2 to investigate myself instead of bringing you all these nightmares. :)