For actual speakers, you could use a second of the same type of speaker as a microphone, and assume the losses are similar, do a slow sine sweep through, and just divide all the dB values in half.
Obviously this will only work if there's a passive crossover network, and nothing active in the speakers.
Not just that but the FRF calculation is slightly complex. You need to take into account windowing function, amplitude correction factor, sampling rate and block size of each measurement and %overlap… leakage is a very important thing in signal processing and spectral analysis. Also you need an anechoic environment to capture this, because you would be also capturing room reflections and characteristics of room acoustics.
For the logarithmic sine sweeps (confunsigly also known as exponential sine sweeps) used here the standard method is to use an inverse filter to (de)convolve the sweep recording into an impulse response. No worries about windowing or leakage when using that.
Well, you don't need an anechoic environment for that. Just use a time window. Signal will be captured by mic before any reflection arrives. You won't be able to measure lows well, though. But ~300-20k Hz is fine.
I've always wondered... is there some way to mathematically "solve" for this with multiple microphones and multiple speakers?
Like with 2 of each, or 3 of each, where you play the same waveform through every possible pair of speaker and microphone, you can solve some kind of system of matrix equations to determine the only possible combination of responsiveness at each device at each frequency?
Or do you just need a reference microphone with known characteristics, period, end of story, because math can't do it?
(Obviously from a practical perspective you want the reference microphone... I'm just curious about in theory.)
Yes, multiple microphones is how microphones can be calibrated in the first place. You make a particular kind of microphone that also functions as a speaker, with certain testable assumptions about how they work. Then you point one at the other and vice versa. The result is a reference microphone that can then be used to calibrate other microphones.
You don't do it every day, which is why an outfit like Bruel & Kjaer can charge a lot for their gear. ;-)
I believe it's hardly different from trying to deduce perfect distances from multiple rulers of dubious precision: you need to compare them to one of extreme precision. Arranging 4 rulers into a perfect square proves that they have equal lengths, but you still don't know their offset from standard length.
However, if you ignore tolerances and assume that every microphone of a given model number has equal response, then it's simply a matter of having that known response information available, similar to a hypothetical brand of ruler being known for coming up short.
> but you still don't know their offset from standard length.
But that's fine for microphones -- the question here isn't to determine their absolute volume, which is of course unsolvable. It's to determine the relative "volume" (response) at each frequency. It's the shape of the curve that matters, not its offset.
And again, I'm not looking for a practical solution (like getting the info from a manufacturer) -- I'm just curious about it in theory. If it's inherently solvable or not.
This isn't solvable. Each loudspeaker and microphone has its own frequency response and will always measure the product of any two of them. This does not result in a unique solution for any single frequency response, even when you know the clean source signal. There is always a degree of freedom of how much each device in a pairing contributes to the final response.
what if you move the microphones and speakers at varying but precise speeds so that doppler shift can be used to shift frequencies? you could play a tone on the speaker, shift the relative velocity (spin the microphone really fast?) and calibrate a frequency range of the microphone. with a calibrated mic frequency range, you can now calibrate that range of the speaker. repeat. each calibration step is going to accumulate error. to be clear, not a practical solution, but fun to theorize.
And how do you calibrate a microphone? With a calibrated speaker? :P
I'm guessing that there must be a way to either cancel out skews and work around this, but I guess it's just easier to start with a calibrated microphone
Generally speaking “you” do not calibrate a measurement mic. I’m restricting the discussion to measurement mics because that’s pertinent to the OP and because mics have all sorts of frequency responses designed into them on purpose.
Measurement mics (the professionally targeted kind) can with some models be purchased from the manufacturer with a calibration file that can be used by various audio measurement software packages. There are also places that will calibrate your mics for you. In the end what this really means is just figuring out the frequency response characteristics of a given mic relative to a known source. This could just be a case of “we match it to this mic over here.” As long as all the mics someone is using are calibrated to the same standard then it’s less important that they’re perfectly flat in frequency response. I have some really good mics but the bulk of my measurement mics are inexpensive and not calibrated. They work fine though because they all measure close enough to the same that once you figure in all the external parts of a system (the room for instance) the mics minor variations become insignificant. The important thing is that I can put 8 mics around a room and pull reliable data to tune the room and make it sound musical. At the end of the day all the measurement stuff is just there to help you scientifically quantify why a room doesn’t sound right and then you can fix it. Like the last room I tuned that had 2 blown HF drivers and the polarity flipped on some LF drivers. The ears easily said there was a problem. The tools told me right away what they were. Sure I could have found them without the tools and by tweaking settings till everything was right, but the proper tools (and knowing how to use them) makes a huge difference.
That's a great question! I have no idea. At low frequencies it should be very easy, because the sound is just a pressure measurement, so you can compare against a calibrated pressure reference. So the main challenge is measuring the high-frequency amplitude and phase response. If I had to do this, I'd probably set up a speaker in a long box with standing-wave resonance modes, and put both the microphone-under-test and a laser interferometer at an antinode to measure the change in refractive index that occurs with air pressure. A photodiode should have a flat frequency response out to well beyond 20 kHz, so that would do well as a calibration. But this is probably overkill for audible frequencies.
Generally you look up your microphone's magnitude response and enter it into whatever interface you have. For home audio receivers they have this hard coded for their included microphone.
Also, generally microphones are sensitive to orientation, so to have repeatable results be sure to control that. Position in a room is also essential for repeatability.
True, but of the same importance, the speaker cannot be measured independently of the room in a home setup. You need an anechoic chamber, or at least a large and very quiet space. Even a decent size living room will alter the measurements considerably and of course materials matter too.
I have spent a lot of time measuring rooms and you can't underestimate how they can mess with frequencies, but it's also true that good speakers sound pretty good in almost any room, and bad ones will sound bad.
I have Lyngdorf amplifier at home, and it came with a calibration microphone. You move it to different locations while the speakers play different tones and measure how the sound interacts with your environment, and creates a listening profile for it.
Looking at those spectrograms, the uncorrected frequency response of the phone's microphone is unlikely to be responsible for most of what you can see.
But regardless here the methodology is very weak, just playing a sine sweep with a spectrum recorder open and eyeballing the frequency magnitudes.