A convolution based alternative to electrical loudspeaker correction networks

Next goal is to make real good BiQuad's and i think i kindoff need some help with this.
My left's measurements have thoose "dips" which i still cannot correct like you could fluid? - Bellive me i tried 1000 times or more :D with all different settings and target's...

There must be something i do wrong or something i didn't enable or whatever, i donno?
There are a lot of boundary related dips happening in the 200 to 300Hz region which is making this difficult and even if it looks good on the screen when you measure it again the dips may well be back as you can't fix a null by boosting it.

Because that portion is below the target level REW doesn't want to deal with it the way you want all by itself. The way to help with that problem is to add a manual filter into the EQ after you get something reasonable with auto EQ. That manual EQ won't be overwritten when you re run the Auto EQ. Here is an example where I have used a fairly low Q boost at 250Hz to bring the level up and allowed Auto EQ to better match the target on your green measurement.

attachment.php
 

Attachments

  • Manual Filter+AutoEQ.jpg
    Manual Filter+AutoEQ.jpg
    282.8 KB · Views: 344
Hi fluid!

It's perfect... I raised the maxboost's factors, while looking at the EQ before and after that it only changed small amount of them, but i think that the auto EQ worked better when it was not told to behave :p !

I created BiQuad's in REW at 44100 at red and green spot's.
Then i loaded the red spot BiQuad without anything else into camilladsp and took new measurements at 44100.

The picture i attached shows that the BiQuads did a good job correcting into the "target", not that far from the predicted... Great... :)
The new measurements i took here i will export as impulse (no smoothing or window as you told me some post ago) and create DRC fir's with them.

More to come - Jesper.
 

Attachments

  • Left RED channel setup rew.png
    Left RED channel setup rew.png
    118.6 KB · Views: 222
  • redspotBQ.jpg
    redspotBQ.jpg
    73.4 KB · Views: 231
  • Couch.png
    Couch.png
    95.2 KB · Views: 227
Right wesayso :)

Listning to some mixed music with standarg B&K curved DRC created (DRC-Designer) George Michael / Gerry Rafferty etc... with SOFT filter at my "green" spot... really cool.

Balance and tonalcontrol is good (with tonalcontrol i mean that high's and low's are more equal like now, hard to explain for my non native English Danish ;))

A little mood picture of my tubes enjoying this too (you blast yourself jesper ... bad boy)

Good sunday out there.

Jesper.
 

Attachments

  • IMG_6798.jpg
    IMG_6798.jpg
    426.1 KB · Views: 102
Hi...

I have my prefilter BiQuads running fine now on camilladsp, so this is good.
I took then measurements when they was in place and created the fir's with DRC with thoose measurements.

The attached picture shows the DRC created firs on top and the remeasure on the buttom, showing that the fir's are +40dB "higher"

I was then piping them after the BiQuad's but then i got real wild excessive clipping on the output.

Where did i go wrong? Why are the DRC created fir's so much "higher" in dB?

Jesper.
 

Attachments

  • Excess clipping.png
    Excess clipping.png
    199.6 KB · Views: 114
You didn't go wrong it is not unusual for the the filters to be computed at that level. It can depend on a few things including the level of your measurement.

Most convolvers have a normalization option where filter gain or reduction can be accounted for, perhaps camilla does not have this function.

A simple solution is to apply a gain reduction before or after the filter in camilla or open the filter wav in audacity to check the level and reduce it there or normalize it to whatever value you choose just be sure to use the same for both channels if they are well matched.
 
You didn't go wrong it is not unusual for the the filters to be computed at that level. It can depend on a few things including the level of your measurement.

Most convolvers have a normalization option where filter gain or reduction can be accounted for, perhaps camilla does not have this function.

A simple solution is to apply a gain reduction before or after the filter in camilla or open the filter wav in audacity to check the level and reduce it there or normalize it to whatever value you choose just be sure to use the same for both channels if they are well matched.

Great i will look into that.
Btw. I asked Henrik if two instances of camilladsp can be run, i look forward to see if this is doable. -I will also investigate if normalization is an option in camilladsp

Jesper.
 
I have spent the last couple weeks playing with REW and its equalizer function. I have been a little dissatisfied, so today gave DRC a shot. I am finding it a bit quirky.

Regarding the level issue reported by lykkedk, when I imported into REW the 5 standard filter impulse responses generated DRC, one of them came in at a much higher level. I deleted it and imported it again and it was fine - same level as the others. My conclusion is that there was an REW import error for some reason. Now they are all around the same level.

An issue I'm having with DRC is that the right filters are being incorrectly generated - countless huge +/-40dB spikes which make no sense. My cumbersome work around is to do the stereo sweep in DRC, generate the filters, import only the left into REW, then re-direct the left and right channels in Equalizer APO and repeat. I then end up with good left and right filters and can reconstruct the stereo versions in REW for use in Equalizer APO, but obviously a lot more work. Once imported into Equalizer APO the filters are working quite nicely, although I have yet to see how the REW freq sweeps look.

The other odd thing with DRC was my mic cal file worked fine for a while, then I started getting errors. Once I deleted the header comments it started working again, not sure why the behavior changed.
 
Most likely the answer to issues is that somehow you got something wrong, changed something or got a bad measurement.

DRC is not easy to use without some experience with it and then it is still not so easy to use.

Start by looking at the measurement file for your right channel because it needs to be raw pcm it is possible that something has gone wrong with that conversion or that somehow the measurement was corrupted for that channel.

Then check to make sure that there is no difference between the settings for right or left channels in the drc file if you are running them together.

Every problem I have ever encountered with DRC has always turned out to be user error.

The mic cal file should not have worked at all with a text header, it should only be data, I have had to format mine specifically for DRC as it is quite picky about the format.
 
Most likely the answer to issues is that somehow you got something wrong, changed something or got a bad measurement.

DRC is not easy to use without some experience with it and then it is still not so easy to use.

Start by looking at the measurement file for your right channel because it needs to be raw pcm it is possible that something has gone wrong with that conversion or that somehow the measurement was corrupted for that channel.

Then check to make sure that there is no difference between the settings for right or left channels in the drc file if you are running them together.

Every problem I have ever encountered with DRC has always turned out to be user error.

The mic cal file should not have worked at all with a text header, it should only be data, I have had to format mine specifically for DRC as it is quite picky about the format.
Yeah maybe. It seems pretty simple to use - not sure what I could have done wrong - you just do the sweep then generate the filters. I just ran REW sweeps on the DRC filters and they look amazingly bad, so I guess that lends some credence to something not being quite right, either with me or the sw. Guess I'll try again. :(
 
Well attempt 2 looked better but still far from useful. Right channel equalization went off the rails above 10kHz, deciding I needed a 40dB null around 15kHz. I really don't see what I could be doing wrong to cause what I'm seeing. I've made over 100 REW sweeps over the last couple weeks so am pretty familiar with my system. Is there a way to examine the PCM file DRC generates? An alternative would be to do the sweeps in REW and convert them to the format DRC uses as I saw someone do on a DRC youtube video, although I'm not sure the problem is with the PCM file.
 
There is no problem with the software, it gives you back what you feed into it with the parameters you gave it ;)

Are you using greg's scripts and his instructions on converting the measurement to raw pcm?

Converting? I'm just doing the sweeps from within DRC. I assume it should do it correctly. I'm just following steps in Digital Room Correction Designer Help. And I'm not entering any parameters - it is blindingly simple - step 1 - click on "Record Sweep, step 2 - click on "Generate Selected Filters". I don't see what I could be doing wrong.
 
Last edited:
Greg is gmad whose thread you are posting in and his scripts in the first post are the subject of this thread. Whilst it covers the DRC_FIR part as well it is not DRC Designer and actually runs the underlying software directly through a script.

This is why you think it is very simple because you are using the point and click GUI which hides the rest from you.

I have never used DRC Designer to do the measurements or generate filters so I have no clue what could be going wrong there. So it appears that we have been talking at cross purposes.

The converting is to have the measurement in raw pcm format when the measurement was taken in REW or some other program that will output wav impulses and not raw pcm.
 
Converting? I'm just doing the sweeps from within DRC. I assume it should do it correctly. I'm just following steps in Digital Room Correction Designer Help. And I'm not entering any parameters - it is blindingly simple - step 1 - click on "Record Sweep, step 2 - click on "Generate Selected Filters". I don't see what I could be doing wrong.

As fluid said, DRC-FIR does not contain a sweep function. DRCDesigner does, but you'd be driving blind. Make the sweeps in REW. Make more than one and compare them. You can do left and right separately and examine them.

Next export the sweep, once you get steady results, as an IR. This IR will be saved as a wav file. Convert the wav to RAW PCM. Name that file appropriately and store it in the directory as Greg has outlined. Run DRC-FIR using one of Greg's batch files (read the tutorial linked in the beginning of this thread).
The resulting PCM can be converted back to wav and imported as an IR within REW so you get to see the FIR correction.

Doing it like this gives you control over each and every step of the process.
I've been using DRC-FIR what seems to be forever and it is not to blame for what you mentioned. The program is solid enough, but it takes a bit of time to learn the ropes. However I feel it is well worth the time to learn those ropes.

Show us more in-between results. Show us a sweep done within REW. Show the frequency result but also the first 10 ms of the IR. Before any correction.

That could tell us why you get such bad results. Take your time to learn it, it will be worth it. Show a picture of the setup, that might help too.

The program isn't broken, the GUI of DRC-Designer is pretty nice, but at some point you'll need to break free from that if you want to know what's happening. It is not a part of the DRC-FIR bundle, it was written by an enthusiast much like ourselves to help others to make the process easier.
If it isn't functioning like it should, we need more information to be able to help out.

Greg has written batch files that don't need DRCDesigner at all. If we are mixing the two it will get complicated.

Speaking from me, personally, I started with DRCDesigner for my first experiments with DRC-FIR. Greg was kind enough to help me understand the process and getting me on my way. We all need a little guidance somewhere. I have my own set of batch files that I use, I've turned DRC-FIR upside down to figure out what it could do for me. To be able to help out, we need to see what you are seeing. That would be a good start.
 
Last edited:
Thanks for the help. I was starting to think we were talking about two different programs, which I guess we were. I did not read all 72 pages of this thread, just did a web search and landed on page 71. I am absolutely more interested in the details of how the calcs are working and am very excited to learn what is going on behind the button pushes of DRCDesigner. I always hesitate publishing pics because so often it derails my question with "helpful feedback" on all sorts of unrelated issues. So, back to page 1 and I'll start over. Presumably something is going wrong with my sweeps. I'll seek further help if needed, but I'm pretty confident I'll be able to make it work since everyone is confident the program is solid.
 
Hi here :)

After some trials and errors regarding my Pre-filters, i got this partly working now. The DSP engine i am using (CamillaDSP) can handle more than on filter at it's pipeline without problems, excellent. So i created in REW my pre filters, with fluid's fullrange target and created .bin's with those EQ in rePhase and applied them into the Camilla Convolver. - I applied -6dB gain on the pipeline too.
The result is showed at the attached picture (the measurement is at my red spot, excatly in the middle of the speakers)

So next thing is to make some "real" filters, proberly now having an easier life correcting the allready Pre-corrected measurements.
I then created some rePhase .bin files to try it out, and they work as expected without any problems.

I then took the 48000 remeasured ones and samplerate converted them to 44100 in Audacity.
Then in DRC-Designer (still havent got to the real DRC-FIR Gmad script yet) i created some flattarget SOFT.wav's filters and applied them to the camilla pipeline, excatly as i did with the rePhase .bin ones.

But nomatter what i try i got real big excessive clipping still, and it looks like there is something wrong with the wav's. - The filters are running but music is clipped. - Even if i add -50dB gain still no go!

Some time ago, with some other measurements (around 75-80dB / headroom ~30dB) i created the same filters in DRC-Designer and they worked (no prefilters back then), so sure it's not the software but something i do wrong?

I donno, but if someone could have a look at my remeasured files, and maybee create a filter with them i could try, i maybee can figure out what the problem is... Right now i am stuck i think.

The L&R Remeasured files, measured with my pre-filters applied:
ReMeasure48000
 

Attachments

  • Bofore_After.jpg
    Bofore_After.jpg
    39.9 KB · Views: 137
Try Greg's scripts and follow his instructions first, there are two people here who have posted issues that involve DRC Designer.

To avoid that common denominator try something that I know works and how to help you with, gmad's scripts.

If you can't get them to work I will do it for you but it is quite time consuming for me too. In the long run learning to do it this way will be beneficial :)
 
I looked at your files and tried to correct it with a setup I currently use for my sims.
Even though the title of the zip file indicates it is 48000 sample rate, my REW version imported it as if it were 44100 native.
I ran the left one through my usual correction and got a correction with lots of internal hick-ups.

Next I changed my preference in REW to 48000 and opened the file again. After converting it to 44100 (outside of REW) and running the same correction again, the results were better, but not quite solid. There's still some evidence of internal errors in the correction (those small peaks).

All file formats I use have indicators of the sample rate so upon import REW knows what it is. Did you use DRCDesigner for the sweeps?

I'd say use REW for sweeps from now on and go from there. If you can, try to get the whole system to work on the same sample rate. Converting between sample rates is never a true solution and can lead to errors quickly.

DRC can work perfectly well at another sample rate, as long as the template is setup for that. The reason to suggest using REW for the sweeps is that you can examine them before feeding it to the next step. You can still use DRCDesigner, just name the files like DRC would and store them in the right directory/folder and it can still correct them.

Here's the two corrections I got:

attachment.php


The upper one is where I 'assumed' 44100 sample rate as REW could not tell it wasn't. The correction is all wrong because it won't correct at the right frequency positions with the crooked mismatch in sample rate. The bottom one is the one that was first converted to 44100.

See how the one where REW falsely assumed its sample rate was 44100 is all messed up? Little peaks everywhere. The one that was converted to the right sample rate looks a little better but still has some errors within the correction. Not the fault of DRC, the measurement file is to blame.

Judging your IR and seeing lots of early and strong reflections, you must not expect flawless graphs after correction. That doesn't mean it cannot sound good though. (the IR wasn't centered on the first peak either, however fixing that did not get me a cleaner correction).

attachment.php


Do you see there are strong peaks after the first impulse? That means there are closeby objects (near the speaker or near the measurement microphone) that reflect (lots of) energy.

A Wavelet proves that theory:

attachment.php


See how the strongest sound you get at the listening position at some frequencies isn't the direct sound, but the later reflections?

A prediction of the correction looks like this:

attachment.php


It looks a bit better at some spots, but we don't fix generally reflections with short windowed DRC corrections. We can't (or really shouldn't) correct those with DSP.
 

Attachments

  • IR.jpg
    IR.jpg
    86.1 KB · Views: 249
  • Wavelet.jpg
    Wavelet.jpg
    167.2 KB · Views: 259
  • waveletcorrection.jpg
    waveletcorrection.jpg
    171.8 KB · Views: 254
  • testcorrection.jpg
    testcorrection.jpg
    73.5 KB · Views: 244