A convolution based alternative to electrical loudspeaker correction networks

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 :)

It took me a little longer to write up, but I'd agree. Plus I would run all corrections at the same sample rate. DRC provides a whole set of sample rates for a reason ;).
 
Hey... Thanks both for all the work and help you guy's do for me! :)

I have a setback, confused about some things right now, but first i will answer the post wesayso posted.
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.
Thoose files was recorded at 48000 with my usbmic. (umik-1), i did not do anything else than save them as normal. I can't find anywhere in REW where i can see the samplerate which was used for recording. The only indication i can find is the samplerate at the soundcard which can be seen at the leftmost buttom corner (see attached picture)
I only use REW(v 5.19) for measurements, never used the sweeps in drcdesigner.

When i load the L_red_red file + the R_red_red one i measured after the prefilter my SPL looks "pretty" good (See attached picture After prefilter.png)...
I also attached a picture (Aftervsbefore.png) which shows the measurement both before and after i applied the prefilter.

I was thinking it was looking good, but i can ofcause be wrong.

My mic is 48000 native and it can measure 44100 and 48000.
I will use both next time i take some sweeps.
I also read somewhere that REW only can take measurements at max 48000.

I will think some.

Rgds; and thanks again Jesper.
 

Attachments

  • rew_sr.png
    rew_sr.png
    37.3 KB · Views: 145
  • After prefilter.png
    After prefilter.png
    50.2 KB · Views: 150
  • AftervsBefore.png
    AftervsBefore.png
    74.9 KB · Views: 154
I couldn't see it in a very old version of Cool Edit Pro either (which is what I use to convert between formats). But I could import it back into REW without problem.
I exported it again (I always use the normalise setting) and was able to see that file.
Upon correction I ran into the same problems as before. I'll try a different template.

Well, the other template did the correction without any trouble. It is setup not to correct phase, just frequency while the first template I tried does both.

attachment.php

Green: correction prediction, Orange: Correction FIR file, Red: Original input (quite low in SPL)

So the only thing going wrong in the above graph is that it used my mic correction, but it all worked for the rest of the process.
 

Attachments

  • correction.jpg
    correction.jpg
    139.9 KB · Views: 265
Last edited:
OK, read through all the pages of this thread and am now making some serious progress using Greg's batch files. Won't bore you with all the details, but experiment #1 using the Normal filter produced a seriously improved impulse response - see below (original and with filter). Haven't listened to it much, was too excited to post my impulse response improvement. Seems most of this thread is people talking about tweaking various parameters for best sound, and I guess now that I have the tool working I will be entering that phase of my life. :) Thanks for the help!
 

Attachments

  • corrected impulse.JPG
    corrected impulse.JPG
    46.7 KB · Views: 56
  • original impulse.JPG
    original impulse.JPG
    44.7 KB · Views: 65
I think that when i export my IR's to .wav from REW there is something wrong?
The files i link to is the same as the .mdat rew native ones wesayso downloaded before :)
Just exported to .wav ofcause...

I see nothing when i import them into Audacity?

Jesper.

DRC needs the measurement to be in raw 32 bit float format with a .pcm extension

In REW I export impulse as wav and choose 32 bit float, then I import the file into Audacity and export it as a raw file 32 bit float then change the extension from .raw to .pcm

Is that what you are doing or are you using signed pcm directly?

If the output is not normalised on the measurement you will have to zoom in a long way in Audacity to see anything at all but it will be there.
 
DRC needs the measurement to be in raw 32 bit float format with a .pcm extension

In REW I export impulse as wav and choose 32 bit float, then I import the file into Audacity and export it as a raw file 32 bit float then change the extension from .raw to .pcm

Is that what you are doing or are you using signed pcm directly?

If the output is not normalised on the measurement you will have to zoom in a long way in Audacity to see anything at all but it will be there.

Hey ... :)

I think i do it right, in REW i export as 32 bit float.
The ones i link to is exported this way.

then I import the file into Audacity and export it as a raw file 32 bit float then change the extension from .raw to .pcm

Yes, i am trying, but when i open them i Audacity i still see nothing?
I tried zooming and etc... even on two different pc's :eek:
My next step is to use the Gmad's script, but i really need to solve this first.

EDIT ::
Is that what you are doing or are you using signed pcm directly?
... When i export it say's PCM. - I assume it's correct?

LR_red_red_wav
 

Attachments

  • Audacity.PNG
    Audacity.PNG
    42.9 KB · Views: 63
  • Export_from_rew.png
    Export_from_rew.png
    65.3 KB · Views: 66
Last edited:
Yes, i am trying, but when i open them i Audacity i still see nothing?
I tried zooming and etc... even on two different pc's :eek:
My next step is to use the Gmad's script, but i really need to solve this first.
from the REW Help

The peak of the exported response occurs 1 second after the start unless the IR window has been applied, in which case the export starts at the first windowed sample and the peak location depends on the IR window settings.

if you zoom into the 1s mark you will see your IR, you have to zoom in the y axis quite a way though as the peak is down at about -55dB
 
You are using an old version of REW that is why it looks different

The latest Beta's are really very stable and where all the new features are to be found

This is what it looks like for me

attachment.php


This is how far you have to zoom in Audacity to see it, see it is there :)

attachment.php


I have attached your files as raw 32 bit float with pcm extension in a zip try these and see if they are any better. These are 48K files.
 

Attachments

  • REW 5.20 beta.jpg
    REW 5.20 beta.jpg
    23.6 KB · Views: 246
  • Left Red Red WAV.jpg
    Left Red Red WAV.jpg
    231.7 KB · Views: 260
  • L_R_red_red.zip
    602 KB · Views: 48
So FINALLY :)

Exported my own .wav into Audacity.
Took a little to figure out howto zoom into the y axis, but i figured it out.

So now that i can see that it's working i finally can move on to Gmad's scripts...

Thanks all for helping me out on this issue!

Jesper.
 

Attachments

  • Finally.PNG
    Finally.PNG
    55.9 KB · Views: 130
wesayso; you are right...

just tried it out.
A few posts ago you wrote that my SPL was no in the middle. E.G my mic was not at the exact mittle when i measured, is this correct?

Do i have to have the dotted red line at "0" when measuring both at left and right?

Jesper.
 

Attachments

  • L_rew_impulse.jpg
    L_rew_impulse.jpg
    44.6 KB · Views: 132
Some questions:
1 - DRC has provision for a mic cal file, but if I used the cal file in REW when capturing the response, I don't need any cal file in DRC, right?
2 - Do you experts have some test tracks you use to evaluate filters? Wesayso mentioned "Private investigations" - Dire Straits, but there must be more good tracks to expose the artifacts of equalization. I guess I could run the Extreme or Insane configs to help train my ear. I have been using random tracks, but I'm constantly thinking I hear things, but they are still there when I turn off the filter so just part of the music.
3 - My Normal filter works fine for music, but has about 1 sec delay - not so good for video. Is the delay dependent on the filter type or is it largely unavoidable using the technique? My old equalization using dozens of peaking filters did not have much delay, although it did have much higher CPU utilization with Equalizer APO. If unavoidable, I will just switch in a simple filter when watching video - not a big deal.
 
A few posts ago you wrote that my SPL was no in the middle. E.G my mic was not at the exact mittle when i measured, is this correct?

Do i have to have the dotted red line at "0" when measuring both at left and right?

What wesayso was showing is that the first positive peak in your impulse is not the highest peak. DRC in Auto mode looks for the maximum sample value. He tried it both ways and it did not improve.

Measuring both speakers in the exact acoustic sweet spot between them is a good idea especially if you are going to listen to them there. It will make the two speakers more similar to each other when corrected.

That is about making sure that the Left and Right impulses overlay each other when measured together.

Some questions:
1 - DRC has provision for a mic cal file, but if I used the cal file in REW when capturing the response, I don't need any cal file in DRC, right?
2 - Do you experts have some test tracks you use to evaluate filters? Wesayso mentioned "Private investigations" - Dire Straits, but there must be more good tracks to expose the artifacts of equalization. I guess I could run the Extreme or Insane configs to help train my ear. I have been using random tracks, but I'm constantly thinking I hear things, but they are still there when I turn off the filter so just part of the music.
3 - My Normal filter works fine for music, but has about 1 sec delay - not so good for video. Is the delay dependent on the filter type or is it largely unavoidable using the technique? My old equalization using dozens of peaking filters did not have much delay, although it did have much higher CPU utilization with Equalizer APO. If unavoidable, I will just switch in a simple filter when watching video - not a big deal.
1. No you need to use the cal file in DRC and it will need to be formatted to work the way DRC wants it. No text at the beginning a single space between values.

REW only applies the mic cal to the SPL response as viewed it does not affect the impulse response and will not be included when you export the Impulse.

2. In my (non expert) opinion listening to one or two test tracks is not a good idea. I have been down this road before and it leads nowhere. I can tweak the EQ on that song to absolute perfection and be amazed only to listen to another track and be horrified.

Listen to a wide variety of tracks especially those that are hard for speakers to reproduce the ones with dense harmonic structures.

Listen to tracks that you are familiar with or that have a feature in them that you are trying to improve. Fast hi hat patterns, massive cymbal crashes, detailed bass lines, low frequency content, stereo image tricks etc. etc.

The DRC Documentation suggests starting with the extreme and insane settings to get an appreciation of what not to do. Seems like a reasonable idea.

3. The delay comes from the latency of the filter and is mainly due to the number of taps that are used in the filter and whether the filter is linear phase or minimum phase. The higher the number of taps the greater the frequency resolution.

You can change the filter to a shorter length or minimum phase. 65536 linear will give you that sort of latency. 8192 or 16384 taps will have less latency but reduce the resolution of the correction in the bass frequencies. This can be offset by using PEQ in the bass to improve the frequency correction accuracy.

You can also get a zero delay minimum phase filter with high resolution.

PSOutWindow sets the linear phase output filter length
MSOutWindow sets the minimum phase output filter length

Set MSFilterDelay to 0 for a zero delay filter

You can generate both minimum phase and linear phase filters from the same file by having DRC generate both, set both PSOutFile and MSOutFile to the names you want and they will both be generated.

You may still get some latency with a zero delay filter depending on the buffer size that the convolver uses
 
1 - Yeah, I was afraid maybe REW was not correcting the export.
2 - Regarding test tracks, I'm not looking to optimize sound for a particular track, I'm hoping to identify some test tracks known to make the artifacts more easily heard and thus speed evaluation. I will follow your suggestions (but still hoping someone has some test tracks to recommend). Years ago when deciding what MP3 compression level to use, I ran across a list of killer tracks which was super handy.
3 - Thanks for the explanation and helpful suggestions on minimizing time delay.
 
2. That was exactly my point listen across a wide range. If you focus on one or two you may well make them sound good at the detriment to everything else.

The main artefacts from heavy handed DRC filters makes the sound increasingly sensitive to position i.e. the correction only works with your head held still at a specific position.

The easiest way to test for this is to move your head around. If it sounds radically different in the area you can easily move your head it is no good.

Keep the target response the same and change the window lengths and window exponent. The Mid frequencies are critical and vocal tracks are good to use to judge this as voice is easily heard to sound wrong. The windows can be longer at low frequencies as room correction instead of speaker correction is more valid there.

Too much phase correction will make the bass sound off. Not enough frequency correction will make some bass notes louder than others.

For this I use a double bass track from one of the Chesky Demonstration discs, I will have check which one exactly later. Daft Punk's Get Lucky also has a defined bass line.

If you are somewhat familiar with the track it can often make these sort of things easier to pick out.

I always use Fleetwood Mac's the Chain as I like it and it covers a lot of ground. The Kick drum at the start is a good one as is the beginning of Copperhead Road.

I also like to use Audioslave's Show me how to live in the chorus, as that is a really difficult track for most speakers to reproduce without sounding awful. The verse is a complete contrast.

For imaging Tool's Chocolate Chip Trip using some tricks to make the background sounds move outside the speakers.
 
Last edited:
OK, thanks, that is very helpful. I have a bunch of tracks in my Spotify "test speaker" playlist that I've used over the years to evaluate all the conventional aspects of system performance, but I have no experience in artifacts caused by this convolution based approach, and want to be sure I have some tracks that are apt to cause issues if the correction is excessive. I will check out the tracks you mentioned ("Get Lucky" is already in my "test speaker" playlist. :))
 
There really is no difference in assessing this sort of processing to basic PEQ or another other form of frequency and time manipulation.

There is more power here to manipulate it incorrectly for certain but if it sounds good to you then it is good :)

I have spent a lot of time trying to reduce what I perceived to be over correction by looking at the generated filter. So far I have not been able to find anything that actually sounds better than the over corrected one.
 
The one song that didn't make it to my test list is the one from Dire Straits :).
It does have high dynamic range which isn't comparable to a lot of new songs.

I use an enormous list of songs for testing. A wide variety of songs and genres.
I've mentioned quite a few of them here and there. All for different reasons.
See this post here for starters: https://www.diyaudio.com/forums/multi-way/277519-fixing-stereo-phantom-center-97.html#post6214566

One I should definitely mention is Infected Mushroom, Converting Vegetarians and Converting Vegetarians II. There is a lot going on on both albums.
From the first album 'Afratz' is a very good example for a test song. The second one has lots of fun tracks that can tell a lot.
The album "Convergence" from "Malia" and "Boris Blank" (the one from Yellow) is also a good example because of the virtually created moods in the songs. Songs from Steely Dan are excellent in mixing/mastering. I like Zappa and Michael Jackson because they always have great production.
A personal favorite, and more in line with what I really like is "Ayreon - Into the Electric Castle". But I do listen to a lot more, as long as the song can tell me something.