Bugzilla – Bug 13130
Add bass to Baby sound
Last modified: 2009-10-05 14:35:45 UTC
With firmware r6846 and the addition of the software crossover in dsp, I did a little listening comparison between Baby and its big brother. I know that there's more work required to tune Baby, but I would think that the goal would be to have Baby's sound character be similar to Boom. If so, Baby could use more bass. It's hard to do a real listening comparison and to scrutinize Baby's sound any more closely unless its tonal balance, especially in the bass, is similar to Boom's. Creating a bug to track this ....
More Cow Bells Please
Bass is going to be tricky -- we may be MIPS limited until we get a good assembly language IIR filter. Currently, using an FIR filter, which will need 300-500 taps to be right. But, we're using an efficient FIR, so perhaps it's not terrible. Will have to try it out.
Ah, a quick back-of-the-envelope calculation says, best case, a 500 tap filter would be 1.5 cycles/tap * 500 taps/sample * 48000 samples/sec * 2 channels = 72 MIPS = 18% CPU. Is that bearable for 7.4? There are many ways to make it more efficient, but it'll take time to get right. -C
No, the audio output uses about 8% cpu without any filers, so that would be 26% cpu. It also assume 1.5 cycles/tap is correct, in reality we have addition overhead and copying of the cycles.
And 1.5 cycles/tap doesn't count any time for DDR2 stalls or anything like that. So, was your answer 'no -- we can't support that level of CPU usage'? I believe you are correct, maximum CPU would be 26%, BEST CASE. Worst case depends on memory IO bandwidth, etc.
Built an IIR filter with some asm acceleration.
== Auto-comment from SVN commit #6382 to the player repo by ccrome == == https://svn.slimdevices.com/player?view=revision&revision=6382 == Fixed #13130. Added IIR filter for bass extension, and used IIR for crossover as well. Greatly simplifies code. TODO: should make filter coefficients configurable. perhaps duplicate the biquad fader from the boom DSP to allow nice dynamic switching between biquads. Each IIR doesn't add too much processing power. It seems that much of the overhead is elsewhere in the jive_alsa application other than the actual DSP.
This bug has been marked as fixed in the 7.4.0 release version of SqueezeBox Server! * SqueezeCenter: 28672 * Squeezebox 2 and 3: 130 * Transporter: 80 * Receiver: 65 * Boom: 50 * Controller: 7790 * Radio: 7790 Please see the Release Notes for all the details: http://wiki.slimdevices.com/index.php/Release_Notes If you haven't already, please download and install the new version from http://www.logitechsqueezebox.com/support/download-squeezebox-server.html If you are still experiencing this problem, feel free to reopen the bug with your new comments and we'll have another look.