I tried a simple software implementation of a digital oscilloscope using a PCI sound card and this software: http://www.zeitnitz.de/Christian/scope?mid=2
I connected its own signal generator (from the line out) into the line in and it worked — sort of. The input capacitors were skewing low frequencies. I de-soldered those caps but then hit a bigger problem of a floating DC component. Also, there was a lot of noise on the line.
My test setup consisted of a small CT (current transformer) clamped around a main electrical wire that was powering a running fan. The CT created voltage on its terminals, and this voltage reflected the sinusoidal shape of current passing through the mains.
Using a simple stereo audio cable, it took much fiddling to get anything measured at the CT terminals.
The noise improved a bit after I connected the other audio channel so it was not floating. I guess that’s what the sound card needed.
Still, there was either a cross-talk or some dependency between channels going into the sound card and also with a speaker signal coming out of the same card. Moving Windows sound mixer controls also impacted the measurements. It just seemed that there were too many variables to tinker with to get anything out.
The line in input is not calibrated: the voltages are a guess. I had a Fluke multimeter measuring the signal and could not get these values via the software scope: there was noise and the signal was jumping around. On the other hand, feeding the card its own function generator over a very short jumper stereo wire yielded a pretty good signal.
That software scope is a pretty good program, though!
Overall, this proved to be a lot of hassle. It is totally unusable for any practical purposes due to a limited signal bandwidth in both frequency domain (limited to 10KHz samples and clamped at the bottom range) and amplitude (must stay within +/- 1 V not to jeopardize the line in ADC), the inability to really measure the signal (no calibrated correlation to any voltage levels) and the absence of quality probes (which might help with the noise).
One useful thing that could be utilized by this setup would be a software function generator – if wired out of the speaker channel and amplified in a controlled way (perhaps via a custom amplifier board?) it could be a nice (and cheap) function generator for up to 10KHz signals.
Update:
I eventually bought a “real” oscilloscope, Rigol DS1102, and can’t be happier with the purchase. It is a perfect entry-level scope for occasional hobby use.