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.
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 :)
Fantastic!!!
Great stuff. Look forward to trying it out.
Quote from: cngsoft on 18: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 18: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 18: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.
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.
http://cngsoft.no-ip.org/csw2cdt-20210329-2555.zip
Nice!
Let's see if I can make it work on MacOS.
I managed to compile the programs on MacOS and Linux.
Here are my modifications to the CSW2CDT.C file.
Quote from: breiztiger on 10: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 roundI 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.
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!
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.