py-kcs (Encode/Decode Kansas City Standard Cassette Audio Data

This package provides a pair of scripts, kcs_encode.py and kcs_decode.py
that encode and decode WAV audio files containing data encoded in the
Kansas City Standard as used on some of the first home computers. In my
case, an Ohio Scientific Superboard II from 1978. For more information
on KCS encoding, see http://en.wikipedia.org/wiki/Kansas_City_standard.

Usage

First of all, you need to install Python-3.1.2 or newer on your system.

To encode a text file into a WAV file suitable for playback, do this:

% python3 kcs_encode.py input.txt output.wav

This reads the file 'input.txt' and writes a WAV file 'output.wav'. The
resulting WAV file is encoded in mono with a framerate of 9600 Hz.

To decode a WAV file containing KCS data that you have recorded, do
this:

% python3 kcs_decode.py input.wav

Decoded text contained in the WAV file will be printed to standard
output. This decoding process will strip NULL bytes and convert
line endings to the native line endings for your platform.

If you want to decode raw binary data, type this:

% python3 kcs_decode.py -b input.wav

In this case, output is still directed to standard output, but
is exactly as found in the audio (including all NULL bytes).