• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Keith_W DSP system

some parts are surprisingly poorly engineered (look at the bass response). That's high end audio for you.

When I heard the Violon 2000 (I think that's it) years and years ago, my impressions track yours. The mids and highs sounded very good to me (no measurements, and caveat is the comparators at the store were Wilson and Avalon) but the bass was even more "bad car stereo" one-note than the Wilson WATT/Puppy setup. Which was itself nasty in the bass.

Nice that you've been able to take a novel and interesting loudspeaker and address its glaring flaw.
 
Thanks for sharing! Very cool stuff.

The one thing that stuck out to me was the step response, I know this is an in-room measurement which greatly complicates things but that step response does not look linear phase to me.

index.php


This looks a lot like the Kii Three response without phase linearization.

Kii%20Three%20Minimum%20Latency%20Setting%20--%20Step%20Response.png


And doesn't really like the classic triangle response you expect with a linear phase crossover.

Kii%20Three%20Phase%20Exact%20Latency%20Setting%20--%20Step%20Response.png


How confident are you that you are actually achieving phase linearization?

Michael
 
This looks a lot like the Kii Three response without phase linearization.
It doesn't look anything like that, there is one peak with some early reflection/diffraction spike which is just a function of the design of the speaker. The x axis scale is totally different as well.
 
It doesn't look anything like that, there is one peak with some early reflection/diffraction spike which is just a function of the design of the speaker. The x axis scale is totally different as well.

Fair comment on the x-axis, I didn't pay too much attention to that. I assume @Keith_W x-axis is in seconds, so looking at first 10 ms or 0.01 s looks this.


1706409290997.png


Doesn't look settled like you would expect.

Michael
 
THis said, your journey is in some ways, similar to mine. I have learned a lot because of the limitations of my system. Trying to overcome them without breaking the bank taught me a lot... BTW I did hear the larger brother of your speakers sometimes ago and I was floored by these, it could have been sighted bias but ..

Thank you :) I have heard the larger brother of these Acapellas as well, but I am not a fan of them. I already think that the greatest failing of these speakers (besides the bass) are the widely spaced drivers which is unavoidable in large horns. Those big Acapellas are as far from a point source as I would imagine possible. When I heard them, they sounded like "a wall of sound". You get the same problem with any large multi-horn speaker, like the Avantgarde Trio. In fact you are so enveloped in the sound that you feel like you are inside the speaker. This is not the same envelopment that Linkwitz thinks is desirable, where sound arrives from different directions. The sound arrives mostly from one direction, and it is big. I find that kind of sound unnatural.

My speakers also have that kind of sound, but the effect is far less, because of smaller horns.

The reason we do this trade off is because I think that horns offer superior dynamics. I have never seen an objective measurement for dynamics, all I know is that I know it when I hear it. These particular speakers do dynamics very well. I invite anybody to listen to these speakers back to back with an electrostat and you will know what I am talking about. (I am not bagging electrostats, I think they have admirable qualities that these speakers do not deliver. But their one failing is dynamics and ultimate SPL).

I started a thread on ASR years ago asking if there was a way to measure this, and the best answer I got was the step response. I find this answer unsatisfactory, because you can get a great step response from panel speakers too. And then there is this discussion on ASR where a few people (notably Amir and JJ) think that the step response does not matter.

Ultimately, I can't tell you what dynamics are in objective terms. Which is a pity, because if I knew how to quantify it, it would make speaker selection so much easier.

Looking at your measurements and your process... I know where I need to go... I will likely continue to play/learn with my present system and at one point go toward speakers from one of these: Neuman, Genelec, Revel, Kef or JBL, I will use DSP/DRC, have a soft spot for Audyssey MutEQ-X but open to potentially better correction, such as those offered by Trinnov.. On the DSP/DRC, I can't even begin to understand how an audiophile can get the best of his components without the use of DSP/DRC. especially in the bass, which in many ways is the enveloppe of music: I surmise that if the bass is wrong at the MLP, the perception of the rest of the spectrum will suffer.

I think that in 2024, anybody who refuses to consider DSP is either stuck in outdated thinking or ignorant of the benefits of DSP. I also think that my view of DSP is skewed by the fact that I use Acourate, which is a complex, opaque, and intimidating experience for new users. The number 1 reason for DSP sounding horrible is not using DSP properly. This possibility is amplified when DSP software is hard to use. Every step increases the potential for error, and when you make it a complex multi-step process, the number of permutations for getting it wrong goes through the roof. I know there are better options out there for DSP newcomers, but I have yet to try them.

Can we make of this thread a sticky?

No thank you! I don't want that kind of prominence. This thread is here to check my sanity because nothing is more brutal than feedback from more knowledgeable ASR members.
 
Regarding ports , Kef has actually devised a method to dampen thier midrange resonances so they have very good ports and their bigger speakers seem to have the port(s) on the backside. And they usually deliver port bungs so you can plug them ( or partially plug one of the ports ) .

And as you use subs the port may not actually come in to play anyway , so you can ignore them .

Cool system anyway :)

* You’re probably rigth about the driver spacing .

* finding an 8ch DAC that’s not easy only heard of the octodac before not the one you have.
 
I already think that the greatest failing of these speakers (besides the bass) are the widely spaced drivers which is unavoidable in large horns. Those big Acapellas are as far from a point source as I would imagine possible.

My speakers also have that kind of sound, but the effect is far less, because of smaller horns.

Apart from the HF horn unit, that midrange horn is still quite large to us more "regular bookshelf" studio monitor users.

Actually, I'd want make the horn much smaller and stick into the middle of the driver to make into a more compact and portable multi-purpose speaker! ;) Fulcrum Acoustic style e.g. FA28, RM28. But, I know, it's of the 'ported' PA speaker variety... which is not for you.

Still, I'm surprised no one has yet made an "audiophile" DIY custom speaker version using this B&C triaxial: https://www.bcspeakers.com/en/products/triaxials/18-0/8/18HTX100-8

Not many seem to want this smaller horn-loaded coax/triax approach as much...
 
Fair comment on the x-axis, I didn't pay too much attention to that. I assume @Keith_W x-axis is in seconds, so looking at first 10 ms or 0.01 s looks this.


View attachment 345602

Doesn't look settled like you would expect.

Michael

With Acourate, you can choose how much pre-ringing compensation you wish to apply. This affects the step response. So you can choose to absolutely flatten pre-ringing at the expense of a less perfect step response, or you can leave some pre-ringing and have a nicer step response. You can see that the step in the curve you quoted has no pre-ringing.

Here is another step response with a different setting for pre-ringing:

1706425161703.png


And here is another:

1706425292606.png


And another (I really messed this one up):

1706425459569.png


I have performed dozens of these corrections and I could post measurements till the cows come home. Some of them are hilariously bad, perhaps from misguided notions about correction, or making mistakes in the steps, and so on. The system has been under continuous evolution. I learn something new, wonder if I can do it in DSP, then do it, look at the result, and listen. Some of the experiments can and do worsen the step response, e.g. phase and time shifting subwoofer output to reduce room cancellation, and so on.
 
I have resisted making a system thread on ASR for quite some time for many reasons. (1) ASR members seem to be anti-high end audio.
I'm not against high-end audio at all. It's just that ASR is more of a place for objective tests, and these often suggest device recommendations that greatly simplify the optimal hi-fi experience in terms of the necessary equipment. This suits me because I neither have the financial means for really high-end equipment nor the necessary space.
Nevertheless, high-end audio has something very unique (in a positive sense), especially in terms of aesthetics. If, as here, personal optimization of hardware/software is added and the overall concept is also measurably good... respect.
 
Regarding ports , Kef has actually devised a method to dampen thier midrange resonances so they have very good ports and their bigger speakers seem to have the port(s) on the backside. And they usually deliver port bungs so you can plug them ( or partially plug one of the ports ) .

Hmm, interesting. I'll phone up the KEF dealer tomorrow and see if I can make an appointment to listen to the Blades. I have only heard lower models in KEF's range.

* finding an 8ch DAC that’s not easy only heard of the octodac before not the one you have.

No need to find an 8 channel DAC. That is the magic of Ravenna ;) I can add as many DAC's as I want to the Ravenna network, then use MAD (Merging Audio Device) which aggregates all of them together into a single device. The only catch is that the DAC's have to be Ravenna compatible. I hear that any AES67 compatible device will work, but I am not game to try it.

Still, I'm surprised no one has yet made an "audiophile" DIY custom speaker version using this B&C triaxial: https://www.bcspeakers.com/en/products/triaxials/18-0/8/18HTX100-8

Now that is quite intriguing. I notice it has 18" diameter, which is the same diameter as my horn - so it will have the same visual footprint. The directivity measurements on that page look amazing. I will go read more about this. It looks as if it has enough flaws in it for some fun.
 
Anyway, the system description continues.

BASS MANAGEMENT
I have tried several different strategies of bass management:

1. Set the subwoofer to be much louder than the mains, check if the dips in the response respond. Then cut the peaks to match the mains.
2. Align the phase of the left and right subwoofer using Acourate's ICPA (Interchannel Phase Alignment) procedure to remove excess dips and peaks
3. The back wall has a large sliding door. Opening it noticeably reduces bass reverb (obviously depends on the weather and how late it is at night).
4. Virtual Bass Array (use the subwoofers to send out an inverted and delayed signal to cancel reflections). This took a lot of work. I managed to get it working, but it worked no better for me than simply cutting the peaks.
5. Multi-Sub Optimizer (MSO). This did not work for me because the output of MSO can not be read by Acourate.
6. Attempt to replicate Trinnov's "bass steering" and dump the bass in the adjoining room by making the subwoofers work as a phased array. This experiment failed.

Strategies considered but not attempted:

7. Room treatment. I did not like the visually invasive nature of this intervention.
8. Room Shaper VST by Home Audio Fidelity. Review here by @mitchco. I would have given this a try if I could not solve the issues on my own, but did not end up trying it because it costs money.

In the end, I abandoned the VBA (too complicated, results and the results not superior to the standard method which I will describe), abandoned MSO (output could not be read into Acourate). I only use methods 1, 2, 3 in my list above.

The first step is to look at the frequency response and calculate the Schroder frequency. It is important to remember that this is an approximation. The formula is:

Large-Room-Freq3.png



(Image credit: SynAudCon), where K = 2000 for metric, or 11,885 for Imperial units. My room is 6m x 7m x 2.7m, so room volume is 113.4m^3. I measured the T30 at 0.3s, so the Schroder frequency (Fs) for my room is 102.9Hz. The transition zone ends at 4Fs, so 411.6Hz. So we study the frequency response graph:

1706452544516.png


As with all frequency response sweeps, you get a mixture of phase responses. I am only interested in the minimum phase response, because this is the only response which can be inverted, and thus correct amplitude and phase at the same time. I am not going to bother talking about how to determine what is minimum phase and what is not, because all room correction software (including Acourate) has "button for idiots" to remove excess phase (leaving you hopefully with only the minimum phase response).

With Acourate, it is possible to generate a "prefilter" which we apply in Room Macro 0. If I designed a VBA, this is how I would implement it. But this time I am only going to generate a prefilter to correct midway into the transition zone. This method was described by @mitchco in his video Understanding the State of the Art of Digital Room Correction, but for those who don't feel like watching his hour long video, this is a summary of the method for Acourate users.

1706453313754.png


First, load the measured pulses for left and right channel into curves 1 and 2, and the target curve into curve 3.

1706453392410.png


Then FD-Functions - Magnitude Difference. Subtract Pulse48L from the Target, result into Curve 4. Do the same for Pulse48R, result into curve 5.

1706453497808.png


Your screen will look like this. Notice how the new curves (cyan and blue) is the inverse of your measurement (green and red). Now we uncheck Curves 1 and 2 so that we do not see them and work on Curves 4 and 5. Apply FD-Functions - Magnitude Limiter, and set it to 0. It now looks like this:

1706453651851.png


For each curve, left click on the graph at 20Hz and right click at a zero point near 200Hz to place a left and right marker there respectively. Now go to TD-Functions - Phase Extraction, and click LM and RM to automatically load the marked points into the dialog box. Make sure the "Min Phase" option is checked. Send the result to curves 1 and 2. This is the result:

1706453899134.png


Save these as PrefilterL and PrefilterR respectively. Now remove all the curves, and load up your original room measurements Pulse48L/R into curves 1 and 2. In Room Macro 0, set the prefilters to be active:

1706454032000.png


Then run Room Macro 1. This is the result:

1706454102428.png


Continue with the rest of the Room macros as per usual.

BTW with version 2 of Acourate, there is a new feature called "ICPA" (Interchannel Phase Alignment). This is a screenshot of ICPA in action:

1706454254259.png


Simply look for the phase peaks, click on it, then adjust the center frequency and the Q until the correction matches the shape of the peaks. Only peaks that fall within the orange and purple lines should be corrected.
 
Well you objectively have very good system and response. I use JRiver my self and find it as most comprehensive DSP tool chain there is. I do it with more budget components but results are main thing that counts. You didn't say do you use JRiver Loudness or at least tried it. If you didn't it's simple. You do white noise calibration to 83~84 dB mono, 86~88 dB stereo enable it and dial down the volume trough JRiver to your likings.
Would you guys believe I found out ONLY LAST WEEK that I could use JRiver WMD as Tidal output and literally apply full DSP to streaming music. I wonder why I have invested in lifetime Roon while I already had JRiver since years.

@Keith_W your system rocks, it's above and beyond anything I have seen up close to this day. I am slowly trying to digest and understand from the information you post. Congrats!
 
abandoned MSO (output could not be read into Acourate
You can use mso with acourate, it's a slightly laborious exercise (even for acourate!) but it can be done, so might be worth giving it another try if you feel current setup has some deficiency
 
Would you guys believe I found out ONLY LAST WEEK that I could use JRiver WMD as Tidal output and literally apply full DSP to streaming music. I wonder why I have invested in lifetime Roon while I already had JRiver since years.

@Keith_W your system rocks, it's above and beyond anything I have seen up close to this day. I am slowly trying to digest and understand from the information you post. Congrats!
Tidal is working now for over a year that you could control desktop native app from phone one but still not there. JRiver WDM can do that to literally every source.
 
  • Like
Reactions: OCA
flatten pre-ringing at the expense of a less perfect step response
Your subs, midrange driver and the tweeter are still slightly misaligned in all step graphs you've posted. These usually require up to 4th order phase linearization at the XO frequencies and wouldn't cause the slightest pre-ringing. Full bass response phase linearization to that extent would though. Do you mind sharing a recent mdat so I can have a closer look?
 
Would you guys believe I found out ONLY LAST WEEK that I could use JRiver WMD as Tidal output and literally apply full DSP to streaming music. I wonder why I have invested in lifetime Roon while I already had JRiver since years.

Yes you can. But you can not use Tidal's phone app to control Tidal's Windows desktop app. Which sucks.

@Keith_W your system rocks, it's above and beyond anything I have seen up close to this day. I am slowly trying to digest and understand from the information you post. Congrats!

You must be joking! Compared to you, everything I know can be written on the back of a postage stamp with crayon!

BTW, I have a bone to pick with you ;) Your latest video: here has this quote:

"For a given frequency response, there are many different possible phase responses, and all of these can be causal and stable, but there is only one minimum phase version, and only this one is invertible, meaning it has a stable and causal inverse. In Z-plane terms, a minimum phase system is characterized by having all poles as zeros inside the unit circle. In this regard, maximum and mixed phase systems are also stable. However, when you invert the system, the poles become zeroes, and the zeroes become poles. Therefore, only causal minimum phase systems has a stable causal inverse, other systems have zeroes outside the unit circle, leading to an unstable inversion".

I typed it out so that I can read it a few times. Could I ask you to (1) speak a little slower, (2) if you say something like "Z-plane", "causal", "stable", "unit circle", and "pole", please explain what they mean. Your subsequent analogies about investing in bonds, eating food, riding bicycles, etc. help somewhat, but the concept of non-minimum phase inversion producing unstable results is rather abstract and difficult to understand for the layman. I understand a bit about minimum phase, but I found that video difficult to understand.

Sorry for the criticism, I actually do love your videos. Most videos from other people insult my intelligence, but your videos are the opposite - they overestimate my intelligence. I have to rewatch a few times to understand.

OCA said:
Your subs, midrange driver and the tweeter are still slightly misaligned in all step graphs you've posted. These usually require up to 4th order phase linearization at the XO frequencies and wouldn't cause the slightest pre-ringing. Full bass response phase linearization to that extent would though. Do you mind sharing a recent mdat so I can have a closer look?

All the measurements were done in Acourate. I could export them as .WAV files which you can load into REW. Of course I can send them to you, do you want me to send you the full frequency sweeps? Or the linearized crossovers? Please inbox me :)

You can use mso with acourate, it's a slightly laborious exercise (even for acourate!) but it can be done, so might be worth giving it another try if you feel current setup has some deficiency

The "slightly laborious exercise" involves manually typing every line in the text file into Acourate's IIR generator. One new IIR filter for every line, then add them all up and save. There is a maximum of 6 curves that can be loaded into Acourate at a time. So if you have 50 lines of text to add, that is a lot of work. Believe me, I tried. I entered 20 lines out of maybe 50, then I gave up. I didn't even know if I was performing the correct operation on the curves, because to my knowledge nobody who uses Acourate has described a procedure for importing MSO files.

I then read up very carefully about what MSO actually does. I decided I could potentially achieve the same result by averaging the bass across several locations on my listening sofa since I do not have a large area to correct. When I did that, this was the result:

1706462932260.png


(Left sub only, from LLP, MLP, and RLP). The right sub showed the same behaviour.

So ... the difference between the 3 listening positions for the subs is minimal. Maybe a few dB here and there. I am only correcting across the width of a sofa, and not for several rows of seats in a home theatre. If I was doing that then I would more seriously make an effort to import MSO's data into Acourate. I decided that all that effort to manually enter the data into Acourate from MSO was not worth it.

BTW, after I fed this back to Uli, he supposedly wrote a utility for importing MSO's text output into Acourate. I am using the latest version of Acourate, v2.1.6, released a few months after I tried the MSO experiment. I still don't see how to import the files.
 
Yes you can. But you can not use Tidal's phone app to control Tidal's Windows desktop app. Which sucks.
That's a bit annoying but still I am quite happy to have found new use for my good old friend JRiver :)

the concept of non-minimum phase inversion producing unstable results is rather abstract
I thought the financial investment example would cut it for the viewers :(
Nevertheless, it's not an easy to grasp concept by any means.

Here is a simpler explanation with some help from LLM ;)

The frequency response of a system describes how it reacts to different input frequencies. This response is a complex number that has a magnitude and phase. Z-plane is a mathematically useful conversion of this magnitude and phase response to polar coordinates with some substitution which you don't need to bother with. Many different systems can have the same magnitude response, but different phase responses. Of these, the minimum-phase system has its energy concentrated as close to the start of the signal as possible, while still being causal (only depends on past and present, not future input). In other words, the minimum-phase system is the fastest possible causal system with a given magnitude response. Its phase response is as close to zero across all frequencies as any causal system can be. This concentrates the output energy towards the beginning of the signal.

and as per its invertability:

A system is invertible if you can recover the original input from the output. For this to be possible, the system needs to be causal and stable. Causality means the output depends only on past and present inputs, not future inputs. Stability means small changes in input don't cause arbitrarily large changes in output. With causal, stable systems, phase determines invertibility. Minimum phase has the lowest possible phase lag at each frequency. This concentrates energy at the start of the impulse response. Other causal, stable systems with the same magnitude response have more phase lag. This spreads out the impulse response energy. For these non-minimum phase systems, the impulse response has significant energy after the main peak. This makes it impossible to fully recover the input from the output, so they can't be inverted. Only the minimum phase system with minimum phase lag has its impulse response energy concentrated at the start. This allows full recovery of the input from the output, making it the unique invertible system.

All the measurements were done in Acourate. I could export them as .WAV files which you can load into REW. Of course I can send them to you, do you want me to send you the full frequency sweeps? Or the linearized crossovers? Please inbox me
I'd prefer measurements before any DSP and ideally also after (but I'm flexible) and .wav files are ok. Please send.
 
Last edited:
because to my knowledge nobody who uses Acourate has described a procedure for importing MSO files.
you do need to create a single filter that combines all of the PEQ for each channel in a single response, you can either do it by hand (50 filters sounds rather a large number, why so many when you only have 2 subs?) or find some other way to do it. Once you have this, you just convolve that filter with your XO for that sub channel and then continue as normal. It's probably why it's not described anywhere (because there isn't much to it)
 
Acourate's ICPA (Interchannel Phase Alignment) procedure
No offense to MSO but I don't think it would do any better (probably quite a bit worse) than ICPA for just two subs because its allpass filters can only be one-way (no time-reversed allpass possible). MSO excels when there are 3 or more subs IMO.
 
Back
Top Bottom