pouët.net

MOD files with 8 channels?

category: music [glöplog]
Startrekker had 8 tracks per pattern but you could only play 4 voices simultaneously. The 8 channel feature was probably meant for MIDI, I guess.

Oktalyzer could do 8 voices but channels were paired. each pair of channels had to use the same playback frequency and volume (so mixing was indeed a simple "add").

Real (in terms of real independent voices) multichannel trackers (on Amiga) did not appear until the A1200 was released. The 68(ec)020 CPU was finally fast enough to mix 8 independent voices at decent playback rates. AON was one of them, dunno if it was the first but it sure was not the last. (btw, I am still working on a 'successor')

My personal favourite (soundwise) is TFMX (turrican2 world 4 subtune 1 is just brilliant, although it only uses 4 channels).

Ah, nostalgia :)
added on the 2010-09-16 19:41:38 by xyz xyz
Quote:

Startrekker had 8 tracks per pattern but you could only play 4 voices simultaneously. The 8 channel feature was probably meant for MIDI, I guess.


Bollocks!
added on the 2010-09-16 20:16:06 by StingRay StingRay
hmm....seems you are right. very interesting. now I wonder how the mix-routine worked..

can you point me to some 8 channel modules made with Startrekker ?
(modland has some modules but I cannot really tell which one of them uses the 8# mode)
added on the 2010-09-16 20:38:13 by xyz xyz
Quote:

hmm....seems you are right. very interesting. now I wonder how the mix-routine worked..


This is what Exolon himself said:

Quote:

As for the mixing... Basically I use a buffer, which is so long and plays
at the right speed to make the buffer sound for 1/50 second. So while
the buffer plays I calculate the next buffer. That way the processor dont
have to be timed. If you have a speedier processor you could calculate with
quadruple or more accuracy, say you conneyct a 16bit D/A on the pararllell
port or something, then you could play 8 16bit channels on 44khz.

However all this boils down to composing only. For games and demos, where
the music is REALLY used, you cant afford having the processor calculate
the music half the time.

For the mixing of the buffer, I have a separate buffer for each of the 4
native channels. So I mix two channels into one, by simply sliding
through the two samples, picking the right samples for the speed the
sample should be played in, adding them, scaling the result and putting
into the buffer. You COULD interpolate also to get even better result but
then you need again a speedier processor.


Quote:

can you point me to some 8 channel modules made with Startrekker ?
(modland has some modules but I cannot really tell which one of them uses the 8# mode)


Check if the modules contain the FLT8 sign, they are Startrekker 8chn modules. I also have some 8ch modules from our former musician which he made wayyyy back when ST1.3 was released. I'll see if I can find the disk but don't expect anything soon.
added on the 2010-09-16 20:57:00 by StingRay StingRay
Thanks for the insight, StingRay!

Meanwhile I found the sourcecode for the 8 channel replay: StarTrekker_v1.2_8Channel.s

the interesting part is the inner mix loop:

Code: mt8_gs: macro move.b (a0,d0.w),d4 ext.w d4 move.b (a1,d1.w),d6 ext.w d6 add.w d6,d4 asr.w #1,d4 move.b d4,(a5)+ swap d0 swap d1 add.l d2,d0 add.l d3,d1 swap d0 swap d1 endm


so the catch is that you have no volume control, but the mixed voices can play at different rates.

quite nice for 1990 !
added on the 2010-09-16 21:04:57 by xyz xyz
(no volume control = similar to oktalyzer volume can only be set for a channel pair)

now which one was first, oktalyzer or startrekker8 ? :)
added on the 2010-09-16 21:06:38 by xyz xyz
Quote:

I also have some 8ch modules from our former musician which he made wayyyy back when ST1.3 was released. I'll see if I can find the disk but don't expect anything soon.


ok I downloaded all the startrekker modules from modland but they are all 4 channel.
Please upload the tunes once you find them (for historical purposes)

Do you remember this prod D-tect Hack-Mag Issue #03 it featured a very nice 8 channel oktalyzer tune (one of my all-time favourites, actually)
added on the 2010-09-16 21:22:12 by xyz xyz
Quote:
now which one was first, oktalyzer or startrekker8 ? :)


Good question indeed. :) If memory serves me right, the first Octalyzer also appeared in 1990 but I'm not 100% sure.

Quote:
ok I downloaded all the startrekker modules from modland but they are all 4 channel.
Please upload the tunes once you find them (for historical purposes)


Will do once I found the dusty disks. =)

Quote:

Do you remember this prod D-tect Hack-Mag Issue #03 it featured a very nice 8 channel oktalyzer tune (one of my all-time favourites, actually) Do you remember this prod D-tect Hack-Mag Issue #03 it featured a very nice 8 channel oktalyzer tune (one of my all-time favourites, actually)


Of course I remember it, check the comments section. :P Hack-Mag will forever be my favourite Amiga disk mag! :) Too bad they only released 7 issues (check the bootblock intro with tiny chip tune player they made for issue #7).
added on the 2010-09-16 21:50:25 by StingRay StingRay
Oktalyzer came first.

A preview here was released (probably leaked) possibly in 1989.

There some 6 & 8 okt tunes here: http://pouet.net/prod.php?which=13459 & more come with oktalyzer itself.

Startrekker & Oktalyzer used the same mixing trick.
added on the 2010-09-17 01:40:47 by hitchhikr hitchhikr
Code: mt8_gs: macro move.b (a0,d0.w),d4 ext.w d4 move.b (a1,d1.w),d6 ext.w d6 add.w d6,d4 asr.w #1,d4 move.b d4,(a5)+ swap d0 swap d1 add.l d2,d0 add.l d3,d1 swap d0 swap d1 endm


Interesting. I would have pre-shifted all the samples to 7bit to avoid needing ext.w / asr, personally.
added on the 2010-09-17 10:05:02 by xeron xeron
so, that would be:

Code: mt8_gs: macro move.b (a0,d0.w),d4 add.b (a1,d1.w),d4 move.b d4,(a5)+ swap d0 swap d1 add.l d2,d0 add.l d3,d1 swap d0 swap d1 endm

added on the 2010-09-17 10:06:50 by xeron xeron
Well, you would lose half a bit of precision, e.g. (3+3)/2 = 3, while (3/2)+(3/2) = 2 (or 4). But it probably sounds pretty lo-fi either way. Anyway, here's another idea:

Code:previously: moveq #0,d6 swap d2 swap d3 mt8_gs: macro move.b (a0,d0.w),d4 add.b (a1,d1.w),d4 move.b d4,(a5)+ add.l d2,d0 addx.l d6,d0 add.l d3,d1 addx.l d6,d1 endm
added on the 2010-09-17 10:59:50 by doomdoom doomdoom
@doom
Feel like writing a new 8-channel a500 tracker? ;-)
added on the 2010-09-17 11:07:37 by xeron xeron
Quote:

so the catch is that you have no volume control, but the mixed voices can play at different rates.


Actually, you could still use Paula's volume, it would just affect 2 channels instead of 1.

So the C command would be per hardware channel instead of per mixed channel.
added on the 2010-09-17 11:54:09 by xeron xeron
In fact, if i were writing an a500 8-channel tracker now, i'd lay it out as four channels each with 2 note columns and one command column. That would make it obvious that things like volume commands affect both notes in each channel.
added on the 2010-09-17 12:03:54 by xeron xeron
hmm but then you'd want them to have independant arpeggios.. damn. Well, OK, i'd have 8 channels as you'd expect, but i'd pair each virtual channel together visually somehow to at least hint at their linkedness.
added on the 2010-09-17 12:05:09 by xeron xeron
Quote:

ok I downloaded all the startrekker modules from modland but they are all 4 channel.

As I said on page 1, technically they *do* contain 4-channel pattern. An even pattern is linked with the next odd pattern to become an 8-channel pattern. Not all trackers/players take this into account, but the latest versions of f.e. SchismTracker and OpenMPT get it right.
A random semi-related question: Is there a list anywhere of known 'tricky' MODs that exploit obscure format quirks / variants / little-used effects, that can usefully serve as a test suite for a player? Would be a handy thing to have if I get back to developing jsmodplayer.
added on the 2010-09-17 13:21:34 by gasman gasman
Ode 2 Protracker by Asle is one of them.
Modules using Invert Loop might also be worth checking out, f.e. stuff by emax (f.e. flippy introtune or delicate 0ooz).

login