[FFmpeg-user] asubboost and asupercut

Michael Koch astroelectronic at t-online.de
Sat Nov 28 15:23:59 EET 2020


Am 28.11.2020 um 13:44 schrieb Paul B Mahol:
> On Sat, Nov 28, 2020 at 1:35 PM Michael Koch <astroelectronic at t-online.de>
> wrote:
>
>> Am 28.11.2020 um 12:57 schrieb Paul B Mahol:
>>> On Sat, Nov 28, 2020 at 12:41 PM Michael Koch <
>> astroelectronic at t-online.de>
>>> wrote:
>>>
>>>> Am 27.11.2020 um 20:50 schrieb Paul B Mahol:
>>>>> On Fri, Nov 27, 2020 at 8:24 PM Michael Koch <
>>>> astroelectronic at t-online.de>
>>>>> wrote:
>>>>>
>>>>>> Am 27.11.2020 um 19:25 schrieb Paul B Mahol:
>>>>>>> On Fri, Nov 27, 2020 at 7:09 PM Michael Koch <
>>>>>> astroelectronic at t-online.de>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hello,
>>>>>>>>
>>>>>>>> I have a few questions about the asubboost and asupercut filters.
>>>>>>>>
>>>>>>>> -- In asubboost it's not yet clear how the block diagram of the
>> filter
>>>>>>>> looks like. Especially the "decay" and "feedback" options are
>> unclear.
>>>>>>>> What's the input of the the delay line? Before or after the low pass
>>>>>>>> filter? Where does the feedback go to? Before or after the lowpass
>>>>>>>> filter? I have attached a sketch of a possible block diagram, but
>> it's
>>>>>>>> only a wild guess.
>>>>>>>>
>>>>>>> This filter just adds delayed sub frequencies set by cut off
>> frequency
>>>>>> back
>>>>>>> to output. Decay sets decay of old sub echo in buffer and feedback
>> sets
>>>>>> how
>>>>>>> much
>>>>>>> new sub frequencies are added to the delay buffer.
>>>> I did try to reverse engineer the asubboost filter from its output
>>>> signal. Is the attached sketch correct?
>>>> It seems the "feedback" parameter is unnecessary because it does exactly
>>>> the same thing as "wet".
>>>>
>>> No, your reasoning is invalid.
>>>
>>> I do not have time to draw graphs or do consulting for free.
>> When you swap the values of "wet" and "feedback", the output does always
>> remain the same.
>> If you think that I'm wrong, please show an example to prove the opposite.
>>
> Make sure that you take into account decay parameter, delay buffer is still
> used.

When you swap the values of "wet" and "feedback", the output does always
remain the same, regardless which values you use for "dry", "decay" and "delay".
As can be shown with this example:

set "A=0.4"
set "B=0.7"

ffmpeg -f lavfi -i aevalsrc='0.5*gt(t,0.1)':d=1 -lavfi 
asplit[a][b];[b]asubboost=dry=0.3:wet=%A%:decay=0.4:feedback=%B%:delay=50[c],[a][c]join,showwaves=draw=full:s=800x300:r=1 
-frames 1 -y out1.png

ffmpeg -f lavfi -i aevalsrc='0.5*gt(t,0.1)':d=1 -lavfi 
asplit[a][b];[b]asubboost=dry=0.3:wet=%B%:decay=0.4:feedback=%A%:delay=50[c],[a][c]join,showwaves=draw=full:s=800x300:r=1 
-frames 1 -y out2.png

ffmpeg -i out1.png -i out2.png -lavfi vstack -y out.png


Red is input step signal, green is output step response of the asubboost 
filter. In the lower half of the output image the "wet" and "feedback" 
values are swapped.

Michael



More information about the ffmpeg-user mailing list