Page 5 of 6

Re: New tape cleaner tool

Posted: 15 Oct 2019 14:20
by Bill B

It should compile with MinGW or MinGW64. You will also need the wxWidgets library.

With regards to comments, the code was originally written just for my own use to solve Paul's challenge.

Re: New tape cleaner tool

Posted: 22 Oct 2019 21:56
by thewiz
Hi Bill,

I am attempting to compile tapeview using mingw-w64 and wxwidget 3.1.1 and encountered a problem with a missing mnem.cpp file. Is this a standard file somewhere or something you wrote?

Re: New tape cleaner tool

Posted: 25 Oct 2019 19:29
by Bill B

Something I wrote, and omitted from the ZIP file. Apologies for that :oops:

I have included it in the attached ZIP which also has some further enhancements to decoding the WAV file, derived from plagiarising your mtx2bas code.

Re: New tape cleaner tool

Posted: 05 Nov 2019 11:08
by thewiz
Thanks Bill.

I've got it compiled on Windows and running but it gives me an error whenever it calls setstatusbar. Not got it to hand but something about updating a read-only combo box.

It converts the filename block but need to find out how to use the program.


Re: New tape cleaner tool

Posted: 08 Nov 2019 18:40
by Bill B

Glad you got it compiled at least. I don't know why it should be giving the error message, but then I have only ever compiled and run the program on Linux.

Sorry about the lack of documentation. As mentioned it was originally written for my own use. It might be better to start by playing with a known good audio file, rather than a difficult one you are trying to recover.

The method of detecting the edges of a pulse is selected by the "Scan Mode" pull-down. In most cases the "Up Cross" and "Down Cross" values set threshold values used by the selected method. The "Scan" button updates the pulse detection after any of these have been changed.

Detected pulses are divided into four categories:
  • Short (bad) - Shorter than the "Short Pulse" value.
  • Zero - Longer than "Short Pulse" but shorter than "Mid Pulse".
  • One - Longer than "Mid Pulse" but shorter than "Long Pulse".
  • Long (bad) - Longer than "Long Pulse"
The "Back Bad" and "Next Bad" will scroll to the previous or next bad (short or long) pulse.

A "Mark" pulse is a one pulse following a sequence of at least "Min Lead" number of zero pulses. The "Back Mark" and "Next Mark" buttons will scroll to the previous or next mark pulse.

A "block" is the data following a mark pulse. The "Back Block" and "Next Block" will scroll to the start of the previous or next block of data. They also load the interpretation of the data into the lower scroll box. The "Format", "Start Address" and "Block Length" should be set automatically if the tape is a conventional BASIC tape which is being successfully decoded, but can also be adjusted manually if required.

The "Byte Addr" box and "Goto Byte" button can be used to scroll to and highlight the pulses believed to be forming the selected byte.

If you have found a scanning method that appears to decode the tape, then the result can be saved as either a clean audio file, or an MTX file using the "File" menu. A text listing of the decoding can also be saved.

If you are not managing to obtain a clean scan then you can try manually editing some of the pulse edges using the "Manual" menu. First use the "Lock Pulses" option to freeze all the automatically detected pulse edges. Then left click on the time history to add a new pulse edge, or right click to delete one. You probably want to add or delete two edges, unless just moving one edge. Click the "Scan" button to update the analysis of the pulse edges. Manually entered pulses can be saved or loaded.

Re: New tape cleaner tool

Posted: 09 Nov 2019 00:39
by Dave
I think that I need to update my page about Bill’s Tape Cleaner on the website. When I do that, it might help Windows users to host a pre-compiled exetuable? If Paul wants to share his, I will post it to the site.

Not being a Linux user, I’d guess that a single Linux executable might be less useful (?), but if it is any use (and someone sends me the file), I could do that too


Re: New tape cleaner tool

Posted: 01 Jan 2020 22:33
by muldjord
Wow, this tool is amazing! Just ran Maxima through it and having it visualized like that is very useful and quite interesting. Thank you for this great tool!

Re: New tape cleaner tool

Posted: 11 Aug 2020 22:18
by stephen_usher
I've been experimenting with this trying to recover my old files from a WHSmith C15 tape, which is very noisy, and getting nowhere.

There's a background warble and other noise. This was played through an old tape machine from which a ZX Spectrum can load files without difficulty, so it can't be too terrible.

The files won't load on a real MTX, though the two machines I have do react differently, seeing different phantom file names.

I've tried doing a high-pass filter in Audacity, but although the data looks and sounds cleaner I get no more out of the scans.

Anyway, this is what the data looks like in Audacity (unfiltered), showing the first file name block.
Screenshot 2020-08-11 at 21.11.27.png
Screenshot 2020-08-11 at 21.11.27.png (284.09 KiB) Viewed 1897 times

Re: New tape cleaner tool

Posted: 14 Aug 2020 12:29
by Bill B
That certainly looks like you have got an overlaying low frequency signal, quite likely 50Hz or 100Hz.

Some of the scan methods will cope with that better than others. A little while since I last played with this so don't remember which one is best for that.

If you like to post the audio file I could have a play.

Re: New tape cleaner tool

Posted: 14 Aug 2020 14:42
by stephen_usher
I got a better copy using a different tape recorder, it still doesn't work, probably due to drop outs.

I'll upload the wav files to my web server and write a new posting when they're ready.