Hey Andreas,

Just a quick note - I think this is really cool, but I don't think I
know enough about the existing EQ code yet to comment. I've forwarded
your email to John Sully and Ben Wheeler and asked them for thoughts.
John wrote the butterworth code, and I remember Ben did some
measurements on his DJM mixer to find out what kind of filters it had.
I'll be sure to pass any feedback they have along to you, otherwise
I'll take a more serious look at this code in a week or so.

By the way, what doesn't "sound as expected" about the existing EQs?

Also, what are your thoughts on the SSE requirement? Should we do some
quick runtime CPU detection and use the SSE code if we can? (Keep in
mind Athlon XP CPUs lack SSE2...)

Thanks,
Albert

On Tue, May 19, 2009 at 4:02 PM, Andreas Pflug
<[email protected]> wrote:
> This is a kind of FYI-posting, summing up findings and code that I produced.
>
> I've been investigating the enginefilterbutterworth8 code because the EQ
> doesn't sound as expected, and it consumes a lot of cpu (as known).
>
> The reason for the sound is that engFilButterworth works (in terms of sound
> equalizing) radically different than expected; it's basically a frequency
> dividing network with 8th order Butterworth filters (known for phase and
> group delay problems) giving three channels that are summed/mixed. No
> surprise 4 filters of 8th order consume a lot of cycles...
>
> A look at the actual code made me wonder why the calculation is implemented
> double precision, while CSAMPE is float, and there's an ugly memmove per
> step.
>
> Attached you can find my drop-in replacement code. There are two versions in
> the file: the first c implementation basically is the current stuff
> rewritten, omitting the memmove per step and using float, probably runnable
> on any platform.
>
> The second version is a SSE implementation that works on gcc 4.3.3 (64bit,
> probably identical on 32bit). It assumes parameters in xmm0, rdi and rsi.
>
> There's quite some optimization potential, because xxxPS ops could calculate
> 4 values in parallel, while currently xxxSS ops calculate a single value.
>
> Regards,
> Andreas
>
> ------------------------------------------------------------------------------
> Crystal Reports - New Free Runtime and 30 Day Trial
> Check out the new simplified licensing option that enables
> unlimited royalty-free distribution of the report engine
> for externally facing server and web deployment.
> http://p.sf.net/sfu/businessobjects
> _______________________________________________
> Mixxx-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/mixxx-devel
>
>

------------------------------------------------------------------------------
Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT
is a gathering of tech-side developers & brand creativity professionals. Meet
the minds behind Google Creative Lab, Visual Complexity, Processing, & 
iPhoneDevCamp asthey present alongside digital heavyweights like Barbarian
Group, R/GA, & Big Spaceship. http://www.creativitycat.com 
_______________________________________________
Mixxx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mixxx-devel

Reply via email to