Room correction using your iPhone and HouseCurve

True, but not usually the common way to do it.

Actually, the lower the frequency the worse the signal to noise ratio, so that’s counter intuitive.

To offer a different perspective, I think this visual appearance could well be an artifact of how Roon’s algorithm analyzes audio content, and since that’s quite a fast sweep up the range, Roon might well sample too slow/coarse to catch the complete integral in the lower registers.

When comparing Roon’s EBU128 LUFS numbers with my dynamic-range-metering-bridge, I have found minor discrepancies in some instances, and think I’ve just found the answer in light of this topic.

True, but just saying in response to the post that brought this up

I gave the example why :slight_smile: With Dirac, the instructions were something like “sweep as loud as possible as long as (something or other)”, so that was quite annoying to find any last rattling thing in a drawer.

Right, that’s most likely.

1 Like

An explanation from greg @Greg_Wilding would be great.

Patience, it’s his weekend project :slight_smile:

1 Like

If you look at the sweep file in an audio editor (ex: Audacity), you’ll see that the amplitude is constant, but it starts at a very low frequency (long wavelength). I suspect the long wavelength is what causes the ripples in Roon’s display.

2 Likes

Should work with a lightning to 3.5 mm adapter. If you need an extension cable, make sure it’s a TRRS cable.

1 Like

Thanks @Greg_Wilding, you’ve done a great job developing this app. It works quite well just using the microphone on my iPod Touch 7th gen.
I have 2 subs along with my 2 speakers. I ran the app with the subs off, it showed clearly where my speakers dropped off on the low end. Made setting my subs crossover value easy.
Nice work.

1 Like

Due to the exigencies of life with the girlfriend, my speakers are stuck at different distances from my favorite chair. About 50cm different. Can I remedy that using HouseCurve?

So far, I’ve adjusted the timing of the speakers via Roon, and created a convolution filter for the room via HouseCurve. But I haven’t adjusted the relative loudness of the speakers, because I am uncertain how to measure it much less adjust it.

Also, notwithstanding all the great advice in this thread, I haven’t figured out whether to use HouseCurve with or without the timing correction applied.

I see that HouseCurve provides for measurement of individual speakers, but I can’t imagine how to combine those into one convolution filter, if that is even the right approach.

Help, please. And thanks.

I would apply the timing correction, then use HouseCurve to measure the system and generate a filter.

You could generate filters for each channel if you want. Just mute/unplug speakers and measure separately. Be sure to measure from exactly the same locations for each channel. Set the target curve fit to manual so HouseCurve corrects to the same level for each channel. I did this for my kitchen system with decent results, although I used a miniDSP device to apply the filters, not Roon.

See instructions here for applying monaural filters for each channel in Roon. I haven’t tried it, so I can’t provide an example config file. Perhaps someone else can provide input?

Thanks for getting back (and for developing this excellent app in the first place). I’ll try to generate filters for each channel and let you know how it turns out.

A more fundamental question: If I already have PEQ set up for a particular speaker, should I disable that before running HouseCurve? In other words, does HouseCurve correct not just for the room but for the speakers as well? (I realize that might be a really stupid question . . .)

Thanks again.

No problem, hope it works for you!

That’s a common question - it corrects both. Although we call it “room correction”, what HouseCurve measures (and we hear) is a combination of audio system and the room. I would disable the PEQ and then measure. HouseCurve will likely create a filter to replace what the PEQ was doing (if it helps achieve the target).

@Greg_Wilding any chance you will ever (at least this year maybe) take on correction in the time domain, not just frequency domain?

Seems like you have the basis for a giant killer. I know it’s your weekend project. And I love what you’ve done so far. And I know overcomplication can kill great products.

But… HouseCurve Pro?

J

2 Likes

You can fix that with Roon’s DSP using speaker setup. Just enter the left and right speaker distances from your listening position and adjust the gain settings to taste. Just a warning, depending on the gain settings you choose you may need to add some headroom to avoid clipping.

Or just use a negative gain setting for the louder channel to avoid clipping.

Yep, it’s been on my roadmap for a while now - an option to generate FIR filters, which can correct time domain. But, yeah, it’s a weekend project so it’ll be later this year. Hehe, keep telling your friends about HouseCurve and maybe that can change :wink:

5 Likes

I’ve got to say that HouseCurve has been one the the best things I’ve done with my system in a while. The cost of the app and a UMIK-1 and I now have convolution to correct room nodes. I found I had a pretty big hump at around 125 Hz which added a lot of apparent “warmth” to my sound but at the expense of realism. After applying convolution and remeasuring, it is much better and I can now adjust my subwoofer crossover and level much easier.
Great product and a bargain.

3 Likes

@Greg_Wilding
Congrats and thank you for a fantastic application, well worth the $. Someone else here said that with a few more features this would be a “giant killer”. I agree! Please keep it up and count on me if you need any help testing anything - I will send you a PM. I’ve found the flexibility and simplicity of an iOS app vs. REW (chained to my PC and too easy to make mistakes) makes this more effective for me. A few questions/observations. I did all my measurement using my iPad a UMIK1 and external sweeps from Roon, I started by first integrating and time aligning my sub (thanks for the tips on that)…

  • My Bluesound Powernode often fails to play the LR “All” Sweep. Left or Right alone are always ok. Any thoughts on why this would happen? Wondering if I have an issue or if (some) devices try to block the chirp or sweep?

Can you please comment on how to combine Left and Right speakers when measuring and equalizing. Specifically, when to use All vs Left/Right only measurements…

  • Should we measure and equalize Left/Right separately and then combine the impulse response files into one Zip and let Roon deal with it. (Impulse files are in stereo so I am not sure how we do that) OR,
  • Average Left and Right measurements into one Equalized Impulse Response? OR,
  • Measure both speakers together? (Having issues with this one as noted)
  • Any concerns about needing SPL adjustments when using only Left or Right measurements?
  • The impulse files are all the same size 516KB – in REW each IR file varies in size based on the bit rate. Is this expected?
  • Any plans to support other channels?

THANK YOU!

1 Like

There is a discussion further up about certain players blocking the chirp, but this was in the context of those that have built-in proprietary correction, to avoid their correction algorithms leaking out or something like that IIRC. Don’t know why a Powernode would have a reason to, but who knows

1 Like

In one of my rooms HouseCurve wasn‘t able to detect the chirp on a normal listening volume level. Only if i cranked up the volume on my amp to an unreasonable level, HouseCurve was able to detect the chirp. But then the test signal sweep was way too loud.

I‘ve found a workaround by boosting the chirp in the wav file. I‘ve loaded testsignal.wav into Audacity, selected the chirp and raised the volume by 6 db. Now HouseCurve detects the chirp on every measurement.

That’s really weird. How are you playing the sweeps? ex: AirPlay or from a sweep file? You’re not the first Bluesound user to report problems with measurements, but I’ve never gotten to the bottom of why this happens.

I’ll try to answer all your questions in one go. HouseCurve can export the correction as an impulse response. The impulse file is a monural wav, with 130k samples regardless of rate (similar to how REW exports filters, I’m planning some better length controls in an upcoming release).

I recommend measuring all channels together and generating a single correction because this is fast/easy and the results are decent. If you want to generate a correction for individual channels 1) set the target curve fit to manual to keep the target dB level constant 2) measure from exactly the same locations for each channel.

HouseCurve doesn’t care how you isolate the individual channels. The simplest approach is to mute/unplug the speakers you don’t want to measure. HouseCurve’s chirp/sweep channel controls were intended for subwoofer measurement. You could use those, but then you’re limited to two channels.

Roon makes it hard to pull in the individual impulses. There’s two approaches I’m aware of… 1) combine the monural impulses into a stereo wav file (ex: using Audacity) or 2) zip up the monural impulses with a config as described here. Hope that helps.