Transcribing (importing) from Milkytracker (FT2)

Post Reply
jcage
Posts: 45
Joined: Fri Jan 18, 2013 1:25 am

Transcribing (importing) from Milkytracker (FT2)

Post by jcage »

Hi there, i am currently porting my old milky modules over to sunvox. Importing FT2 modules is an important feature, because they are around everywhere and they document how that tracking business once began. On the way i will report effect mappings and how to get things sound right (if you don't mind).

- 9xx -> 0009 XXYY
[ YY == xx ]
Bug (?) While importing, xx is multiplied by 2. However sample start is defined the same (step size 0xFF samples) in xm and sunvox.

- fast volume ramping
To immitate the 10ms volume ramp used in MT, 000A XXFF effect can be applied (at a faster speed).

- sample interpolation may be set to linear (default is cubic in SV).


Cheers!
-jc

ps. My example file is 78kB (incl. drum loop), but allowed are only 32kB. Sorry.
User avatar
NightRadio
Site Admin
Posts: 3955
Joined: Fri Jan 23, 2004 12:28 am
Location: Ekaterinburg. Russia
Contact:

Re: Transcribing (importing) from Milkytracker (FT2)

Post by NightRadio »

Bug (?) While importing, xx is multiplied by 2. However sample start is defined the same (step size 0xFF samples) in xm and sunvox.
Yes, it is a bug. Thank you. This will be fixed in the next update.
To immitate the 10ms volume ramp used in MT, 000A XXFF effect can be applied (at a faster speed).
10ms volume ramp - is it some specific MT effect?
sample interpolation may be set to linear (default is cubic in SV).
Why? :)
jcage
Posts: 45
Joined: Fri Jan 18, 2013 1:25 am

Re: Transcribing (importing) from Milkytracker (FT2)

Post by jcage »

10ms volume ramp - is it some specific MT effect?
MT aims to be a FT2 clone. I guess FT2 has this option (fast volume ramping) enabled by default, too. I learned it from looking at the MT source code. Every volume change, or even every tick (its in the audio callback) is preceeded by a short linear volume ramp from the old to the new value (5 lines of code). Standart mod players like xmplay, moc etc. are based on that code, too. I dont know for shure about the other big family (impulse tracker clones) but very likely they have it also.

It sounds very different for sliced drum loops. A bit like woap-woap helicopter sometimes. I can send you an example in sunvox with and without the effect. And for shure it helps avoiding clicks and pops.
Why? :)
Linear interpolation often sounds a bit clearer or brighter to my ears. Its the interpolation used in MT/FT2 and is cheaper. Thats a matter of taste, cause sunvox has a high precision audio engine (oversampling?) and therefore connot be compared directly with old trackers.
User avatar
NightRadio
Site Admin
Posts: 3955
Joined: Fri Jan 23, 2004 12:28 am
Location: Ekaterinburg. Russia
Contact:

Re: Transcribing (importing) from Milkytracker (FT2)

Post by NightRadio »

MT aims to be a FT2 clone. I guess FT2 has this option (fast volume ramping) enabled by default, too.
Ok, i will check this.
Linear interpolation often sounds a bit clearer or brighter to my ears. Its the interpolation used in MT/FT2 and is cheaper.
I promise to think about it.
jcage
Posts: 45
Joined: Fri Jan 18, 2013 1:25 am

Re: Transcribing (importing) from Milkytracker (FT2)

Post by jcage »

Panning

The 8xx (Px in volume column) command translates like this (sampler 0200 in sunvox):
left ........ mid ......... right
8 00 ... 80 ... FF
0200 0000 ... 4000 ... 8000

If you want to use pan on a per-note basis you will have to create a sampler for each track (eventually with the same sample).
User avatar
NightRadio
Site Admin
Posts: 3955
Joined: Fri Jan 23, 2004 12:28 am
Location: Ekaterinburg. Russia
Contact:

Re: Transcribing (importing) from Milkytracker (FT2)

Post by NightRadio »

If you want to use pan on a per-note basis you will have to create a sampler for each track (eventually with the same sample).
It is not :) There are two types of controllers. Global - for whole module. And Local - for some particular note.
You can read about it here:
http://www.warmplace.ru/wiki/doku.php?i ... ern_format
and here:
viewtopic.php?f=3&t=2008
jcage
Posts: 45
Joined: Fri Jan 18, 2013 1:25 am

Re: Transcribing (importing) from Milkytracker (FT2)

Post by jcage »

Oh, I see... so you may use global ctls only in certain cases, ie. as (simultainous) second effect.

Thx for the tip!
User avatar
NightRadio
Site Admin
Posts: 3955
Joined: Fri Jan 23, 2004 12:28 am
Location: Ekaterinburg. Russia
Contact:

Re: Transcribing (importing) from Milkytracker (FT2)

Post by NightRadio »

Yes, but keep in mind, that not all controllers can be local. Some modules has no local controllers at all.
You can check the list of available local controllers in the module information.
jcage
Posts: 45
Joined: Fri Jan 18, 2013 1:25 am

Re: Transcribing (importing) from Milkytracker (FT2)

Post by jcage »

Cool. I just tested pan with generator/sampler ... here you can use local and global ctl at the same time - - - local values (those with a Note) work as relative offset for the global value, ie. panning global 0000 (hard left) + local 8000 (hard right) = center. Makes perfectly sense in a musical way. You can use local values in the pattern editor and still use an offset for all that.

The local "type" ctl overrides the global setting (offset wouldnt make sense).


BTW I could not find any difference in using ie. 000F 0030 and the new 001F 0030. Whats the idea behind the 001F effect? Should it provide "real" BPM??
jcage
Posts: 45
Joined: Fri Jan 18, 2013 1:25 am

Re: Transcribing (importing) from Milkytracker (FT2)

Post by jcage »

Slide to Note speed

This is simple in theory. 01 10 -> 0001 0040 . (Multiply by 4) Perfect tick equivalent.

But... MT ignores the first tick on a row, eg. for 6 ticks/row the effect is only applied to 5 of them; so these would sound similar:
c4 .. .. 01 10 | .. .. .. F 06 (MT)
c4 .. .. 0001 0040 | .. .. .. 000F 0005 (SV)

So.. you cannot easly translate xm to sunvox for the exact sliding speeds if you want to preserve the ticks/row.
User avatar
NightRadio
Site Admin
Posts: 3955
Joined: Fri Jan 23, 2004 12:28 am
Location: Ekaterinburg. Russia
Contact:

Re: Transcribing (importing) from Milkytracker (FT2)

Post by NightRadio »

MT ignores the first tick on a row, eg. for 6 ticks/row the effect is only applied to 5 of them;
Yes, it is FastTracker feature. But unfortunately we can't make it fully compatible with SunVox.
jcage
Posts: 45
Joined: Fri Jan 18, 2013 1:25 am

Re: Transcribing (importing) from Milkytracker (FT2)

Post by jcage »

Pattern end cuts playing notes in SV (but not so in MT)

This makes sense from a purely logical POV... and is yet another difference to MT/FT2. However, from a creative POV new possibilities arise when looping patterns and the notes from the previous patterns are sustained.

I suppose this is not changeable as it affects the core functionality of SV?

There are workarounds of course - like splitting every track of MT in one separate pattern in SV and adjusting the loop points - but you end up with hours of work. Nevertheless it is doable.
jcage
Posts: 45
Joined: Fri Jan 18, 2013 1:25 am

Re: Transcribing (importing) from Milkytracker (FT2)

Post by jcage »

effects with value ZERO

This is al little bug (if you want to call it that) when importing from *.xm:
"Empty" values in MT are repeating the previous value of the same effect, eg:
0A 01
0A 00 --> this will repeat 0A 01, instead of setting the actual value to zero (in MT). However, it is imported into SV as 000A 0000.

----------

short conclusion: programmimg MT is a more flashy, psychodelic trance experience, while programming SV has the advantage of a higher sampling frequency and much greater flexibility.
Post Reply