A convolution based alternative to electrical loudspeaker correction networks

anyone interested in posting a blind test for audibility of phase at low frequencies?

a wav file with good bass, convolved with a straight filter, and then one where the phase has been shifted say one cycle.

it would be interesting to test. I dont have a good lossless music file or I would do it.
 
Gmad,

I have downloaded your scripts and was looking at the Custom Minimum Phase vs mixed phase. The scripts seem to call the same drc file and give a different name to the pcm file but I can't see any other command line changes. Is there any difference between the files generated other than the name or am I missing something obvious?

I am grateful to you for posting them and I was hoping to see what settings you changed to make a difference in the phase but I couldn't work it out :scratch:
 
Thanks Gmad, I did miss something obvious :)

As the minimum phase filter is generated before the Post filter stage that would mean the target response file would have no effect?

If you wanted to have a minimum phase filter but use a target response file to shape the overall curve how would you do that.
Use a minimum phase post filter and disable the Excess phase correction somehow?
 
Last edited:
By the way, the custom mixed phase filter is performing some additional phase correction by way of linear phase peak limiting; it's allowing up to 4 cycles of pre-ringing where there would otherwise be excessive boost (modal dips and freq extremes). If you'd like just a simple 4 cycle MP/1 cycle EP correction, make the following edits:

PLType = W
PSFilterType = T
PSOutWindow = 11025
 
It works for me, are you using PSOutFile?

Also try 0.0 and -20.0 as the amounts it can be quite picky about the format of the text files.

still no bueno.

I always generate the PSOutFile, MSOutFile, and the test convolution output.

I tried with the decimals and still no workie. I wonder what Im doing wrong. It doesnt even work if I try a smaller number like -5 dbs.

do you perchance have a test convolution showing how DRC conforms to your target?

thanks


for now, Im just using the filter correction from Room eq wizard.
 
This is a graph showing the Curve in the PSpoints file (green) and the Test convolution output (purple) with a 6 cycle FDW in REW

attachment.php


I can try with your test figures to see what comes out for me.

The only other thing I can think of is that the filename has a spelling mistake or something like that as a single character wrong will cause DRC to not use any file. Have you put the text file in the sample directory or are you using the full file path?

If you put extra pauses in the batch files in can make it easier to read the DRC commands as they are processed to see if it throws an error. I made a few naming errors when I was testing and it made it easier to see where I had gone wrong.

I know these might seem a bit basic but it was these sorts of things that I had a few issues with to get what I expected :)
 

Attachments

  • DRC Comparison.jpg
    DRC Comparison.jpg
    92 KB · Views: 394
I just tested with the figures you gave and I got a big notch at 3K so there must be something simple going wrong.

attachment.php


I used the attached text file I put it into the sample directory and passed --PSPointsFile=1201.txt

That graph is a minimum phase extraction with minimum phase PSFilter

I added a few extra lines into one of gmad's batch files for my testing this is what it looks like

attachment.php


Hopefully some of that will help to get it working for you :)
 

Attachments

  • DRC Notch.jpg
    DRC Notch.jpg
    72.6 KB · Views: 360
  • 1201.txt
    49 bytes · Views: 62
  • Screen Shot 2017-07-16 at 9.51.08 pm.png
    Screen Shot 2017-07-16 at 9.51.08 pm.png
    109.4 KB · Views: 359
I just tested with the figures you gave and I got a big notch at 3K so there must be something simple going wrong.

attachment.php


I used the attached text file I put it into the sample directory and passed --PSPointsFile=1201.txt

That graph is a minimum phase extraction with minimum phase PSFilter

I added a few extra lines into one of gmad's batch files for my testing this is what it looks like

attachment.php


Hopefully some of that will help to get it working for you :)

Hi Fluid,

THANKS a bunch for testing this for me. I was about to give up on drc again and use something less advanced. Im not quite sure why its working for you but not for me.

I know it reads the file because when its running it tells me how many lines are in the pspoints file.

I'll have to keep working at it. at least now I know it works
 
DRC reading the file rules out that issue.

I found that the PSInterpolation Type has a big effect on how well DRC tracks the target file. I set it to R as the linear version of Uniform Cubic B Splines.

If you have it set to S or any of the logarithmic or bi-logarithmic settings I found it did not give me what I was expecting based on the target file.

Other than that you can attach or send me your test files and I can have a look to see what's different to the ones I have that work as expected.
 
DRC reading the file rules out that issue.

I found that the PSInterpolation Type has a big effect on how well DRC tracks the target file. I set it to R as the linear version of Uniform Cubic B Splines.

If you have it set to S or any of the logarithmic or bi-logarithmic settings I found it did not give me what I was expecting based on the target file.

Other than that you can attach or send me your test files and I can have a look to see what's different to the ones I have that work as expected.


Thank you for your continued help. Ive think Im starting to figure it out now.
I deleted and reinstalled drc with no luck.
then somehow I stumbled on the fact that REW was not displaying the pcm output of REW correctly. it seemed I had to convert it to a signed pcm first.

thankfully, your screenshot above had a sox pcm to wav conversion so I used that.

now Im getting somewhere.

before correction, and after correction with a 20db notch at 3000


attachment.php




now what I need to figure out is how to make the correction smoother and how to get the full amount of correction I input into the file.. you said you had a 1/48 correction on yours. mine looked quite jagged at 1/48. or were you windowing? what fdw were you using if so?

also, it seems mine flat areas are not as straight as yours.

I tried using R for psinterpolation and it didnt make a big difference.
 

Attachments

  • drc getting better.jpg
    drc getting better.jpg
    97.3 KB · Views: 327
Thank you for your continued help. Ive think Im starting to figure it out now.
Glad I have been able to help, I am a bit of a novice at using the program myself but I have been doing a lot of testing and referring back to the manual. Greg's package is a really good way to use DRC and if you haven't already I would download it and use his templates it is quite easy to modify the batch files as I did to pass some changes through to the template and see the outcome without having to modify it directly.

what I need to figure out is how to make the correction smoother and how to get the full amount of correction I input into the file.. you said you had a 1/48 correction on yours. mine looked quite jagged at 1/48. or were you windowing? what fdw were you using if so?

also, it seems mine flat areas are not as straight as yours.

I tried using R for psinterpolation and it didnt make a big difference.

I think I used a 6 cycle FDW in REW for than graph, I always forget to add it on the legend and REW puts 1/48 which is not telling the whole story.

You need to view the measurements and correction results through an FDW to get a better idea of what was done as DRC is using the window internally to base the corrections on.

I suspect if you applied a 6 cycle FDW in REW to both input and output there would be about 20dB of cut.

You can see in the batch file above I have upped the PLGain to 3.0 which allows up to 12dB of boost. I changed the PLType to W, log weighted minimum phase too.

If the target was more like mine then I think you would notice the difference in interpolation type, the log ones follow the target logarithmically rather than linearly which doesn't make sense to me. If I set a target that is what I want so linear works for me.

If you want to see what DRC sees as the FR based on the templates window settings you can set MPPFOutFileType to a file and open that in REW. The REW window is coarser than DRC's.

Are you aiming for a flat response or a downward tilt of some kind?
 
Why would a target file include a deep notch I'd ask myself. Usually the target is responsible for just that, a target for a slope or frequency curve output.
While you can change the type to follow a target more closely, it would have other effects too to be able to create a deep notch.

If you are suppressing something, adding a PEQ would likely do a better job.
 
Glad I have been able to help, I am a bit of a novice at using the program myself but I have been doing a lot of testing and referring back to the manual. Greg's package is a really good way to use DRC and if you haven't already I would download it and use his templates it is quite easy to modify the batch files as I did to pass some changes through to the template and see the outcome without having to modify it directly.



I think I used a 6 cycle FDW in REW for than graph, I always forget to add it on the legend and REW puts 1/48 which is not telling the whole story.

You need to view the measurements and correction results through an FDW to get a better idea of what was done as DRC is using the window internally to base the corrections on.

I suspect if you applied a 6 cycle FDW in REW to both input and output there would be about 20dB of cut.

You can see in the batch file above I have upped the PLGain to 3.0 which allows up to 12dB of boost. I changed the PLType to W, log weighted minimum phase too.

If the target was more like mine then I think you would notice the difference in interpolation type, the log ones follow the target logarithmically rather than linearly which doesn't make sense to me. If I set a target that is what I want so linear works for me.

If you want to see what DRC sees as the FR based on the templates window settings you can set MPPFOutFileType to a file and open that in REW. The REW window is coarser than DRC's.

Are you aiming for a flat response or a downward tilt of some kind?



thank you. some of it was when I reinstalled DRC I forgot to add back my mic compensation file so that smoothed things out a tad.


I'll try it with the windowing and see what happens.


I changed my PLGain to 3 as well and that helped with the notch at 60hz.


Im pretty much aiming for a flat response with a small notch centered around 3khz. for some reason my ears are extremely sensitive to this area so about a 4 to 5 db notch between 2500-3500 is what Im going for as a starting point.




regarding MPPFOutFileType, is that a file that can be opened directly in REW, or do I have to convert it to wav first?


thanks

Why would a target file include a deep notch I'd ask myself. Usually the target is responsible for just that, a target for a slope or frequency curve output.
While you can change the type to follow a target more closely, it would have other effects too to be able to create a deep notch.

If you are suppressing something, adding a PEQ would likely do a better job.



Just to make sure it works.

As far as I understood it, he was using it to be an obvious sign that the target file was working. I don't think 1201 meant to use it as part of his actual target.



Correct! :)
 
Im pretty much aiming for a flat response with a small notch centered around 3khz. for some reason my ears are extremely sensitive to this area so about a 4 to 5 db notch between 2500-3500 is what Im going for as a starting point.
Then I would probably use a flat target in DRC and use a PEQ to do the dip as it will be easier to fit it to your taste, but that assumes that it's easy enough to do with PEQ with the player/server software you are using.

regarding MPPFOutFileType, is that a file that can be opened directly in REW, or do I have to convert it to wav first?

I suspect that it is unsigned pcm which would need to be converted like in the batch file, easy enough to add it to the batch file to be processed at the same time.

I have highlighted the line in the file, take out the # and change the name if you want to.

attachment.php
 

Attachments

  • Screen Shot 2017-07-17 at 9.57.38 pm.png
    Screen Shot 2017-07-17 at 9.57.38 pm.png
    36.6 KB · Views: 311