How samples are managed

Overview

Arkos Tracker can handle samples natively in two ways:

  • via events.
  • via instruments, directly in notes in the pattern.

The events are used to play single notes, non-looping samples, which make them ideal for drums, also called “digidrums”. The AKY player has a special sub-player to play them.

The sample instruments, written as notes in the pattern, are more complex to handle, depending on the context:

  • For sample-only music, a MOD player is available.
  • For PSG+sample, using a specific player.

Samples, on most 8-bit machine, have an important cost:

  • When triggered, they use 100% of the CPU. Most of this time is actually spent in waiting (except for MOD where every cycle is used!), so if you want to integrate an effect, it is up to you to “micro-code” your effect within this tempo. It is a possibly very difficult task, so please bear that in mind before starting asking your coder about using digidrums. Checking for the keyboard is ok though.
  • Depending on your assets, each sample may take at least 1kb for drums, any a few kilobytes for longer sounds.
  • Making the samples sound ok along the song may need a bit of tweaking of volumes, frequency filters, so be patient.

Sample frequency and sample player frequency

This part is important if you want to take the full advantage of AT sample capabilities, and understand how to make your samples sound right when targeting the hardware.

Sample frequency

First of all, your sample has been sampled using a frequency. On a modern computer, you would most likely find samples sampled at 44100 Hz, or sometimes even more. On old MODs, you would be likely to find samples at 8373 Hz. Without going into details, this means that such sample will lose all their high-end frequencies, but this will also save a lot of memory.

So if you need to include samples into your song, do NOT use 44100 Hz, unless you know what you are doing, because the sounds will fill your memory very quickly! Depending on the usage, I would suggest using 8000 Hz samples (and not 8373 Hz) if your hardware is a 8-bit and for drums. You may want to increase the quality to 11025 Hz samples if you play a MOD.

Sample player frequency

This concept is new in AT3 (it was present in AT2, but not handled the same/proper way). In the PSG settings of your subsong, a “sample player frequency” is shown, with a default to 8000 Hz:

This is an important concept, because it says to AT3 that the “code” that plays a sample has a frequency of 8000 Hz. So it will play a 8000 Hz sample perfectly using the “reference note” (which is C-6). If your sample is sampled at 16000 Hz, you will have to play it twice faster (C-7) to play it to its natural note.

On the opposite, if your sample player frequency is high (because you are on a Atari ST maybe, or have a kick-ass replay routine), like 16 kHz, you will probably have to use lower notes to play 8000 Hz samples right.

The bottom line is this: when wanting to play samples, ask the coder is sample player routine. It will probably be 8 kHz on an 8-bit. By knowing that, you will know what note to use when composing the song. Don’t worry: if you or your coder make a mistake, it is still possible to correct the sounds by transposing them in the patterns, or upload new samples.

Diginote

The diginote, in the sample editor, has a default note of C-6.

This indicates the note used when a sample is played in the event track. However, it has a hidden consequence: when exporting the samples, the sample is resampled according to this note, so that it sounds right on the hardware. Warning, the sample is resampled even if used in a pattern, so it is advised not to change the diginote with samples used in patterns (anyway, the diginote has no consequence to them, so you’d have no interest in using it).