AsioXO - New Digital crossover for the windows platform

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Petter said:
Since nobody else is posting, let me provide some encouragement!

Also, does this work with other media players such as Windows Media 9 Series and Windows media files?

Petter


No it is a standalone application that only can play back Wave files i.e ripped Cd´s

It contains also an upsampler.

To some extend this program can be compared to the functions of the Behringer DCX and the TACT room compensation unit - not bad for a free piece of software.
 
HiFIPC

Thanks for the reference Morten - excellent. Exactly what I am looking for and fits my needs as I suspect the needs of many here who contributed avidly to the threads on PC as CD player and "DIY CD drive based on a computer CDROM"

Morten, Have you implemented any of this yet?

I tried to install the software and get error "mscoree.dll could not be found" when trying to launch eacPlayer. This dll is a file from Micosoft .NET framework. This implies (but is not clear from the documentation) that .NET needs to be implemented even though webEAC is not being used.

Other problem which may be fundamental is that it uses IIR filters and not FIR filters which are apparently more accurate. (I haven't heard either so this would act as a first intro to digital filters and I don't know how big the quality difference between filters. FIR filters seem to require a llot more processing power that IIR so older less powerful PC's may suit.

Anyway thanks for the ref
John
 
Re: HiFIPC

jkeny said:


Morten, Have you implemented any of this yet?

I tried to install the software and get error "mscoree.dll could not be found" when trying to launch eacPlayer. This dll is a file from Micosoft .NET framework. This implies (but is not clear from the documentation) that .NET needs to be implemented even though webEAC is not being used.

You need to install IIS prior to installing .NET

it is runing on my machine - but i can not verify with measurement the cross over function.

This is because the Asio driver is sset to record form Asio device #1 and my input on my soundcard is on Asio input #2


jkeny said:

Other problem which may be fundamental is that it uses IIR filters and not FIR filters which are apparently more accurate. (I haven't heard either so this would act as a first intro to digital filters and I don't know how big the quality difference between filters. FIR filters seem to require a llot more processing power that IIR so older less powerful PC's may suit.

Anyway thanks for the ref
John

It acually uses FIR for the room compensation part ( i.e convolution) and is using IIR for the cross over function ( after the convolution).

and I agree with you that this is a starting point - FIR would be the "best" implementation.


Morten
 
Re: Re: HiFIPC

Henckel said:






It acually uses FIR for the room compensation part ( i.e convolution) and is using IIR for the cross over function ( after the convolution).

and I agree with you that this is a starting point - FIR would be the "best" implementation.


Morten


I didn't download the application and only looked at the pages. I think that it is a cool step toward the music PC. I have one gripe though. From what I see the choice of crossover curves is limited to only one or two 2nd order (what Q?) filters per output. To make it more usefull in constructing crossovers, the user should be able to insert/stack multiple first and second order (with adjustable q) filters per output. A few bands of parametric EQ and one delay per output would be great too. All this could be acomplished relatively easilly with textbook IIR filters. A user could design a very good crossover in lspCAD or similar loudspeaker software and just type in the frequencies and q's in the ASIO XO. This would turn a regular version of lspCAD into the pro version ($375.00 saving). I do have the pro version but it lacks the cool playback features found in ASIO XO .
So, how about some more sophisticated filtering?
 
IIR is a poor choice for crossover because it is not phase coherent. Best to stick with FIR. Even an 8-year-old PC can do 1000-tap FIR filters on 24 channels simultaneously. Normal 2-6 channel 2 or 3-way crossover setups should be possible on nearly any computer still running today.

BTW, I use Matlab to generate FIR filter coefficients. It works great.
 
jwb said:
IIR is a poor choice for crossover because it is not phase coherent. Best to stick with FIR. Even an 8-year-old PC can do 1000-tap FIR filters on 24 channels simultaneously. Normal 2-6 channel 2 or 3-way crossover setups should be possible on nearly any computer still running today.

BTW, I use Matlab to generate FIR filter coefficients. It works great.


And how do you derive "phase coherent" filters for individual drivers in your loudspeakers? I don't see where you insert the coefficients in the legs of the crossover.
BTW, what does "phase coherent" mean?
 
Thunau said:
And how do you derive "phase coherent" filters for individual drivers in your loudspeakers? I don't see where you insert the coefficients in the legs of the crossover.

Simply choose your crossover frequency and find two same-order FIR filters, one high-pass and one low-pass, with 3dB corners at that frequency. As I said, I let the Matlab Filter Deisng Toolbox do the heavy lifting for me. I don't know how to pick filter coefficients. And, not having used this particular program, I really don't know how you would feed the coefficients into it.


BTW, what does "phase coherent" mean?

I hope this isn't a test, because I'm not a DSP expert and I can't give you the formal definition. But, with a FIR all frequency components experience the same delay. If you have a FIR filter high-pass and low-pass of the same order, you can add the resultant signals together and reconstruct the original signal, including phase, to within a fraction of 1dB. This is not possible with IIR filters, which have lousy phase response. Most analog filters also have lousy phase response. By constract a FIR filter can have as high an order as you desire, with perfect phase response.
 
Hello

The request to include more options in the cross over section including channel volumen, equalizer and delay has already been relayed to the author.

However to some extend this is not so important since the application is to be used togehter with DRC which also will compensate for frequency and time deviations in relation to the total response from the speaker.
So just use the cross over functiosn available to do a coarse ajustment of the system - DRC will do the rest.


The use of FIR filters and "phase coherent" filters has also been relayed to the author.

However i great doubt that a Phase coherent FIR filter will be of any use apart for a theoretical study. The reason for this is that a phase coherent filter will have an symmetrical Impulse response and thus give rise to pre-ringing off axsis especially if steep filters are deployed.

I belive that the best compromise is between phase coherent and minimum phase filters - but since FIR filters can accomodate both. However a good application for providing the filter coeeficients are not available to my knowledge - nor a multi channel convolver for the Windows platform
 
jwb,

what program do you use to implement the filters you design in MATLAB? brutefir?

btw, my understanding is the same is yours -- phase coherent = linear phase = constant group delay across the frequency band. So, while the original signal is delayed by the filter, the phase of the original signal is preserved.

ASIOXO builds on another program called DRC, which it uses for room correction. DRC works in the time and frequency domains, correcting phase and impulse response. IIRC, ASIOXO runs the signal through DRC first, and then through the IIR xo filters. I'm not a DSP engineer (though I'd like to play one in my spare time), but, my understanding is that correcting the impulse response does not necessarily lead to linear phase, particularly if you're correcting the impulse response first, and then running the signal through an IIR filter, which will distort the group delay.

There are some good papers available on this topic in the AES Loudspeakers Anthology Vols. 3 & 4, written by Vanderkooy & Lipshitz. There is also some information available on the Web (Google "Vanderkooy filter").
 
Henckel said:
Hello

However i great doubt that a Phase coherent FIR filter will be of any use apart for a theoretical study. The reason for this is that a phase coherent filter will have an symmetrical Impulse response and thus give rise to pre-ringing off axsis especially if steep filters are deployed.

I'm not sure what you mean by "phase coherent", the objective of the filtering should be that the system has linear magnitude and "linear phase". If in addition all the drivers are "in phase" you minimize off axis lobing problems. You can certainly do this without any ringing (I'm doing it) and I love it.
 
Does anybody know of a plug-in for Windows Media Player 9 that implements arbitrary IIR/FIR crossovers?

I'm working on it now and have gotten as far as filtering a stereo input signal and outputing the filtered stereo signal, but am working towards an arbitrary number of input and output signals, eg. 6 in 10 out.

However, if someone has already done this I'd really like to save my time.

Thanks, John
 
jwb said:


Simply choose your crossover frequency and find two same-order FIR filters, one high-pass and one low-pass, with 3dB corners at that frequency. As I said, I let the Matlab Filter Deisng Toolbox do the heavy lifting for me. I don't know how to pick filter coefficients. And, not having used this particular program, I really don't know how you would feed the coefficients into it.
.

Yes this would work with two or more perfect drivers. But, loudspeakers are bandpass devices, mostly non- minimum phase especially in their enclosures. Their phase rolls just like that of IIR filters. It is possible to compensate for it and arrive at a transient perfect loudspeaker using delay and IIR filters (or good old analog components for that matter).
So, just because you apply a textbook FIR filter to your drivers, it doesn't mean you end up with a transient perfect loudspeaker.
Or one that has flat frequency response. You have to know what the individual drivers are doing and take into account when designing a crossover.

Henckel said:
Hello

The request to include more options in the cross over section including channel volumen, equalizer and delay has already been relayed to the author.

However to some extend this is not so important since the application is to be used togehter with DRC which also will compensate for frequency and time deviations in relation to the total response from the speaker.
So just use the cross over functiosn available to do a coarse ajustment of the system - DRC will do the rest.

Yes and no, You can measure the impulse response with Asio XO in place and correct for frequency response errors, but that could be just an excersise in equalizing a potentially bad loudspeaker.
You can't turn a Bose into an Avalon by applying one FIR filter.
There are consequences of sloppy crossover design. Lobing and power response are what can make or break a speaker with flat frequency response on axis.
You should have the tools to make the best conventional loudspeaker out of the components you have and then use the room correction algorithm to make that speaker shine.

Henckel said:
The use of FIR filters and "phase coherent" filters has also been relayed to the author.

However i great doubt that a Phase coherent FIR filter will be of any use apart for a theoretical study. The reason for this is that a phase coherent filter will have an symmetrical Impulse response and thus give rise to pre-ringing off axsis especially if steep filters are deployed.

I belive that the best compromise is between phase coherent and minimum phase filters - but since FIR filters can accomodate both. However a good application for providing the filter coeeficients are not available to my knowledge - nor a multi channel convolver for the Windows platform

You are right about the FIR filters. Unless the user has the right tools to design crossovers using them it's pointless and a waiste of DSP horse power to offer them.

The author should stick with IIR filters for individual drivers. It would be nice if some kind of high precission math was used (like 32 bit FP or straight 48 bit computting with dither as opposed to truncation for going back to 16 bit). A lot of sound cards accept 24 bit input and have 24 bit converters. That should be an output option as well.
 
Thunau said:


Yes this would work with two or more perfect drivers. But, loudspeakers are bandpass devices, mostly non- minimum phase especially in their enclosures. Their phase rolls just like that of IIR filters. It is possible to compensate for it and arrive at a transient perfect loudspeaker using delay and IIR filters (or good old analog components for that matter).

Ah, I see your point better now. To do that job properly you'd need a calibrated microphone, I would think. Luckily with software it's easy enough to experiment with different filters.
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.