CPCWiki forum

General Category => Applications => Topic started by: cngsoft on 20:27, 01 April 17

Title: CSW2CDT, new tool suite for tape encoding
Post by: cngsoft on 20:27, 01 April 17
At last, after too many months, the first version of the CSW2CDT tool suite is publicly available. Dlfrsilver, loyal alphatester and main inspiration, wrote the French and English handbooks.

http://cngsoft.no-ip.org/csw2cdt.htm

The source code won't be released yet because it's extremely messy :-( Feel free to warn me of every incident that may happen when using CSW2CDT, and please ask me everything you may need to know.
Title: Re: CSW2CDT, new tool suite for tape encoding
Post by: ||C|-|E|| on 02:01, 02 April 17
Thank you for this! I actually do not have any tape I would like to transfer around (somebody made the CDTs already!) but this is a very nice and useful tool  :)
Title: Re: CSW2CDT, new tool suite for tape encoding
Post by: VincentGR on 10:52, 02 April 17
Fantastic!!!
Title: Re: CSW2CDT, new tool suite for tape encoding
Post by: Maniac on 12:38, 02 April 17
Great stuff. Look forward to trying it out.
Title: Re: CSW2CDT, new tool suite for tape encoding
Post by: cpcitor on 20:02, 11 September 21
Quote from: cngsoft on 20:27, 01 April 17
At last, after too many months, the first version of the CSW2CDT tool suite is publicly available. Dlfrsilver, loyal alphatester and main inspiration, wrote the French and English handbooks.

http://cngsoft.no-ip.org/csw2cdt.htm

Hi Cngsoft! You really achieve wonderful things!

I found old tapes that I'd like to convert to cdt. Looks like csw2cdt is the perfect tool!

I see a version at http://cngsoft.no-ip.org/csw2cdt.htm dated csw2cdt-20191102.zip

Quote from: cngsoft on 20:27, 01 April 17
The source code won't be released yet because it's extremely messy :-(

Messy source code is not a problem. Messy source code that works is always better than no source code at all, right?

Quote from: cngsoft on 20:27, 01 April 17
Feel free to warn me of every incident that may happen when using CSW2CDT, and please ask me everything you may need to know.

Well, I have a major "incident", actually a showstopper. Windows-only executables are a problem as none of my PCs run Windows. Anyway I like fiddling with source code and sometimes offering improvements.

Solution: can you offer source code for CSW2CDT? Even privately for a start, if you prefer.
I'm willing to adjust it to compile CSW2CDT for Linux and send you back whatever changes needed. I would focus on command line tools first.
Title: Re: CSW2CDT, new tool suite for tape encoding
Post by: robcfg on 20:48, 11 September 21
I'd like also to be available to compile it on MacOS, as it's been 7 years since I don't have any Windows machine at hand.


Also, releasing the source code will allow for improvements and contributions.
Title: Re: CSW2CDT, new tool suite for tape encoding
Post by: breiztiger on 12:03, 12 September 21
http://cngsoft.no-ip.org/csw2cdt-20210329-2555.zip
Title: Re: CSW2CDT, new tool suite for tape encoding
Post by: robcfg on 15:19, 12 September 21
Nice!


Let's see if I can make it work on MacOS.
Title: Re: CSW2CDT, new tool suite for tape encoding
Post by: robcfg on 16:08, 12 September 21
I managed to compile the programs on MacOS and Linux.


Here are my modifications to the CSW2CDT.C file.
Title: Re: CSW2CDT, new tool suite for tape encoding
Post by: cpcitor on 17:35, 12 September 21
Quote from: breiztiger on 12:03, 12 September 21
http://cngsoft.no-ip.org/csw2cdt-20210329-2555.zip

Thanks! This compiles on Linux, there are warnings but since later steps work, for a quick check I'd assume it just works well enough.

I tested it with a wav generated by playtzx (then sox to turn voc into wav). csw0 then csw2cdt produced a working cdt (tested with RetroVirtualMachine, hearing the actual signal while loading, and with cpcec which shortcuts the load time).

I then used it on a real file recorded from tape, and it generated a 51-byte-long cdt file, therefore fail:


./csw0 block_from_tape.wav

38400 bytes.

./csw2cdt block_from_tape.csw

51 bytes.


In audacity, the curve is ugly and wavy.

(http://wav_ugly.png)

I tried "filtering curve" tool in audacity, set to constant -30dB from 0 to 400Hz, then ramp to +6dB at 500Hz then constant.

(http://filter_curve.png)

Curve seems nicer, at least during the pilot tone.

(http://wav_better.png)

./csw0 ../block_from_tape_filtered.wav

105284 bytes.

./csw2cdt ../block_from_tape_filtered.csw

71 bytes.


Success  not yet.


The other way round

I might switch in cpc-dev-tool-chain (https://github.com/cpcitor/cpc-dev-tool-chain) from using "playtzx" to running csw2cdt -f somesamplerate ; csw0 -t somevalue , because playtzx only generates voc and the timings seem off.

That said, output of csw0 exhibits some unusual extra frequencies which are probably due to interference between output sample rate and times of square wave transitions (confirmed by hearing them less at 48000Hz than at 44100Hz), which does not happen in playtzx output. Might be investigated later.
Title: Re: CSW2CDT, new tool suite for tape encoding
Post by: cpcitor on 17:40, 12 September 21
I also tried things like the integrated band-pass filter in csw0, but no more success.

./csw0 -f 500 2000 block_from_tape.wav && ./csw2cdt block_from_tape.csw

43535 bytes.
51 bytes.

./csw0 -f 500 4000 block_from_tape.wav && ./csw2cdt block_from_tape.csw

46282 bytes.
51 bytes.


Any hints appreciated, @cngsoft (https://www.cpcwiki.eu/forum/index.php?action=profile;u=191) and everyone. Thanks!
Title: Re: CSW2CDT, new tool suite for tape encoding
Post by: dlfrsilver on 23:15, 28 September 21
Hi, i know for a fact that Playtzx (like the old tools to make CDT or TZX) have the timings out of specs.


This translates by loading errors when reverted back from TZX to WAV.


I let Cesar answers if he wants to.
Powered by SMFPacks Menu Editor Mod