Over the years experiments in generating audio have been tried.
At School we were told about this:
X = X + Y*N Y = Y - X*N
Itterate them and you get nice Sine and Cosine waves. What is remarkable is the amplitude seems stable over a long time.
http://www.dougrice.plus.com/rt004/sr3/sine.htm and http://www.dougrice.plus.com/indexPics.html has links.
http://www.dougrice.plus.com/dev/wav.c It is possible to use a C program to write a WAV file and play it with meadia player.
https://gasstationwithoutpumps.wordpress.com/2011/10/08/making-wav-files-from-c-programs/ may be clearer.
At the early days of the dial up internet, before spammers, I had an idea to send the number of unread emails to a caller display device.
At the time, emails were available using dial-up internet. It would be nice to know if you had unread emails.
http://www.dougrice.plus.com/dev/modem.cpp - from 1997 when I could play out a file using my Sound Blaster with DOS utilities.
http://www.dougrice.plus.com/dev/modem_caller_display.cpp - Using this program and an additional circuit, it was possible to send text to a phone that supports CDS Caller Display. The additional did the line reversal. This damaged my PC's audio. Caller Display uses a signal bases on V.23 sending at 1200 baud.
It would have been possible send a short message to a caller display phone.
It needed:
Further information https://niccstandards.org.uk/publications/nd1001-1099/ on signalling standards
We did AutoCorellation at college.
http://www.dougrice.plus.com/dev/auto5.html - eCall 3GPP TS 26.267 V13.0.0 (2015-12)
https://itecspec.com/archive/3gpp-specification-ts-26-268/ - This has a test harness that is worth a try.
The eCall spec and reference modem code is available on line.
https://www.etsi.org/deliver/etsi_ts/126200_126299/126267/16.00.00_60/ts_126267v160000p.pdf - Spec
https://www.etsi.org/deliver/etsi_ts/126200_126299/126268/08.00.00_60/ts_126268v080000p.pdf - C code for the modem and test harness. There is a zip file in the same folder.
The reference code has a test harness that is easy to build on a Raspberry Pi and PC using Tiny C.
What impressed me is that the zip file has Test harness.
It does not contain the executable.
There is a make file.
You build the code and then run the test harness.
If you can build the code, the test harness passes the tests supplied.
The code has beed delivered to you.