[gst-devel] equalizer audio

Stefan Kost ensonic at hora-obscura.de
Tue Feb 3 12:06:00 CET 2009


sabine donzé schrieb:
> 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
>
>
I filed a bug at
http://bugzilla.gnome.org/show_bug.cgi?id=570343
Will look at it over the next days.

Stefan

> 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
> ------------------------------------------------------------------------
>
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by:
> SourcForge Community
> SourceForge wants to tell your story.
> http://p.sf.net/sfu/sf-spreadtheword
> ------------------------------------------------------------------------
>
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>   





More information about the gstreamer-devel mailing list