Here you go.
I was running through some old bookmarks and found this, and I got to wondering if it would work with the raw samples of a stereo ADC instead of actual voltage. So I took the default inputs, moved both of their decimal points to the right, and indeed got the same answers! So if you're intimidated by calibration, then you don't have to worry about it. Just use Audacity instead, or anything else that can simultaneously play a test signal and record in stereo.
The only oddity is that the calculated "voltage" at F1,F2 is also in raw samples instead of voltage. Likewise if you use a fraction of full-scale, as calculated from the convenient dB or dBFS reading: that works too, given the same caveat.
You probably don't even need an amplifier between your line out and the speaker. Normally, that would be an absolute requirement, as speakers require more *current* than a line out is designed to provide, even if you give them less voltage. (lower volume) But the series resistor for this test takes care of that. If the line out can handle the resistor by itself, with the speaker shorted, then it can also handle the complete test rig. (if a modern line out can't handle a 1k resistor, it's bad anyway, and needs to be replaced)
Then you don't have to worry about overloading a stereo line input either. Just make sure that it really is a stereo line in (and not a mono mic in plus power for the mic), wire it up as shown in the spreadsheet, and go.
You do still need a stereo input, despite one channel being directly connected to the output, for two reasons:
- The line out probably sacrifices a little bit of accuracy for guaranteed stability. Not enough to notice by ear, but enough to affect this measurement. So what the test rig actually gets is probably not *exactly* what was sent, and you care about what it actually gets.
- You're actually comparing the two readings. It's not absolute. So you want the two measurement channels to be as equal as possible. A designed-to-be-stereo input is a pretty good way to do that.
Or if you want to run this test at a higher power, then you do need an amp, and identical resistive dividers for the line inputs. Maybe 10k/1k for a ~20dB pad. Otherwise the above still applies: no need to get real-world units out of it; just make them equal (watch the tolerances!) and not overloaded, and call that good.