Most of my readers grew up with Cassette Tapes as data storage. On my C64 it was the cheapest way to load a program (the disk drive was nearly as expensive as the Computer...). My KIM-1 uses his own MOS Tech standard, a very unnessecary bloated way to write data to tapes. Jim Butterfield improved this soon after the KIM-1 was released, but ROM buid-in standard was sh*tty.
Other computers used a more universal approach:
The Kansas City Standard
One of the most popular early ways to store computer programs on audio cassettes was the Kansas City Standard (also known as the 'BYTE standard'). Developed in 1975, it uses an encoding scheme where a '0' bit is represented as 4 cycles of 1200Hz and a '1' bit as 8 cycles of 2400Hz. The data rate is 300 bits per second. Computers which used the Kansas City Standard include S100-based systems, PT SOL-20, Ohio Scientific C1P/Superboard II, Compukit UK101, Acorn ATOM and many others.
For further knowledge I suggest the Wikipedia entry: https://en.wikipedia.org/wiki/Kansas_City_standard
There is even a PC tool which converts every input File to an audio file in *.wav format: KCS
As most older DOS programs this one runs _only in DOSBox_ on modern systems, but I suppose everyone of you has a shortcut to his DosBox drive C on his desktop 😂
Get the tool here: https://github.com/privatezero/KCS
how to convert a file to audio using KCS?
you have plenty options, I suggest 1200 BAUD, rest standard.
kcs -M -B2 inputfile output.wav
where -M stands for Make wavfile and -B2 means 1200 baud (300 is normal)
decode as follows:
kcs -X -B2 infile.wav outfile
where -X stands for decoding (not neccesary cause it's default, but hey)
This works even with bigger files. The audiofile does not contain headers as in the commodore files, where the startadress is given, so this converter is working on every file.
But before decoding you still need to know what baud rate and what kind of file it is.
Here is my audiomessage for you