[FFmpeg-user] 'equalizer' audio filter
darkmoon at verizon.net
darkmoon at verizon.net
Fri May 9 02:08:55 CEST 2014
On Thu, 08 May 2014 11:09:13 -0700 (PDT),
Nicholas Robbins <nickrobbins at yahoo.com> wrote:
>I think you need to look at
>http://ffmpeg.org/ffmpeg-filters.html#equalizer again. Carefully,
>twice.
Thank you...for not stopping here. However, meditation upon the text
turned up no more useful results than searching on the topic, and I do
try not to plague people with my questions until I have done both.
"RTFM" is not a solution when "TFM" is unclear, obscure, or missing
something essential. Nb: what is clear to someone may be obscure to
someone else. For example:
>Each equalizer filter is a single slider.
I did not get that from the Guide where it reads "In order to produce
complex equalisation curves..." because none of the technical details
are exposed to the user of a simple hardware or GUI software graphic
equalizer--only the sliders are available.
I am not the only person who has been left in confusion by the
documentation for this filter, going by the numbers of posts I managed
to find in various help forums in my initial Google search. As usual,
most of the responses were also of the "RTFM" variety. I have seen this
happen far too many times, when the problem is more with the Manual
than the user.
>and that is what the documentation says.
No way do the docs provide all that. Nevertheless, your post was very
helpful in pointing me in the right direction for further research, and
for that I thank you. For the archives, here is what I found:
http://en.wikipedia.org/wiki/Equalization_%28audio%29
FFmpeg 'equalize' turns out to be what is called a "parametric
equalizer" because it allows the bandwidth and center frequency of each
band to be set. This phrase is useful in a Google search because it
immediately turns up relevant results.
http://www.audiocheck.net/engineertraining_bands_octave.php
..which is linked from the Wikipedia article, is even more useful. It
turns out that equalizer bands are most commonly based on musical
octaves, and most often on "concert pitch" (A = 440 Hz) ones. A 10-band
equalizer that covers the standard range of human hearing (20 Hz - 20
kHz) can be constructed by making each band an octave wide. The
band and center frequencies, as specified by the above web page, are:
20 - 31.5 - 45
45 - 63 - 90
90 - 125 - 175
175 - 250 - 350
350 - 500 - 700
700 - 1k - 1.4k
1.4k - 2k - 2.8k
2.8k - 4k - 6k
6k - 8k - 12k
12k - 16k - 20k
Since 'equalizer' accepts bandwidths expressed in octaves:
equalizer=f=31.5:width_type=o:width=1:g=g1, \
equalizer=f=63:width_type=o:width=1:g=g2, \
equalizer=f=125:width_type=o:width=1:g=g3, \
..etc.
To set adjacent bands the same:
Two bands (125 and 250 Hz, for example):
equalizer=f=175:width_type=o:width=2:g=
Three bands (say, 250, 500, and 1000 Hz):
equalizer=f=500:width_type=o:width=3:g=
I used the following filter chain to correct the audio of a lecture
recorded in an auditorium, where the acoustics were so bad that the
speaking voices could not be understood:
equalizer=f=31.5:width_type=o:width=1:g=-12, \
equalizer=f=63:width_type=o:width=1:g=-6, \
equalizer=f=125:width_type=o:width=1:g=-3, \
equalizer=f=250:width_type=o:width=1:g=-1.5, \
equalizer=f=500:width_type=o:width=1:g=-0.7, \
equalizer=f=1000:width_type=o:width=1:g=-0.25, \
equalizer=f=8000:width_type=o:width=3:g=1
The results were much improved (the voices were clear and easy to
understand), with no strange audio distortion. This works.
Jeff
More information about the ffmpeg-user
mailing list