• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

DIY 3D Speaker Scanner - the Mathematics and Everything Else

Few

Member
Joined
Oct 27, 2020
Messages
91
Likes
95
The only Windows in my house let in the light, so ARTA won't be a solution for me. I've tried several schemes for running Windows software on a Mac, and made it work, but I don't enjoy the experience.

I did come across this YouTube video on Erin's Audio Corner. He goes into a bunch of detail on how he uses his Klippel device. I found it useful primarily because it makes it a bit easier to see how the commercially available system works, and provides some sense of its dimensions.

I'm leaning toward just V-rollers and V-slot aluminum extrusion for the vertical degree of freedom. I don't think micron-level precision is necessary, so it would be nice to keep the weight and cost down. The rod whipping I referred to occurs even when the rod is constrained at the two ends, and by the moving nut. But in the video linked above the Klippel system seems to move pretty slowly so it would likely be sufficient to just keep the motor speeds low. Acme threads would certainly be easier to implement than many of the other options.

Few
 

Few

Member
Joined
Oct 27, 2020
Messages
91
Likes
95
This version is a hybrid of the one in the Ebay Openbuild link Mark provided, and the interdigitated belt system I mentioned previously. Nice and simple, and very few parts! I wonder how much play there is in the position.
Few
 

fluid

Addicted to Fun and Learning
Joined
Apr 19, 2021
Messages
694
Likes
1,198
The only Windows in my house let in the light, so ARTA won't be a solution for me. I've tried several schemes for running Windows software on a Mac, and made it work, but I don't enjoy the experience.
If it is on an ARM based Mac I feel your pain. ARTA works with Whisky from a short test I ran and that was quite nice.

At least of the off the shelf measuring programs, ARTA has some advantages that are worth considering for this purpose.
 

Few

Member
Joined
Oct 27, 2020
Messages
91
Likes
95
If it is on an ARM based Mac I feel your pain. ARTA works with Whisky from a short test I ran and that was quite nice.

At least of the off the shelf measuring programs, ARTA has some advantages that are worth considering for this purpose.
Good to know. Thanks. I actually wrote a program in LabVIEW that I can run from the Mac. It doesn't provide lots of ways to view the measurements, but it works well for acquiring the measurements. I made the same measurements with my program and with REW and found things match as expected. If I can get myself out of Python kindergarten I may try that as well but lately I seem to be making infinitesimal progress on any infinite number projects. I need to do a better job focusing and bring something to fruition!

Few
 

fluid

Addicted to Fun and Learning
Joined
Apr 19, 2021
Messages
694
Likes
1,198
I need to do a better job focusing and bring something to fruition!
I know that feeling as well :)
Thanks. I actually wrote a program in LabVIEW that I can run from the Mac.
That would perhaps be an alternative if it works with the community edition. Aquiring and naming the measurements is the main requirement, once processed they can be viewed with number of existing programs. Can it work with automation?
 

mwmkravchenko

Active Member
Joined
Nov 20, 2018
Messages
181
Likes
197
Location
Perth Ontario
Has anyone tried to think through the dynamics of what to move in an arc? The loudspeaker or the mic? I am watching carefully Erin, of Erin's audio corner Klippel testing video walk through. Klippel keeps the loudspeaker stationary. My quick gut reaction is a stable set of reflections from the room. Second question is optimal measurement distance from the loudspeaker. You can see nearfield to reasonably 0.5 metres. If you need a total measurement bubble I see no problem rotating a loudspeaker 180 degrees and slicing the measurements.

Regarding the actuator design that Few has in favour I think I am finding the parts on Aliexpress. I will troll Amazon to see if there is comparable pricing and availability of parts.

robotshop.com I forgot about these guys. Does anyone else have preferred vendors for steppers/ servos and drivers?

I'm trying to figure this all out.
 

HarmonicTHD

Major Contributor
Joined
Mar 18, 2022
Messages
3,326
Likes
4,836
Has anyone tried to think through the dynamics of what to move in an arc? The loudspeaker or the mic? I am watching carefully Erin, of Erin's audio corner Klippel testing video walk through. Klippel keeps the loudspeaker stationary. My quick gut reaction is a stable set of reflections from the room. Second question is optimal measurement distance from the loudspeaker. You can see nearfield to reasonably 0.5 metres. If you need a total measurement bubble I see no problem rotating a loudspeaker 180 degrees and slicing the measurements.

Regarding the actuator design that Few has in favour I think I am finding the parts on Aliexpress. I will troll Amazon to see if there is comparable pricing and availability of parts.

robotshop.com I forgot about these guys. Does anyone else have preferred vendors for steppers/ servos and drivers?

I'm trying to figure this all out.
The more obvious reason is the much reduced moving mass of the mic vs the speaker.
 

somebodyelse

Major Contributor
Joined
Dec 5, 2018
Messages
3,759
Likes
3,067
This version is a hybrid of the one in the Ebay Openbuild link Mark provided, and the interdigitated belt system I mentioned previously. Nice and simple, and very few parts! I wonder how much play there is in the position.
Few
By 'play' do you mean backlash or stiffness? In either case probably 'good enough' to meet Klippel levels of positioning repeatability (IIRC within 3mm) based on experience with similar systems for 3d printing and lasers. If you;re thinking of using it for the vertical (miving the mic) it's not the arrangement I'd pick though. Better to keep the motor at one end of the beam so you aren't moving its mass as well as the mass of the car and whatever's attached to it, in this case the mic and its support beam. You'll find the arrangement used on a lot of 3D printers - see the X axis of a Creality Ender 3 v2 for example.
 

somebodyelse

Major Contributor
Joined
Dec 5, 2018
Messages
3,759
Likes
3,067
Has anyone tried to think through the dynamics of what to move in an arc? The loudspeaker or the mic? I am watching carefully Erin, of Erin's audio corner Klippel testing video walk through. Klippel keeps the loudspeaker stationary.
The mathematics uses measurements at multiple points around the speaker in the same soundfield. The assumption (demonstrated as viable by Klippel) is that we can use a single mic with repeated measurements to do this, rather than needing multiple mics to make simultaneous measurements. Moving the speaker would change the soundfield as the interaction between room and speaker would no longer be the same on each measurement.
 

mwmkravchenko

Active Member
Joined
Nov 20, 2018
Messages
181
Likes
197
Location
Perth Ontario
The more obvious reason is the much reduced moving mass of the mic vs the speaker.
You can easily engineer either way. And it need not be expensive either.

1707674327932.jpeg

These will lift anything that you wish to put up onto a stand I am sure. If you do any serious measuring you will have a scissor lift platform anyway. One or two of these will lift hundreds of pounds. Replace the DC motor with a servo and you have almost turnkey performance. Would work for moving the microphone boom as well.

Mark
 

mwmkravchenko

Active Member
Joined
Nov 20, 2018
Messages
181
Likes
197
Location
Perth Ontario
The mathematics uses measurements at multiple points around the speaker in the same soundfield. The assumption (demonstrated as viable by Klippel) is that we can use a single mic with repeated measurements to do this, rather than needing multiple mics to make simultaneous measurements. Moving the speaker would change the soundfield as the interaction between room and speaker would no longer be the same on each measurement.
This was my assumption. But asking never hurts.

Mark
 

Few

Member
Joined
Oct 27, 2020
Messages
91
Likes
95
My LabVIEW program isn't ready for use in its current state. I'll have to dig it out and remind myself of its status. I think that when I paused development I had one bit of code to move stepper motors and an independent bit of code that does the acoustic measurements. They'd need to be put together and made to play nicely. In theory that shouldn't be a massive undertaking, but I don't think LabVIEW code would be of use to most folks. Having something in Python that individuals could adapt as necessary seems likely to be more useful to more people. I did find some online Python-based speaker measurement software but my quick attempt to load it ran into a glitch.

Somebodyelse asked: "By 'play' do you mean backlash or stiffness?"
I meant all sources of position uncertainty, so both backlash and (lack of) stiffness. I agree that most systems under consideration are probably good enough for acoustic measurements.

Regarding motor position, my guess is that several schemes could be made to work fine. Wiring would be less cluttered with a stationary motor, and any noise and acoustic reflections it creates would be less if the motor is at the base of the vertical arm. I would expect that most steppers and DC servo motors that would be considered would have enough torque to lift their own weight plus that of the mic and mic-arm, if someone wants to go the moving-motor route. The horizontal versions I've seen videos of certainly accelerate and decelerate with a lot of zip.

Few
 
Last edited:

KLang1

Member
Joined
Feb 25, 2020
Messages
53
Likes
172
Location
Alman
Can do! Just had to find it again... I'm not great at documentation...

This is one of the three Behringer B2030P's that I have and measured via beamforming compared to the Klippel data from the ASR reviewed B2030P. Top to bottom is Klippel NFS; beamforming 41 points vector averaged (approximately 1" point spacing starting about 3' from the speaker); beamforming 4 points vector averaged (about 10" spacing). Not sure what's going on above 3kHz, if it's my B2030P or something else.

View attachment 347666
Edit: I should also note that all of my measurements were made outdoors. This method works better for me when it has less reflections to deal with.
Did you post more on that somewhere? Measuring simultaneously with a few cheap microphones would be so much faster than the Klippel way and it seems it's accurate enough.
 

mwmkravchenko

Active Member
Joined
Nov 20, 2018
Messages
181
Likes
197
Location
Perth Ontario
Someone at the beginning of this thread was mentioning how they were setting up a series of Mems mics. That really caught my attention. But then the idea died out with the poster. As said, it would seriously speed up the measurement process. I looked into it a bit last month and the best Mems Mics have a bottom opening for ingress of sound so that needs to be thought through when making the PCBs.

Mark
 

No. 5

Active Member
Joined
Nov 1, 2019
Messages
146
Likes
123
Did you post more on that somewhere? Measuring simultaneously with a few cheap microphones would be so much faster than the Klippel way and it seems it's accurate enough.
I do, it's in my thread 'near field scanner on a shoestring' over at DIYAudio. It's probably still best to splice in a ground plane measurement below 200Hz or so, but it has the potential to get far more detail below 1kHz than what can be typically achieved with an IR window.
 

Tom Kamphuys

Member
Joined
Feb 15, 2024
Messages
9
Likes
23
Hi guys, after some time of occasional visits I finally registered :)

I'm just getting my feet wet over at the near field scanner thread on DIYAudio. I downloaden (the latest?) NTK matlab/octave scripts. The ones I have are from 05-05-2021. Is there a newer version?

I tried running it in Octave 8.4.0 but I get an error (error: Invalid call to round. Correct usage is : -- Y = round (X) ) about the round in step_1.m

Code:
offsetposition(freqi,:)=[round(position(1,1),4) round(position(1,2),4) round(position(1,3),4)];

What is the meaning of the second argument (4) of the round function?
 
OP
NTK

NTK

Major Contributor
Forum Donor
Joined
Aug 11, 2019
Messages
2,716
Likes
6,007
Location
US East
Hi guys, after some time of occasional visits I finally registered :)

I'm just getting my feet wet over at the near field scanner thread on DIYAudio. I downloaden (the latest?) NTK matlab/octave scripts. The ones I have are from 05-05-2021. Is there a newer version?

I tried running it in Octave 8.4.0 but I get an error (error: Invalid call to round. Correct usage is : -- Y = round (X) ) about the round in step_1.m

Code:
offsetposition(freqi,:)=[round(position(1,1),4) round(position(1,2),4) round(position(1,3),4)];

What is the meaning of the second argument (4) of the round function?
I am traveling at the moment and will return home this weekend. I'll take a look next week and let you know.
 

Few

Member
Joined
Oct 27, 2020
Messages
91
Likes
95
For help with Octave, you can search online for Matlab's generally excellent help. Find "round" here. The bottom line is the 4 dictates the number of digits the first argument should be rounded to.
More specifically, if N is the second argument:
N > 0: round to N digits to the right of the decimal point.
N = 0: round to the nearest integer.
N < 0: round to N digits to the left of the decimal point.

Few
 
Last edited:

Tom Kamphuys

Member
Joined
Feb 15, 2024
Messages
9
Likes
23
Should have thought of that myself...

Octave doesn't support the second argument. I could of course make my own. Probably cooperate with NTK to get it working on both MATLAB and Octave. This could determine whether we are on Octave:

isOctave = exist('OCTAVE_VERSION', 'builtin') ~= 0;

I also found an Octave version in this thread, but that crashed everytime I run it.
 

Few

Member
Joined
Oct 27, 2020
Messages
91
Likes
95
“Should have thought of that myself..."

Nah…that’s what audio friends are for! Bummer the option is not part of Octave.

Few
 
  • Like
Reactions: NTK
Top Bottom