Skip to content

React-based utility for reading and writing Interact or Victor/Hector cassettes in digitized audio files or archived tape formats

Notifications You must be signed in to change notification settings

edanuff/interact-tape-converter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Interact Tape Converter

Try online here. Hosted by Netlify.

React-based utility for reading and writing Interact or Victor/Hector cassettes in digitized audio files or archived tape formats so that you can either use these tapes with emulators or with real Interact or Hector machines.

Tapes can be loaded from any audio format but 44khz mono is recommended when digitizing real tapes.

Tape archive files are supported in the .K7 and .CIN formats that are used by many Interact and Hector emulators such as MAME/MESS Interact, DCHector, and Virtual Interact emulators as well as the Interact For MiSTer FPGA core.

.K7/.CIN to .WAV adapted from MAME/MESS hect_tap.cpp, written by J.J. Stacino.

How It Works

The Interact and it’s descendents (Victor Lambda, Hector) recorded tapes by “bit-banging” square waves of various durations to the cassette tape. The analog process of recording these to tape turns them into rounded sine waves. The Interact records three types of values to tape - zeroes, ones, and gaps. Each of these values is simply a different duration for the waveform cycle. Tapes are read back by measuring the distance between peaks in the waveform. Many computers in the late 70’s used similar mechanisms for storing data on tape. When looking at a wave file, you should see rounded versions of the following waveforms, representing the appropriate bit types being stored. If a tape does not convert without error, you should first resample the tape at a higher output volume (don't be afraid of clipping when digitizing computer cassettes) and you may need to hand edit waveforms using the pencil tool in Audacity or a similar audio editor to fix waveforms that appear too distorted or have noise in them.

Note: The "Gap" bits are sometimes called "Synchro" bits in different documentation. The original Interact documentation used the term Gap bits so those are used here.

Behind The Scenes

All of the hard work is done within two web worker scripts that do the audio processing in background threads. These are in the public/workers directory. Z-Score Peak Detection is used to deal with the fact that many digitized old cassette tapes can have a sometimes wildly drifting DC-offset.

About

React-based utility for reading and writing Interact or Victor/Hector cassettes in digitized audio files or archived tape formats

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published