Digitracker

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
Screenshot of Digitracker, showing the sample editor

Digitracker was the first music program for the Amstrad CPC, which was based on digital instruments (samples) instead of PSG (chip) sound. Out of wave tables it mixed three 7 bit channels into one 4 or 8 bit channel, which has been output via the CPCs' internal PSG or the Digiblaster (printer port) DAC-extension. Later a version came out supporting the AMDRUM port / LambdaSpeak DAC instead of the Digiblaster.

As Digitracker was able to convert original Amiga MOD files into its own CPC format, it was possible to generate hundrets of song modules. The player has been used in the intro part of the Digital Orgasm demo. Digitracker got a "big brother", when Prodatron started to develop "Digitrakker" on the PC in 1995.

Technical facts

  • 64512 bytes free for samples
  • 34 pattern (when pattern-lenght is set to 64)
  • 16667 hertz 8 bit sampleoutput (Digiblaster)
  • 14493 hertz 4 bit sampleoutput (Soundchip)
  • 96 Songpositions
  • 8 Bit-Digiblaster support for high-quality sound
  • mostly Amiga-Protracker-effekt compatible, 17 effects (slides, vibratos, arpeggios, position-loops, sample-offset)
  • sample-editor (echo, mix, smooth...)
  • powerfull playerroutine, any startposition, interrupts possible (demos are possible, too), colorequalizer, equalizing rasterbar and more
  • comfortable uniformity standard-user-desktop

The sample format is quite simple:

8 bytes: "DT-SAMP1" 
1 word: sample length 
1 word: repeat start 
1 word: repeat length (<=2 means no repeat) 
[sample length] bytes: sample data 

All words are stored little endian. The sample data is 7bit unsigned (so #40 is the zero-level, #00 minimum, #7f maximum).

There will probably be a problem with small samples of e.g. 127 bytes.

The core-mixer-routine, which is rendering the output-stream out of the three channel-samples, doesn't test, if the end of a sample is reached, as this would require too much CPU time and would lower the frequency and so the quality a lot. So only every 1/50 second the player tests, if the end of a sample has been reached or passed. Depending on the frequency much more than 127 bytes of a sample have been processed, until the player checks for the end. A suggested sample size is at least 1000 bytes.

Program modules

  • main-module, Digitracker itself. In here you can edit or create new MDLs (modules).
  • MOD-Converter, which converts Amiga-Protracker-MODs to Digitracker-format, sample (Amiga, PC...) and CPC-MOD transfer is possible, too
  • The Playercode-Generator, which creates an external player-routine for Digitracker-modules

Manual

Web links

Other