https://bugs.kde.org/show_bug.cgi?id=516725

            Bug ID: 516725
           Summary: Effect "Audio Spectrum Filter" is very busted (+ some
                    suggestions)
    Classification: Applications
           Product: kdenlive
      Version First unspecified
       Reported In:
          Platform: Flatpak
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: Audio Effects & Transitions
          Assignee: [email protected]
          Reporter: [email protected]
  Target Milestone: ---

SUMMARY
I was looking into using Kdenlive for making audio visualizer type videos. The
Effect "Audio Spectrum Filter" should do what I need for that but in
experimenting with how to best use it for this purpose I found the results to
be unusable.
I did first notice this issue several months ago but didn't feel like making a
bug report at the time.


STEPS TO REPRODUCE
1. Open a project
2. Insert attached test audio file
3. Apply "Audio Spectrum Filter" to master, set the "Points" option to 1000 and
the "Level Threshold" option to -70 dB


OBSERVED RESULT
(see "observed result.mp4" in attachments)
The resulting frequency response graph looks very scuffed and jagged. This
effect seems to be arranged into distinct blocks. Both the line graph and the
bar graph are equally affected.


EXPECTED RESULT
(see "expected result.mp4" in attachments)
the resulting frequency response graph should look smooth and consistent for
any given frequency. It should also not be arranged into blocks.
Not shown in the expected example (because the plugin had no such feature), but
there also should also be a setting to make the graph less spiky so higher
frequencies in particular are more pleasing to look at.


Further issues:
- "Window Size" option appears do do nothing. In audio software this option
usually refers to the FFT window size and usually ranges from 64 up to 32768.
It also intrinsically affects the accuracy and responsiveness of the frequency
spectrum so the fact that it seems to do nothing at all here plus how the graph
seems to be arranged into jagged blocks leads me to believe that the other
issues might be caused by a broken FFT code.
- "Line Tension" setting is extremely unhinged. It makes the line graph very
ugly and I can not make sense of it's purpose. (I assume it was meant to be
sorta how fast the line connects from one point to the next so it's less spiky
at higher frequencies but that too is broken) The fewer the amount of points
the worse the result. "Line Tension.png" depicts the result of using "Line
Tension" at 200 and "Points" at 20.
- Setting "Low Frequency" to 0 makes the effect invisible. The same is true for
"High Frequency" but there it makes sense.


Further suggestions:
- A "decay time" option to change how fast each point decays back to 0. Right
now, it decays way too fast causing the graph to jump around wildly from one
frame to the next, especially on higher frequencies.
- A "slope" option that affects how much more or less sensitive higher
frequencies get. I tend to prefer 3dB per octave which makes the graph's
response pretty much linear to pink noise. Whatever the current default is,
higher frequencies tend to display too low in amplitude for my preferences.
- I would like this effect (and other audio visualisation effects) to not be
limited to master so I'm more flexible with masking, warping and processing it
with other video elements. (Though that might be just me not being familiar
with Kdenlive's workflow yet, I've used VSCD before and I really like working
with everything being a sort of graphic object or attached to a parent object.)
- Stereo Mode: I would really like a mode where it does a separate graph for
the left channel and right channel each (connected in the middle and the
frequencies mirrored vertically), so if a sound is only audible in the left or
right it's represented visually only on that side! I have yet to see an audio
visualizer that can do that.
- Line Tension: I'm not sure what this setting was intended to do, but I feel
like it should be revised a bit. The main thing I would want it to do is
prevent or reduce distinct spikes down to 0 so when there's one point where the
frequency response would be 0, the line graph wouldn't shoot down all the way
to 0 as well and cut a huge line through it. A possible way thing I can think
of is maybe make each point less responsive the lower it is so if there is
something like a big frequency cut in the middle it doesn't go straight down to
0 and cuts off with a sharp corner but rather slowly tapers off with a smooth
curve, but only close towards the bottom.


SOFTWARE/OS VERSIONS
OS: Arch Linux x86_64
Kernel: Linux 6.18.9-zen1-2-zen
Desktop Environment: KDE Plasma 6.6.0
Kdenlive version: 25.12.2 (Flatpak)

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to