rePhase, a loudspeaker phase linearization, EQ and FIR filtering tool

the equivalent of the phase linearized IIR+FIR filter of the LS1 can also be done entirely in FIR, using the exact same techniques (manual corrections, etc.)
I'm sure Bruno's aware of this but I've been a bit :confused: about the Grimm implementation for some time. Remarks in the LS1 whitepaper suggest IIR+FIR was chosen due to limitations in FIR synthesis tooling, which is a bit odd. The not particularly great low frequency correction suggests limited taps; also odd as the 48 bit TAS Bruno likes has reasonable mojo and the corrections aren't particularly low frequency.

I will say that, as rePhase is an offline tool, it can be convenient to tinker with EQ patches in IIR. Not a big deal but it saves the synthesis+export+import bit when iterating and simplifies ABX auditioning.

Do any of you have the same problem that I do?
I place my amps under the speakers and co-locate the DAC with one amp. So it's a power cord to each speaker plus an XLR bundle following the power cords. Not as clean as routing under the carpet but my landlady's happier. ;) Also helps if one's DIYed the speakers with this in mind.
 
Have been reading the instructions and playing around with my measurements in rePhase

Not clear on how to tackle several issues. Help/advice is appreciated

1. There seems to be a large delay in my measurement chain and so not able to get clean reliable phase. ARTA does report minimum phase and i suppose thats to be exported for use in rePhase. Dual channel mode is recommended for accurate phase. That needs a small probe to be built

2. Looks like my room measurements dont yield anything reliable below 200-250Hz.s

3. Have taken NF measurements for the 2x parallel W22 and the XXLS woofer.
Level matching between the NF and FF would be needed. Hows this usually done?

4. Drivers are of different sensitivities. Should i use the output setting slider for leve adjustments?

5. NF vs FF also have different delays. How to use phase correctly

6. How to adjust delays between driver for matching the centers?

7. W15 midrange amplitude is lower compared to more sensitive W22s and TF001. I will have to bring their levels down to match the W15

8. W22 and XXLS should crossover at 60Hz LR2, but i want to shelve them so that both drivers contribute in the 60-100Hz region. What should i use for these shelving.

9. Is there a way to see the combined response of all drivers?
 
jojip,

Below answers is based guess you going to create a IR-wav file for each four band pass for left and right speaker each including complete EQ/XO/IRR/FIR correction so you end up eight IR-wav files that is pointed to from a common config file. From this JRiver how to site there is many good info and links to nice examples Convolution - JRiverWiki.

1. Don't no how to navigate ARTA and what report minimum phase exactly mean and do, but think problem is exactly same after a sweep into HOLM and REW too. After a sweep is done it's important to get your time-zero lined up for IR or your phase results will be wonky, so before export measurement look at IR if its spike is going negative then invert and then center the impulse on the time zero, HOLM and REW has a auto button that align IR or one can tweak it manually but don't know how to do in ARTA.

2. Point 3 tools cover some of this, also a help if ARTA can set frequency dependent time-windowing filters.

3. Baffle step and diffraction could also be usefull data throw into level matching, below two pdf files have some good info and here link to software tools By Charlie Laub and Jeff Bagby software.

4. For real time flexibility would use JRiver PEQ container "Add" "Adjust the volume" for each band pass section, add eight of those plugins and get them each to point to the right channel of your soundcard output that represent the specific band pass, as example below picture show a -1,7dB to Surround Left. Have a thought on gain structure so DSP and DAC wont overload and distort or compromise S/N ratio also PEQ container can be placed where you want it before or after convolution container. If plugins in JRiver don't receive expected buss input then "Add" "Mix channels" and right policy to make the right intended routing happen.

5. Think pdf document FRD response blender would answer how to extract minimum phase belonging new blended response.

6. Nearly same procedure as point 4 add in PEQ container six "Delay" plugins for the three fastest band passes and assign their channels to right physical outputs, then delay them relative to slowest band pass.

7. Think nearly same as in point 4 but if you happen have a more input sensitive power amp that one could in analog domain raise amplitude.

8. There is shelving filters in Rephase under tab with minimum phase EQ and in JRiver inside the two PEQ containers, where each filter just need to be assigned right physical output for soundcard. Think changes to those shelving filters can also change delay settings matching centers.

9. Had some luck for IRR slopes import the four IR-wav files into REW, then after aligned IR export as frd-file. Then use free http://www.diyaudio.com/forums/multi-way/259865-xsim-free-crossover-designer.html and set up four textbook drivers parallel coupled to power amp, turn on visual IR/SR/square wave windows and link each those textbook drivers to those four frd-files you get real time data in the various windows. Sweep "mod delay" for each driver up and down to find right delay relative to slowest one and as last point set same delay as for the one with most correction into XSim power amp but in minus advance, then system phase will get right in frq response window.
 

Attachments

  • White Paper - Accurate In-Room Frequency Response to 10Hz.pdf
    754.4 KB · Views: 64
  • FRD_Response_Blender_v2.0_Tutorial.pdf
    115.5 KB · Views: 68
  • 1.png
    1.png
    39.3 KB · Views: 273
Last edited:
I'm going to direct this to POS but anyone who can answer me go ahead. I've been reading and trying to follow all that you are doing here with FIR and IIR filters and correction of FR and Phase. Now my question is once you do all your testing and arrive at a solution for your speakers is there a way to take this information and permanently install that into a DSP/DAC combination that would be installed in a self powered speaker? How is that done as it seems everyone here is using a PC to do all of this? Do you create a text file or what, how do you use the solution you've created once you are satisfied it does what you want. Any literature on how this is all done would be appreciate, and remember I am not a programmer but can follow the concept of what is going on here from the speaker side of things.
 
jojip,

Below answers is based guess you going to create a IR-wav file for each four band pass for left and right speaker each including complete EQ/XO/IRR/FIR correction so you end up eight IR-wav files that is pointed to from a common config file. From this JRiver how to site there is many good info and links to nice examples Convolution - JRiverWiki.

1. Don't no how to navigate ARTA and what report minimum phase exactly mean and do, but think problem is exactly same after a sweep into HOLM and REW too. After a sweep is done it's important to get your time-zero lined up for IR or your phase results will be wonky, so before export measurement look at IR if its spike is going negative then invert and then center the impulse on the time zero, HOLM and REW has a auto button that align IR or one can tweak it manually but don't know how to do in ARTA.

2. Point 3 tools cover some of this, also a help if ARTA can set frequency dependent time-windowing filters.

3. Baffle step and diffraction could also be usefull data throw into level matching, below two pdf files have some good info and here link to software tools By Charlie Laub and Jeff Bagby software.

4. For real time flexibility would use JRiver PEQ container "Add" "Adjust the volume" for each band pass section, add eight of those plugins and get them each to point to the right channel of your soundcard output that represent the specific band pass, as example below picture show a -1,7dB to Surround Left. Have a thought on gain structure so DSP and DAC wont overload and distort or compromise S/N ratio also PEQ container can be placed where you want it before or after convolution container. If plugins in JRiver don't receive expected buss input then "Add" "Mix channels" and right policy to make the right intended routing happen.

5. Think pdf document FRD response blender would answer how to extract minimum phase belonging new blended response.

6. Nearly same procedure as point 4 add in PEQ container six "Delay" plugins for the three fastest band passes and assign their channels to right physical outputs, then delay them relative to slowest band pass.

7. Think nearly same as in point 4 but if you happen have a more input sensitive power amp that one could in analog domain raise amplitude.

8. There is shelving filters in Rephase under tab with minimum phase EQ and in JRiver inside the two PEQ containers, where each filter just need to be assigned right physical output for soundcard. Think changes to those shelving filters can also change delay settings matching centers.

9. Had some luck for IRR slopes import the four IR-wav files into REW, then after aligned IR export as frd-file. Then use free http://www.diyaudio.com/forums/multi-way/259865-xsim-free-crossover-designer.html and set up four textbook drivers parallel coupled to power amp, turn on visual IR/SR/square wave windows and link each those textbook drivers to those four frd-files you get real time data in the various windows. Sweep "mod delay" for each driver up and down to find right delay relative to slowest one and as last point set same delay as for the one with most correction into XSim power amp but in minus advance, then system phase will get right in frq response window.

BYRTT,

Thanks again for taking the time to write in such detail.
I did create my first set of IR files based on Pos's pointer to get familiar with using rePhase.
I will go through your write up, make updates and hopefully post some results soon.
My DAC is still a few weeks out, so its going to be some more time before i can start testing live.

Jojip
 
Kindhornman,

As diy'er for flexibility stay with PC because investment into locked hardware often is expensive if one will have latest correction tech functions, new releases of JRiver keep ones hardware kind of modern so will be able to correct for latest correction tech discoveries.

Think if you go PC route under development for correction to self powered speaker should not be a problem, all these free programs can export and import various formats and by that give you a final file type that could be used for the DSP/DAC hardware you will end up for your final speaker. Sometimes two programs can't read each others export/import formats but most often solution is simple to just use a third program as middle station, example program-1 cant serve a known format for program-2 but program-3 can read program-1 and export to format as program-2 can read, so it just take some half a minute extras work to get job done. Think flexibility is quite good take example REW auto or manual EQ can be help full and end up either get filters settings as raw data to set in a new application or export all settings in common IR-wav file. Also in this post link to software tools By Charlie Laub and Jeff Bagby that can blend many needs.

If going miniDSP route they have real many helpful guides their site, other hardware i can think of is Overkill Audio will this year release hardware toolbox that will be available in different grades and then there is APL products Acoustic Power Lab :: Home.
 
BYRTT,
Thanks for the reply. Yes I get that doing all this work and analysis on the PC makes a lot of sense and having all that free software is sure nice. In the end though I am working on a speaker that will be self powered and contain the dsp/dac combination internally. That is my end goal that I have in mind. I need to start playing with all this software and learning how it all works. I thought I had someone else who was going to help me develop the digital side of my speakers but alas he has just been pulled into a new startup division of a large company and won't have the time to get involved. Now I have to find someone else who has a much better handle on all of this as I don't want to spend another year trying to complete this program. I see that Charlie is located in California but it is a very big state and he could be anywhere. I'll reach out to him, I was reading another thread where he is doing streaming WiFi audio and he seems really sharp. I'm not looking to go wireless with the basic design that can be added later as an option.

Thanks again,
Steven
 
Kindhornman,

Sorry you lost hands that should have developed digital side, if i not remember wrong your speaker is two-way and then can't stop thinking about a correction can be made remotely exchanging data via email based on certain measurement you instructed to do. Thought is you of course have a PC with stereo soundcard and JRiver, this is enough if you get correction files and setup instruction to setup one mono speaker via soundcard left to woofer and soundcard right to tweeter, and can make a proof of concept this way for what to be corrected to get highest performance for speaker setup situation and plans. If you haven't seen it try read especially section 2.2 and 2.3 as pointed to in post 856 because this is also a 2-way speaker. Can think about member wesayso in local area started new business that cover into PC industry and audio, maybe drop him a PM for cooperation because think he have knowledge to correct system as good as the post 856 speaker.
 
BRYTT,
Yes I have the two way monitors I am working on. I actually have the Grimm white paper open and was reading that. I know some of what they are saying is marketing hype but the general ideas are sound. I have seen Wesayso's postings and that could be a good person to talk to. My old desktop computer has a very old Soundblaster sound card that is about ten years old and I imagine not up to doing any real measurements, an old PCI slot machine. My laptop is much newer but has on-board Intel based audio so I would have to get an external sound card to do anything modern. I do have a Clio test setup that I use so I can at least do some serious testing that way but it is stand alone and I don't think I can export the right kind of files, I have to pay then $400.00 to upgrade the software. I'll contact Wesayso and see if he has any interest. I won't name the person who was going to help me but he was one of the best and a true professional in the audio field. I can still ask him questions so I don't want to spoil that.
 
Kindhornman,

Think sounds great in my view you just need a better external based soundcard or alternative a mic preamp if that internal codec is good enough which some of them is and if remember right you have a fine microphone in a Earthworks M30. For latest two releases of REW they added frequency dependent time-windowing filters which think was why HOLM was preferred as measurement program, so in that spec is added and also that REW receives updates verse which HOLM doesn't should be a good choice for measurements. Have best luck and process with your prototype system build, and also look forward if you as said in past will offer sale for you own developed nice drivers to diyA, maybe those drivers can do wonders for our hobby.
 
BRYTT,
You have a great memory to remember the microphone that I have. I also have the Earthworks single channel mic preamp to go with it.

I need to make some new fixtures and tooling so I can put those drivers together and make them look like they are made on a production line and then I would feel comfortable letting them out to the diy community. I know there would be many people who would really like them. I personally haven't found a commercial driver that I liked better and I have tried many highly regarded drivers trying to do just that.
 
Have been reading the instructions and playing around with my measurements in rePhase

Not clear on how to tackle several issues. Help/advice is appreciated

1. There seems to be a large delay in my measurement chain and so not able to get clean reliable phase. ARTA does report minimum phase and i suppose thats to be exported for use in rePhase. Dual channel mode is recommended for accurate phase. That needs a small probe to be built

2. Looks like my room measurements dont yield anything reliable below 200-250Hz.s

3. Have taken NF measurements for the 2x parallel W22 and the XXLS woofer.
Level matching between the NF and FF would be needed. Hows this usually done?

4. Drivers are of different sensitivities. Should i use the output setting slider for leve adjustments?

5. NF vs FF also have different delays. How to use phase correctly

6. How to adjust delays between driver for matching the centers?

7. W15 midrange amplitude is lower compared to more sensitive W22s and TF001. I will have to bring their levels down to match the W15

8. W22 and XXLS should crossover at 60Hz LR2, but i want to shelve them so that both drivers contribute in the 60-100Hz region. What should i use for these shelving.

9. Is there a way to see the combined response of all drivers?

In complement to all the good anwsers BYRTT already gave, here are a few notes:

1- HOLM indeed has an automatic t=0 setting. You just need to get the polarity right and let it find the highest peak.
Note however that this will mask the natural low pass of the driver. This is completely acceptable for the last HF driver, but not for those that will be actually need a low pass. In this case you need to place the t=0 cursor in front of the peak. HOLM "casual impulse" setting should give you something approaching.
In any case you can place the t=0 on the peak and then adjust the time offset in rephase so that when obtaining a flat amplitude response using the "compensate" filters you also get a flat phase response in the higher part of the usable range...

I don't have a lot of experience with ARTA, but I think that you have to set the t=0 yourself, placing the cursor at the right position. If (and only if) dealing with independant drivers (ie no crossover in the chain) then you could use ARTA's minimum-phase option and be done with it without worrying about t=0 setting, as driver *are* minimum-phase devices in their usable range.

2- use close range measurement for those. Windowing will truncate the response down low and give you a false reading of the atual natural high pass of the driver (lower slopes, etc.). This is what happened in Giant's measurements.

3, 4 and 7- levels should be adjusted in the amp if possible, and as a last resort in the digital crossover, either within the FIR, or somewhere else in the crossover.

5- you can handle delays either in the FIR (if you have enough taps) by using "middle+XXcm" centering settings, or somwhere else in the crossover

6- Not sure what you mean here. If properly corrected the needed delay should correspond to the distance difference between the emitting surfaces.

8- Once properly flattened, first use a "normal" LR shaped filter, and then when everything is correct (levels, delays, etc... using for example the reverse polarity null test) you can replace the LR crossover with one of the "overlapping" ones, with the same frequeny, choosing the slope and overlapping range

9- measurement ;)
 
  • Like
Reactions: 1 user
Kindhornman, rephase let you generate a FIR correction impulse, but then you can use any convolution engine to "run" it and apply the correction.
Software convolution engines such as Jriver are convenient and powerful, but personally I prefer hardware ones. The openDRC plateform is an interesting choice, and you can integrate it into an active speaker.
If your speakers are 2-ways this will give you 6144 taps at 4kHz per driver.
 
Thank you POS. Yes the speakers are two way monitors with a cone driver and dome tweeter. Not any off the shelf parts so I have to do everything myself, nothing existing besides my own prototype builds. Ignore the wireframe grill I am working on a replacement due to negative reaction to the look. Other minor changes are that four of the screws around the tweeter have been deleted and are now internal so they don't show. Definitely looking for help on the digital side of this design, I can handle the mechanical design and speaker development but now with added digital connectivity I am lost! :(
 

Attachments

  • black speaker 2.jpg
    black speaker 2.jpg
    80.6 KB · Views: 243
Last edited:
Nice looking speakers, to say the least!
Why are you looking for FIR specifically?
Phase linearity will probably not be audible with a small two way like this (ie crossover in the 2kHz range), so unless you are looking for specific crossover shapes (very stiff ones, or maybe some asymmetrical but complementary designs that are near to impossible to achieve with IIR) you might as well go with an IIR crossover, in which case you will be able to find off-the-shelf solutions (from hypex, minidsp, and others).

Now if you want to have a FIR crossover with amps integrated in each speakers the easiest solution right now is probably to use one miniSHARC module per speakers with the openDRC (if you can settle with 48kHz) or miniSHARC (if you do not need too much taps and wants 96kHz) firmwares, with the associated digital in card, and the DAC and amplifiers of your choice.
This is similar to what I am doing right now with one openDR-DI per (still in the build) speaker, getting an identical splitted SPIDF signal and selecting either the L and R part: https://www.minidsp.com/forum/opendrc-projects/10584-jbl-m2-crossover-with-the-opendrc
Ideally I would love to be able to put a google chromecast audio in each speaker but I still don't know if the sync would be good enough: http://www.diyaudio.com/forums/pc-based/280480-chromecast-audio-2.html#post4567591

I might as well try for myself...
 
  • Like
Reactions: 1 user
In complement to all the good anwsers BYRTT already gave, here are a few notes:

1- HOLM indeed has an automatic t=0 setting. You just need to get the polarity right and let it find the highest peak.
Note however that this will mask the natural low pass of the driver. This is completely acceptable for the last HF driver, but not for those that will be actually need a low pass. In this case you need to place the t=0 cursor in front of the peak. HOLM "casual impulse" setting should give you something approaching.
In any case you can place the t=0 on the peak and then adjust the time offset in rephase so that when obtaining a flat amplitude response using the "compensate" filters you also get a flat phase response in the higher part of the usable range...

I don't have a lot of experience with ARTA, but I think that you have to set the t=0 yourself, placing the cursor at the right position. If (and only if) dealing with independant drivers (ie no crossover in the chain) then you could use ARTA's minimum-phase option and be done with it without worrying about t=0 setting, as driver *are* minimum-phase devices in their usable range.

2- use close range measurement for those. Windowing will truncate the response down low and give you a false reading of the atual natural high pass of the driver (lower slopes, etc.). This is what happened in Giant's measurements.

3, 4 and 7- levels should be adjusted in the amp if possible, and as a last resort in the digital crossover, either within the FIR, or somewhere else in the crossover.

5- you can handle delays either in the FIR (if you have enough taps) by using "middle+XXcm" centering settings, or somwhere else in the crossover

6- Not sure what you mean here. If properly corrected the needed delay should correspond to the distance difference between the emitting surfaces.

8- Once properly flattened, first use a "normal" LR shaped filter, and then when everything is correct (levels, delays, etc... using for example the reverse polarity null test) you can replace the LR crossover with one of the "overlapping" ones, with the same frequeny, choosing the slope and overlapping range

9- measurement ;)

Thanks Pos for the answers. I think i have enough now to come up with the first set of filters. Will post here for review.

Jojip
 
Phase linearity will probably not be audible with a small two way like this (ie crossover in the 2kHz range)
FWIW the very limited studies I'm aware of suggest audibility to about two thirds of listeners. Personally, ABX shows no trouble discriminating warped versus linear phase LR2, B3, LR4, etc. in the 1.6 to 2.5kHz range. Not a big difference but removing the phase error from the crossover is subjectively preferable for this listener.
 
POS,
The speakers themselves are well behaved. The cone driver is fairly flat all the way up to 10Khz before it rolls of naturally. In the past with passive networks I've used 4th order LR filtering so going active is a new experience for me. Now doing that with a dsp/dac combination is just something I know from reading but not from doing any of this. The amplification will be a bi-amp solution. The impedance curve on the cone is very flat as there is a Faraday sleeve in the magnetic motor and this is an underhung voicecoil design. I'm really starting from just a technical understanding without having to have implemented any of this. Time alignment at the crossover point will be important to get the impulse response correct and will be about 2.5Khz. The dome tweeter will be a Be dome tweeter that should easily go up to about 24khz. Where this all got complicated for me was now having to add digital inputs to go along with any simple analog input that I would have used in the past. I'm just learning all the travails of what you all are doing to make all this work. How you connect to a computer music server, a cell phone or music player and even someone who want to use a usb thumb drive. So much to learn, that is why I am looking for someone in the know, I have years of learning to be anywhere near what I would call competent in all of this digital software and hardware implementation. I'm just a lowly mechanical designer, I understand the speaker side and materials and thought it was cool when i could get a passive network correct with impedance compensation, now I'm in a whole new world.
 
FWIW the very limited studies I'm aware of suggest audibility to about two thirds of listeners. Personally, ABX shows no trouble discriminating warped versus linear phase LR2, B3, LR4, etc. in the 1.6 to 2.5kHz range. Not a big difference but removing the phase error from the crossover is subjectively preferable for this listener.

Detecting an acoustical LR2 crossover at 2kHz is quite a feat.
I can definitely detect higher order phase shifts lower in frequency on some specific songs, but not to the extent you describe here.
Would you care to share a list of songs on which you are typically able to detect those phase shifts?
 
  • Like
Reactions: 1 user