SuperEQ

From Avisynth wiki
Revision as of 16:42, 9 December 2015 by Raffriff42 (Talk | contribs)

Jump to: navigation, search

Equalization (British: equalisation, EQ for short) is the process of adjusting the balance between frequency components within an electronic signal. The most well known use of equalization is in sound recording and reproduction but there are many other applications in electronics and telecommunications. The circuit or equipment used to achieve equalization is called an equalizer. These devices boost or cut the energy of specific frequency bands. (source: wikipedia:Equalization)


Shibatch Super Equalizer is a graphic equalizer, originally created as a plugin for Winamp by Naoki Shibata. SuperEQ uses 16383th order FIR filters using FFT. Its equalization is very precise. Note that unlike traditional equalizers, there is very little roll-off or overlap between the bands.


Contents

Syntax & Parameters

SuperEQ(clip, string filename)
SuperEQ(clip, float band1 [, float band2, ..., float band18])

Parameter:

filename Set EQ bands from a preset file
band1-band18 Set EQ bands within your script


Frequencies

The 18 bands cover the following frequency ranges:

Band # f (low) f (high)
1 0 Hz 65 Hz
2 65 Hz 93 Hz
3 93 Hz 131 Hz
4 131 Hz 185 Hz
5 185 Hz 262 Hz
6 262 Hz 370 Hz
7 370 Hz 523 Hz
8 523 Hz 740 Hz
9 740 Hz 1047 Hz
10 1047 Hz 1480 Hz
11 1480 Hz 2093 Hz
12 2093 Hz 2960 Hz
13 2960 Hz 4186 Hz
14 4186 Hz 5920 Hz
15 5920 Hz 8372 Hz
16 8372 Hz 11840 Hz
17 11840 Hz 16744 Hz
18 16744 Hz 22000±Hz

(adapted from avisynth/src/audio/supereq.h)


Preset Files

SuperEQ can accept a foobar2k equalizer Preset (.feq) file. Foobar's equalizer can be found in the DSPManager, and presets are adjusted and saved from there as well.

A Preset file is a text file with a positive or negative integer on each line. Nothing else is allowed on the line, except white space. Empty (blank) lines are ignored. Each line sets the gain in decibels for a frequency band. All text after the first 18 non-empty lines are ignored, allowing you to add comments to the file.

Preset files can be found in your \AviSynth25\Examples folder (Equalizer Presets.zip), available online here, or may be found by searching the Web for "foobar2000 presets."

Example 1: Apply a Preset file

SuperEq("C:\Equalizer Presets\Loudness.feq")

Contents of Loudness.feq:

4
4
4
2
-2
-2
-2
-2
-2
-2
-2
-4
-10
-7
0
3
4
4

Audacity spectrum analysis of processed white noise:

SuperEQ-loudness-624x534.png


Band Gain Arguments

From Avisynth version 2.60, band gain arguments allow all 18 bands to be set within your script, instead of requiring a preset file. The values are specified in decibels, in floating point or integer format.

Example 2: Boost midrange (speech) using band arguments

ConvertAudioToFloat ## optional but recommended
SuperEQ(
\   0,  [*     0 -    65  *]
\   0,  [*    65 -    93  *]
\   0,  [*    93 -   131  *]
\   0,  [*   131 -   185  *]
\   0,  [*   185 -   262  *]
\   0,  [*   262 -   370  *]
\   0,  [*   370 -   523  *]
\   5,  [*   523 -   740  *]
\  10,  [*   740 -  1047  *]
\  10,  [*  1047 -  1480  *]
\  10,  [*  1480 -  2093  *]
\   5,  [*  2093 -  2960  *]
\   0,  [*  2960 -  4186  *]
\   0,  [*  4186 -  5920  *]
\   0,  [*  5920 -  8372  *]
\   0,  [*  8372 - 11840  *]
\   0,  [* 11840 - 16744  *]
\   0   [* 16744 - 22000± *]
\ )
ConvertAudioTo16bit ## required for VirtualDub
Audacity spectrum analysis of processed white noise:
SuperEQ-midboost-624x534.png
For comparison, the image below shows the spectrum analysis of un-equalized white noise (click to enlarge).
Audacity spectrum analysis of white noise


Example 3: Audio Spectrum Analyzer

This is a rather extreme example of what can be done with SuperEQ. See this doom9.org thread for details.

Avisynth-spectrum-analyzer-04.jpg


Requirements

This plugin is optimized for processors which have cache equal to or greater than 128k bytes (16383*2*sizeof(float) = 128k). This plugin won't work efficiently with K6 series processors.

Changes:

v2.60 Added custom band setting to allow all 16 bands to be set from script.
v2.54 Initial Release.

Some parts of SuperEQ are:
Copyright © Naoki Shibata.

Other parts are:
Copyright © 2001-2003, Peter Pawlowski All rights reserved.

Personal tools