Room correction using your iPhone and HouseCurve

I would like to share an app note on room correction for Roon using HouseCurve, an audio analysis app for your iPhone/iPad.

Full disclosure, I’m the author of HouseCurve. I wrote this app note a few months ago and it has been getting a lot of interest. I’m sharing it here on the Roon community forum so I can answer questions for Roon users.

One of the most common questions is about the quality of iPhone microphones. The sort answer is “actually, pretty good, especially when you don’t have a measurement mic handy”. iOS devices are able to put their microphones into a measurement mode. This disables any signal processing the device may apply for voice calls, etc. My own measurements show that the mics are pretty flat from 60 Hz to 16 KHz. HouseCurve applies some compensation at either end to get the mics closer to what a proper measurement microphone would read. For the curious, there’s more information here. Of course, HouseCurve can also use external microphones, like miniDSP’s UMIK-1, but I recommend starting with the iPhone mic.

There is a free trial available here, which is enough to give the app note a try.

Enjoy, and happy listening :slightly_smiling_face:.


HI I have used this and Im quite pleased with the results and for the price its excellent!

1 Like

I used the app with iphones internal mic and the Umik. It’s incredible how close the results were. Highly recommended. Especially for low freq. room modes.
Now I got a Flex where I’ll make different profiles for focused, spread out and whole room eq. will keep you posted how it turns out.

Nice app. I like how it’s easy to compare pre and post equalization results. My speakers are the Avantgarde zero one pros which have built in equalizer. I was able to tune the speakers manually using the results from the app. That was not easy, I wish there was a way to do it automatically like roon but I don’t know what format the Avantgarde’s use. Avantgarde does not recommend using external DSP.

Hello again. So I tried out MiniDSP Flex with filters exported from HouseCurve. It sounds amazing. I’d recommend first fixing your room modes below 300hz and move your way up the frequency. I realized the 10 eq limit of the Flex forces HouseCurve to average the highs too vaguely. What you could to measure the higher freq separately and enter them into Roon DSP manually. For now I haven’t integrated the Subs. Tbc…

Thanks Daniel, glad you like the app. Yeah, manually entering filters is a pain. I hope the effort was worth it!

HouseCurve can also export the filters as biquad coefficients and parametric EQ settings. Not sure if either of those formats would work with Avantgarde’s EQ.


Just to say I’ve bought the app - and used it to improve the sound from the ceiling speakers in my shower room and bedroom…

Was easy to use playing the sample via Roon, and uploading the convolution filter.

Sure it can do a lot more, but very happy so far.


1 Like

It was definitely worth it. I had measured them in the past but I lost the measurements and sold the mic! The app with iPhone mic was the ticket

I also used it on a little meridian f80 compact system and this time used exported files into roons convolution. Worked great and has transformed that system. Thanks

Great App - easy to use. I have had some problems though when using a UMIK-1. I get the message “could not detect test signal”, which seems to be very low volume compared to the chirps and sweeps. Tried increasing the overall volume but problem persists. Can you suggest a fix?

Hi Michael, thanks for the question! That message means HouseCurve can’t hear the “chirp” part of the test signal. This page has some troubleshooting tips: measurement failures.

My UMIK-1 does measure a bit lower than built in iPhone mics, so sometimes I have to increase the audio system volume a little. I would also check that the mic is working by recording a voice memo (don’t take that the wrong way - I’ve wasted hours on unplugged cables :disappointed:). If that doesn’t help, shoot me a direct message and I’ll help you debug.

Hey @Greg_Wilding Posted this on another thread and thought I should let you know as well. Process was great. Result very pleasing to my ear (which is what it is meant to be​:grinning::grinning:) Found that I didn’t need to reduce headroom as much as I thought I would. Started at -6 but seem to have settled on -3.

Will get around to doing the Lounge Room set up and TV Room soon. Cheers. Nice little product.

I downloaded Housecurve on Friday and used it to set up a convulation filter for the Bedroom setup. To be honest it took longer to read the instructions than it did to take the measurements (saved the sound file to the Local Library and played on loop to get an average of 6 readings) and create the filter.

Thought the result sounded good playing at native bit-rates and have been upsampling to DSD128 since Saturday.

1 Like

I’ve had some questions about using a UMIK-1 microphone with HouseCurve. I connect my UMIK-1 with the “USB to mini USB” cable it came with and this Lightning to USB adapter. The adapter seems to be a critical part - I believe it has some smarts that make the mic visible to the iPhone.

HouseCurve will display “external microphone” at the bottom of the screen when the iPhone detects it. You can then load the mic calibration file by going to Measure Setup → External Mic Calibration.

If you’re having external mic issues, first check that the iPhone can detect it by recording some audio (ex: with Voice Memo).

I had good results with manual EQ using REW for measurements in the past and am eager to try out house curve to create a convolution filter for roon.

As far as i understand, HouseCurve produces a monaural WAV file, that will be applied to all (both) channels.
From my experience, i need different corrections for the left an right speaker because room modes are triggered differently by both speakers.
So i assume the way to go with HouseCurve will be to measure both speakers seperatly and create individual convolution files for both speakers. To ensure level matching, the target curve needs to be manually fitted to the same level during both measurements.
As a final step, the individual wav files need to be merged together ton a stereo wav file using Audacity or similar tools. Correct? Missing something?

Does anyone have tried this already and could share his experiences with this?

Best Regards, Roland

First results with measuring both speakers at once and creating a common convolution look and sound great.

Grey: uncorrected measurement
Green: averaged correction
Using an UMIK-1 attached to my iPad with a generic USB-C to USB-A adapter works fine.
Kudos to Greg for a great App!

Hi @Roland_von_Unruh. Yep, I think you have the right approach. Thanks for sharing the before/after - it looks great :grinning:

I haven’t tried it, but Roon does provide a way to map monural wav files to channels using a configuration file. See the Roon’s convolution help. May save you a step. Happy listening!

Kef LSX (the original) in my small office, not bad for these little boxes

1 Like

Some Roon users have asked me about target curves. Sharing with the wider Roon audience:

HouseCurve can import user defined target curves. The file format is described here, and examples are available here. Curve files can be modified with a text editor. To import a curve, go to Plot Setup → Target Curve and press “+” at the top right.

The target curves shipped with HouseCurve are ones I have used personally. Curve A is based on the B&K curve, from this paper. Curve B is based on an EBU standard. Curve C is based on the Harman curve / Floyd Toole’s paper (I like this one the best).

I wouldn’t get too wrapped up in finding a “true” curve. The papers above show there’s lots of room for personal preference - pick (or create) a curve that sounds best to your ears.

Finally, to enable rapid experimentation, yes, HouseCurve will soon have a curve editing feature (I need a few more weekends :slight_smile:). This will let you drag around curve points similar to Dirac Live, etc.


I bought the app last night. Cool interface and easy to use. I found that taking 10 measurements at different locations around my room and at the same height then equalizing the average gave me the best audible result in my room. I used an iPhone 13 Pro and Airplay. No external mics.

Now, though, I can’t figure out how to play the HouseCurve sine sweep through Roon to apply the DSP filter to the HouseCurve stimulus in order to see how my room now measures. To take the initial measurements, I had to play the sine sweep via airplay directly to my streamer/dac. I’m missing something.

It would probably be easier to export the sine sweep and load it into Roon. Click the two cogs at the bottom of the main screen, then ‘Stimulus Type’ then, on the next screen, ‘Export test signal’. Save it on your phone, then transfer to your Roon core.

1 Like

Thanks @DaveN, beat me to it :smile: @John_Wages you can take a look at step one of my Roon application note, there’s some screenshots that show the steps.

1 Like