Re: Dynamic Compressor Effect

Steve Fiddle <[email protected]> Tue, 18 May 2021 19:15:34 +0100
Newsgroups gmane.comp.audio.audacity.devel
Message-ID <CABp83eA8uMrb9HYZ_YN0BjnQ41=cc-Cs26wYb5t2eGTGidMn5A@mail.gmail.com>
On Tue, 18 May 2021 at 18:14, Peter Sampson
<[email protected]> wrote:
>
>
>
> On Tue, May 18, 2021 at 6:08 PM Max Maisel <[email protected]> wrote:
>>
>> Hi Steve,
>>
>> it would be no problem for me if the effect will be disabled by
>> default. I agree, that this would help resolving the realtime issue in
>> a separate change.
>
>
> Why would we want to hide it by having it disabled by default ?

I think it would be confusing to have two compressors enabled by default.

Although Max's compressor is superior to the currently shipped
compressor, without the benefit of real-time preview it is rather more
complicated to  use than the current one.

Removing the current compressor will also break any macros that use
it, and we wouldn't want to do that without very good reason.

>
> Peter.
>
>
>>
>> Which piece of code controls if an effect is enabled by default?

Sorry, I don't know. It's changed since I last added a built-in effect.
James, Leland, or Paul should be able to tell you.

Steve

>> In my development builds I always had to enable it manually.
>>
>> Max
>>
>> On Monday, 17 May 2021 at 16:57, Steve Fiddle wrote:
>> > Can this effect be committed, even if not enabled by default?
>> > I would love to see this working with real-time preview, but even
>> > without that it works and has many features that are not available in
>> > the current compressor.
>> >
>> > With QA hat on, I think that the current compressor should remain as
>> > the default compressor until real-time preview works satisfactorily
>> > in
>> > the new compressor. It seems unlikely that the issue with real-time
>> > preview will ever be resolved unless the effect is at  least in the
>> > code base.
>> >
>> > Steve
>> >
>> > On Mon, 17 May 2021 at 16:43, Max Maisel <[email protected]> wrote:
>> > >
>> > > *bump*
>> > >
>> > > > Hi all,
>> > > >
>> > > > since Audacity 3.0.2 is released now, I rebased my Compressor
>> > > > effect
>> > > > onto the latest master.
>> > > >
>> > > > Max
>> > > >
>> > > > On Sunday, 28 March 2021 at 13:46, Max Maisel wrote:
>> > > > > Hi James,
>> > > > >
>> > > > > it's no problem for me to wait for the 3.0.1 release.
>> > > > >
>> > > > > The latency is mainly caused by various kinds of lookahead. One
>> > > > > lookahead is selected directly by the user, another lookahead
>> > > > > is
>> > > > > implicit in case of the exponential fit envelope detector
>> > > > > because
>> > > > > the
>> > > > > algorithm needs to process the signal backwards in the attack
>> > > > > stage.
>> > > > >
>> > > > > Latencies in the range of minutes are extreme cases if users
>> > > > > select
>> > > > > high lookahead times or, in case of exponential fit, high
>> > > > > attack
>> > > > > times.
>> > > > > But I don't want to limit the ranges of the lookahead and
>> > > > > attack
>> > > > > time
>> > > > > sliders for offline processing just because of latency in
>> > > > > realtime
>> > > > > mode.
>> > > > >
>> > > > > When using the analog simulation envelope detector together
>> > > > > with
>> > > > > low
>> > > > > lookahead (a few milliseconds) like a real analog compressor,
>> > > > > there
>> > > > > is
>> > > > > almost no noticably latency.
>> > > > >
>> > > > > Max
>> > > > >
>> > > > > On Saturday, 27 March 2021 at 14:41, James Crook wrote:
>> > > > > > Hi Max.
>> > > > > >
>> > > > > > The previous update I had on this was about the long latency.
>> > > > > > Disabling realtime preview is sort of OK, but something seems
>> > > > > > wrong.
>> > > > > > A one minute latency is colossal.  That points to something
>> > > > > > underlying wrong.
>> > > > > >
>> > > > > > Also 3.0.1 has now become very very much a maintenance
>> > > > > > release
>> > > > > > for
>> > > > > > addressing the 3.0.0 unitary project issues.  Paul would love
>> > > > > > to
>> > > > > > get
>> > > > > > some structural
>> > > > > > changes in that improve independence between pieces of code,
>> > > > > > and
>> > > > > > I
>> > > > > > am
>> > > > > > saying no.
>> > > > > > We'd also like to get portaudio and FFmpeg library updates
>> > > > > > in,
>> > > > > > and
>> > > > > > I
>> > > > > > am saying no.
>> > > > > >
>> > > > > > It is pretty clear that the release after 3.0.1 is going to
>> > > > > > be
>> > > > > > quite
>> > > > > > soon, so as RM
>> > > > > > I'm sorry to have to say that your compressor will have to
>> > > > > > sit
>> > > > > > out
>> > > > > > for 3.0.1.
>> > > > > >
>> > > > > > 3.0.1 is due to actually release on 17th April, so it's a
>> > > > > > further
>> > > > > > delay of about 3
>> > > > > > weeks for you in seeing progress on your compressor getting
>> > > > > > in to
>> > > > > > Audacity.
>> > > > > >
>> > > > > > Is there a good reason for the very long latency?
>> > > > > >
>> > > > > > --James.
>> > > > > >
>> > > > > >
>> > > > > >
>> > > > > >
>> > > > > > On Sat, 27 Mar 2021 at 07:56, Max Maisel <[email protected]>
>> > > > > > wrote:
>> > > > > > > Hi all,
>> > > > > > >
>> > > > > > > I've polished my Dynamic Compressor effect and think it is
>> > > > > > > ready
>> > > > > > > now
>> > > > > > > for inclusion.
>> > > > > > >
>> > > > > > > Since my last mail (see
>> > > > > > >
>> https://sourceforge.net/p/audacity/mailman/message/37109016/
>> > > > > > >  fo
>> > > > > > > r
>> > > > > > > the
>> > > > > > > initial message), I mainly reworked the user interface
>> > > > > > > accoring
>> > > > > > > to
>> > > > > > > your
>> > > > > > > feedback and fixed several bugs.
>> > > > > > >
>> > > > > > > The effect is basically realtime capable but for now
>> > > > > > > realtime
>> > > > > > > preview
>> > > > > > > is disabled after some discussion with Steve because there
>> > > > > > > are
>> > > > > > > bad user experience due to high processing latency in the
>> > > > > > > effect
>> > > > > > > at
>> > > > > > > some settings.
>> > > > > > >
>> > > > > > > Main probleme here is, that the RealtimeEffectManager gives
>> > > > > > > the
>> > > > > > > effect
>> > > > > > > a small block, e.g. 256 samples, and expects the same
>> > > > > > > amount of
>> > > > > > > samples
>> > > > > > > in return. So if an effect like my compressor has a high
>> > > > > > > processing
>> > > > > > > latency, there can be an initial silence for over one
>> > > > > > > minute
>> > > > > > > which
>> > > > > > > the
>> > > > > > > users will think is a bug. Any changes made to the effect
>> > > > > > > settings
>> > > > > > > will
>> > > > > > > only take effect after this long time as well.
>> > > > > > >
>> > > > > > > A possible solution would be latency compensation in the
>> > > > > > > RealtimeEffectManager so that the effect can request the
>> > > > > > > required
>> > > > > > > amount of samples in advance at the beginning or when the
>> > > > > > > user
>> > > > > > > changes
>> > > > > > > settings. The silence at the beginning can then be
>> > > > > > > discarded so
>> > > > > > > that
>> > > > > > > users do not notice it. But this is out of scope of the
>> > > > > > > compressor
>> > > > > > > effect changes.
>> > > > > > >
>> > > > > > > The lastest revision including CI builds can be found in my
>> > > > > > > pull
>> > > > > > > request at https://github.com/audacity/audacity/pull/676.
>> > > > > > >
>> > > > > > > The latest documentation for the effect is can be found at
>> > > > > > > https://alphamanual.audacityteam.org/man/Dynamic_Compressor
>> > > > > > > .
>> > > > > > >
>> > > > > > > I'm looking forward to further feedback and integration.
>> > > > > > >
>> > > > > > > Max
>> > > > > > >
>> > > > > > >
>> > > > > > >
>> > > > > > >
>> > > > > > > _______________________________________________
>> > > > > > > audacity-devel mailing list
>> > > > > > > [email protected]
>> > > > > > > https://lists.sourceforge.net/lists/listinfo/audacity-devel
>> > > > > > _______________________________________________
>> > > > > > audacity-devel mailing list
>> > > > > > [email protected]
>> > > > > > https://lists.sourceforge.net/lists/listinfo/audacity-devel
>> > > > >
>> > > >
>> > > >
>> > > >
>> > > >
>> > > > _______________________________________________
>> > > > audacity-devel mailing list
>> > > > [email protected]
>> > > > https://lists.sourceforge.net/lists/listinfo/audacity-devel
>> > >
>> > >
>> > >
>> > >
>> > > _______________________________________________
>> > > audacity-devel mailing list
>> > > [email protected]
>> > > https://lists.sourceforge.net/lists/listinfo/audacity-devel
>> >
>> >
>> > _______________________________________________
>> > audacity-devel mailing list
>> > [email protected]
>> > https://lists.sourceforge.net/lists/listinfo/audacity-devel
>>
>>
>>
>>
>> _______________________________________________
>> audacity-devel mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/audacity-devel
>
> _______________________________________________
> audacity-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/audacity-devel