I estimate up to somewhere in the range 100kbit/s to 500kbit/s.
It would take a sophisticated modulation scheme, like a modem. The sound would be similar to white noise. Software that's getting 20bit/s or whatever is using old-school tone-based modulation, but it is quite robust in the presence of other sounds.
That assumes:
- Frequency response ~20kHz.
- Audio ADC/DAC sample rates configurable well in excess of the Nuqyist limit of the frequency response range of the speakers and mics.
- Good signal to noise (~90dB), which equates to ~15 bits at max volume range.
- Not playing at max volume, but a reasonable level ~18dB down, so ~12 bits.
- A very quiet environment, or one where the background sound is very predictable.
- Stereo laptop speakers and stereo mics, to make a 2x2 MIMO spatially modulated channel.
- Good channel separation (~80dB).
- Great linearity, which might be optimistic.