IPB

Welcome Guest ( Log In | Register )

 
Reply to this topicStart new topic
foo_dsp_loudspeakereq, Extends low frequency response (bass) of any closed box loudspeaker
Esben84
post Jul 2 2009, 08:21
Post #1





Group: Members
Posts: 21
Joined: 23-April 09
From: Copenhagen, DK
Member No.: 69199



You can use this plugin if you have small speakers, and would like to give them a bass response similar to a larger speaker. When your speakers response naturally rolls off, this plugin will then gradually increase the amount of bass.

Features
  • Move loudspeaker cutoff frequency for extended bass response
  • 64-bit data path, IIR filter coefficients and accumulator
  • Realtime adjustments of loudspeaker parameters
  • Auto calculation of pregain, on/off toggle switch
  • Filter on/off toggle switch
  • Mechanical protection algorithm for closed-box loudspeaker

Requires
  • Closed-box loudspeaker

It can be downloaded here (source code)

This post has been edited by shakey_snake: Jul 2 2009, 08:45
Go to the top of the page
+Quote Post
Anas
post Jul 2 2009, 10:38
Post #2





Group: Members
Posts: 466
Joined: 9-May 05
From: Deutschland
Member No.: 21968



That's just what I needed, thank you. Works better than the standard equalizer (maybe because I can't handle it tongue.gif ). Adds that extra punch that I was looking for. biggrin.gif
Go to the top of the page
+Quote Post
Enigma776
post Jul 2 2009, 16:42
Post #3





Group: Members
Posts: 148
Joined: 29-August 05
Member No.: 24190



Whats the optimal setting for this plugin?
Go to the top of the page
+Quote Post
Esben84
post Jul 2 2009, 17:17
Post #4





Group: Members
Posts: 21
Joined: 23-April 09
From: Copenhagen, DK
Member No.: 69199



Anas: I'm happy to hear you can use it

Enigma776: It depends a lot on your speakers. If you have small speakers, the default settings might fit well. The default q-values are probably close to the one of your speakers. You can try varying the slider with the original speaker settings, untill it sounds good to you. If you adjust it too high, it'll likely give a 'boomy' sound.
Go to the top of the page
+Quote Post
klez
post Jul 3 2009, 17:14
Post #5





Group: Members
Posts: 49
Joined: 27-March 06
Member No.: 28881



Hi. Nice Plugin!

It would be great if u could implement a -24dB Subsonic Filter (Fq. changeable with a Slider would be great) for Chassis protection. These are unhearable Frequencies but they are amplified and causes unnecessary Chassis excursion.

P.S.: Wheat does the "Original Loudspeaker" Section?
Go to the top of the page
+Quote Post
Chipicui
post Jul 4 2009, 01:04
Post #6





Group: Members
Posts: 88
Joined: 3-September 07
Member No.: 46732



Thank you very much!!
It works really well.
Some questions:
would you mind explaining how the closed mechanical protection works, what is the gain/excursion parameter and how it works?
what would be it's place in the DSP chain, would you put it after resampling or before?
Go to the top of the page
+Quote Post
AlleyMan
post Jul 7 2009, 15:48
Post #7





Group: Members
Posts: 22
Joined: 20-October 07
Member No.: 48003



Thank you very much. Great plug-in. Really brings out the bass on my mid-size speakers. Some documentation on the settings would be very helpful in tweaking the dsp accurately for my pair of speakers. "By ear", the default setting sounds great though.
Go to the top of the page
+Quote Post
Esben84
post Jul 10 2009, 10:04
Post #8





Group: Members
Posts: 21
Joined: 23-April 09
From: Copenhagen, DK
Member No.: 69199



QUOTE (klez @ Jul 3 2009, 18:14) *
Hi. Nice Plugin!

It would be great if u could implement a -24dB Subsonic Filter (Fq. changeable with a Slider would be great) for Chassis protection. These are unhearable Frequencies but they are amplified and causes unnecessary Chassis excursion.

P.S.: Wheat does the "Original Loudspeaker" Section?

Thanks klez, and good suggestion. When I'm home from vacation, I'll install Visual Studio on my new laptop and look at implementing a filter for chassis protection. The original loudspeaker section is for configuring the plugin to your speakers. The equalized loudspeaker setting is for adjusting how you want your speaker to sound like.

QUOTE (Chipicui @ Jul 4 2009, 02:04) *
Thank you very much!!
It works really well.
Some questions:
would you mind explaining how the closed mechanical protection works, what is the gain/excursion parameter and how it works?
what would be it's place in the DSP chain, would you put it after resampling or before?

Happy to hear it's working well for you :-)

The mechanical protection works by monitoring the mechical excursion of the speaker unit, based on the output from the plugin. If it's above a specified level, the equalized cutoff frequency is increased, so that the amount of extra bass is reduced. Foobar has a small buffer, so the protection works "in advance". The plugin can then "in advance" reduce the equalized cutoff frequency, so that excursion is kept below a certain limit. It works by modelling a speaker unit through the two settings (original loudspeaker) in the top of the window. The gain/excursion parameter determines how sensitive the mechanical protection is. By increasing the slider, it gets more sensitive.

I don't know much about resampling, but if we assume it's "increasing" resolution of the signal, then putting it before would increase the accuracy of the loudspeakereq plugin.

QUOTE (AlleyMan @ Jul 7 2009, 16:48) *
Thank you very much. Great plug-in. Really brings out the bass on my mid-size speakers. Some documentation on the settings would be very helpful in tweaking the dsp accurately for my pair of speakers. "By ear", the default setting sounds great though.


I'm happy to hear it working well with your miz-size speakers. I'm also using it on my laptop (X300) and it also improves bass response there, though it has it's physical limitations on a laptop smile.gif

Sorry for the lack of documentation. The bachelor report detailing the plugin is written in danish, so I'm trying to fill in fit the relevant information here smile.gif
In the project we developed this plugin for, we used a laser measuring system from Klippel to determine the cutoff frequency and q-value settings in the top of the window (original speaker). You can also determine the cutoff frequency by finding the impedance resonance frequency, but most people don't have equipment for that. With an SPL-meter measuring close to the speaker, you might be able to approximate the speaker response to different frequencies. The frequency where the speaker response is down to 71 % (-3 dB) is close to the cutoff frequency.

Wild suggestion (might not work): Connect a Kill-A-Watt (power draw measurement device) to you amplifier, turn up the volume, use an application that can output pure sine tones of adjustable frequency. The frequency where the power draw is the least should be your resonance frequency.

If possible I'd suggest looking in the specifications from the loudspeaker manufacturer. Most list speaker response as e.g. (-3 dB): 50-20000 Hz, where 50 Hz is the -3 dB frequency, that is often very close to the cutoff frequency. To equalize this speaker, you would adjust the original loudspeaker cutoff frequency to 50 Hz, and the equalized loudspeaker frequency should then be set in the range of 20-50 Hz.
Go to the top of the page
+Quote Post
skelly831
post Jul 11 2009, 03:13
Post #9





Group: Members (Donating)
Posts: 782
Joined: 11-April 05
From: México
Member No.: 21361



QUOTE (Esben84 @ Jul 10 2009, 02:04) *
With an SPL-meter measuring close to the speaker, you might be able to approximate the speaker response to different frequencies. The frequency where the speaker response is down to 71 % (-3 dB) is close to the cutoff frequency.

Wild suggestion (might not work): Connect a Kill-A-Watt (power draw measurement device) to you amplifier, turn up the volume, use an application that can output pure sine tones of adjustable frequency. The frequency where the power draw is the least should be your resonance frequency.

foobar2000 itself can produce tones, go to File -> Add Location... (or press Ctrl+U) and type in something like tone://1000,5 which will add a 5 second 1000Hz tone to your playlist. You can also use the sweep://500-5000,5 syntax to produce a 5 second sweep from 500Hz to 5000Hz, for example.

Thanks for the testing tips, and for such a useful component! Cheers smile.gif


--------------------
we was young an' full of beans
Go to the top of the page
+Quote Post
AlleyMan
post Jul 20 2009, 04:46
Post #10





Group: Members
Posts: 22
Joined: 20-October 07
Member No.: 48003



Would it be possible for you to easily port this plugin to winamp? I use KMplayer as my video player and it accepts winamp plugins. The bottom end enhancement would really add to the movie experience. Thanks.
Go to the top of the page
+Quote Post
Esben84
post Aug 28 2009, 19:22
Post #11





Group: Members
Posts: 21
Joined: 23-April 09
From: Copenhagen, DK
Member No.: 69199



QUOTE (skelly831 @ Jul 11 2009, 04:13) *
foobar2000 itself can produce tones, go to File -> Add Location... (or press Ctrl+U) and type in something like tone://1000,5 which will add a 5 second 1000Hz tone to your playlist. You can also use the sweep://500-5000,5 syntax to produce a 5 second sweep from 500Hz to 5000Hz, for example.

Thanks for the testing tips, and for such a useful component! Cheers smile.gif

Thanks for the tip, that's a very usefull feature, I didn't know existed. Hope you enjoy the plugin!


QUOTE (AlleyMan @ Jul 20 2009, 05:46) *
Would it be possible for you to easily port this plugin to winamp? I use KMplayer as my video player and it accepts winamp plugins. The bottom end enhancement would really add to the movie experience. Thanks.
Thanks for the feature suggestion. I'm afraid I don't have the time at the momemt to port it to Winamp. But the source code is available and anyone up to the task/challenge is very welcome to use the uploaded Foobar code as they like. I absolutely agree that the bottom end enhancement should be available in all applications, and not just Foobar, for example as a Vista/W7 audio enhancement plugin. There is currently a bass enhancer enhancement, but I don't know how it works. Though in combination with the Foobar plugin it seems to further increase the amount of bass my tiny laptop speakers can produce, at the same overall volume.
Go to the top of the page
+Quote Post
2E7AH
post Dec 5 2009, 08:56
Post #12





Group: Validating
Posts: 2424
Joined: 21-May 08
Member No.: 53675



I use this component to reduce bass level occasionally, and like it much how it perfectly does the job. However just noticed little annoyance:
If I activate equalized loudspeaker (at 100 Hz usually) then on manual track change glitch pops, and if cutoff freq. is set to some low value like 30 Hz glitch sounds like tearing. This doesn't happen without activating equalized loudspeaker.

Just for more clearance I've set buffer length same as fade out length. If fade out is omitted tearing changes to single glitch.

Here is sample ~ 20 s, with activated equalized loudspeaker at 30 Hz (tearing at ~ 9 s):
sample.flac

and here is screenshot of recorded waveform, although in reality tearing is much longer compared to recorded stereo mix:
Go to the top of the page
+Quote Post
2E7AH
post Dec 8 2009, 10:21
Post #13





Group: Validating
Posts: 2424
Joined: 21-May 08
Member No.: 53675



^ damn realtek drivers
I updated yesterday to version date 17.11.2009 (I had version from Sep.2009 IIRC) ans the problem is nonexistent
Could it be the driver, as no other DSP had the issue?
Go to the top of the page
+Quote Post
BradH
post Dec 15 2009, 19:34
Post #14





Group: Members
Posts: 4
Joined: 15-December 09
Member No.: 75951



Great plugin! It sounds better than the default Equalizer.

I use it with my headphones. It took a couple of hours to find the ideal settings, and I'm using it at:

Original Loudspeaker:
Cutoff Frequency: 151 Qtc: 0.742

Equalized Loudspeaker:
Cutoff Frequency: 10 Qtc: 0.052

Mechanical Protection: Off
Equalizer Pre-gain: 0


I'm also occasionally hearing a pop when manually changing tracks like 2E7AH mentions. Since I'm not using integrated Audio, but rather an external DAC, I can't update the drivers unfortunately. But it's not a big deal.

Thanks again!
Go to the top of the page
+Quote Post
BradH
post Dec 17 2009, 00:50
Post #15





Group: Members
Posts: 4
Joined: 15-December 09
Member No.: 75951



So after more listening, I'm getting garbled output for a second or two in about 3% of my listening. Certain tracks at certain points in the track output a distorted or garbled sound. Where it happens is repeatable over and over and the sound and duration of the distortion is the same. I've tried changing every setting by little and large amounts and I can find only two solutions, either not use this plug-in or to add a pre-gain amount of at least 10.3db. However adding any pre-gain causes the music to lose some of it's excitement. After repeated tests, I would much rather live with the occasional distortion, then have the pre-gain effect all of the music.

I tried going back to Equalizer only, and I can't do it. This plug-in is just too good to get the bass exactly how I want it.

Any idea what could be going on Esben84? I tried building the plugin, but there is no resource.h file included, so I have spent more time trying to be able to build it and determine if I can fix anything.

Eventually I'm sure this will drive me crazy, but I can't go back to the Equalizer yet.
Go to the top of the page
+Quote Post
stephlouv
post Jan 8 2010, 00:00
Post #16





Group: Members
Posts: 1
Joined: 7-January 10
Member No.: 76816



Hello.

Very nice plugin since the default equalizer start at 55Hz.

Is there a way you draw a simple eq graphic line based on the cutoff frequencies and Qtc values ?
Could be usefull to have a visual representation of the settings effects.

Thank you.

This post has been edited by stephlouv: Jan 8 2010, 00:15
Go to the top of the page
+Quote Post
touccer
post Oct 14 2010, 18:26
Post #17





Group: Members
Posts: 13
Joined: 14-October 10
Member No.: 84615



Someone can continue the development of this awesome plugin? Has great potential...
Go to the top of the page
+Quote Post
Esben84
post Dec 23 2012, 11:37
Post #18





Group: Members
Posts: 21
Joined: 23-April 09
From: Copenhagen, DK
Member No.: 69199



I've since thought of describing in more detail the inner workings of this plugin, but recently discovered that this equalization method is called a Linkwitz Transform. So for anyone interested in knowing more about what this plugin does, search Google for Linkwitz Transform, or read this article for a good explanation.

With regards to further improving the plugin, all internal calculations of the plugin uses the highest precision possible (64-bit doubles), so I cannot further improve the sound quality. The speaker protection algorithm is experimental, and no more effort will be used to improve the algorithm. I recommend you use caution and your ears to avoid mechanical damage to your speaker drivers, from adding too much bass.

The problem BradH encounters is due to excessive bass added to the signal. To avoid clipping of the signal, the overall sound level has to decrease by -47 dB. This equates decreasing the magnitude of the input signal to 0.002% of the original. If you don't lower the overall volume of the signal, putting a 20 Hz tone through the system will cause extreme clipping. I would recommend to only equalize at most 2 octaves lower cutoff frequency. E.g. from 200 Hz to 50 Hz. The signal is then decreased to 0.4 % magnitude and the bass is added.

I hope the plugin has helped you improve the sound quality of bass-limited speakers that you often encounter. Be it cheap PC-speakers or old closed-box speakers. For me it has definitely helped tremendously in increasing sound quality from lesser speakers, and I still use it to this very day. smile.gif
Go to the top of the page
+Quote Post
Oren
post Mar 29 2015, 00:34
Post #19





Group: Members
Posts: 15
Joined: 12-June 05
Member No.: 22673



If I understand correctly this plug-in can be used as an alternative to bass control. The problem is, I can't seem to be able install it (or can't get it to work). Is it supposed to be compatible with the latest version (1.3.8)?

Edit: I found how to install and configure it (it's in Preferences, under DSP Manager). Unfortunately, it's not the alternative to a simple bass control I was looking for. The search continues...

This post has been edited by Oren: Mar 29 2015, 00:43
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 7th May 2015 - 02:55