How to convert text into wave
Text is just a string of bytes, and each byte is just a string of bits (typically 7 or 8), so the question boils down to: how to I send and receive a string of 1s and 0s using audio ?

You might consider using a simple AFSK scheme, where e.g. a 1 is represented by 2 cycles of a 2400 Hz sine wave and 0 is represented by 1 cycle of a 1200 Hz sine wave. So each bit period is the same length (8.14 ms) and the frequency for that bit period determines whether it's a 1 or a 0. Typically you would use a software UART to frame each character and handle the problem of synchronization between transmitter and receiver. This would allow you to send 1 ASCII character in around 10 bit periods. The bit rate is 1200 bps so you would be able to send around 120 characters of uncompressed text per second.