DIY Speaker Build - Troels Gravesen's Poor Man's Stradivari

I lived in and around Edinburgh at the end of the '80s whilst at university. Fabulous city.

Yes, some uncertain times ahead. Canada is somewhere I could easily live. We have some family out on Vancouver Island.

Edit: I spent some time in BC a few years ago. Beautiful place. Like Scotland on steroids, with added bears. Unwittingly got a little tooooo close to a mama black bear and her three cubs on the trails around Whistler. Came round a corner on the bike to a cub sat in the middle of the trail just a few yards ahead. Closely followed by mama and two siblings. Experience of a lifetime!

3 Likes

Very nice! Lovely to see them still getting updates and changes :slight_smile:

As I said, great product for the price (even if you aren’t using the inputs at all), like close to unbeatable.

1 Like

Best wishes for your father’s recovery.

3 Likes

Oh Graeme, I hope your Dad recovers well and my thoughts are with you. My Mother recently had brain surgery for what turned out to be a non cancerous tumor. We are so lucky and I wish the same for your Dad.

3 Likes

Best wishes and a quick recovery for your dad, from another CLL patient.

2 Likes

Can’t believe it’s been so long since I posted an update.

Dad is doing well. His surgeon is satisfied all of the cancer was removed, but there’ll be a 6 week follow-up course of radiotherapy early in the New Year.

Despite having to adjust to losing his left ear, the left hinge of his lower jaw and some facial paralysis, he’s very upbeat and is dealing with it all in good humour.

We’ve been making frequent trips to Scotland, so my active conversion of the PMS has taken a bit of a back seat.

I’m deep into the rabbit hole of Acourate and have just about wrapped my head around the numerous steps required to generate a 3-way active crossover, linearise, time-align and level the drivers, generate the convolution filters, then apply room correction.

I have a strong suspicion that implementing the very steep crossover slopes Acourate is capable of will adversely affect the mid-teeeter directivity, so there may be a need to change the crossover frequency and waveguide the tweeter, or even change the tweeter and add a waveguide depending on distortion measurements of the current tweeter at a crossover point of 1700 - 2000 Hz vs the existing 3000 Hz crossover point.

I have a couple of test baffles to construct, lots of on- and off-axis measurements of midrange and tweeter to do and some waveguide/tweeter combinations to measure to determine the best approach.

Lots of graphs and photos to follow as things progress…

4 Likes

Looks like I’m too late…
However IMHO… The Okto Pro DAC is the best option for a Multi way Dac with Remote, no need for additional hardware. Okto Research

I personally use a Motu MK5 UL for my multiway active solution, but unlike you, I’m happy with Roon or CamillaDSP controlling the volume.

I moved away from Roon executing my DSP filters… as I had the MUSE engine ā€˜let go’ more than twice.

You wrote: ā€œThe best way to host those filters outside of Roon is with Mitch Barnett’s Hang Loose Convolver.ā€

CamillaDSP is my ideal choice, and what I use.
Reliable, rock solid, and sits on PiOS, Linux, or Windows. The PiOS implementation is the easiest by far.

How to for PI: GitHub - mdsimon2/RPi-CamillaDSP: Guidance on implementing CamillaDSP on a Raspberry Pi

CamillaDSP and Roon volume integration.

I’m yet to try this extension myself.

2 Likes

FYI… Its been like that for years.
At least since 2021.

Last post… If you are looking for an Acourate expert [Why can’t they spell?] and a DSP/filter creation guru… you should start a thread on ASR and ask for @Keith_W.

1 Like

I did consider the Okto Pro DAC, but I need to feed an optical connection from the TV into the active filter set, so I went with a multi-channel interface on Keith Wong’s advice.

I’ve had some support from Keith already and I’m well overdue him a favour in return.

Thanks, I’ll have a look at Camilla DSP. Might be an option for a Non-Windows based solution, though for the moment, things seem stable running Hang Loose on Windows 11, albeit with the current stereo, passive convolution room correction filters.

1 Like

No worries, Graeme! If you need any help with Camilla, just give me a shout. I only check messages a couple of times a week, though.

I’m actually pretty into the MK5 UL—it’s been great for me. The lack of a remote isn’t really an issue, and the volume assignment feature is super handy.

The MK5 UL does have its quirks, but I’ve learned to work with them, including some firmware updates that caused some stability issues in compliant mode.

By the way, CamillaDSP lets you switch inputs like a preamp with your MK5 UL, so that’s something worth considering.

Oh, and if I remember correctly, the Okto has an AES in, so converting from Toslink to electrical is pretty simple.

Hi All, I’m long overdue an update on the active side of things. Despite only properly working 3 days a week now, my free time has been limited. When you add in the fact that the learning curve with Acourate looks like a Heaviside step function, progress has been slow!

However, as of yesterday, I have a working filter set. It’s not perfect and needs some refinement, but it’s opened a window, more on that later.

My original intention was to set things up for dual TV and music use, however something dawned on me the other week when I was tinkering - a 131072 tap FIR filter at 48000Hz adds a latency of 1.37 seconds :man_facepalming: Well beyond the lipsync adjustment range of domestic A/V gear… Yes there are technologies and hardware that can delay video by that amount, but they’re beyond the realms of sensibility for me.

So I bought SWMBO a Sonos Arc Ultra soundbar for the TV. She’s delighted, loves the sound and is happy that only one remote is needed to control TV and sound. I can now revert back to USB input from Roon just as soon as I’ve sussed out VB Audio Matrix and can connect the processing PC, Roon, Hang Loose Convolver and the Motu Ultralite Mk5 together and get them all to play nicely! :grinning:

Here’s a rough diagram of the setup:

Not shown in the diagram is a Bobwire DAT1 which takes an optical output from the Motu and via a splitter, turns on all of the amps as soon as a music signal is detected.

The RPi running Ropieee is still connected via TOSLINK. Eventually, the PC will have Roon running on it and the RPi can be repurposed as a display/remote or another endpoint elsewhere in the house.

The PC runs Mitch Barnett’s Hang Loose Convolver and handles the ASIO drivers and CueMix5 application for the Motu Ultralite. HLC is a really cool application - it allows seamless on the fly switching between up to 6 different filter banks. So you can blindly (if you get someone else to switch them over for you) compare different filter sets to see what you prefer. In non-multichannel filter sets, there’s a bypass button to compare, say a room correction filter on and off. I could have gone with a multi-channel DAC like the Okto dac8 PRO, but originally went for the Motu under the advice of a friend because I originally wanted to have TV and hi-fi audio inputs. Even now that it’ll only be the hi-fi, I’m still glad I went with the Motu. I can swap the USB cable to my laptop, plug in my Earthworks M23R mic and I’m all set to run whatever measurement I choose on any/all of the 6 connected output channels with Acourate without having to mess around with loads of cabling. The Motu has 10 line level (+21dBu / 8.7 Vrms) TRS balanced outputs so there’s plenty gain to play with in correction filters and enough outputs for subwoofers for later on… It also has almost impeccable measurements for it’s ADCs/DACs and mic preamps.

For the DSP side of things I’m using Dr. Ulrich Brüggemann’s Acourate. It’s pretty unique and more than a little complicated. So much so that Mitch Barnett wrote a book on how to use it.

Most of the other DSP utilities for active crossovers & room correction range from the equivalent of a takeaway dinner or a ready meal to a box of ingredients with a recipe delivered to your door. Acourate gives you a larder of ingredients and a kitchen in which to prepare and cook them. Not only that, it lets you taste the meal at the end and then go back and take out some spice, add a little salt, cook it for longer (or shorter), chop the ingredients more finely, and taste again. Once you’ve done the basics, it’s fairly quick to go back and try something different.

Firstly, you start with a crossover design and you can choose from Butterworth, Linkwitz-Riley, Bessel, Neville Thiele, Horbach-Keele, and Dr. Brüggemann’s proprietary ā€œUBā€ filters. The UB jPol11 filters are really interesting in that they have very steep slopes and minimal pre-ringing.

Next step is linearising the drivers’ amplitude and phase response by measuring each driver individually over the frequency range needed

And then you convolve the crossover curves with the individual driver responses

Next up is time alignment. The distance from each driver in a speaker to the ear is different, which results in the soundwaves from each driver arriving earlier or later relative to each other. The differences can be very small, but they’re not insignificant. Poor time alignment affects clarity, can smear the sound and distort the timbre. This is done by looking at the peak of the impulse of the bass or midrange driver relative to the tweeter and rotating the crossover by the number of samples difference. My midranges were 1 sample ahead of the tweeter (0.02 ms or 0.7 mm distance) and the bass drivers were 5 samples behind (0.1 ms or 3.5 mm distance). It doesn’t sound much but humans use interaural time differences as low as 10 µs to locate the direction of sounds, so it’s not unreasonable to assume that very minor time delays would affect the positioning of sounds in the soundstage and in reality, they very much do.

After time alignment, it’s a case of generating an initial filter .wav, making logsweeps of left and right, then proceeding with the room correction. You can design a target curve or import one which is then inverted into the initial response, then it’s a matter of generating the filters, making a test convolution, looking at step response, group delay, pre-ringing and iterating backwards and forwards between filter generation and test convolution until you’re happy. Next is inter-channel phase alignment, followed by going back to filter generation with your tweaked recipe and then creating the filters in your desired format and sample rates for your chosen convolver:

You can then generate a verification .wav from the final correction filters to measure your L & R & mono responses. The mono response might show some anomalies, which you can then tackle in a variety of ways. I had a peculiar dip in the lower bass which I was able to correct (with some help) via a manual reverse All-Pass filter.

I still have quite a bit of tweaking to go, but what I’m hearing with the linear phase, fully active, room-corrected crossover compared to the original passive crossover corrected with REW and rephase is literally night and day.

The soundstage has grown in all 3 dimensions, clarity is vastly improved, positioning of instruments and vocals within the soundstage is much more defined and the decay of a guitar string for example is utterly lifelike. Closing my eyes on one track, I would swear there was an acoustic guitar being played in my living room about five feet in front of me and about a third of the way between the right and left speaker. Acourate has given me a new window into music listening that just doesn’t exist with a passively filtered speaker.

I’ll share some more measurements when I’ve done the next round of tweaking.

7 Likes

Very impressive, indeed, and I envy you for your set-up, as well as for your reduced work-schedule!

But please allow me to add some comments.

Your statement is
a)
a little oversimplified since the HRTF frequency response modification at lower frequencies contributes to aural localization as well, and
b)
your speaker’s driver time misalignment has no bearing on the cited localization cues in human auditory perception, as it equally affects both channels’ timing between the different frequency regions only, but
c)
I very much prefer the aural impression of time coincident speakers myself, as witnessed by my DSP corrected DIY line source full range designs, so sympathize with your intention.

Yes, I appreciate that both ears hear the same delay, however I suspect, and I’m open to be proved wrong, that our capability to detect ITD of as little as 10us affects our perception of localisation where there’s a timing mismatch between drivers around the crossover frequency may be a factor. What I’m hearing as a difference between active and passive crossovers can only be due to one of two things - timing or phase. If it’s not timing, then it’s the difference between phase linearisation and the lack of it.

This is one of my questions - why do time coincident speakers sound so much better than non-time coincident designs? There has to be a perception related reason for the difference.

Once you think about it, both are really synonymous expressions for the same thing.

I think so, too, and subjectively - no ability/opportunity to do double blind studies, although my concert buddy has Magnepan MG-IIIA and uses the full Dirac suite - I experience listening to acoustic classical recordings on such speakers as more natural in the overall presentation, just like in the live concerts of our subscription to the BRSO in Munichā€˜s Herkulessaal, some of which are available via Qobuz for us to compare…

But one just has to acknowledge, that all relevant scientific studies demonstrate rather low auditory sensitivity to grossly distorted time domain behavior of most conventional speaker designs … just saying!

I disagree, phase and time are not the same. In physics, phase is dimensionless.

Not for contrarianism, but clarification, I’d like to offer this article I quickly searched from Wikipedia to clarify my statement, see highlight in screenshot.

I see your point.

Time and phase are related, but only within the same cycle.

Consider this - if you delay a signal by a time of 1/f = 2pi radians or an integer multiple thereof, the signal is back in phase, however delayed in time by an integer multiple of a full cycle time.

1 Like