Git Product home page Git Product logo

cassette-playlist's Introduction

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

Author: David Beazley (http://www.dabeaz.com)
Copyright (C) 2010

This is free software. You are free to use it however you wish, but if you
decide to include it in some other package, please give me some credit.

Overview
--------
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).

More Information
----------------
See the following blog posts for more information:

http://dabeaz.blogspot.com/2010/08/using-python-to-encode-cassette.html
http://dabeaz.blogspot.com/2010/08/decoding-superboard-ii-cassette-audio.html

Installation Notes
-------------------
The kcs_encode.py and kcs_decode.py are standalone programs that
should work with any Python 3 installation (version 3.1.2 or newer).
If you decide to install the scripts, they are simply placed
in the Python scripts directory.

Feedback
--------
This is just a fun personal project for me. If you use these scripts
for a vintage computing project, send me email ([email protected]) and
let me know about it.  --Dave




cassette-playlist's People

Contributors

sasham43 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.