Mod Archive Forums

Music Production => Tracking => Topic started by: Radium Editor on March 19, 2016, 09:55:07

Title: Visually pleasing videos of classic tracker modules
Post by: Radium Editor on March 19, 2016, 09:55:07
Hi,

Radium is a very visual tracker-like music editor, showing waveforms
velocity automation, effect automation, smooth scrolling, etc.

Here's some Youtube videos with some classic tracker modules playing in Radium:

Peter Salomonsen - Garbage Collection:
https://www.youtube.com/watch?v=cMdZM0mlt_s

Dreamer - Black Queen:
https://www.youtube.com/watch?v=C_lQL8Fb8LU

Dr. Awesome - Godzilla:
https://www.youtube.com/watch?v=gLTxxvqYzl4

H0ffman and Daytripper - Professional Tracker:
https://www.youtube.com/watch?v=-qFltj2Czuc

Captain - Space Debris:
https://www.youtube.com/watch?v=0I2gnrDRCng

(http://folk.uio.no/ksvalast/captain.png)
Title: Re: Visually pleasing videos of classic tracker modules
Post by: Saga Musix on March 19, 2016, 13:55:17
Looks interesting, but Professional Tracker plays completely wrong (it uses many ProTracker quirks), so it's probably not a good example. :)
Title: Re: Visually pleasing videos of classic tracker modules
Post by: Radium Editor on March 19, 2016, 16:34:03
Hi,

I just listened carefully through "Professional Tracker" both in Protracker 2.3d clone, and in Radium, and I found at least one thing that wasn't the same: At around 0:10 it sounds like there is an extra thunder sound in Radium, and in addition things seem a bit more "muddy" between 0:06 and 0:12. That's really strange. Have to investigate that, but I couldn't hear any other differences, except that Radium is using a different resampler algorithm than protracker. Can you be more specific about what's completely wrong? Thank you.

Here's a couple of more modules I just uploaded:

4-mat - Madness:
https://www.youtube.com/watch?v=uOEvbEi-sOc

Jogeir Liljedahl - Guitar Slinger:
https://www.youtube.com/watch?v=yesS2hdLr9E&feature=youtu.be
Title: Re: Visually pleasing videos of classic tracker modules
Post by: Radium Editor on March 19, 2016, 16:43:17
I think I see the problem. The mod importer don't remember sample offset value. I thought it was always resetted after usage, but protracker seems to use the last used value on the current channel when it's playing a sample with instrument number 0.
Title: Re: Visually pleasing videos of classic tracker modules
Post by: Radium Editor on March 19, 2016, 19:35:15
Fixed the sample offset problem, and uploaded a new video:
https://www.youtube.com/watch?v=DQhJk985x0w

Please let me know if anything is wrong. There are a couple of notes which are obviously wrong now, one of them is at 1:05, but overall it's much better. Anyhow, I think "completely wrong" was a bit of an overstatement, even before this fix.
Title: Re: Visually pleasing videos of classic tracker modules
Post by: Saga Musix on March 19, 2016, 21:09:50
ProTracker offset is more complicated than most people assume. Here is a test case that explains what you need to change: https://wiki.openmpt.org/Development:_Test_Cases/MOD#ptoffset.mod
The vibrato effect heard in the chiptune part right at the start is too strong, too.

Quote
Anyhow, I think "completely wrong" was a bit of an overstatement, even before this fix.
Writing a simple mod player that will get everything sound "somewhat correct" is trivial, hence anything that doesn't get the more advanced stuff right is "completely wrong" for me, especially in this particular module where entirely wrong drum samples are heard if you don't emulate the offset quirk correctly. ;) Not that this quirk is really specific to ProTracker, so it should not be applied in other formats.

Anyway, nice work. Why do some of the waveforms change their look while scrolling through the patterns (especially visible e.g. in Space Debris) - is that caused by offset effects?
Title: Re: Visually pleasing videos of classic tracker modules
Post by: Radium Editor on March 20, 2016, 10:18:50
ProTracker offset is more complicated than most people assume. Here is a test case that explains what you need to change: https://wiki.openmpt.org/Development:_Test_Cases/MOD#ptoffset.mod

Thank you. Those tests seems very useful. Wish I had known about them before. I've probably rewritten everything at least twice because I had done things the wrong way.
The ptoffset.mod module is really strange though...

Quote
The vibrato effect heard in the chiptune part right at the start is too strong, too.

To me it only sounds like the vibrato oscillator is updated a lot more often than in protracker. But there is some vibrato on channel 4 (the arpeggio sounds), which is not supposed to be there.

Quote
Writing a simple mod player that will get everything sound "somewhat correct" is trivial, hence anything that doesn't get the more advanced stuff right is "completely wrong" for me, especially in this particular module where entirely wrong drum samples are heard if you don't emulate the offset quirk correctly. ;) Not that this quirk is really specific to ProTracker, so it should not be applied in other formats.

Can you still hear if something is wrong in the new version? (The importer doesn't play the ptoffset.mod module correctly though, but does "Professional Tracker" exploit the very mysterious behavior in that module?)

Quote
Anyway, nice work. Why do some of the waveforms change their look while scrolling through the patterns (especially visible e.g. in Space Debris) - is that caused by offset effects?

Correct. Changing sample offset triggers Radium to repaint the waveforms while playing. It would have looked better if the module converter didn't add an "offset 0" commands right afterwards though, so it might seem a bit strange sometimes. (I just do this to avoid having to calculate how long the note is playing, plus to avoid having to deal with "sample offset" clash for the same instrument on different channels)

Title: Re: Visually pleasing videos of classic tracker modules
Post by: Saga Musix on March 20, 2016, 15:08:57
Can you still hear if something is wrong in the new version? (The importer doesn't play the ptoffset.mod module correctly though, but does "Professional Tracker" exploit the very mysterious behavior in that module?)
As you mentioned yourself there were some weird notes around 1:05, which is probably because you trigger the note when there's an instrument plus offset combination but no note next to it. In this case, the new sample is loaded (but not played), and the offset for the next note is memorized. This is also ProTracker-specific behaviour and I think it's part of ptoffset.mod.
Title: Re: Visually pleasing videos of classic tracker modules
Post by: Radium Editor on March 20, 2016, 15:55:45
As you mentioned yourself there were some weird notes around 1:05, which is probably because you trigger the note when there's an instrument plus offset combination but no note next to it. In this case, the new sample is loaded (but not played), and the offset for the next note is memorized. This is also ProTracker-specific behaviour and I think it's part of ptoffset.mod.

Oh, yes, those weird notes are there because sample offset is set per instrument in radium, not per channel. So the offset was set on channel 3, while the same instrument was playing on channel 1. It's the same reason there is vibrato on the arpeggios in the beginning. This bug should not be so hard to fix.

ptoffset.mod, on the other hand, seems to handle some kind of bug in protracker. I would be surprised if the author(s) meant it to behave like that.
Title: Re: Visually pleasing videos of classic tracker modules
Post by: Radium Editor on March 20, 2016, 18:02:35
Seems like I didn't read the descripton for ptoffset.mod in the link you gave me:
Quote
ProTracker 1/2 has a slightly buggy offset implementation which adds the offset in two different places (according to tracker_notes.txt coming with libxmp: "once before playing this instrument (as is expected), and once again after this instrument has been played").
Does "Professional Tracker" exploit this bug? Either way, I don't think I'll support it in Radium.  :)
Title: Re: Visually pleasing videos of classic tracker modules
Post by: Saga Musix on March 20, 2016, 18:59:50
Yes, ptoffset.mod features some of the bugs found in Professional Tracker and I think goes a bit beyond that - if the file plays correctly, you can be sure that you got ProTracker-style offset 99% right.
Title: Re: Visually pleasing videos of classic tracker modules
Post by: Radium Editor on March 20, 2016, 19:27:18
But the question is if "Professional Tracker" exploits the protracker bug exposed in ptoffset.mod, where it adds the offset both before and after playing the sample. Otherwice, I'm relatively confident that Radium does things correctly, and I can't hear any difference between Protracker and Radium now, except for those instrument vs. channel clashes.

Edit: I've looked through the module now, and I can't find any usage of that bug. For the bug to work, the 9xx-command must be on the same line as a note and a non-null sample number, but everywhere in this module, as far as I can see, 9xx-commands have been explicitly placed on their own lines before notes with sample number 0 are used.
Title: Re: Visually pleasing videos of classic tracker modules
Post by: Saga Musix on March 21, 2016, 03:05:18
It's the same bug really. It just depends on the viewpoint. ;) The description of the bug on the wiki is just very basic, and not exactly identical to how it should be implemented.
Title: Re: Visually pleasing videos of classic tracker modules
Post by: Radium Editor on March 21, 2016, 08:40:20
It's the same bug really. It just depends on the viewpoint. ;)
Sorry, same bug as what?
Title: Re: Visually pleasing videos of classic tracker modules
Post by: Saga Musix on March 21, 2016, 13:38:22
The bug that is demonstrated by ptoffset.mod is exactly what is being abused in Professional Tracker, but the latter may not exploit all possible combinations of offset commands. ptoffset.mod tests all relevant cases.
Title: Re: Visually pleasing videos of classic tracker modules
Post by: Radium Editor on March 21, 2016, 13:47:47
The bug that is demonstrated by ptoffset.mod is exactly what is being abused in Professional Tracker,

Really? I can not find that bug being triggered in "Professional Tracker" anywhere. Can you be specific about exactly when this happens?


Quote
but the latter may not exploit all possible combinations of offset commands. ptoffset.mod tests all relevant cases.

Sure, ptoffset.mod is a fine test, and apart from the bug in protracker that it exposes, Radium plays it perfectly.
Title: Re: Visually pleasing videos of classic tracker modules
Post by: Saga Musix on March 21, 2016, 14:20:43
For example, line 0-2 corresponds to the pattern transition 62-63 in Professional Tracker: The noise sample on channel 1 is triggered with an offset effect in pattern 62 and then pattern 63 triggers the note again without an instrument number, so it plays the noise part of the sample again.
Line 8-10 corresponds to pattern 5 in Professional Tracker.
Line 16 tests if effect memory is applied correctly. This is probably not used in Professional Tracker but is also probably you get right automatically.
Title: Re: Visually pleasing videos of classic tracker modules
Post by: Radium Editor on March 21, 2016, 17:05:11
Thanks for the explanation, but I have no trouble understanding what happens in ptoffset.mod or "Professional Tracker".  :D

 I've only been asking if the protrfacker offset BUG happens in the module "Professional Tracker"?

You don't need to answer that though, because I've looked through the module and couldn't find any use of the bug, so I just assume that there's nothing wrong with latest youtube video I uploaded of "Professional Tracker" two days ago, except for the 5 known occurences of a channel vs. instrument-bug, which is irrelevant to ptoffset.mod.

EDIT: "no trouble understanding" was an exaggeration. It's a bit hairy, but I know what happens. The point for asking about whether the protracker offset bug happens in this module, is whether I need to add a note in the youtube video about it not being played back correctly, since the protracker offset bug is not supported in the module importer in radium.
Title: Re: Visually pleasing videos of classic tracker modules
Post by: Saga Musix on March 21, 2016, 17:31:23
Now I'm confused, maybe we need to clear up terminology again. :)
By ProTracker offset bug I consider any weird offset logic, including the one that is exploited in Professional Tracker. I think you only consider the part where the offset is doubled after a note + instrument number + offset combination is found? If so, then this is indeed not exploited in Professional Tracker.
Title: Re: Visually pleasing videos of classic tracker modules
Post by: Radium Editor on March 21, 2016, 17:39:25
Exactly. That's the bug. I did try to define the terminology though. On the last post of page 1, I quoted the description of ptoffset from the link you gave, and in the next post I wrote: "But the question is if "Professional Tracker" exploits the protracker bug exposed in ptoffset.mod, where it adds the offset both before and after playing the sample". The other behaviors doesn't necessarily seem like bugs to me.

Guess it could have been clearer though. Glad we cleared this up.  :)
Title: Re: Visually pleasing videos of classic tracker modules
Post by: Radium Editor on March 21, 2016, 19:59:46
New version without the offset vs. instrument bugs:
https://www.youtube.com/watch?v=UtL96zsPDOw

(I'll probably upload yet another version soon, one with a more natural waveform repaintings caused by sample offset effects. One where sample offset values are not set back to 0 on the next line, but instead at the line the note stops playing. Now it looks a little bit rediculous)
Title: Re: Visually pleasing videos of classic tracker modules
Post by: Radium Editor on March 24, 2016, 12:19:19
New version of Professional Tracker, without immediately resetted offset values:
https://www.youtube.com/watch?v=i49fmYPH49k

New version of Space Debris, without immediately resetted offset values:
https://www.youtube.com/watch?v=ZGtlJKmGLNY

Looks a lot better now.