Go Back   Home > Forums > >

A convolution based alternative to electrical loudspeaker correction networks
A convolution based alternative to electrical loudspeaker correction networks
Please consider donating to help us continue to serve you.

Ads on/off / Custom Title / More PMs / More album space / Advanced printing & mass image saving
Reply
 
Thread Tools
Old 21st March 2021, 08:00 AM   #791
emailtim is offline emailtim  United States
diyAudio Member
 
Join Date: May 2005
Location: USA
The code is now producing [1-n] plots per page. Single plots per page can present more detail when enabled. Higher details in multiple plots per page cause clutter so I am trying to reasonably disable some details in those instances to reduce clutter (e.g. turn off front-2-back grid lines they don't dominate the plot).

Now to rerun all of the plots against the baseline code to make sure I didn't mess up any of the math.

Click the image to open in full size.

Here is the new waterfall plot. It can be dumped front or back by just specifying the rotation angle.

Click the image to open in full size.

Last edited by emailtim; 21st March 2021 at 08:09 AM.
  Reply With Quote
Old 21st March 2021, 11:00 AM   #792
wesayso is offline wesayso  Netherlands
diyAudio Member
 
wesayso's Avatar
 
Join Date: Jul 2007
Quote:
Originally Posted by emailtim View Post
FWIW, here is an actual listening position in-room measured response from a RePhase/REW filter. I am hoping DRC-FIR ca do it faster.
I don't know about faster, as one can get lost in the many variables from DRC, but in my experiments with both programs, DRC could do a much cleaner job than I ever could by hand using RePhase/REW.

Much cleaner impulse and an excellent correction. The frequency dependent window used by DRC-FIR is way more detailed at similar lengths than the one used in REW. In my humble opinion, it is that frequency dependent window that makes DRC-FIR a strong tool. I've spend a lot of time just adjusting that window size (and shape) and analyzing what effect it had (for me, subjectively) in perception. I'd recommend playing with that feature, which would be easy to do using DRC-Designer.

Based on those tests I created my own templates and batch files to be able to adjust them for my specific goal to fit the impulse correction of floor to ceiling arrays.
(which is a very different requirement from the usual single or multi-way speakers)
__________________
Use Science to design your speakers and they will sound like a piece of Art...
  Reply With Quote
Old 21st March 2021, 05:15 PM   #793
emailtim is offline emailtim  United States
diyAudio Member
 
Join Date: May 2005
Location: USA
Default OCTAVE Vector Outputs

One quick note, you can specify the DPI "-r600" (default is "-r150") to increase the image size/resolution for bitmap based outputs (e.g. ".png", ".jpg") or output to vector based formats such as ".pdf" to preserve resolution and zooming capabilities.
  Reply With Quote
Old 14th July 2021, 01:10 AM   #794
johnp98 is offline johnp98
diyAudio Member
 
Join Date: Jun 2020
Hello,

I had a few questions that I was hoping to get answered. I think I have gone though this whole thread at this point and still had a few questions.

Some are about DRC in general and some are more about DRC Designer

1) I am more trying to get people opinion on this one. But is DRC Designer a good way to get ones feet wet and get 95% of the way there? Or should I really just cut to the chase and learn it through the way outlined here by gmad?
I have a 7.2 setup but am mainly looking to improve my stereo music listening. So I run my PC  AVR (which looks after bass management and crossover at 100hz)  L&R HTM-12s (they have a woofer and a compression driver) and to a behringer amp that has its own PEQ of dual 18” subs. So would that be simple enough for DRC Designer? Or should I deep dive into the method outlined here by gmad? More so looking for opinions on this one.

2) My understanding is that even if the initial recording is done in REW with the mic calibration in REW that it also needs to be loaded into DRC correct?
If that is the case, I tried to edit my mic calibration text file to follow the required formatting but this is the error that I receive through DRC Designer:

“Reading mic compensation definition file: E:\John\Audio - HiFi\REW\UMIK-1\7060719_90deg - DRC.txt
Mic compensation direct inversion.
Allocating mic compensation filter arrays.
Mic compensation FIR Filter computation...
FIR Filter computation failed.”

Any ideas what I am doing wrong? Or do I need to even worry about this if I do my initial recording in REW with its mic calibration activated?

3) Should I do my baseline / raw measurements with or without my pre-existing parametric EQ in place? I spent a bit of time making a combination of nearfield gated measurements and then MMM in room measurements to create a quite good sounding PEQ file that I have been using and really enjoying. I have since become interested in DRC and thus I am wondering if it would work best if I ‘layered’ DRC ontop of the existing EQ or if I should start from the ground up and just measure the raw speaker/sub response with no EQ. Really the question is, if one wants to add PEQ should they do it pre or post DRC?

4) Is there any easy way to make correction files for surround channels and also for the LFE/Sub channel? I am mostly going to use if for stereo listening but I know the upgrade bug will bite at some point. So could I just record them in REW and then export and label them as if they are left or right channels and then when I get the correction files then rename / assign them back to their actual channel? Do people do multichannel EQ with DRC and what’s the best approach for that?

5) Can I use Equalizer APO as a convolver? As it looks like DRC Designer puts output convolver WAV files in “ConvolverFilters” file, so can I use these and import them into into EAPO? Is that adequate? Sorry it is just unclear how Convolver VST fits into the system flow and if it is needed if one uses EAPO?

Thanks for any input and replies! Looking forward to learning more about DRC and trying it out!
  Reply With Quote
Old 14th July 2021, 08:01 AM   #795
fluid is offline fluid  Australia
diyAudio Member
 
Join Date: Jan 2009
Quote:
Originally Posted by johnp98 View Post
Or should I really just cut to the chase and learn it through the way outlined here by gmad?
I say use gmad's scripts they are very easy to use and there is a complete user guide to walk you through it. You can then change any parameter that DRC has available and gives you the most flexibility and options.

Quote:
Originally Posted by johnp98 View Post
2) My understanding is that even if the initial recording is done in REW with the mic calibration in REW that it also needs to be loaded into DRC correct?
Yes the mic calibration in REW is only applied to the visible frequency response trace it is not embedded in the impulse when exported.


Quote:
Originally Posted by johnp98 View Post
Any ideas what I am doing wrong? Or do I need to even worry about this if I do my initial recording in REW with its mic calibration activated?
The format of the mic file is very picky if you have too many spaces between the two columns or don't follow the format exactly it will fail. I have attached my file for comparison. It is needed if you want to account for your microphone. If you had a class 1 mic that is naturally flat you could go without if measuring on axis but most mics deviate quite a lot at high frequencies.

Quote:
Originally Posted by johnp98 View Post
3) Should I do my baseline / raw measurements with or without my pre-existing parametric EQ in place? I spent a bit of time making a combination of nearfield gated measurements and then MMM in room measurements to create a quite good sounding PEQ file that I have been using and really enjoying. I have since become interested in DRC and thus I am wondering if it would work best if I ‘layered’ DRC ontop of the existing EQ or if I should start from the ground up and just measure the raw speaker/sub response with no EQ. Really the question is, if one wants to add PEQ should they do it pre or post DRC?
If you intend to keep the PEQ in the chain then you need to measure with it in. Sometimes it is helpful to use some pre EQ to get the basic response closer to the intended target as DRC will only correct within a certain range. I use it with my setup as the line array needs a lot of EQ to be corrected. You can always try it both ways and see if it makes a difference for you.

Quote:
Originally Posted by johnp98 View Post
4) Is there any easy way to make correction files for surround channels and also for the LFE/Sub channel? I am mostly going to use if for stereo listening but I know the upgrade bug will bite at some point. So could I just record them in REW and then export and label them as if they are left or right channels and then when I get the correction files then rename / assign them back to their actual channel? Do people do multichannel EQ with DRC and what’s the best approach for that?
You can create correction files for any speakers you have separately. There is no need to process them as left and right you can make a new script to just process them one at a time.

Quote:
Originally Posted by johnp98 View Post
5) Can I use Equalizer APO as a convolver? As it looks like DRC Designer puts output convolver WAV files in “ConvolverFilters” file, so can I use these and import them into into EAPO? Is that adequate? Sorry it is just unclear how Convolver VST fits into the system flow and if it is needed if one uses EAPO?
You probably can but I don't know it can do multichannel convolution, I have never used it.

I use Jriver which is very flexible. Multichannel convolution is run with a text file to allocate the correct convolution files to the channels. It can also host VST plugins which allows for a multitude of options.

ConvolverVST is a plugin that would need to be run in a VST host of some kind.
Attached Files
File Type: txt 90caldrc.txt (4.9 KB, 2 views)
  Reply With Quote
Old 14th July 2021, 08:56 AM   #796
wesayso is offline wesayso  Netherlands
diyAudio Member
 
wesayso's Avatar
 
Join Date: Jul 2007
Quote:
You can create correction files for any speakers you have separately. There is no need to process them as left and right you can make a new script to just process them one at a time.
True, but measuring them separately might mean treating them as a left or right channel (temporary) inside the measurement chain.

ConvolverVST uses the same text file structure to handle multi-channel convolution.
__________________
Use Science to design your speakers and they will sound like a piece of Art...
  Reply With Quote
Old 14th July 2021, 04:10 PM   #797
Spartacus is offline Spartacus  United Kingdom
diyAudio Member
 
Join Date: Jan 2002
Location: Gloucestershire
Quote:
Originally Posted by johnp98 View Post
5) Can I use Equalizer APO as a convolver? As it looks like DRC Designer puts output convolver WAV files in “ConvolverFilters” file, so can I use these and import them into into EAPO? Is that adequate? Sorry it is just unclear how Convolver VST fits into the system flow and if it is needed if one uses EAPO?
Equalizer APO has an in-built convolver, you don't need an extra plugin.
  Reply With Quote
Old 22nd July 2021, 05:51 AM   #798
johnp98 is offline johnp98
diyAudio Member
 
Join Date: Jun 2020
Ok, thanks everyone for all the feedback, I truly do appreciate it! I am vert excited to start toying around with DRC for sure!

Resolved issues:

Mic calibration:
Yes it is very picky formatting, thanks fluid for the guidance. The problem was my mic calibration started at 10db and not 0db and ran to 20,000 not 22,050. So I just had to add the line
0 0 at the start and 22050 0 at the end and it worked like a charm!

Equalizer APO:
I got Equalizer APO to work I think?!
Below is a screen capture for a very generic response made from DRC Designer just to prove to myself that it works.
A convolution based alternative to electrical loudspeaker correction networks-picture1-png

I think EAPO has a VST Plugin but I could not get it to work but it seems that the loading the .WAV as the convolution impulse response works fine so no need to tinker with the VST plugin I suspect.

DRC Designer:
I got DRC Designer to start working! But yeah I think I will want the flexibility of the scripts from gmad and others, so I will have to dig into those scrips a bit more.


New Questions:

1) Measuring in REW:
Does increasing the sweep length have any benefit? I know that the guide says do a long sweep (1M = ~22s), but REW also allows for 2M and 4M = 87s sweeps so would there be any benefit to doing that?
Also, I know that lots of room correction software and also RePhase say one should do numerous measurements and then align and then average them. Is there any benefit in doing that? Seems rather impressive if DRC truly only needs 1 measurement, but I am more than happy to do more measurements if that results in greater results.

2) Changing .wav impulse to .pcm
I cannot find an easy way for Audacity to export as .pcm and thus am using Cool Edits Pro as that was suggested as a potential program from percevals guide in post #9. So is there any need to use audacity at all?
I measure and export from REW, change impulse .wav to .pcm with Cool Edits and put in the drc “sample folder” and then run various scrips and then load the convolver filters into Equalizer APO as my convolver. Is this general workflow correct?

3) IR Stereo vs Mono
I am just making sure that I am not messing up this step.
The guide says “Open the impulse response wave file using Audacity. If it was determined that the impulse center of each measurment was indeed the loudest peak, split the stereo track into two separate mono tracks (choose "Split Stereo to Mono" from the track dropdown menu) and export the tracks as separate files in RAW 32 bit float format (File - Export Multiple etc...).”

But are we not supposed to take separate L&R measurements and then export them as mono as per percevals guide in post #9 and thus there are no tracks to separate?
Anyways I am just making sure as it did not seem like I needed to do this step as the impulse response is already a mono file from REW.

4) IR Timing
My impulse response is just slightly off from 0 as it identifies the downward component as the larger peak and thus the impulse center.
A convolution based alternative to electrical loudspeaker correction networks-picture2-png
Will this be an issue? Or should I tell DRC where the impulse center is?

I could not figure out how to make Audacity display the information, so I just used REW to “Show points when zoomed in” and then count back from the sample rate
So 44100 – 2 = 44098 is what I should put in "BCImpulseCenter" and then put "BCImpulseCenterMode" as “M” does this seem correct?

5) Test Filters:
I saw that the ___Test scripts generates filters that can be imported into REW, is this accurate enough for quick a dirty evaluation of each custom filter and the changes it makes? Seems very valuable that you don’t have to re-measure after every single change and thus allows for a lot more tinkering.

6) Tinkering with scripts:
It looks like the scripts reference and run off of the .drc files that are in the drc-3.2.2/sample folder correct? So if we want to tinker, then those are the .drc files that we should play around with and edit as a text file.

7) Phase / time alignment
I am most interested in time / phase aligning the low end of my system and I read in post #407

“I think the easiest way to do it would be to start with the custom script and make the following edits:
EPLowerWindow = 35280
EPUpperWindow = 35
EPFinalWindow = 35280
PLMaxGain = 0.1
This will flatten the phase response with minimal impact on the freq response. Pre-ringing will be limited to 4 cycles (which is a lot). If excessive pre-ringing is an issue for your particular application, change the values of RTLowerWindow and RTUpperWindow to 8820 and 9, or 4410 and 4 respectively.”

If latency would not bother me, then would these also be the parameters that I could use / start from?
Or does anyone have other suggestions.
If I wanted to change those above numbers then should take into account the sample rate or can I really do any old number?
Does the number of taps come from these parameters or is there another line that needs to be edited to indicate the number of taps.


Thank again for all the input and help!
Attached Images
File Type: png Picture1.png (54.5 KB, 51 views)
File Type: png Picture2.png (86.3 KB, 53 views)

Last edited by johnp98; 22nd July 2021 at 06:02 AM.
  Reply With Quote
Old 22nd July 2021, 09:49 AM   #799
fluid is offline fluid  Australia
diyAudio Member
 
Join Date: Jan 2009
Quote:
Originally Posted by johnp98 View Post

New Questions:

1) Measuring in REW:
Does increasing the sweep length have any benefit?
It makes the measurement more immune to outside noise. If the sweep is too long it can cause items in your room and structure to rattle. I think 1m is enough in most cases.

Quote:
Originally Posted by johnp98 View Post
Also, I know that lots of room correction software and also RePhase say one should do numerous measurements and then align and then average them. Is there any benefit in doing that? Seems rather impressive if DRC truly only needs 1 measurement, but I am more than happy to do more measurements if that results in greater results.
Vector averaging can work out well in a reverberant room or where you want to achieve a better balance across multiple seats. The problem with that is that is it will not be ideal anywhere. I suggest to try it both ways and find out if you prefer one over the other.

Quote:
Originally Posted by johnp98 View Post
2) Changing .wav impulse to .pcm
I cannot find an easy way for Audacity to export as .pcm
That is simple you export the audio as raw 32 bit float and then change the extension to .pcm manually as Audacity uses .raw

A convolution based alternative to electrical loudspeaker correction networks-audacity-export-png


Quote:
Originally Posted by johnp98 View Post
3) IR Stereo vs Mono
Anyways I am just making sure as it did not seem like I needed to do this step as the impulse response is already a mono file from REW.
If you have separate mono responses they can be used as is. There is only a need to split them if they are combined already, which is possible with REW. It is easier to leave them separate as far as I am concerned.

Quote:
Originally Posted by johnp98 View Post
4) IR Timing
My impulse response is just slightly off from 0 as it identifies the downward component as the larger peak and thus the impulse center.
The 100% peak is almost always the actual impulse centre unless somehow you have a very early reflection that is higher than the direct sound. I would check the polarity of the system as it could well be reversed somewhere. If you leave impulse centre as Auto DRC will find it and use it.

Quote:
Originally Posted by johnp98 View Post
5) Test Filters:
I saw that the ___Test scripts generates filters that can be imported into REW, is this accurate enough for quick a dirty evaluation of each custom filter and the changes it makes? Seems very valuable that you don’t have to re-measure after every single change and thus allows for a lot more tinkering.
Yes

Quote:
Originally Posted by johnp98 View Post
6) Tinkering with scripts:
It looks like the scripts reference and run off of the .drc files that are in the drc-3.2.2/sample folder correct? So if we want to tinker, then those are the .drc files that we should play around with and edit as a text file.
You can have one base .drc file and then create different batch scripts to change the parameters. Whatever is in the batch script with the -- flag before it will override the base file.

A convolution based alternative to electrical loudspeaker correction networks-script-png


Quote:
Originally Posted by johnp98 View Post
7) Phase / time alignment

EPLowerWindow = 35280
EPUpperWindow = 35
EPFinalWindow = 35280
PLMaxGain = 0.1
That is quite a lot of excess phase correction. By all means try it and see.

Quote:
Originally Posted by johnp98 View Post
Or does anyone have other suggestions.
If I wanted to change those above numbers then should take into account the sample rate or can I really do any old number?
Does the number of taps come from these parameters or is there another line that needs to be edited to indicate the number of taps.
Code:
--EPWindowGap=32 --EPLowerWindow=1366 --EPPFFinalWindow=1366 --EPUpperWindow=32
 --EPWindowExponent=0.97 --ISPELowerWindow=6547 --ISPEUpperWindow=400
The above is what I use.
PSOutWindow is the length of the filter for linear phase and
MSOutWindow does the same for minimum phase. You can use both in one file if you want.
Attached Images
File Type: png Audacity Export.png (7.1 KB, 44 views)
File Type: png Script.png (49.7 KB, 48 views)
  Reply to this post

Reply


A convolution based alternative to electrical loudspeaker correction networksHide this!Advertise here!
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
STAHL - 'Acebass' Synthesis of Loudspeaker Mechanical Parameters by Electrical Means mike.e Subwoofers 53 13th May 2021 05:42 PM
Loudspeaker electrical damping zebra100 Multi-Way 1 7th July 2009 09:48 PM
Alternative offset correction for Alephs. Netlist Pass Labs 4 28th September 2005 07:39 AM


New To Site? Need Help?

All times are GMT. The time now is 04:32 PM.


Search Engine Optimisation provided by DragonByte SEO (Pro) - vBulletin Mods & Addons Copyright © 2021 DragonByte Technologies Ltd.
Resources saved on this page: MySQL 15.00%
vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2021 DragonByte Technologies Ltd.
Copyright ©1999-2021 diyAudio
Wiki