The players

What player to use?

Arkos Tracker 2 comes with several players. Which one to use depends on your needs.

Note: Wants to play a MOD, or a music with samples? Check out this page.

Summary

  • For now, only the AKY player is available on 6502 and 68000.
  • All the Z80 players support sound effects (no sound effects for 6502/68000 yet).
  • All the Z80 players, Lightweight excepted, support ROM: on demand, they won't use auto-modification anymore and use a small buffer instead, at a small price in CPU.
  • The 6502 players support: Apple 2, Oric, and Atari 8-bit with 48K RAM (800 / 800XL / 1200XL / 600XL / 65XE/ 130XE / XEGS) plus the SONari extension.
  • All the players support player configuration: only what the song needs is compiled! Less memory used, more speed!
  • SAMPLES ARE NOT SUPPORTED by any player for now, except the MOD player (which is 100% sample, no PSG):
    •  The reasons are:
      • Not many people seem to care. If enough people ask me to do it, I can make a player of course. But be specific about what you exactly need. Remember that, on CPC at least, playing samples takes MOST OF THE CPU, unless complicated/cumbersome code is done (interleaving small chunk of code and sample playing), making it highly complicated to produce an easy-to-use and generic player.
      • Playing samples along with PSG is tricky, and each coder has its need, so if you want samples, you should code your own sample player.
    • Digidrums can be played but you have to play the samples by yourself.

Generic player (AKG)

This is the classical player, the kind STarKos and AT1 produced. It can play all the FM features of the song, but does not handle samples directly: it is up to you to play them. This player is the best compromise between power and efficiency. The songs and player are optimized both in speed and memory. This is probably the player to use in a game, as it handles long music very well. It also has a support for sound effects. Demos may use it, but cycle-accurate code won't like it: it can not be stabilized anymore, or with great difficulty, because of the new effect management.

Basically, if you don't know what player to use, use this one.

Pros:

  • Supports all the features of AT2 (all effects, subsongs, etc.).
  • Best compromise between speed/memory.

More information here.


Streamed player (AKY)

This is new for AT2. Some demos use their own player based on compressed YM. This allows for very fast player but huge music. AKY brings something new: both fast player and a excellent compression ratio! This player is 2-3x faster than AKG (7-12 scanlines on a CPC), but the songs are also 2-3x bigger (yet still 2-3x smaller than the existing YM-based solutions, ah!). Games will probably not make use of such fast player, and will suffer from the memory overhead. The best clients will be demos. Even better, the code also exists in a stabilized version, allowing its use in NOP-accurate loops!

Pros:

  • Fast as hell.
  • Exists in a "stabilized" version, i.e. NOP-accurate (on an Amstrad CPC).

Cons:

  • Larger songs.

More information here.


Lightweight player (AKL)

This player has been superseded by the AKM (see below).

You are working on a 4k demo, or a 64k game? You have a tremendous hard time having a music in your overcrowded production? This player is for you: it is both light and produce short songs. This comes at a price: only a subset of AT2 features are available (see below). However, this is actually enough for 95 % of released music (...why am I bothering with all these effects?). Also, to save space, the code of the player is shared among tracks: indirections and sub-routines make it slower (in AT terminology. It is still faster than most generic player! Max: 35 scanlines on a CPC). It can also be fitted with the sound effect player.

Pros:

  • Smaller player and songs.

Cons:

  • Slower than the other AT2 players.
  • Less features.
  • Superseded by the AKM player.

More information here.


Minimalist (AKM)

Even more compact and yet more powerful than Lightweight!

More information here.


Stand alone sound effects

If you don't want music but want sound effects, you are covered.


RAW

This is not a player, but a binary format anyone can read. What's its use?

  • Use it is a pivot format to convert AT2 songs into a format of your own. The format is in the players\misc\doc folder.
  • Use its simple structure to play time-consuming music, such as MOD.

MOD

A MOD player is available (CPC only).


Platform interoperability?

(If your question is "can my assembler compile the players?", check this page.)

Can a song exported in a PSG of 1000000 Hz (like on an Amstrad CPC) sounds well on a Spectrum? It depends mostly on the player, and a bit on the song:

  • AKY encodes all periods, software and hardware. So it will sound very different from a platform to another. You should export the song once again, targeting the right PSG frequency.
  • AKG and Lightweight songs are composed of notes, not period. So in theory, the song can be directly used to another platform. However, pitch effects are period-based, so they will sound differently.

Morality: listen to the song on the real hardware, or load the song in AT2 and set the PSG according to the hardware your are using. Correct the pitch effects/tables if needed! So this means that you may need several versions of a song if you plan on targeting several platforms.