Audio fade-in & fade-out


Concerning audio fade-in & fade-out, there is a little problem in my opinion, I suppose it’s the same concerning audio level using image-keys. Sorry if there is already a topic about this, I didn’t found it.

If you add and audio clip in a project and apply a fade-out filter on, let’s say 10 seconds, the fade out is already done in something like 1 second. Because our ears work in logarithmic and shotcut seems to work in linear. Could it be possible to switch to (or add) a logarithmic mode? Because It changes totally the feeling of mixing and fadding.

The workaround I use is to export the audio clip to Audacity, proceed the fade-out and import back to Shotcut, but it’s only a workaround




It changes in dBFS linearly. dB is logarithmic; is that not enough? If you want non-linear you need to use the Gain filter with Keyframes, preferably with smooth keyframes.

1 Like

I’m aware of this feature, I use it to mix music, noise and spoken. The DB unit works perfectly. I was not aware about a link between Gain/Volume & image-keys, but thanks to this answer, now I am.

I was talking about fade-out, which is so easy to use with mouse at the right part of the clip in the time line, but linearly, I suppose.

Changing the fadding to DB could create a compatibility problem with already done previous projects… But adding a global parameter like DB fadding ON/OFF, OFF by default could do the job.

This is if course only a suggestion in the suggestions forum.


dB fades are something I would find more intuitive as well, so I poked around to see how much effort it would take to submit a patch. Here’s my initial thought…

The volume filter has a level parameter that accepts timestamp=dB pairs separated by semi-colons. Currently, only two timestamps are generated by a clip’s fader handles… a start and finish timestamp from -60 dB to 0 dB (for a fade-in), which produces the linear effect.

What if the fader handle logic was redesigned to produce multiple timestamp=dB pairs, in effect creating a keyframed fade? Then, in the “Fade In/Out Audio” filter QMLs, a checkbox could be added for “Logarithmic fade” and its state would determine whether the level parameter received two (linear) timestamps or multiple (logarithmic) timestamps. This would retain full backward compatibility with old projects.

I haven’t dug in enough to see how multiple level timestamps would interact with keyframes if they were applied. I hoped @shotcut could sanity check this much of an idea so far.

When something changes linearly that is using dB units, then it is already non-linear. The bad opposite of this is to use percentage as a unit. Then, it is truly scaled linearly.

1 Like

A use-case example will clarify what I was trying to say. Given these tracks:

A1: - - - - - i i i i i F F F F F
A2: F F F F F o o o o o - - - - -

F = full volume
i = fade in for five seconds
o = fade out for five seconds

There are many cases where an equal power crossfade is useful, as opposed to linear. When transitioning between two songs, a linear crossfade creates a dip in the perceived volume level at the midpoint of the crossfade, which equal power math does not. Equal power is also useful for spoken word because a splice during dead air will preserve the volume level of any background noise (like air conditioners) as opposed to creating a tell-tale dip that makes it obvious the audio was edited. Most DAWs provide a choice of fade types, linear and equal power being the most popular.

I should have said equal power crossfade from the start… sorry for the numerical vs. perceived confusion. And I would have used a legit screenshot, but I’m currently on a computer that doesn’t have Shotcut.

Math for equal power crossfade (uncorrelated version):