• a way to do acoustical Room Analysis in Pure Data would be awesome

I would like to build a quick and dirty analysis tool, such that I could sweep a sine wave or perhaps give a quick impulse response to a space and then, using a microphone analyse what the room does to this signal (thus revealing harmonic resonances of the space).

I think maybe the new (and amazing) AudioLab library could be useful for this, and there is the older Pd Spectral Toolkit that allows for working with complex numbers and is amazing, and of course William Brents TimbreID,
but since I don't really need this to do everything that programs like this do: https://www.roomeqwizard.com/
I was trying to think of the simplest way to do this, before I commit to a six month project
I am feeling lazy, it happens.

I wondered if anyone had any suggestions or new of some patches that already did this?

I thought the simplest way might be to sweep a sine wave and simultaneously record it back in, then play this recording into sigmund~
...but here is where it gets confusing because since room sounds are not musical instruments, the most resonant partials are not....well, the whole point is that one doesn't know where they are, so I wouldn't know which partials to tell sigmund~ to analyse ahead of time.

so, it might be better if the recorded sound was played into another spectral analysis tool (but which?) and then the output of this could be filtered to find x number of strong partials (or all partials about a certain strength).

Wouldn't that be awesome?

I am dreaming but maybe somebody has already started on this?
Jorge

• Posts 11 | Views 1140
• @Coalman A (log) sweep is best. And quite a slow one.
You need to give the room time to resonate and reveal its imperfections..... so an impulse or white noise are really a waste of time.
Low frequencies are complex in the room due to comb filtering...... you will need to measure at many locations in the listening area.
And first you need to plot the microphone against the sweep with the speaker outdoors to know the deficiencies of both the speaker and the microphone.

Test the room with the same single source first.... multiple sources will create interference patterns at all frequencies.
Plot the sweep level and the microphone level returned into two arrays and then subtract the sweep from the microphone at each index (outdoors)...... you now have a graph of the speaker to microphone errors at all frequencies.
Do the same indoors and you have the room errors combined with the speaker and microphone errors..... so now subtract the plot of speaker and microphone errors from that and you are left with just the room.

The main complication will be the latency.
If you send an impulse from Pd before the sweep you can manually offset each plot before doing the subtractions....... by setting an offset start for the microphone plot (offset by the number of samples before the impulse) when you play them back and produce the subtracted plot .

Probably an hour to build the patch.
Probably 12 hours to get all the plots.
Probably 12 days to fix the room.
Probably 12 weeks to get all your speakers in the best places and know exactly where to sit.
Probably 12 quadrillion zillion years before you will be happy.

I spent most of my life doing the same every day by ear (its a lot easier and quicker), outdoors, in railway carriages, clubs, Olympic gyms and stadiums.... with far more speakers and subs than could possibly be coherent.
120 Meyer 650 subs in the Albert Hall on one occasion.
Often we could move just one speaker by half a centimetre and all would come right.

I bought a house with a lounge with a 7 metre pitched ceiling..... 15 metres long....... 6 metres wide.
I put a pair of Quad ESL63's (point source concentric electrostatic speakers) and Gradient SW63 dipole subs in the right places........ and I am quite happy..... if I am listening to a great recording....... which is almost never........

Mono is underrated.
David.

• @whale-av said:

You need to give the room time to resonate and reveal its imperfections..... so an impulse or white noise are really a waste of time.

Drat! And I just bought 100 balloons after I read a NY Times article about how some engineers captured the reverb in the Hagia Sophia....

• @jameslo Don't worry...... you're all good..... reverb is a terrible thing too, but a completely different animal.
Think Mono outdoors....... no mountains or caves..... no wind or temperature gradients........ Perfection.
Everything else is nightmare city.
Fortunately a place that our brains cope with reasonably well....... within limits......

• My two cents... Katja Vetter's expochirp

• Thanks for all the responses!
@whale-av Yes, mono, I love mono, and thank you for all these suggestions.
@nau I also love everything Katja has built over the years so will definitely check that out.

I know it is in fact an infinitely complex thing, and I use software like the REW package (amazingly also open-source) to do it "right" but I also think that there could be a quick a dirty way to pull the main room resonances out with a simple test, and even make this an automatic part of another patch, such that if I have a piece with a broadband and quite loud set of continuous synth tones (haha, pretty common in my music) but for which I am also using a live mic, I could have my patch bring down the resonant room nodes by itself so as to prevent trouble.
Like an automatic feedback canceller (or creater along these lines, like what I think is being used in some of Agostino Di Scipio's music (the electronic side of which is often written in Pd I think)
have you all heard any of those?
pretty cool

thanks for all these suggestions, I will work on it and see what comes out! maybe it will be something worth sharing

@jameslo once your have your IR balloon recordings, have a look at the built-in reverb device in Reaper if you don't already know it, it has a lot of intereresting functions for customising how the IR is implemented. Pretty great.

cheers!
Jorge

• @Coalman The easiest and quickest way to find room resonances is to sing, hum and whistle.
You can stick with a note when you hear an anomaly and check whether its a problem....... then move and see how local it is etc.
Amplification will help if you have a flatish speaker..... or not if you don't.
When working I clap, hum, sing and whistle before I even say hello to everyone.
That tells me, along with a quick look at the room and the sound system, how bad my day is going to be.
Unless the PA owner has pink noise on full blast of course.....
Or they are trying to flatten the system using a cassette recording of a trash metal band.
It's true you won't be able to get down to very low frequencies, but singing and listening and being totally mobile gives you a very fast analysis everywhere in the space.
David

• @whale-av I'd totally buy you a beer or two just to hear more about those interesting things from your job.

• OFF TOPIC: @kyro and @whale-av and @all: we all should meet for a puredata convention in 2021/22 to do the beer and talking thing after all day Pd nerdyness!

• Reading this with great interest!

@nau said:

My two cents... Katja Vetter's expochirp

Thanks for Katia's expochirp link. I've used both Aliki and jack-ir (x42/R. Gareus), so more options == better.

Making impulse responses as F/X is (IMHO) as much art as science...in a non-technical, non-rigorous context, of course.

• @Johnny-Mauser Good idea! But beer before during and after.
@kyro Thank you.....!
David.

Posts 11 | Views 1140
Internal error.

Oops! Looks like something went wrong!