tzxtools

tzxwav

Reads ZX Spectum tapes from a WAV file and converts it to TZX.

tzxwav is very slow and is only able to convert standard speed recordings. However, its main goal is to handle poor quality recordings. It is robust against tape speed flutter, different recording levels, inverted signals and other tape related problems.

tzxwav is optimized for ZX Spectrum tape recordings with standard timing, and thus unable to properly convert non-standard files, like speedloaders. There are other tools for this purpose, for example audio2tape that comes with the Fuse emulator.

Usage

tzxwav [-h] [-o TARGET] [-p] [-v] [-t {low,med,high}]
       [-T {low,med,high}] [-l {none,short,normal,long}] [-c CLOCK]
       [-s START] [-e END] [-S {left,mix,right}] [-D] file

Sampling recommendation

You will get best results if you use a sampling rate of at least 44100 Hz, 16 bit resolution per sample, and a single audio channel. I recommend to decide either on the left or right channel, depending on the quality. Avoid mixing down stereo to mono.

Use a proper recording level, but try to avoid clipping.

Do not apply any low pass or band pass digital filters, unless the audio quality is really bad and you get too many CRC errors. However for tape files that were generated by a tool or were compressed by a lossy compression, it may help to apply a low pass filter with a cut off frequency of 1600 Hz first.

Example

tzxwav -o tape.tzx tape.wav

Reads the tape.wav file and converts it to a tape.tzx file.

tzxwav -tlow -Thigh -lshort -o tape.tzx tape.wav

Tries its best to read a poor quality audio file from tape.wav, but may also generate some useless blocks in the TZX file.