I wired up a very simple device in which I use an audio signal transformer (EI14) to modulate the intensity of a laser beam (a cheap 650nm, 5mW diode) according to the audio output of my phone. The laser is then received by a photo-resistor (G5528 A205) wired up to the microphone socket of my laptop. With this setup I can transmit audio between the two devices.
Not surprisingly, the results are not astonishing. The audio quality is less than crystal clear, but that was expected. Here's an example.
My main concern that this system may be fundamentally limited is that it's not the data that I'm sending, from which the audio could be recreated; what I'm sending is just some real-time 'amplitude'. I'm actually surprised how well this worked since my intuition is that music consists of a range of Fourier frequencies and each point in the duration of the song comprises of some combination of those frequencies at corresponding amplitudes. At the same time, with a monochrome beam I'm limited to just varying the brightness of my beam and hence only able to send one amplitude at any given time, i.e. only the information about one of the Fourier frequencies (presumably the dominant one?) can be transmitted. Is this reasoning fundamentally correct and does that mean that a monochrome beam can't faithfully transmit a complex sound in real time?
My other questions are: what improvements to my very simple setup are possible to make the audio quality better? What are the limiting factors? Is it even possible to get a reasonable quality in such a system?
I'll just point out one contributor to your audio distortion:
Figure 1. Extract from the PGM 5506 datasheet.
You didn't supply a link to your LDR datasheet but it's probably similar to the one above. As you can see the response times are in tens of milliseconds so at best they can only respond reasonably well to about 20 Hz. Anything above that will be "slew-rate limited" meaning that a step change in light intensity will give a response much like a resistor-capacitor (RC) charge / discharge curve.
Figure 2. RC charge / discharge curves for a squarewave input signal. Source: EEEGuide1. The LDR will give a similar response although the lower trace may be inverted depending on how you've wired it to the receiver input.
You might need to advance to a photo-transistor or photo-diode solution.
One other thing: you should have a DC decoupling capacitor between your receiver and the mic input of your laptop. This will remove any DC component and may prolong the life of your laptop.