[gst-devel] equalizer audio
Stefan Kost
ensonic at hora-obscura.de
Mon Oct 5 12:29:26 CEST 2009
sabine donzé schrieb:
> Hello,
>
> I've effectively an equalization thanks to your modifications on the
> plugin.
> The equalization is well working on a mono file. But I've some
> problems with stereo files.
>
> In stereo, I always have to define a frequency at 4kHz so as to have a
> cutting-frequency at 8kHz.
> Moreover, I observe a difference between left channel and right
> channel. If I define the frequency at 4khz and a bandwidth of 2kHz,
> left channel has a cutting frequency at 7kHz and right channel has a
> cutting frequency at 9kHz.
> We also have a difference of 3dB after the equalized band.
>
> You can see in attachment the observed results, obtained with the
> following command line:
>
> gst-launch filesrc=test.mp3 ! ffdemux_mp3 ! mfw_mp3decoder !
> equalizer-nbands num-bands=1 band0::gain=-10 band0::freq=4000
> band0::bandwidth=2000 ! alsasink
>
> First graph is obtained width a mono file, and second graph is
> obtained with a stereo file.
>
> Do you have some explanation? Why the defined frequency is not the
> same that the observed cutting frequency, and why have I a difference
> between right channel and left channel?
>
> Thanks for your help,
> Sabine
>
> 2009/2/3 Stefan Kost <ensonic at hora-obscura.de
> <mailto:ensonic at hora-obscura.de>>
>
> 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
>
Sorry for looon delay. I have had a quick look and filed
https://bugzilla.gnome.org/show_bug.cgi?id=597397 now. I'll have a look
at the code in the coming days. In the future it would be good if you
can just file the bugs instead.
Stefan
> >
> ------------------------------------------------------------------------
> >
> >
> ------------------------------------------------------------------------------
> > 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
> <mailto:gstreamer-devel at lists.sourceforge.net>
> > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
> >
>
>
> ------------------------------------------------------------------------------
> Create and Deploy Rich Internet Apps outside the browser with
> Adobe(R)AIR(TM)
> software. With Adobe AIR, Ajax developers can use existing skills
> and code to
> build responsive, highly engaging applications that combine the
> power of local
> resources and data with the reach of the web. Download the Adobe
> AIR SDK and
> Ajax docs to start building applications
> today-http://p.sf.net/sfu/adobe-com
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> <mailto:gstreamer-devel at lists.sourceforge.net>
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
>
> ------------------------------------------------------------------------
>
> ------------------------------------------------------------------------------
> Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM)
> software. With Adobe AIR, Ajax developers can use existing skills and code to
> build responsive, highly engaging applications that combine the power of local
> resources and data with the reach of the web. Download the Adobe AIR SDK and
> Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com
> ------------------------------------------------------------------------
>
> _______________________________________________
> 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