Measuring speakers using music (Michael Tsiroulnikov's FSAF)

One of these 3 traces was measured with music. Which one is it?

  • Red - nothing goes fast as red!

    Votes: 3 18.8%
  • Blue - yawn...

    Votes: 1 6.3%
  • Black! You know what they say about black...

    Votes: 1 6.3%
  • What? Is there more than one trace?

    Votes: 4 25.0%
  • I need more hints... can I at least listen to the test file?

    Votes: 7 43.8%

  • Total voters
    16
REW (V5.40 beta) by @JohnPM can make loudspeaker measurements using the Fast Subband Adaptive Filtering process, developed by Michael Tsiroulnikov @mikets42
This FSAF implementation can use noise (white, pink, brown) or a segment of a user-supplied file e.g. MUSIC (!), to measure the frequency response, as well as total distortion (harmonic + intermodulation) + noise.

Reference:
https://www.roomeqwizard.com/betahelp/help_en-GB/html/fsafmeasurement.html

Shall we test this out? Here is a picture of the setup:

1729174337290.png



Here is the amplitude response of this driver in box (ie. without filters or crossover)

1729175760171.png






Frequency responses were measured by

A- logarithmic Sweep (aka chirp (devised ~2000 - link: AES)
see attached .ZIP file for "1 M Measure sweep 0Hz to 22050Hz"

B - white noise via FSAF, devised 2020- link: MATLAB Central File Exchange
see attached .ZIP file- " White noise -12dBFS"

C - "Put Your Hands" music clip via FSAF. This music clip is courtesy of Dr Stéphane Pigeon, a signal processing engineer. You can listen to the clip here - scroll down to near the bottom of the page to section and click on Play/Pause button:


1729247791009.png

EDIT 19/10/2024
Distortion residuals added
  • Virtual audio cable (digital internal loopback)
  • Focusrite Scarlett 2i2(3rd gen) (line out to line in)
  • *Scarlett 2i2(3rd gen) line out -> Hypex UcD400MP -> Scarlett 2i2(3rd gen) line in

*baseline

TBC - the graphs, and sounds of distortion from this speaker, and other speakers...
 

Attachments

Last edited:
I for sure find it fascinating to use the intended signal (music) for such measurements. A colleague once made an analogy that the purity of the sine wave used (in such measurements) is like the focus on a microscope. Now we can do it using a signal more appropriate to the goal of the thing being measured, versus the measurement.

Cant wait to try it on a guitar, where I drive a signal from a Dayton DAEX25FHE exciter into the bridge. Apparently now I can use "guitar sound" as the driving signal, instead of pink or a sine sweep. Now if I could only play well, I imagine testing would be less bothersome for those nearby!
 
  • Like
Reactions: GM
Smoke on the water spinoramas?🙂

If music can be the source the measurement procedure could likely just tap into what ever is playing and just pop out the response and no one ever noticed a measurement happened? Add in automatic EQ and walk around the room with mic in the hand would be fun experiment 🙂
 
  • Like
Reactions: Kravchenko_Audio
If music can be the source the measurement procedure could likely just tap into what ever is playing and just pop out the response and no one ever noticed a measurement happened? Add in automatic EQ and walk around the room with mic in the hand would be fun experiment 🙂
Live sound routinely measures transfer functions with music in real time, and doesn't even require a file for comparison.
(Using dual-channel, reference vs measurement.)
One requirement for accuracy is that the music be full-range, and stimulate the entire spectrum. A well known 'trick' is to mix inaudible pink with the music.

For FSAF, I imagine the need for full-range with whatever music file is used, holds for it too.
It's really cool how FSAF can also measure distortion.
 
Interesting , can you also make those spectrograms as Michael has shown in his posts?

You mean like this ?

Unfortunately not. My post grad studies have taken me far from away from maths- I would be what you would call an EE drop-out (left after yr2). Just talking about Matlab gives me goosebumps.

I’m just a man with a mic.

All I can offer is recordings of distortion of various drivers/speakers. I shall measure and publish graphs and audio files to listen and compare.

Perhaps I’ll revisit that SB12PFC-4 that @mikets42 tested in (standard) voltage drive mode…

If anyone has his email, can you tell him Thanh from Australia wants to know if he can come back and play? As @kgrlee says, our single brain cell does need time to adjust to what he’s writing/saying….
 
Last edited:
You mean like this ?

Unfortunately not. My post grad studies have taken me far from away from maths- I would be what you would call an EE drop-out (left after yr2). Just talking about Matlab gives me goosebumps.

I’m just a man with a mic.

All I can offer is recordings of distortion of various drivers/speakers. I shall measure and publish graphs and audio files to listen and compare.

Perhaps I’ll revisit that SB12PFC-4 that @mikets42 tested in (standard) voltage drive mode…

If anyone has his email, can you tell him Thanh from Australia wants to know if he can come back and play? As @kgrlee says, our single brain cell does need time to adjust to what he’s writing/saying….
I mean this
1729238988455.png
 
sorry Jan, I’d need to use Regularized Least Squares. And one needs at least a PhD to play with Volterra series.

Someone in BC needs to send some chocolates and/or flowers and ask Michael to come back to play… of course I would say that because I am of the arty/farty persuasion.

A man of numbers might respond better to a petition.
@DcibeL ?
 
  • Like
Reactions: TNT
View attachment 1368867
Frequency responses were measured by

A- (Farina) Exponential Sine Sweep aka chirp (devised ~2000 - link: AES)
see attached .ZIP file for "1 M Measure sweep 0Hz to 22050Hz"

B - white noise via (Michael Zrull’s) FSAF, devised 2020- link: MATLAB Central File Exchange
see attached .ZIP file- " White noise -12dBFS"

C - "Put Your Hands" music clip via (Michael Zrull’s) FSAF
music clip is courtesy of Dr Stéphane Pigeon, a signal processing engineer.
You can listen to the clip here - scroll down to near the bottom of the page to section and click on Play/Pause button:
There are 3 curves in 3 colours in the attached graph. Two are very similar but the Red curve is different below 200Hz. Which of A, B or C is the Red curve?

What were the parameters for Angelo's Sweep? How long? You can't do a 0Hz to 22050Hz Farina sweep. Has to start at non-zero.

I'm obviously missing something. Do the comments refer to another page? https://www.roomeqwizard.com/betahelp/help_en-GB/html/fsafmeasurement.html doesn't seem to be it. ??!!
 
Last edited:
@WhiteDragon Sorry, it's a trick question.

The (Farina) log sweep is just the usual way one would measure the frequency response and harmonic distortion of a driver (or complete speaker)
This is what ARTA, Klippel, have been doing.

The FSAF measurement process does the same- it can measure the frequency response, and distortion of a driver, or a complete speaker.
However, in addition, you can HEAR the residual (difference between input and output)

Perhaps you need to do it yourself. Or I need to create a YouTube video to explain...

@kgrlee
If you are not familiar with the REW software package, that page might throw you in the deep end... The frequency response was measured with a 1M sample sweep from 0 to 22,050Hz, with a sample rate of 44,100Hz. The audio interface is the Focusrite Scarlett 2i2(3rd gen), amplifier Hypex UcD400MP with drive level 2.83V, and the B&K 4191+2669 microphone @ 31.6cm.
 
I'm a dinosaur whose DSP stuff is sorta 1980s & 90s. Anyone got some good public domain links to Subband Filtering?

The best I can grok so far is that it is a way of doing long FIRs without HUGE latency by breaking the spectrum into subbands. But how do you do the Filter Banks? FIR, IIR, black magic?? How do you recombine?