I think my speaker's output is rather unlinear when I run a manual sweep from Online tone generator. I have two outputs to select from. Either the built-in speakers on my iMac (Retina 4K, 21.5-inch, Late 2015) or MicroPod by Podspeakers plus SUB C-8 D by DALI.
I guess, if it's possible to insert a "mic input to output regulator" which makes the sound pressure (dB) constant over some range, like 100Hz to 6kHz, what I'd have as output units shouldn't matter that much.
Some Python code that filtered the sound input from the mic(s) with 1 second delay to make some automatic gain control (AGC) for the output level? Some app? It has to be almost plug and play, since this I guess is mostly in the very nice to have range.
However, I have a feeling that since my iMac mics are not positioned on the same place as the mic of my embedded device under test, then some nice AGC might still not help more than so much? That the room (quite damped, wooden panel, not a shoe box room, but not a dead room either) unlinearizes this very fast? I say this because if I move my head or my body then that's enough to see the spectral value change a lot.