[gst-devel] equalizer audio
sabine donzé
sabine.donze at gmail.com
Wed Jan 28 15:12:02 CET 2009
Hello,
I'm using the equalizer-nbands plugin from gst-plugins-good_0.10.7.
However, if I configure the frequency for one or for each band, the observed
cutoff frequency is not the same than the defined frequency.
For example:
gst-launch filesrc location=toto.mp3 ! ffdemux_mp3 ! mfw_mp3decoder !
equalizer-nbands num-bands=4 band0::gain=-21 band0::frequency=947
band0::bandwidth=100 ! alsasink
I should have a cutting frequency at 957Hz for band0.
In logfile, I observe that gain, frequency and bandwidth have been correctly
changed. But in setup_filter function, frequency is not at defined value:
0:00:00.516575000 1477 0x14018 DEBUG equalizer
gstiirequalizer.c:494:gst_iir_equalizer_compute_frequencies: band[ 0] =
'66.234133'
0:00:00.517031000 1477 0x14018 DEBUG equalizer
gstiirequalizer.c:494:gst_iir_equalizer_compute_frequencies: band[ 1] =
'372.461899'
0:00:00.517357000 1477 0x14018 DEBUG equalizer
gstiirequalizer.c:494:gst_iir_equalizer_compute_frequencies: band[ 2] =
'2094.507176'
0:00:00.517678000 1477 0x14018 DEBUG equalizer
gstiirequalizer.c:494:gst_iir_equalizer_compute_frequencies: band[ 3] =
'11778.279410'
0:00:00.518174000 1477 0x14018 LOG equalizer
gstiirequalizer.c:290:gst_iir_equalizer_child_proxy_get_children_count: we
have 4 children
0:00:00.518600000 1477 0x14018 LOG equalizer
gstiirequalizer.c:281:gst_iir_equalizer_child_proxy_get_child_by_index:
return child[0] 'band0'
0:00:00.519124000 1477 0x14018 DEBUG equalizer
gstiirequalizer.c:136:gst_iir_equalizer_band_set_property:<band0> gain =
0.000000 -> -21.000000
0:00:00.519571000 1477 0x14018 DEBUG equalizer
gstiirequalizer.c:146:gst_iir_equalizer_band_set_property:<band0> changed
gain = -21.000000
0:00:00.520126000 1477 0x14018 LOG equalizer
gstiirequalizer.c:290:gst_iir_equalizer_child_proxy_get_children_count: we
have 4 children
0:00:00.520444000 1477 0x14018 LOG equalizer
gstiirequalizer.c:281:gst_iir_equalizer_child_proxy_get_child_by_index:
return child[0] 'band0'
0:00:00.520852000 1477 0x14018 DEBUG equalizer
gstiirequalizer.c:154:gst_iir_equalizer_band_set_property:<band0> freq =
66.234133 -> 947.000000
0:00:00.521334000 1477 0x14018 DEBUG equalizer
gstiirequalizer.c:164:gst_iir_equalizer_band_set_property:<band0> changed
freq = 947.000000
0:00:00.521767000 1477 0x14018 LOG equalizer
gstiirequalizer.c:290:gst_iir_equalizer_child_proxy_get_children_count: we
have 4 children
0:00:00.522071000 1477 0x14018 LOG equalizer
gstiirequalizer.c:281:gst_iir_equalizer_child_proxy_get_child_by_index:
return child[0] 'band0'
0:00:00.522568000 1477 0x14018 DEBUG equalizer
gstiirequalizer.c:172:gst_iir_equalizer_band_set_property:<band0> width =
92.468265 -> 100.000000
0:00:00.523032000 1477 0x14018 DEBUG equalizer
gstiirequalizer.c:182:gst_iir_equalizer_band_set_property:<band0> changed
width = 100.000000
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
0:00:00.996510000 1477 0x2e7d0 DEBUG equalizer
gstiirequalizer.c:451:gst_iir_equalizer_compute_frequencies: bands 4 -> 4
0:00:00.997166000 1477 0x2e7d0 DEBUG equalizer
gstiirequalizer.c:494:gst_iir_equalizer_compute_frequencies: band[ 0] =
'66.234133'
0:00:00.997577000 1477 0x2e7d0 DEBUG equalizer
gstiirequalizer.c:494:gst_iir_equalizer_compute_frequencies: band[ 1] =
'372.461899'
0:00:00.997921000 1477 0x2e7d0 DEBUG equalizer
gstiirequalizer.c:494:gst_iir_equalizer_compute_frequencies: band[ 2] =
'2094.507176'
0:00:00.998256000 1477 0x2e7d0 DEBUG equalizer
gstiirequalizer.c:494:gst_iir_equalizer_compute_frequencies: band[ 3] =
'11778.279410'
0:00:00.998887000 1477 0x2e7d0 INFO equalizer
gstiirequalizer.c:438:setup_filter: gain = -21, , bandwidth= 92.468,
frequency = 66.234, a0 = 0.98034,
0:00:00.999431000 1477 0x2e7d0 INFO equalizer
gstiirequalizer.c:438:setup_filter: gain = 0, , bandwidth= 519.99,
frequency = 372.46, a0 = 1, a1
0:00:01.000021000 1477 0x2e7d0 INFO equalizer
gstiirequalizer.c:438:setup_filter: gain = 0, , bandwidth= 2924.1,
frequency = 2094.5, a0 = 1, a1
0:00:01.000526000 1477 0x2e7d0 INFO equalizer
gstiirequalizer.c:438:setup_filter: gain = 0, , bandwidth= 16443,
frequency = 11778, a0 = 1, a1
Moreover, cutoff frequency observed at the end of audio chain is around
200Hz
I've also tried to define all bands, but cutting frequencies observed are
not coherent with defined frequencies.
Moreover, according to configurations, we can have a difference of 6dB
between right way and left way.
How does this plugin work? How configure it so as to have a cutting
frequency at 947Hz?
How to have the same output for right way and left way, or how to configure
the difference between right way and left way?
Thanks for your help
Sabine
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20090128/ccb39281/attachment.htm>
More information about the gstreamer-devel
mailing list