Re: Dynamic Compressor Effect
Peter Sampson <[email protected]> Tue, 18 May 2021 18:12:02 +0100
| Newsgroups | gmane.comp.audio.audacity.devel |
|---|---|
| Message-ID | <CAD50V8zYn+ZwA9j_GboDDzazxZ13_S5dTL0HSrxQDjhe=33wNA@mail.gmail.com> |
--===============8307923626129708007== Content-Type: multipart/alternative; boundary="000000000000a133d005c29dd0f2" --000000000000a133d005c29dd0f2 Content-Type: text/plain; charset="UTF-8" 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 ? Peter. > Which piece of code controls if an effect is enabled by default? > 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 > --000000000000a133d005c29dd0f2 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">= <div dir=3D"ltr" class=3D"gmail_attr">On Tue, May 18, 2021 at 6:08 PM Max M= aisel <<a href=3D"mailto:[email protected]">[email protected]</a>> wrot= e:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0= .8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Steve,<br> <br> it would be no problem for me if the effect will be disabled by<br> default. I agree, that this would help resolving the realtime issue in<br> a separate change.<br></blockquote><div><br></div><div>Why would we want to= hide it by having it disabled by default ?</div><div><br></div><div>Peter.= </div><div><br></div><div><br></div><blockquote class=3D"gmail_quote" style= =3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding= -left:1ex"> <br> Which piece of code controls if an effect is enabled by default?<br> In my development builds I always had to enable it manually.<br> <br> Max<br> <br> On Monday, 17 May 2021 at 16:57, Steve Fiddle wrote:<br> > Can this effect be committed, even if not enabled by default?<br> > I would love to see this working with real-time preview, but even<br> > without that it works and has many features that are not available in<= br> > the current compressor.<br> > <br> > With QA hat on, I think that the current compressor should remain as<b= r> > the default compressor until real-time preview works satisfactorily<br= > > in<br> > the new compressor. It seems unlikely that the issue with real-time<br= > > preview will ever be resolved unless the effect is at=C2=A0 least in t= he<br> > code base.<br> > <br> > Steve<br> > <br> > On Mon, 17 May 2021 at 16:43, Max Maisel <<a href=3D"mailto:mmm-1@p= osteo.net" target=3D"_blank">[email protected]</a>> wrote:<br> > > <br> > > *bump*<br> > > <br> > > > Hi all,<br> > > > <br> > > > since Audacity 3.0.2 is released now, I rebased my Compresso= r<br> > > > effect<br> > > > onto the latest master.<br> > > > <br> > > > Max<br> > > > <br> > > > On Sunday, 28 March 2021 at 13:46, Max Maisel wrote:<br> > > > > Hi James,<br> > > > > <br> > > > > it's no problem for me to wait for the 3.0.1 releas= e.<br> > > > > <br> > > > > The latency is mainly caused by various kinds of lookah= ead. One<br> > > > > lookahead is selected directly by the user, another loo= kahead<br> > > > > is<br> > > > > implicit in case of the exponential fit envelope detect= or<br> > > > > because<br> > > > > the<br> > > > > algorithm needs to process the signal backwards in the = attack<br> > > > > stage.<br> > > > > <br> > > > > Latencies in the range of minutes are extreme cases if = users<br> > > > > select<br> > > > > high lookahead times or, in case of exponential fit, hi= gh<br> > > > > attack<br> > > > > times.<br> > > > > But I don't want to limit the ranges of the lookahe= ad and<br> > > > > attack<br> > > > > time<br> > > > > sliders for offline processing just because of latency = in<br> > > > > realtime<br> > > > > mode.<br> > > > > <br> > > > > When using the analog simulation envelope detector toge= ther<br> > > > > with<br> > > > > low<br> > > > > lookahead (a few milliseconds) like a real analog compr= essor,<br> > > > > there<br> > > > > is<br> > > > > almost no noticably latency.<br> > > > > <br> > > > > Max<br> > > > > <br> > > > > On Saturday, 27 March 2021 at 14:41, James Crook wrote:= <br> > > > > > Hi Max.<br> > > > > > <br> > > > > > The previous update I had on this was about the lo= ng latency.<br> > > > > > Disabling realtime preview is sort of OK, but some= thing seems<br> > > > > > wrong.<br> > > > > > A one minute latency is colossal.=C2=A0 That point= s to something<br> > > > > > underlying wrong.<br> > > > > > <br> > > > > > Also 3.0.1 has now become very very much a mainten= ance<br> > > > > > release<br> > > > > > for<br> > > > > > addressing the 3.0.0 unitary project issues.=C2=A0= Paul would love<br> > > > > > to<br> > > > > > get<br> > > > > > some structural<br> > > > > > changes in that improve independence between piece= s of code,<br> > > > > > and<br> > > > > > I<br> > > > > > am<br> > > > > > saying no.<br> > > > > > We'd also like to get portaudio and FFmpeg lib= rary updates<br> > > > > > in,<br> > > > > > and<br> > > > > > I<br> > > > > > am saying no.<br> > > > > > <br> > > > > > It is pretty clear that the release after 3.0.1 is= going to<br> > > > > > be<br> > > > > > quite<br> > > > > > soon, so as RM<br> > > > > > I'm sorry to have to say that your compressor = will have to<br> > > > > > sit<br> > > > > > out<br> > > > > > for 3.0.1.<br> > > > > > <br> > > > > > 3.0.1 is due to actually release on 17th April, so= it's a<br> > > > > > further<br> > > > > > delay of about 3<br> > > > > > weeks for you in seeing progress on your compresso= r getting<br> > > > > > in to<br> > > > > > Audacity.<br> > > > > > <br> > > > > > Is there a good reason for the very long latency?<= br> > > > > > <br> > > > > > --James.<br> > > > > > <br> > > > > > <br> > > > > > <br> > > > > > <br> > > > > > On Sat, 27 Mar 2021 at 07:56, Max Maisel <<a hr= ef=3D"mailto:[email protected]" target=3D"_blank">[email protected]</a>><b= r> > > > > > wrote:<br> > > > > > > Hi all,<br> > > > > > > <br> > > > > > > I've polished my Dynamic Compressor effec= t and think it is<br> > > > > > > ready<br> > > > > > > now<br> > > > > > > for inclusion.<br> > > > > > > <br> > > > > > > Since my last mail (see<br> > > > > > ><br> <a href=3D"https://sourceforge.net/p/audacity/mailman/message/37109016/" re= l=3D"noreferrer" target=3D"_blank">https://sourceforge.net/p/audacity/mailm= an/message/37109016/</a><br> > > > > > >=C2=A0 fo<br> > > > > > > r<br> > > > > > > the<br> > > > > > > initial message), I mainly reworked the user = interface<br> > > > > > > accoring<br> > > > > > > to<br> > > > > > > your<br> > > > > > > feedback and fixed several bugs.<br> > > > > > > <br> > > > > > > The effect is basically realtime capable but = for now<br> > > > > > > realtime<br> > > > > > > preview<br> > > > > > > is disabled after some discussion with Steve = because there<br> > > > > > > are<br> > > > > > > bad user experience due to high processing la= tency in the<br> > > > > > > effect<br> > > > > > > at<br> > > > > > > some settings.<br> > > > > > > <br> > > > > > > Main probleme here is, that the RealtimeEffec= tManager gives<br> > > > > > > the<br> > > > > > > effect<br> > > > > > > a small block, e.g. 256 samples, and expects = the same<br> > > > > > > amount of<br> > > > > > > samples<br> > > > > > > in return. So if an effect like my compressor= has a high<br> > > > > > > processing<br> > > > > > > latency, there can be an initial silence for = over one<br> > > > > > > minute<br> > > > > > > which<br> > > > > > > the<br> > > > > > > users will think is a bug. Any changes made t= o the effect<br> > > > > > > settings<br> > > > > > > will<br> > > > > > > only take effect after this long time as well= .<br> > > > > > > <br> > > > > > > A possible solution would be latency compensa= tion in the<br> > > > > > > RealtimeEffectManager so that the effect can = request the<br> > > > > > > required<br> > > > > > > amount of samples in advance at the beginning= or when the<br> > > > > > > user<br> > > > > > > changes<br> > > > > > > settings. The silence at the beginning can th= en be<br> > > > > > > discarded so<br> > > > > > > that<br> > > > > > > users do not notice it. But this is out of sc= ope of the<br> > > > > > > compressor<br> > > > > > > effect changes.<br> > > > > > > <br> > > > > > > The lastest revision including CI builds can = be found in my<br> > > > > > > pull<br> > > > > > > request at <a href=3D"https://github.com/auda= city/audacity/pull/676" rel=3D"noreferrer" target=3D"_blank">https://github= .com/audacity/audacity/pull/676</a>.<br> > > > > > > <br> > > > > > > The latest documentation for the effect is ca= n be found at<br> > > > > > > <a href=3D"https://alphamanual.audacityteam.o= rg/man/Dynamic_Compressor" rel=3D"noreferrer" target=3D"_blank">https://alp= hamanual.audacityteam.org/man/Dynamic_Compressor</a><br> > > > > > > .<br> > > > > > > <br> > > > > > > I'm looking forward to further feedback a= nd integration.<br> > > > > > > <br> > > > > > > Max<br> > > > > > > <br> > > > > > > <br> > > > > > > <br> > > > > > > <br> > > > > > > _____________________________________________= __<br> > > > > > > audacity-devel mailing list<br> > > > > > > <a href=3D"mailto:[email protected]= forge.net" target=3D"_blank">[email protected]</a><br> > > > > > > <a href=3D"https://lists.sourceforge.net/list= s/listinfo/audacity-devel" rel=3D"noreferrer" target=3D"_blank">https://lis= ts.sourceforge.net/lists/listinfo/audacity-devel</a><br> > > > > > _______________________________________________<br= > > > > > > audacity-devel mailing list<br> > > > > > <a href=3D"mailto:[email protected]= .net" target=3D"_blank">[email protected]</a><br> > > > > > <a href=3D"https://lists.sourceforge.net/lists/lis= tinfo/audacity-devel" rel=3D"noreferrer" target=3D"_blank">https://lists.so= urceforge.net/lists/listinfo/audacity-devel</a><br> > > > > <br> > > > <br> > > > <br> > > > <br> > > > <br> > > > _______________________________________________<br> > > > audacity-devel mailing list<br> > > > <a href=3D"mailto:[email protected]" targ= et=3D"_blank">[email protected]</a><br> > > > <a href=3D"https://lists.sourceforge.net/lists/listinfo/auda= city-devel" rel=3D"noreferrer" target=3D"_blank">https://lists.sourceforge.= net/lists/listinfo/audacity-devel</a><br> > > <br> > > <br> > > <br> > > <br> > > _______________________________________________<br> > > audacity-devel mailing list<br> > > <a href=3D"mailto:[email protected]" target=3D= "_blank">[email protected]</a><br> > > <a href=3D"https://lists.sourceforge.net/lists/listinfo/audacity-= devel" rel=3D"noreferrer" target=3D"_blank">https://lists.sourceforge.net/l= ists/listinfo/audacity-devel</a><br> > <br> > <br> > _______________________________________________<br> > audacity-devel mailing list<br> > <a href=3D"mailto:[email protected]" target=3D"_bla= nk">[email protected]</a><br> > <a href=3D"https://lists.sourceforge.net/lists/listinfo/audacity-devel= " rel=3D"noreferrer" target=3D"_blank">https://lists.sourceforge.net/lists/= listinfo/audacity-devel</a><br> <br> <br> <br> <br> _______________________________________________<br> audacity-devel mailing list<br> <a href=3D"mailto:[email protected]" target=3D"_blank">a= [email protected]</a><br> <a href=3D"https://lists.sourceforge.net/lists/listinfo/audacity-devel" rel= =3D"noreferrer" target=3D"_blank">https://lists.sourceforge.net/lists/listi= nfo/audacity-devel</a><br> </blockquote></div></div> --000000000000a133d005c29dd0f2-- --===============8307923626129708007== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline --===============8307923626129708007== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ audacity-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/audacity-devel --===============8307923626129708007==--