I have changed how wave track envelope displays at high zoom

classic Classic list List threaded Threaded
13 messages Options
Reply | Threaded
Open this post in threaded view
|

I have changed how wave track envelope displays at high zoom

Paul Licameli
As of commit a4cc9a9

As I explained also in commit comments:  At high zoom that resolves individual samples, the envelope curve may pass near but not through the envelope control points.

The evaluation of the envelope really affects rendering of the sound only at exact sample times.  So in between such times, the curve will be more simply interpolated as a line (in dB view) or an exponential (in Waveform view).

So you can see more clearly, I think, how the points you drag influence the rendering.

In case you draw points so closely that three fall between two samples, then this drawing makes plain that the middle one is not influencing anything.

Are there any strong contrary opinions about this change?

PRL


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Audacity-quality mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/audacity-quality
Reply | Threaded
Open this post in threaded view
|

Re: I have changed how wave track envelope displays at high zoom

Gale
Administrator
Bearing in mind I am not an expert in Envelopes, it does seem this
gives a more realistic curve if you have multiple envelope points
between sample dots.

I don't think the change could be documented as you have written
it (i.e that only the middle envelope point between sample points
has no effect) because the rules for which envelope points have
no effect seem more complex.

If I have three envelope points between samples and the first and
last envelope points are functional, then adding a fourth envelope
point between the erstwhile first envelope point and the preceding
sample point makes the middle two points (including the erstwhile
first envelope point) non-functional.  If I have six envelope points
between sample points, only the first and the last (as currently
viewed) are functional. Does that sound correct?

Is there any difference between a) dragging a "functional envelope
point" that is between samples and b) dragging a new point created
by clicking above or below the sample point preceding the "functional
envelope point"?  I don't discern the difference.

If we want non-functional envelope points which don't do anything
except let themselves be dragged off vertically, should they "look"
different to standard envelope points e.g. red colour? And should
they change back to white if removing another envelope point
then re-enables them?


Gale


On 26 May 2017 at 20:01, Paul Licameli <[hidden email]> wrote:

> As of commit a4cc9a9
>
> As I explained also in commit comments:  At high zoom that resolves
> individual samples, the envelope curve may pass near but not through the
> envelope control points.
>
> The evaluation of the envelope really affects rendering of the sound only at
> exact sample times.  So in between such times, the curve will be more simply
> interpolated as a line (in dB view) or an exponential (in Waveform view).
>
> So you can see more clearly, I think, how the points you drag influence the
> rendering.
>
> In case you draw points so closely that three fall between two samples, then
> this drawing makes plain that the middle one is not influencing anything.
>
> Are there any strong contrary opinions about this change?
>
> PRL
>
>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> Audacity-quality mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/audacity-quality
>

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Audacity-quality mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/audacity-quality
Reply | Threaded
Open this post in threaded view
|

Re: I have changed how wave track envelope displays at high zoom

Paul Licameli


On Fri, May 26, 2017 at 8:14 PM, Gale Andrews <[hidden email]> wrote:
Bearing in mind I am not an expert in Envelopes, it does seem this
gives a more realistic curve if you have multiple envelope points
between sample dots. 

I don't think the change could be documented as you have written
it (i.e that only the middle envelope point between sample points
has no effect) because the rules for which envelope points have
no effect seem more complex.

If I have three envelope points between samples and the first and
last envelope points are functional, then adding a fourth envelope
point between the erstwhile first envelope point and the preceding
sample point makes the middle two points (including the erstwhile
first envelope point) non-functional.  If I have six envelope points
between sample points, only the first and the last (as currently
viewed) are functional. Does that sound correct?

Only the first and last control points between samples should have influence.
 

Is there any difference between a) dragging a "functional envelope
point" that is between samples and b) dragging a new point created
by clicking above or below the sample point preceding the "functional
envelope point"?  I don't discern the difference.

If I understand this correctly, then in (a) there is one control point between sample points, and moving it influences the samples before and after.  In (b) there is a new control point either between the same two samples or left of the left sample (you probably don't place it precisely at the sample), and the difference is that moving this new point influences the sample left of the old control point, but not that to the right.
 

If we want non-functional envelope points which don't do anything
except let themselves be dragged off vertically, should they "look"
different to standard envelope points e.g. red colour? And should
they change back to white if removing another envelope point
then re-enables them?

I do not want to invest effort in that.

Maybe I should not have mentioned the case of more that two control points between samples!  It is a corner case that I think is unlikely to be important to anybody.

However the case of two control points between samples is important.  That is because two control points with exactly the same time coordinate can create a discontinuity in the envelope, and we do need to support discontinuities in a better way to fix http://bugzilla.audacityteam.org/show_bug.cgi?id=835 .  (This bug is not fully addressed yet.)

There were some very old comments by James in Envelope::Paste explaining why two envelope points should never be given the exact same time coordinate by Paste.  But I deleted those comments at commit 537ccfb, because I make other changes in how the envelope is evaluated that meet the objections there.

Besides which, it was already possible to make points at the exact same t anyway by other means -- by dragging them in the editor.

So, in short, it's the case of discontinuities that really needs attention.

Finally, even when you don't have multiple control points between samples, it is still the case that at high levels of zoom, the envelope is now drawn so that it does not always pass through the control points, as previously it did.  And I really wanted to know if anybody objects strongly to that change of appearance.

PRL
 


Gale


On 26 May 2017 at 20:01, Paul Licameli <[hidden email]> wrote:
> As of commit a4cc9a9
>
> As I explained also in commit comments:  At high zoom that resolves
> individual samples, the envelope curve may pass near but not through the
> envelope control points.
>
> The evaluation of the envelope really affects rendering of the sound only at
> exact sample times.  So in between such times, the curve will be more simply
> interpolated as a line (in dB view) or an exponential (in Waveform view).
>
> So you can see more clearly, I think, how the points you drag influence the
> rendering.
>
> In case you draw points so closely that three fall between two samples, then
> this drawing makes plain that the middle one is not influencing anything.
>
> Are there any strong contrary opinions about this change?
>
> PRL
>
>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> Audacity-quality mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/audacity-quality
>

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Audacity-quality mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/audacity-quality


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Audacity-quality mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/audacity-quality
Reply | Threaded
Open this post in threaded view
|

Re: I have changed how wave track envelope displays at high zoom

Stevethefiddle
I'm not sure that this change is right. It can look very odd when the
control points become detached from the blue line (sorry, can't show
screenshots at the moment as HEAD does not currently launch on my
machine). Also, it is unclear what the blue line now represents.
Previously I had assumed that the blue line represented the zero dB
line that was being mapped to a new level, but now I don't understand
what it represents.

Steve

On 27 May 2017 at 07:17, Paul Licameli <[hidden email]> wrote:

>
>
> On Fri, May 26, 2017 at 8:14 PM, Gale Andrews <[hidden email]> wrote:
>>
>> Bearing in mind I am not an expert in Envelopes, it does seem this
>> gives a more realistic curve if you have multiple envelope points
>> between sample dots.
>>
>>
>> I don't think the change could be documented as you have written
>> it (i.e that only the middle envelope point between sample points
>> has no effect) because the rules for which envelope points have
>> no effect seem more complex.
>>
>> If I have three envelope points between samples and the first and
>> last envelope points are functional, then adding a fourth envelope
>> point between the erstwhile first envelope point and the preceding
>> sample point makes the middle two points (including the erstwhile
>> first envelope point) non-functional.  If I have six envelope points
>> between sample points, only the first and the last (as currently
>> viewed) are functional. Does that sound correct?
>
>
> Only the first and last control points between samples should have
> influence.
>
>>
>>
>> Is there any difference between a) dragging a "functional envelope
>> point" that is between samples and b) dragging a new point created
>> by clicking above or below the sample point preceding the "functional
>> envelope point"?  I don't discern the difference.
>
>
> If I understand this correctly, then in (a) there is one control point
> between sample points, and moving it influences the samples before and
> after.  In (b) there is a new control point either between the same two
> samples or left of the left sample (you probably don't place it precisely at
> the sample), and the difference is that moving this new point influences the
> sample left of the old control point, but not that to the right.
>
>>
>>
>> If we want non-functional envelope points which don't do anything
>> except let themselves be dragged off vertically, should they "look"
>> different to standard envelope points e.g. red colour? And should
>> they change back to white if removing another envelope point
>> then re-enables them?
>
>
> I do not want to invest effort in that.
>
> Maybe I should not have mentioned the case of more that two control points
> between samples!  It is a corner case that I think is unlikely to be
> important to anybody.
>
> However the case of two control points between samples is important.  That
> is because two control points with exactly the same time coordinate can
> create a discontinuity in the envelope, and we do need to support
> discontinuities in a better way to fix
> http://bugzilla.audacityteam.org/show_bug.cgi?id=835 .  (This bug is not
> fully addressed yet.)
>
> There were some very old comments by James in Envelope::Paste explaining why
> two envelope points should never be given the exact same time coordinate by
> Paste.  But I deleted those comments at commit 537ccfb, because I make other
> changes in how the envelope is evaluated that meet the objections there.
>
> Besides which, it was already possible to make points at the exact same t
> anyway by other means -- by dragging them in the editor.
>
> So, in short, it's the case of discontinuities that really needs attention.
>
> Finally, even when you don't have multiple control points between samples,
> it is still the case that at high levels of zoom, the envelope is now drawn
> so that it does not always pass through the control points, as previously it
> did.  And I really wanted to know if anybody objects strongly to that change
> of appearance.
>
> PRL
>
>>
>>
>>
>> Gale
>>
>>
>> On 26 May 2017 at 20:01, Paul Licameli <[hidden email]> wrote:
>> > As of commit a4cc9a9
>> >
>> > As I explained also in commit comments:  At high zoom that resolves
>> > individual samples, the envelope curve may pass near but not through the
>> > envelope control points.
>> >
>> > The evaluation of the envelope really affects rendering of the sound
>> > only at
>> > exact sample times.  So in between such times, the curve will be more
>> > simply
>> > interpolated as a line (in dB view) or an exponential (in Waveform
>> > view).
>> >
>> > So you can see more clearly, I think, how the points you drag influence
>> > the
>> > rendering.
>> >
>> > In case you draw points so closely that three fall between two samples,
>> > then
>> > this drawing makes plain that the middle one is not influencing
>> > anything.
>> >
>> > Are there any strong contrary opinions about this change?
>> >
>> > PRL
>> >
>> >
>> >
>> > ------------------------------------------------------------------------------
>> > Check out the vibrant tech community on one of the world's most
>> > engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>> > _______________________________________________
>> > Audacity-quality mailing list
>> > [hidden email]
>> > https://lists.sourceforge.net/lists/listinfo/audacity-quality
>> >
>>
>>
>> ------------------------------------------------------------------------------
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>> _______________________________________________
>> Audacity-quality mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/audacity-quality
>
>
>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> Audacity-quality mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/audacity-quality
>

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Audacity-quality mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/audacity-quality
Reply | Threaded
Open this post in threaded view
|

Re: I have changed how wave track envelope displays at high zoom

Gale
Administrator
I didn't drag far enough on the blue envelope line in 2.2.0-alpha to
see the displacement between control points and blue line.

There is also a possible surprise in the curve shape if you open an
older project in 2.2.0-alpha.  Attached is an example: (to left) saved
as a project in 2.1.3 (I was zoomed in a long way but not deliberately
trying to place multiple control points between samples), and (to right)
reopened "as is" in 2.2.0-alpha.

Which blue curve is the best representation?


Gale


On 30 May 2017 at 01:32, Steve the Fiddle <[hidden email]> wrote:

> I'm not sure that this change is right. It can look very odd when the
> control points become detached from the blue line (sorry, can't show
> screenshots at the moment as HEAD does not currently launch on my
> machine). Also, it is unclear what the blue line now represents.
> Previously I had assumed that the blue line represented the zero dB
> line that was being mapped to a new level, but now I don't understand
> what it represents.
>
> Steve
>
> On 27 May 2017 at 07:17, Paul Licameli <[hidden email]> wrote:
>>
>>
>> On Fri, May 26, 2017 at 8:14 PM, Gale Andrews <[hidden email]> wrote:
>>>
>>> Bearing in mind I am not an expert in Envelopes, it does seem this
>>> gives a more realistic curve if you have multiple envelope points
>>> between sample dots.
>>>
>>>
>>> I don't think the change could be documented as you have written
>>> it (i.e that only the middle envelope point between sample points
>>> has no effect) because the rules for which envelope points have
>>> no effect seem more complex.
>>>
>>> If I have three envelope points between samples and the first and
>>> last envelope points are functional, then adding a fourth envelope
>>> point between the erstwhile first envelope point and the preceding
>>> sample point makes the middle two points (including the erstwhile
>>> first envelope point) non-functional.  If I have six envelope points
>>> between sample points, only the first and the last (as currently
>>> viewed) are functional. Does that sound correct?
>>
>>
>> Only the first and last control points between samples should have
>> influence.
>>
>>>
>>>
>>> Is there any difference between a) dragging a "functional envelope
>>> point" that is between samples and b) dragging a new point created
>>> by clicking above or below the sample point preceding the "functional
>>> envelope point"?  I don't discern the difference.
>>
>>
>> If I understand this correctly, then in (a) there is one control point
>> between sample points, and moving it influences the samples before and
>> after.  In (b) there is a new control point either between the same two
>> samples or left of the left sample (you probably don't place it precisely at
>> the sample), and the difference is that moving this new point influences the
>> sample left of the old control point, but not that to the right.
>>
>>>
>>>
>>> If we want non-functional envelope points which don't do anything
>>> except let themselves be dragged off vertically, should they "look"
>>> different to standard envelope points e.g. red colour? And should
>>> they change back to white if removing another envelope point
>>> then re-enables them?
>>
>>
>> I do not want to invest effort in that.
>>
>> Maybe I should not have mentioned the case of more that two control points
>> between samples!  It is a corner case that I think is unlikely to be
>> important to anybody.
>>
>> However the case of two control points between samples is important.  That
>> is because two control points with exactly the same time coordinate can
>> create a discontinuity in the envelope, and we do need to support
>> discontinuities in a better way to fix
>> http://bugzilla.audacityteam.org/show_bug.cgi?id=835 .  (This bug is not
>> fully addressed yet.)
>>
>> There were some very old comments by James in Envelope::Paste explaining why
>> two envelope points should never be given the exact same time coordinate by
>> Paste.  But I deleted those comments at commit 537ccfb, because I make other
>> changes in how the envelope is evaluated that meet the objections there.
>>
>> Besides which, it was already possible to make points at the exact same t
>> anyway by other means -- by dragging them in the editor.
>>
>> So, in short, it's the case of discontinuities that really needs attention.
>>
>> Finally, even when you don't have multiple control points between samples,
>> it is still the case that at high levels of zoom, the envelope is now drawn
>> so that it does not always pass through the control points, as previously it
>> did.  And I really wanted to know if anybody objects strongly to that change
>> of appearance.
>>
>> PRL
>>
>>>
>>>
>>>
>>> Gale
>>>
>>>
>>> On 26 May 2017 at 20:01, Paul Licameli <[hidden email]> wrote:
>>> > As of commit a4cc9a9
>>> >
>>> > As I explained also in commit comments:  At high zoom that resolves
>>> > individual samples, the envelope curve may pass near but not through the
>>> > envelope control points.
>>> >
>>> > The evaluation of the envelope really affects rendering of the sound
>>> > only at
>>> > exact sample times.  So in between such times, the curve will be more
>>> > simply
>>> > interpolated as a line (in dB view) or an exponential (in Waveform
>>> > view).
>>> >
>>> > So you can see more clearly, I think, how the points you drag influence
>>> > the
>>> > rendering.
>>> >
>>> > In case you draw points so closely that three fall between two samples,
>>> > then
>>> > this drawing makes plain that the middle one is not influencing
>>> > anything.
>>> >
>>> > Are there any strong contrary opinions about this change?
>>> >
>>> > PRL
>>

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Audacity-quality mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/audacity-quality

envelope_and_points.png (70K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: I have changed how wave track envelope displays at high zoom

Stevethefiddle
Hopefully it will be possible in the future to copy and paste
envelopes. Regardless of whether we can or not, this idea demonstrates
that the envelope is a different thing to the audio. If we copy and
paste an envelope from one audio track to another, we should get the
same shape envelope, not one that is determined by the track sample
rate.

I'll send some screenshots to illustrate when Audacity runs again.

Steve

On 30 May 2017 at 04:07, Gale Andrews <[hidden email]> wrote:

> I didn't drag far enough on the blue envelope line in 2.2.0-alpha to
> see the displacement between control points and blue line.
>
> There is also a possible surprise in the curve shape if you open an
> older project in 2.2.0-alpha.  Attached is an example: (to left) saved
> as a project in 2.1.3 (I was zoomed in a long way but not deliberately
> trying to place multiple control points between samples), and (to right)
> reopened "as is" in 2.2.0-alpha.
>
> Which blue curve is the best representation?
>
>
> Gale
>
>
> On 30 May 2017 at 01:32, Steve the Fiddle <[hidden email]> wrote:
>> I'm not sure that this change is right. It can look very odd when the
>> control points become detached from the blue line (sorry, can't show
>> screenshots at the moment as HEAD does not currently launch on my
>> machine). Also, it is unclear what the blue line now represents.
>> Previously I had assumed that the blue line represented the zero dB
>> line that was being mapped to a new level, but now I don't understand
>> what it represents.
>>
>> Steve
>>
>> On 27 May 2017 at 07:17, Paul Licameli <[hidden email]> wrote:
>>>
>>>
>>> On Fri, May 26, 2017 at 8:14 PM, Gale Andrews <[hidden email]> wrote:
>>>>
>>>> Bearing in mind I am not an expert in Envelopes, it does seem this
>>>> gives a more realistic curve if you have multiple envelope points
>>>> between sample dots.
>>>>
>>>>
>>>> I don't think the change could be documented as you have written
>>>> it (i.e that only the middle envelope point between sample points
>>>> has no effect) because the rules for which envelope points have
>>>> no effect seem more complex.
>>>>
>>>> If I have three envelope points between samples and the first and
>>>> last envelope points are functional, then adding a fourth envelope
>>>> point between the erstwhile first envelope point and the preceding
>>>> sample point makes the middle two points (including the erstwhile
>>>> first envelope point) non-functional.  If I have six envelope points
>>>> between sample points, only the first and the last (as currently
>>>> viewed) are functional. Does that sound correct?
>>>
>>>
>>> Only the first and last control points between samples should have
>>> influence.
>>>
>>>>
>>>>
>>>> Is there any difference between a) dragging a "functional envelope
>>>> point" that is between samples and b) dragging a new point created
>>>> by clicking above or below the sample point preceding the "functional
>>>> envelope point"?  I don't discern the difference.
>>>
>>>
>>> If I understand this correctly, then in (a) there is one control point
>>> between sample points, and moving it influences the samples before and
>>> after.  In (b) there is a new control point either between the same two
>>> samples or left of the left sample (you probably don't place it precisely at
>>> the sample), and the difference is that moving this new point influences the
>>> sample left of the old control point, but not that to the right.
>>>
>>>>
>>>>
>>>> If we want non-functional envelope points which don't do anything
>>>> except let themselves be dragged off vertically, should they "look"
>>>> different to standard envelope points e.g. red colour? And should
>>>> they change back to white if removing another envelope point
>>>> then re-enables them?
>>>
>>>
>>> I do not want to invest effort in that.
>>>
>>> Maybe I should not have mentioned the case of more that two control points
>>> between samples!  It is a corner case that I think is unlikely to be
>>> important to anybody.
>>>
>>> However the case of two control points between samples is important.  That
>>> is because two control points with exactly the same time coordinate can
>>> create a discontinuity in the envelope, and we do need to support
>>> discontinuities in a better way to fix
>>> http://bugzilla.audacityteam.org/show_bug.cgi?id=835 .  (This bug is not
>>> fully addressed yet.)
>>>
>>> There were some very old comments by James in Envelope::Paste explaining why
>>> two envelope points should never be given the exact same time coordinate by
>>> Paste.  But I deleted those comments at commit 537ccfb, because I make other
>>> changes in how the envelope is evaluated that meet the objections there.
>>>
>>> Besides which, it was already possible to make points at the exact same t
>>> anyway by other means -- by dragging them in the editor.
>>>
>>> So, in short, it's the case of discontinuities that really needs attention.
>>>
>>> Finally, even when you don't have multiple control points between samples,
>>> it is still the case that at high levels of zoom, the envelope is now drawn
>>> so that it does not always pass through the control points, as previously it
>>> did.  And I really wanted to know if anybody objects strongly to that change
>>> of appearance.
>>>
>>> PRL
>>>
>>>>
>>>>
>>>>
>>>> Gale
>>>>
>>>>
>>>> On 26 May 2017 at 20:01, Paul Licameli <[hidden email]> wrote:
>>>> > As of commit a4cc9a9
>>>> >
>>>> > As I explained also in commit comments:  At high zoom that resolves
>>>> > individual samples, the envelope curve may pass near but not through the
>>>> > envelope control points.
>>>> >
>>>> > The evaluation of the envelope really affects rendering of the sound
>>>> > only at
>>>> > exact sample times.  So in between such times, the curve will be more
>>>> > simply
>>>> > interpolated as a line (in dB view) or an exponential (in Waveform
>>>> > view).
>>>> >
>>>> > So you can see more clearly, I think, how the points you drag influence
>>>> > the
>>>> > rendering.
>>>> >
>>>> > In case you draw points so closely that three fall between two samples,
>>>> > then
>>>> > this drawing makes plain that the middle one is not influencing
>>>> > anything.
>>>> >
>>>> > Are there any strong contrary opinions about this change?
>>>> >
>>>> > PRL
>>>
>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> Audacity-quality mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/audacity-quality
>

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Audacity-quality mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/audacity-quality
Reply | Threaded
Open this post in threaded view
|

Re: I have changed how wave track envelope displays at high zoom

Stevethefiddle
Screenshot showing "detached" control point.
I don't think it is at all clear what is happening here.

Steve

On 30 May 2017 at 10:30, Steve the Fiddle <[hidden email]> wrote:

> Hopefully it will be possible in the future to copy and paste
> envelopes. Regardless of whether we can or not, this idea demonstrates
> that the envelope is a different thing to the audio. If we copy and
> paste an envelope from one audio track to another, we should get the
> same shape envelope, not one that is determined by the track sample
> rate.
>
> I'll send some screenshots to illustrate when Audacity runs again.
>
> Steve
>
> On 30 May 2017 at 04:07, Gale Andrews <[hidden email]> wrote:
>> I didn't drag far enough on the blue envelope line in 2.2.0-alpha to
>> see the displacement between control points and blue line.
>>
>> There is also a possible surprise in the curve shape if you open an
>> older project in 2.2.0-alpha.  Attached is an example: (to left) saved
>> as a project in 2.1.3 (I was zoomed in a long way but not deliberately
>> trying to place multiple control points between samples), and (to right)
>> reopened "as is" in 2.2.0-alpha.
>>
>> Which blue curve is the best representation?
>>
>>
>> Gale
>>
>>
>> On 30 May 2017 at 01:32, Steve the Fiddle <[hidden email]> wrote:
>>> I'm not sure that this change is right. It can look very odd when the
>>> control points become detached from the blue line (sorry, can't show
>>> screenshots at the moment as HEAD does not currently launch on my
>>> machine). Also, it is unclear what the blue line now represents.
>>> Previously I had assumed that the blue line represented the zero dB
>>> line that was being mapped to a new level, but now I don't understand
>>> what it represents.
>>>
>>> Steve
>>>
>>> On 27 May 2017 at 07:17, Paul Licameli <[hidden email]> wrote:
>>>>
>>>>
>>>> On Fri, May 26, 2017 at 8:14 PM, Gale Andrews <[hidden email]> wrote:
>>>>>
>>>>> Bearing in mind I am not an expert in Envelopes, it does seem this
>>>>> gives a more realistic curve if you have multiple envelope points
>>>>> between sample dots.
>>>>>
>>>>>
>>>>> I don't think the change could be documented as you have written
>>>>> it (i.e that only the middle envelope point between sample points
>>>>> has no effect) because the rules for which envelope points have
>>>>> no effect seem more complex.
>>>>>
>>>>> If I have three envelope points between samples and the first and
>>>>> last envelope points are functional, then adding a fourth envelope
>>>>> point between the erstwhile first envelope point and the preceding
>>>>> sample point makes the middle two points (including the erstwhile
>>>>> first envelope point) non-functional.  If I have six envelope points
>>>>> between sample points, only the first and the last (as currently
>>>>> viewed) are functional. Does that sound correct?
>>>>
>>>>
>>>> Only the first and last control points between samples should have
>>>> influence.
>>>>
>>>>>
>>>>>
>>>>> Is there any difference between a) dragging a "functional envelope
>>>>> point" that is between samples and b) dragging a new point created
>>>>> by clicking above or below the sample point preceding the "functional
>>>>> envelope point"?  I don't discern the difference.
>>>>
>>>>
>>>> If I understand this correctly, then in (a) there is one control point
>>>> between sample points, and moving it influences the samples before and
>>>> after.  In (b) there is a new control point either between the same two
>>>> samples or left of the left sample (you probably don't place it precisely at
>>>> the sample), and the difference is that moving this new point influences the
>>>> sample left of the old control point, but not that to the right.
>>>>
>>>>>
>>>>>
>>>>> If we want non-functional envelope points which don't do anything
>>>>> except let themselves be dragged off vertically, should they "look"
>>>>> different to standard envelope points e.g. red colour? And should
>>>>> they change back to white if removing another envelope point
>>>>> then re-enables them?
>>>>
>>>>
>>>> I do not want to invest effort in that.
>>>>
>>>> Maybe I should not have mentioned the case of more that two control points
>>>> between samples!  It is a corner case that I think is unlikely to be
>>>> important to anybody.
>>>>
>>>> However the case of two control points between samples is important.  That
>>>> is because two control points with exactly the same time coordinate can
>>>> create a discontinuity in the envelope, and we do need to support
>>>> discontinuities in a better way to fix
>>>> http://bugzilla.audacityteam.org/show_bug.cgi?id=835 .  (This bug is not
>>>> fully addressed yet.)
>>>>
>>>> There were some very old comments by James in Envelope::Paste explaining why
>>>> two envelope points should never be given the exact same time coordinate by
>>>> Paste.  But I deleted those comments at commit 537ccfb, because I make other
>>>> changes in how the envelope is evaluated that meet the objections there.
>>>>
>>>> Besides which, it was already possible to make points at the exact same t
>>>> anyway by other means -- by dragging them in the editor.
>>>>
>>>> So, in short, it's the case of discontinuities that really needs attention.
>>>>
>>>> Finally, even when you don't have multiple control points between samples,
>>>> it is still the case that at high levels of zoom, the envelope is now drawn
>>>> so that it does not always pass through the control points, as previously it
>>>> did.  And I really wanted to know if anybody objects strongly to that change
>>>> of appearance.
>>>>
>>>> PRL
>>>>
>>>>>
>>>>>
>>>>>
>>>>> Gale
>>>>>
>>>>>
>>>>> On 26 May 2017 at 20:01, Paul Licameli <[hidden email]> wrote:
>>>>> > As of commit a4cc9a9
>>>>> >
>>>>> > As I explained also in commit comments:  At high zoom that resolves
>>>>> > individual samples, the envelope curve may pass near but not through the
>>>>> > envelope control points.
>>>>> >
>>>>> > The evaluation of the envelope really affects rendering of the sound
>>>>> > only at
>>>>> > exact sample times.  So in between such times, the curve will be more
>>>>> > simply
>>>>> > interpolated as a line (in dB view) or an exponential (in Waveform
>>>>> > view).
>>>>> >
>>>>> > So you can see more clearly, I think, how the points you drag influence
>>>>> > the
>>>>> > rendering.
>>>>> >
>>>>> > In case you draw points so closely that three fall between two samples,
>>>>> > then
>>>>> > this drawing makes plain that the middle one is not influencing
>>>>> > anything.
>>>>> >
>>>>> > Are there any strong contrary opinions about this change?
>>>>> >
>>>>> > PRL
>>>>
>>
>> ------------------------------------------------------------------------------
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>> _______________________________________________
>> Audacity-quality mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/audacity-quality
>>

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Audacity-quality mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/audacity-quality

control-points.png (32K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: I have changed how wave track envelope displays at high zoom

Stevethefiddle
Screenshot from Audacity 2.1.3
I think it is much more obvious what is happening here.

Steve

On 30 May 2017 at 13:23, Steve the Fiddle <[hidden email]> wrote:

> Screenshot showing "detached" control point.
> I don't think it is at all clear what is happening here.
>
> Steve
>
> On 30 May 2017 at 10:30, Steve the Fiddle <[hidden email]> wrote:
>> Hopefully it will be possible in the future to copy and paste
>> envelopes. Regardless of whether we can or not, this idea demonstrates
>> that the envelope is a different thing to the audio. If we copy and
>> paste an envelope from one audio track to another, we should get the
>> same shape envelope, not one that is determined by the track sample
>> rate.
>>
>> I'll send some screenshots to illustrate when Audacity runs again.
>>
>> Steve
>>
>> On 30 May 2017 at 04:07, Gale Andrews <[hidden email]> wrote:
>>> I didn't drag far enough on the blue envelope line in 2.2.0-alpha to
>>> see the displacement between control points and blue line.
>>>
>>> There is also a possible surprise in the curve shape if you open an
>>> older project in 2.2.0-alpha.  Attached is an example: (to left) saved
>>> as a project in 2.1.3 (I was zoomed in a long way but not deliberately
>>> trying to place multiple control points between samples), and (to right)
>>> reopened "as is" in 2.2.0-alpha.
>>>
>>> Which blue curve is the best representation?
>>>
>>>
>>> Gale
>>>
>>>
>>> On 30 May 2017 at 01:32, Steve the Fiddle <[hidden email]> wrote:
>>>> I'm not sure that this change is right. It can look very odd when the
>>>> control points become detached from the blue line (sorry, can't show
>>>> screenshots at the moment as HEAD does not currently launch on my
>>>> machine). Also, it is unclear what the blue line now represents.
>>>> Previously I had assumed that the blue line represented the zero dB
>>>> line that was being mapped to a new level, but now I don't understand
>>>> what it represents.
>>>>
>>>> Steve
>>>>
>>>> On 27 May 2017 at 07:17, Paul Licameli <[hidden email]> wrote:
>>>>>
>>>>>
>>>>> On Fri, May 26, 2017 at 8:14 PM, Gale Andrews <[hidden email]> wrote:
>>>>>>
>>>>>> Bearing in mind I am not an expert in Envelopes, it does seem this
>>>>>> gives a more realistic curve if you have multiple envelope points
>>>>>> between sample dots.
>>>>>>
>>>>>>
>>>>>> I don't think the change could be documented as you have written
>>>>>> it (i.e that only the middle envelope point between sample points
>>>>>> has no effect) because the rules for which envelope points have
>>>>>> no effect seem more complex.
>>>>>>
>>>>>> If I have three envelope points between samples and the first and
>>>>>> last envelope points are functional, then adding a fourth envelope
>>>>>> point between the erstwhile first envelope point and the preceding
>>>>>> sample point makes the middle two points (including the erstwhile
>>>>>> first envelope point) non-functional.  If I have six envelope points
>>>>>> between sample points, only the first and the last (as currently
>>>>>> viewed) are functional. Does that sound correct?
>>>>>
>>>>>
>>>>> Only the first and last control points between samples should have
>>>>> influence.
>>>>>
>>>>>>
>>>>>>
>>>>>> Is there any difference between a) dragging a "functional envelope
>>>>>> point" that is between samples and b) dragging a new point created
>>>>>> by clicking above or below the sample point preceding the "functional
>>>>>> envelope point"?  I don't discern the difference.
>>>>>
>>>>>
>>>>> If I understand this correctly, then in (a) there is one control point
>>>>> between sample points, and moving it influences the samples before and
>>>>> after.  In (b) there is a new control point either between the same two
>>>>> samples or left of the left sample (you probably don't place it precisely at
>>>>> the sample), and the difference is that moving this new point influences the
>>>>> sample left of the old control point, but not that to the right.
>>>>>
>>>>>>
>>>>>>
>>>>>> If we want non-functional envelope points which don't do anything
>>>>>> except let themselves be dragged off vertically, should they "look"
>>>>>> different to standard envelope points e.g. red colour? And should
>>>>>> they change back to white if removing another envelope point
>>>>>> then re-enables them?
>>>>>
>>>>>
>>>>> I do not want to invest effort in that.
>>>>>
>>>>> Maybe I should not have mentioned the case of more that two control points
>>>>> between samples!  It is a corner case that I think is unlikely to be
>>>>> important to anybody.
>>>>>
>>>>> However the case of two control points between samples is important.  That
>>>>> is because two control points with exactly the same time coordinate can
>>>>> create a discontinuity in the envelope, and we do need to support
>>>>> discontinuities in a better way to fix
>>>>> http://bugzilla.audacityteam.org/show_bug.cgi?id=835 .  (This bug is not
>>>>> fully addressed yet.)
>>>>>
>>>>> There were some very old comments by James in Envelope::Paste explaining why
>>>>> two envelope points should never be given the exact same time coordinate by
>>>>> Paste.  But I deleted those comments at commit 537ccfb, because I make other
>>>>> changes in how the envelope is evaluated that meet the objections there.
>>>>>
>>>>> Besides which, it was already possible to make points at the exact same t
>>>>> anyway by other means -- by dragging them in the editor.
>>>>>
>>>>> So, in short, it's the case of discontinuities that really needs attention.
>>>>>
>>>>> Finally, even when you don't have multiple control points between samples,
>>>>> it is still the case that at high levels of zoom, the envelope is now drawn
>>>>> so that it does not always pass through the control points, as previously it
>>>>> did.  And I really wanted to know if anybody objects strongly to that change
>>>>> of appearance.
>>>>>
>>>>> PRL
>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> Gale
>>>>>>
>>>>>>
>>>>>> On 26 May 2017 at 20:01, Paul Licameli <[hidden email]> wrote:
>>>>>> > As of commit a4cc9a9
>>>>>> >
>>>>>> > As I explained also in commit comments:  At high zoom that resolves
>>>>>> > individual samples, the envelope curve may pass near but not through the
>>>>>> > envelope control points.
>>>>>> >
>>>>>> > The evaluation of the envelope really affects rendering of the sound
>>>>>> > only at
>>>>>> > exact sample times.  So in between such times, the curve will be more
>>>>>> > simply
>>>>>> > interpolated as a line (in dB view) or an exponential (in Waveform
>>>>>> > view).
>>>>>> >
>>>>>> > So you can see more clearly, I think, how the points you drag influence
>>>>>> > the
>>>>>> > rendering.
>>>>>> >
>>>>>> > In case you draw points so closely that three fall between two samples,
>>>>>> > then
>>>>>> > this drawing makes plain that the middle one is not influencing
>>>>>> > anything.
>>>>>> >
>>>>>> > Are there any strong contrary opinions about this change?
>>>>>> >
>>>>>> > PRL
>>>>>
>>>
>>> ------------------------------------------------------------------------------
>>> Check out the vibrant tech community on one of the world's most
>>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>>> _______________________________________________
>>> Audacity-quality mailing list
>>> [hidden email]
>>> https://lists.sourceforge.net/lists/listinfo/audacity-quality
>>>

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Audacity-quality mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/audacity-quality

firsttrack003.png (27K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: I have changed how wave track envelope displays at high zoom

Paul Licameli


On Tue, May 30, 2017 at 8:25 AM, Steve the Fiddle <[hidden email]> wrote:
Screenshot from Audacity 2.1.3
I think it is much more obvious what is happening here.

But is it?

What really happens?

Certain of the control points have no effect on the rendered sound.

The control points define a certain function of a continuous time variable, which 2.1.3 displays, but what really matters is only how that function affects the samples at discrete times.

This said, I do not feel strongly about this display change and I can easily revert it.  I have decided that after all it has the undesirable effect of not making it obvious where the cursor will change for purpose of envelope editing.

What is really more important in my recent work is the more careful treatment of envelopes with discontinuities -- pairs of points at exactly the same time coordinate.

PRL

 

Steve

On 30 May 2017 at 13:23, Steve the Fiddle <[hidden email]> wrote:
> Screenshot showing "detached" control point.
> I don't think it is at all clear what is happening here.
>
> Steve
>
> On 30 May 2017 at 10:30, Steve the Fiddle <[hidden email]> wrote:
>> Hopefully it will be possible in the future to copy and paste
>> envelopes. Regardless of whether we can or not, this idea demonstrates
>> that the envelope is a different thing to the audio. If we copy and
>> paste an envelope from one audio track to another, we should get the
>> same shape envelope, not one that is determined by the track sample
>> rate.
>>
>> I'll send some screenshots to illustrate when Audacity runs again.
>>
>> Steve
>>
>> On 30 May 2017 at 04:07, Gale Andrews <[hidden email]> wrote:
>>> I didn't drag far enough on the blue envelope line in 2.2.0-alpha to
>>> see the displacement between control points and blue line.
>>>
>>> There is also a possible surprise in the curve shape if you open an
>>> older project in 2.2.0-alpha.  Attached is an example: (to left) saved
>>> as a project in 2.1.3 (I was zoomed in a long way but not deliberately
>>> trying to place multiple control points between samples), and (to right)
>>> reopened "as is" in 2.2.0-alpha.
>>>
>>> Which blue curve is the best representation?
>>>
>>>
>>> Gale
>>>
>>>
>>> On 30 May 2017 at 01:32, Steve the Fiddle <[hidden email]> wrote:
>>>> I'm not sure that this change is right. It can look very odd when the
>>>> control points become detached from the blue line (sorry, can't show
>>>> screenshots at the moment as HEAD does not currently launch on my
>>>> machine). Also, it is unclear what the blue line now represents.
>>>> Previously I had assumed that the blue line represented the zero dB
>>>> line that was being mapped to a new level, but now I don't understand
>>>> what it represents.
>>>>
>>>> Steve
>>>>
>>>> On 27 May 2017 at 07:17, Paul Licameli <[hidden email]> wrote:
>>>>>
>>>>>
>>>>> On Fri, May 26, 2017 at 8:14 PM, Gale Andrews <[hidden email]> wrote:
>>>>>>
>>>>>> Bearing in mind I am not an expert in Envelopes, it does seem this
>>>>>> gives a more realistic curve if you have multiple envelope points
>>>>>> between sample dots.
>>>>>>
>>>>>>
>>>>>> I don't think the change could be documented as you have written
>>>>>> it (i.e that only the middle envelope point between sample points
>>>>>> has no effect) because the rules for which envelope points have
>>>>>> no effect seem more complex.
>>>>>>
>>>>>> If I have three envelope points between samples and the first and
>>>>>> last envelope points are functional, then adding a fourth envelope
>>>>>> point between the erstwhile first envelope point and the preceding
>>>>>> sample point makes the middle two points (including the erstwhile
>>>>>> first envelope point) non-functional.  If I have six envelope points
>>>>>> between sample points, only the first and the last (as currently
>>>>>> viewed) are functional. Does that sound correct?
>>>>>
>>>>>
>>>>> Only the first and last control points between samples should have
>>>>> influence.
>>>>>
>>>>>>
>>>>>>
>>>>>> Is there any difference between a) dragging a "functional envelope
>>>>>> point" that is between samples and b) dragging a new point created
>>>>>> by clicking above or below the sample point preceding the "functional
>>>>>> envelope point"?  I don't discern the difference.
>>>>>
>>>>>
>>>>> If I understand this correctly, then in (a) there is one control point
>>>>> between sample points, and moving it influences the samples before and
>>>>> after.  In (b) there is a new control point either between the same two
>>>>> samples or left of the left sample (you probably don't place it precisely at
>>>>> the sample), and the difference is that moving this new point influences the
>>>>> sample left of the old control point, but not that to the right.
>>>>>
>>>>>>
>>>>>>
>>>>>> If we want non-functional envelope points which don't do anything
>>>>>> except let themselves be dragged off vertically, should they "look"
>>>>>> different to standard envelope points e.g. red colour? And should
>>>>>> they change back to white if removing another envelope point
>>>>>> then re-enables them?
>>>>>
>>>>>
>>>>> I do not want to invest effort in that.
>>>>>
>>>>> Maybe I should not have mentioned the case of more that two control points
>>>>> between samples!  It is a corner case that I think is unlikely to be
>>>>> important to anybody.
>>>>>
>>>>> However the case of two control points between samples is important.  That
>>>>> is because two control points with exactly the same time coordinate can
>>>>> create a discontinuity in the envelope, and we do need to support
>>>>> discontinuities in a better way to fix
>>>>> http://bugzilla.audacityteam.org/show_bug.cgi?id=835 .  (This bug is not
>>>>> fully addressed yet.)
>>>>>
>>>>> There were some very old comments by James in Envelope::Paste explaining why
>>>>> two envelope points should never be given the exact same time coordinate by
>>>>> Paste.  But I deleted those comments at commit 537ccfb, because I make other
>>>>> changes in how the envelope is evaluated that meet the objections there.
>>>>>
>>>>> Besides which, it was already possible to make points at the exact same t
>>>>> anyway by other means -- by dragging them in the editor.
>>>>>
>>>>> So, in short, it's the case of discontinuities that really needs attention.
>>>>>
>>>>> Finally, even when you don't have multiple control points between samples,
>>>>> it is still the case that at high levels of zoom, the envelope is now drawn
>>>>> so that it does not always pass through the control points, as previously it
>>>>> did.  And I really wanted to know if anybody objects strongly to that change
>>>>> of appearance.
>>>>>
>>>>> PRL
>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> Gale
>>>>>>
>>>>>>
>>>>>> On 26 May 2017 at 20:01, Paul Licameli <[hidden email]> wrote:
>>>>>> > As of commit a4cc9a9
>>>>>> >
>>>>>> > As I explained also in commit comments:  At high zoom that resolves
>>>>>> > individual samples, the envelope curve may pass near but not through the
>>>>>> > envelope control points.
>>>>>> >
>>>>>> > The evaluation of the envelope really affects rendering of the sound
>>>>>> > only at
>>>>>> > exact sample times.  So in between such times, the curve will be more
>>>>>> > simply
>>>>>> > interpolated as a line (in dB view) or an exponential (in Waveform
>>>>>> > view).
>>>>>> >
>>>>>> > So you can see more clearly, I think, how the points you drag influence
>>>>>> > the
>>>>>> > rendering.
>>>>>> >
>>>>>> > In case you draw points so closely that three fall between two samples,
>>>>>> > then
>>>>>> > this drawing makes plain that the middle one is not influencing
>>>>>> > anything.
>>>>>> >
>>>>>> > Are there any strong contrary opinions about this change?
>>>>>> >
>>>>>> > PRL
>>>>>
>>>
>>> ------------------------------------------------------------------------------
>>> Check out the vibrant tech community on one of the world's most
>>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>>> _______________________________________________
>>> Audacity-quality mailing list
>>> [hidden email]
>>> https://lists.sourceforge.net/lists/listinfo/audacity-quality
>>>

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Audacity-quality mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/audacity-quality



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Audacity-quality mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/audacity-quality
Reply | Threaded
Open this post in threaded view
|

Re: I have changed how wave track envelope displays at high zoom

Stevethefiddle
On 30 May 2017 at 15:12, Paul Licameli <[hidden email]> wrote:

>
>
> On Tue, May 30, 2017 at 8:25 AM, Steve the Fiddle <[hidden email]>
> wrote:
>>
>> Screenshot from Audacity 2.1.3
>> I think it is much more obvious what is happening here.
>
>
> But is it?
>
> What really happens?
>
> Certain of the control points have no effect on the rendered sound.
>
> The control points define a certain function of a continuous time variable,
> which 2.1.3 displays, but what really matters is only how that function
> affects the samples at discrete times.

That's true, but imagine if you could copy an envelope from one track
and paste it to another track that has a higher sample rate. The
continuous time function would then affect more discrete sample times.
Conceptually that is what I would expect to happen. The fact that the
envelope function applies to discrete time positions at the track
sample rate is an implementation detail.

>
> This said, I do not feel strongly about this display change and I can easily
> revert it.  I have decided that after all it has the undesirable effect of
> not making it obvious where the cursor will change for purpose of envelope
> editing.

+1 to revert that part.

>
> What is really more important in my recent work is the more careful
> treatment of envelopes with discontinuities -- pairs of points at exactly
> the same time coordinate.

I fully agree that careful treatment of envelope discontinuities is
the more important issue. There's been problems there for years, so if
you've finally put that to rest then that's fantastic.

Steve

>
> PRL
>
>
>>
>>
>> Steve
>>
>> On 30 May 2017 at 13:23, Steve the Fiddle <[hidden email]>
>> wrote:
>> > Screenshot showing "detached" control point.
>> > I don't think it is at all clear what is happening here.
>> >
>> > Steve
>> >
>> > On 30 May 2017 at 10:30, Steve the Fiddle <[hidden email]>
>> > wrote:
>> >> Hopefully it will be possible in the future to copy and paste
>> >> envelopes. Regardless of whether we can or not, this idea demonstrates
>> >> that the envelope is a different thing to the audio. If we copy and
>> >> paste an envelope from one audio track to another, we should get the
>> >> same shape envelope, not one that is determined by the track sample
>> >> rate.
>> >>
>> >> I'll send some screenshots to illustrate when Audacity runs again.
>> >>
>> >> Steve
>> >>
>> >> On 30 May 2017 at 04:07, Gale Andrews <[hidden email]> wrote:
>> >>> I didn't drag far enough on the blue envelope line in 2.2.0-alpha to
>> >>> see the displacement between control points and blue line.
>> >>>
>> >>> There is also a possible surprise in the curve shape if you open an
>> >>> older project in 2.2.0-alpha.  Attached is an example: (to left) saved
>> >>> as a project in 2.1.3 (I was zoomed in a long way but not deliberately
>> >>> trying to place multiple control points between samples), and (to
>> >>> right)
>> >>> reopened "as is" in 2.2.0-alpha.
>> >>>
>> >>> Which blue curve is the best representation?
>> >>>
>> >>>
>> >>> Gale
>> >>>
>> >>>
>> >>> On 30 May 2017 at 01:32, Steve the Fiddle <[hidden email]>
>> >>> wrote:
>> >>>> I'm not sure that this change is right. It can look very odd when the
>> >>>> control points become detached from the blue line (sorry, can't show
>> >>>> screenshots at the moment as HEAD does not currently launch on my
>> >>>> machine). Also, it is unclear what the blue line now represents.
>> >>>> Previously I had assumed that the blue line represented the zero dB
>> >>>> line that was being mapped to a new level, but now I don't understand
>> >>>> what it represents.
>> >>>>
>> >>>> Steve
>> >>>>
>> >>>> On 27 May 2017 at 07:17, Paul Licameli <[hidden email]>
>> >>>> wrote:
>> >>>>>
>> >>>>>
>> >>>>> On Fri, May 26, 2017 at 8:14 PM, Gale Andrews
>> >>>>> <[hidden email]> wrote:
>> >>>>>>
>> >>>>>> Bearing in mind I am not an expert in Envelopes, it does seem this
>> >>>>>> gives a more realistic curve if you have multiple envelope points
>> >>>>>> between sample dots.
>> >>>>>>
>> >>>>>>
>> >>>>>> I don't think the change could be documented as you have written
>> >>>>>> it (i.e that only the middle envelope point between sample points
>> >>>>>> has no effect) because the rules for which envelope points have
>> >>>>>> no effect seem more complex.
>> >>>>>>
>> >>>>>> If I have three envelope points between samples and the first and
>> >>>>>> last envelope points are functional, then adding a fourth envelope
>> >>>>>> point between the erstwhile first envelope point and the preceding
>> >>>>>> sample point makes the middle two points (including the erstwhile
>> >>>>>> first envelope point) non-functional.  If I have six envelope
>> >>>>>> points
>> >>>>>> between sample points, only the first and the last (as currently
>> >>>>>> viewed) are functional. Does that sound correct?
>> >>>>>
>> >>>>>
>> >>>>> Only the first and last control points between samples should have
>> >>>>> influence.
>> >>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>> Is there any difference between a) dragging a "functional envelope
>> >>>>>> point" that is between samples and b) dragging a new point created
>> >>>>>> by clicking above or below the sample point preceding the
>> >>>>>> "functional
>> >>>>>> envelope point"?  I don't discern the difference.
>> >>>>>
>> >>>>>
>> >>>>> If I understand this correctly, then in (a) there is one control
>> >>>>> point
>> >>>>> between sample points, and moving it influences the samples before
>> >>>>> and
>> >>>>> after.  In (b) there is a new control point either between the same
>> >>>>> two
>> >>>>> samples or left of the left sample (you probably don't place it
>> >>>>> precisely at
>> >>>>> the sample), and the difference is that moving this new point
>> >>>>> influences the
>> >>>>> sample left of the old control point, but not that to the right.
>> >>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>> If we want non-functional envelope points which don't do anything
>> >>>>>> except let themselves be dragged off vertically, should they "look"
>> >>>>>> different to standard envelope points e.g. red colour? And should
>> >>>>>> they change back to white if removing another envelope point
>> >>>>>> then re-enables them?
>> >>>>>
>> >>>>>
>> >>>>> I do not want to invest effort in that.
>> >>>>>
>> >>>>> Maybe I should not have mentioned the case of more that two control
>> >>>>> points
>> >>>>> between samples!  It is a corner case that I think is unlikely to be
>> >>>>> important to anybody.
>> >>>>>
>> >>>>> However the case of two control points between samples is important.
>> >>>>> That
>> >>>>> is because two control points with exactly the same time coordinate
>> >>>>> can
>> >>>>> create a discontinuity in the envelope, and we do need to support
>> >>>>> discontinuities in a better way to fix
>> >>>>> http://bugzilla.audacityteam.org/show_bug.cgi?id=835 .  (This bug is
>> >>>>> not
>> >>>>> fully addressed yet.)
>> >>>>>
>> >>>>> There were some very old comments by James in Envelope::Paste
>> >>>>> explaining why
>> >>>>> two envelope points should never be given the exact same time
>> >>>>> coordinate by
>> >>>>> Paste.  But I deleted those comments at commit 537ccfb, because I
>> >>>>> make other
>> >>>>> changes in how the envelope is evaluated that meet the objections
>> >>>>> there.
>> >>>>>
>> >>>>> Besides which, it was already possible to make points at the exact
>> >>>>> same t
>> >>>>> anyway by other means -- by dragging them in the editor.
>> >>>>>
>> >>>>> So, in short, it's the case of discontinuities that really needs
>> >>>>> attention.
>> >>>>>
>> >>>>> Finally, even when you don't have multiple control points between
>> >>>>> samples,
>> >>>>> it is still the case that at high levels of zoom, the envelope is
>> >>>>> now drawn
>> >>>>> so that it does not always pass through the control points, as
>> >>>>> previously it
>> >>>>> did.  And I really wanted to know if anybody objects strongly to
>> >>>>> that change
>> >>>>> of appearance.
>> >>>>>
>> >>>>> PRL
>> >>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>> Gale
>> >>>>>>
>> >>>>>>
>> >>>>>> On 26 May 2017 at 20:01, Paul Licameli <[hidden email]>
>> >>>>>> wrote:
>> >>>>>> > As of commit a4cc9a9
>> >>>>>> >
>> >>>>>> > As I explained also in commit comments:  At high zoom that
>> >>>>>> > resolves
>> >>>>>> > individual samples, the envelope curve may pass near but not
>> >>>>>> > through the
>> >>>>>> > envelope control points.
>> >>>>>> >
>> >>>>>> > The evaluation of the envelope really affects rendering of the
>> >>>>>> > sound
>> >>>>>> > only at
>> >>>>>> > exact sample times.  So in between such times, the curve will be
>> >>>>>> > more
>> >>>>>> > simply
>> >>>>>> > interpolated as a line (in dB view) or an exponential (in
>> >>>>>> > Waveform
>> >>>>>> > view).
>> >>>>>> >
>> >>>>>> > So you can see more clearly, I think, how the points you drag
>> >>>>>> > influence
>> >>>>>> > the
>> >>>>>> > rendering.
>> >>>>>> >
>> >>>>>> > In case you draw points so closely that three fall between two
>> >>>>>> > samples,
>> >>>>>> > then
>> >>>>>> > this drawing makes plain that the middle one is not influencing
>> >>>>>> > anything.
>> >>>>>> >
>> >>>>>> > Are there any strong contrary opinions about this change?
>> >>>>>> >
>> >>>>>> > PRL
>> >>>>>
>> >>>
>> >>>
>> >>> ------------------------------------------------------------------------------
>> >>> Check out the vibrant tech community on one of the world's most
>> >>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>> >>> _______________________________________________
>> >>> Audacity-quality mailing list
>> >>> [hidden email]
>> >>> https://lists.sourceforge.net/lists/listinfo/audacity-quality
>> >>>
>>
>>
>> ------------------------------------------------------------------------------
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>> _______________________________________________
>> Audacity-quality mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/audacity-quality
>>
>
>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> Audacity-quality mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/audacity-quality
>

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Audacity-quality mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/audacity-quality
Reply | Threaded
Open this post in threaded view
|

Re: I have changed how wave track envelope displays at high zoom

Gale
Administrator
In reply to this post by Paul Licameli
On 30 May 2017 at 15:12, Paul Licameli <[hidden email]> wrote:

>
>
> On Tue, May 30, 2017 at 8:25 AM, Steve the Fiddle <[hidden email]>
> wrote:
>>
>> Screenshot from Audacity 2.1.3
>> I think it is much more obvious what is happening here.
>
>
> But is it?
>
> What really happens?
>
> Certain of the control points have no effect on the rendered sound.
>
> The control points define a certain function of a continuous time variable,
> which 2.1.3 displays, but what really matters is only how that function
> affects the samples at discrete times.
>
> This said, I do not feel strongly about this display change and I can easily
> revert it.  I have decided that after all it has the undesirable effect of
> not making it obvious where the cursor will change for purpose of envelope
> editing.

On the whole, I'm in favour of reverting the display change, having
read the arguments and tried it some more.


Gale


> What is really more important in my recent work is the more careful
> treatment of envelopes with discontinuities -- pairs of points at exactly
> the same time coordinate.
>
> PRL
>
>
>>
>>
>> Steve
>>
>> On 30 May 2017 at 13:23, Steve the Fiddle <[hidden email]>
>> wrote:
>> > Screenshot showing "detached" control point.
>> > I don't think it is at all clear what is happening here.
>> >
>> > Steve
>> >
>> > On 30 May 2017 at 10:30, Steve the Fiddle <[hidden email]>
>> > wrote:
>> >> Hopefully it will be possible in the future to copy and paste
>> >> envelopes. Regardless of whether we can or not, this idea demonstrates
>> >> that the envelope is a different thing to the audio. If we copy and
>> >> paste an envelope from one audio track to another, we should get the
>> >> same shape envelope, not one that is determined by the track sample
>> >> rate.
>> >>
>> >> I'll send some screenshots to illustrate when Audacity runs again.
>> >>
>> >> Steve
>> >>
>> >> On 30 May 2017 at 04:07, Gale Andrews <[hidden email]> wrote:
>> >>> I didn't drag far enough on the blue envelope line in 2.2.0-alpha to
>> >>> see the displacement between control points and blue line.
>> >>>
>> >>> There is also a possible surprise in the curve shape if you open an
>> >>> older project in 2.2.0-alpha.  Attached is an example: (to left) saved
>> >>> as a project in 2.1.3 (I was zoomed in a long way but not deliberately
>> >>> trying to place multiple control points between samples), and (to
>> >>> right)
>> >>> reopened "as is" in 2.2.0-alpha.
>> >>>
>> >>> Which blue curve is the best representation?
>> >>>
>> >>>
>> >>> Gale
>> >>>
>> >>>
>> >>> On 30 May 2017 at 01:32, Steve the Fiddle <[hidden email]>
>> >>> wrote:
>> >>>> I'm not sure that this change is right. It can look very odd when the
>> >>>> control points become detached from the blue line (sorry, can't show
>> >>>> screenshots at the moment as HEAD does not currently launch on my
>> >>>> machine). Also, it is unclear what the blue line now represents.
>> >>>> Previously I had assumed that the blue line represented the zero dB
>> >>>> line that was being mapped to a new level, but now I don't understand
>> >>>> what it represents.
>> >>>>
>> >>>> Steve
>> >>>>
>> >>>> On 27 May 2017 at 07:17, Paul Licameli <[hidden email]>
>> >>>> wrote:
>> >>>>>
>> >>>>>
>> >>>>> On Fri, May 26, 2017 at 8:14 PM, Gale Andrews
>> >>>>> <[hidden email]> wrote:
>> >>>>>>
>> >>>>>> Bearing in mind I am not an expert in Envelopes, it does seem this
>> >>>>>> gives a more realistic curve if you have multiple envelope points
>> >>>>>> between sample dots.
>> >>>>>>
>> >>>>>>
>> >>>>>> I don't think the change could be documented as you have written
>> >>>>>> it (i.e that only the middle envelope point between sample points
>> >>>>>> has no effect) because the rules for which envelope points have
>> >>>>>> no effect seem more complex.
>> >>>>>>
>> >>>>>> If I have three envelope points between samples and the first and
>> >>>>>> last envelope points are functional, then adding a fourth envelope
>> >>>>>> point between the erstwhile first envelope point and the preceding
>> >>>>>> sample point makes the middle two points (including the erstwhile
>> >>>>>> first envelope point) non-functional.  If I have six envelope
>> >>>>>> points
>> >>>>>> between sample points, only the first and the last (as currently
>> >>>>>> viewed) are functional. Does that sound correct?
>> >>>>>
>> >>>>>
>> >>>>> Only the first and last control points between samples should have
>> >>>>> influence.
>> >>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>> Is there any difference between a) dragging a "functional envelope
>> >>>>>> point" that is between samples and b) dragging a new point created
>> >>>>>> by clicking above or below the sample point preceding the
>> >>>>>> "functional
>> >>>>>> envelope point"?  I don't discern the difference.
>> >>>>>
>> >>>>>
>> >>>>> If I understand this correctly, then in (a) there is one control
>> >>>>> point
>> >>>>> between sample points, and moving it influences the samples before
>> >>>>> and
>> >>>>> after.  In (b) there is a new control point either between the same
>> >>>>> two
>> >>>>> samples or left of the left sample (you probably don't place it
>> >>>>> precisely at
>> >>>>> the sample), and the difference is that moving this new point
>> >>>>> influences the
>> >>>>> sample left of the old control point, but not that to the right.
>> >>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>> If we want non-functional envelope points which don't do anything
>> >>>>>> except let themselves be dragged off vertically, should they "look"
>> >>>>>> different to standard envelope points e.g. red colour? And should
>> >>>>>> they change back to white if removing another envelope point
>> >>>>>> then re-enables them?
>> >>>>>
>> >>>>>
>> >>>>> I do not want to invest effort in that.
>> >>>>>
>> >>>>> Maybe I should not have mentioned the case of more that two control
>> >>>>> points
>> >>>>> between samples!  It is a corner case that I think is unlikely to be
>> >>>>> important to anybody.
>> >>>>>
>> >>>>> However the case of two control points between samples is important.
>> >>>>> That
>> >>>>> is because two control points with exactly the same time coordinate
>> >>>>> can
>> >>>>> create a discontinuity in the envelope, and we do need to support
>> >>>>> discontinuities in a better way to fix
>> >>>>> http://bugzilla.audacityteam.org/show_bug.cgi?id=835 .  (This bug is
>> >>>>> not
>> >>>>> fully addressed yet.)
>> >>>>>
>> >>>>> There were some very old comments by James in Envelope::Paste
>> >>>>> explaining why
>> >>>>> two envelope points should never be given the exact same time
>> >>>>> coordinate by
>> >>>>> Paste.  But I deleted those comments at commit 537ccfb, because I
>> >>>>> make other
>> >>>>> changes in how the envelope is evaluated that meet the objections
>> >>>>> there.
>> >>>>>
>> >>>>> Besides which, it was already possible to make points at the exact
>> >>>>> same t
>> >>>>> anyway by other means -- by dragging them in the editor.
>> >>>>>
>> >>>>> So, in short, it's the case of discontinuities that really needs
>> >>>>> attention.
>> >>>>>
>> >>>>> Finally, even when you don't have multiple control points between
>> >>>>> samples,
>> >>>>> it is still the case that at high levels of zoom, the envelope is
>> >>>>> now drawn
>> >>>>> so that it does not always pass through the control points, as
>> >>>>> previously it
>> >>>>> did.  And I really wanted to know if anybody objects strongly to
>> >>>>> that change
>> >>>>> of appearance.
>> >>>>>
>> >>>>> PRL
>> >>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>> Gale
>> >>>>>>
>> >>>>>>
>> >>>>>> On 26 May 2017 at 20:01, Paul Licameli <[hidden email]>
>> >>>>>> wrote:
>> >>>>>> > As of commit a4cc9a9
>> >>>>>> >
>> >>>>>> > As I explained also in commit comments:  At high zoom that
>> >>>>>> > resolves
>> >>>>>> > individual samples, the envelope curve may pass near but not
>> >>>>>> > through the
>> >>>>>> > envelope control points.
>> >>>>>> >
>> >>>>>> > The evaluation of the envelope really affects rendering of the
>> >>>>>> > sound
>> >>>>>> > only at
>> >>>>>> > exact sample times.  So in between such times, the curve will be
>> >>>>>> > more
>> >>>>>> > simply
>> >>>>>> > interpolated as a line (in dB view) or an exponential (in
>> >>>>>> > Waveform
>> >>>>>> > view).
>> >>>>>> >
>> >>>>>> > So you can see more clearly, I think, how the points you drag
>> >>>>>> > influence
>> >>>>>> > the
>> >>>>>> > rendering.
>> >>>>>> >
>> >>>>>> > In case you draw points so closely that three fall between two
>> >>>>>> > samples,
>> >>>>>> > then
>> >>>>>> > this drawing makes plain that the middle one is not influencing
>> >>>>>> > anything.
>> >>>>>> >
>> >>>>>> > Are there any strong contrary opinions about this change?
>> >>>>>> >
>> >>>>>> > PRL
>> >>>>>
>> >>>
>> >>>
>> >>> ------------------------------------------------------------------------------
>> >>> Check out the vibrant tech community on one of the world's most
>> >>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>> >>> _______________________________________________
>> >>> Audacity-quality mailing list
>> >>> [hidden email]
>> >>> https://lists.sourceforge.net/lists/listinfo/audacity-quality
>> >>>
>>
>>
>> ------------------------------------------------------------------------------
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>> _______________________________________________
>> Audacity-quality mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/audacity-quality
>>
>
>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> Audacity-quality mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/audacity-quality
>

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Audacity-quality mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/audacity-quality
Reply | Threaded
Open this post in threaded view
|

Re: I have changed how wave track envelope displays at high zoom

Paul Licameli
In reply to this post by Stevethefiddle


On Tue, May 30, 2017 at 10:59 AM, Steve the Fiddle <[hidden email]> wrote:
On 30 May 2017 at 15:12, Paul Licameli <[hidden email]> wrote:
>
>
> On Tue, May 30, 2017 at 8:25 AM, Steve the Fiddle <[hidden email]>
> wrote:
>>
>> Screenshot from Audacity 2.1.3
>> I think it is much more obvious what is happening here.
>
>
> But is it?
>
> What really happens?
>
> Certain of the control points have no effect on the rendered sound.
>
> The control points define a certain function of a continuous time variable,
> which 2.1.3 displays, but what really matters is only how that function
> affects the samples at discrete times.

That's true, but imagine if you could copy an envelope from one track
and paste it to another track that has a higher sample rate. The
continuous time function would then affect more discrete sample times.
Conceptually that is what I would expect to happen. The fact that the
envelope function applies to discrete time positions at the track
sample rate is an implementation detail.

One could cut and paste a sequence of control points and they would have the expected effect on the function of a continuous variable.  I think that's independent of this display question.
 

>
> This said, I do not feel strongly about this display change and I can easily
> revert it.  I have decided that after all it has the undesirable effect of
> not making it obvious where the cursor will change for purpose of envelope
> editing.

+1 to revert that part.

Done at 2ef243f.
 

>
> What is really more important in my recent work is the more careful
> treatment of envelopes with discontinuities -- pairs of points at exactly
> the same time coordinate.

I fully agree that careful treatment of envelope discontinuities is
the more important issue. There's been problems there for years, so if
you've finally put that to rest then that's fantastic.

Steve

I believe I have done so.  You should try it some and convince yourself.  See also bug 835, now fix-made.

One oddity is this.  When there is a discontinuity in the envelope, and there is a sample left of the discontinuity but "near enough," then the right-side limit of the discontinuity will consistently apply to the sample.

That seems weird but I decided it was a necessity to make things work in a reasonable way.  A sample may be meant to correspond to a discontinuity at the "same" time but "same" isn't exact equality because of the realities of roundoff.

Maybe, more seriously, all such times should be stored in discrete rather than floating-point forms, as integer multiples of a sample interval, but that change seems a more disruptive project than this was.  You can imagine doing this for WaveClip's mOffset.  But class Envelope has no inherent notion of sample interval -- that depends on the context in which Envelope is used, and a WaveClip is only one context.  Envelopes are reused for TimeTrack, and for Equalization curves, where the independent variable is not time.  So I think I must leave Envelope as a general class whose purpose is:  Represent a piecewise linear or piecewise exponential function of a real independent variable.

If you paste one wave clip into another, and the starting envelope value of the insertion is not equal to that at the insertion place, then we need a discontinuity -- which is now a true discontinuity, not a short steep slope as before.  The first pasted sample should have the right-side limit value of this discontinuity in the envelope apply.

Try zooming close, then making one envelope point slightly left of a sample, then make a second point right of that, then drag it as far left as possible -- you will make a discontinuity, and you may observe that the sample pops to a different height in the display.

Now how near is "near enough?"  I made it sample interval divided by two.  But perhaps that is wider than necessary to counteract these roundoff problems.

So if the discontinuity is in the right half of the space between samples, then the sample left of the discontinuity will not pop.

PRL

 

>
> PRL
>
>
>>
>>
>> Steve
>>
>> On 30 May 2017 at 13:23, Steve the Fiddle <[hidden email]>
>> wrote:
>> > Screenshot showing "detached" control point.
>> > I don't think it is at all clear what is happening here.
>> >
>> > Steve
>> >
>> > On 30 May 2017 at 10:30, Steve the Fiddle <[hidden email]>
>> > wrote:
>> >> Hopefully it will be possible in the future to copy and paste
>> >> envelopes. Regardless of whether we can or not, this idea demonstrates
>> >> that the envelope is a different thing to the audio. If we copy and
>> >> paste an envelope from one audio track to another, we should get the
>> >> same shape envelope, not one that is determined by the track sample
>> >> rate.
>> >>
>> >> I'll send some screenshots to illustrate when Audacity runs again.
>> >>
>> >> Steve
>> >>
>> >> On 30 May 2017 at 04:07, Gale Andrews <[hidden email]> wrote:
>> >>> I didn't drag far enough on the blue envelope line in 2.2.0-alpha to
>> >>> see the displacement between control points and blue line.
>> >>>
>> >>> There is also a possible surprise in the curve shape if you open an
>> >>> older project in 2.2.0-alpha.  Attached is an example: (to left) saved
>> >>> as a project in 2.1.3 (I was zoomed in a long way but not deliberately
>> >>> trying to place multiple control points between samples), and (to
>> >>> right)
>> >>> reopened "as is" in 2.2.0-alpha.
>> >>>
>> >>> Which blue curve is the best representation?
>> >>>
>> >>>
>> >>> Gale
>> >>>
>> >>>
>> >>> On 30 May 2017 at 01:32, Steve the Fiddle <[hidden email]>
>> >>> wrote:
>> >>>> I'm not sure that this change is right. It can look very odd when the
>> >>>> control points become detached from the blue line (sorry, can't show
>> >>>> screenshots at the moment as HEAD does not currently launch on my
>> >>>> machine). Also, it is unclear what the blue line now represents.
>> >>>> Previously I had assumed that the blue line represented the zero dB
>> >>>> line that was being mapped to a new level, but now I don't understand
>> >>>> what it represents.
>> >>>>
>> >>>> Steve
>> >>>>
>> >>>> On 27 May 2017 at 07:17, Paul Licameli <[hidden email]>
>> >>>> wrote:
>> >>>>>
>> >>>>>
>> >>>>> On Fri, May 26, 2017 at 8:14 PM, Gale Andrews
>> >>>>> <[hidden email]> wrote:
>> >>>>>>
>> >>>>>> Bearing in mind I am not an expert in Envelopes, it does seem this
>> >>>>>> gives a more realistic curve if you have multiple envelope points
>> >>>>>> between sample dots.
>> >>>>>>
>> >>>>>>
>> >>>>>> I don't think the change could be documented as you have written
>> >>>>>> it (i.e that only the middle envelope point between sample points
>> >>>>>> has no effect) because the rules for which envelope points have
>> >>>>>> no effect seem more complex.
>> >>>>>>
>> >>>>>> If I have three envelope points between samples and the first and
>> >>>>>> last envelope points are functional, then adding a fourth envelope
>> >>>>>> point between the erstwhile first envelope point and the preceding
>> >>>>>> sample point makes the middle two points (including the erstwhile
>> >>>>>> first envelope point) non-functional.  If I have six envelope
>> >>>>>> points
>> >>>>>> between sample points, only the first and the last (as currently
>> >>>>>> viewed) are functional. Does that sound correct?
>> >>>>>
>> >>>>>
>> >>>>> Only the first and last control points between samples should have
>> >>>>> influence.
>> >>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>> Is there any difference between a) dragging a "functional envelope
>> >>>>>> point" that is between samples and b) dragging a new point created
>> >>>>>> by clicking above or below the sample point preceding the
>> >>>>>> "functional
>> >>>>>> envelope point"?  I don't discern the difference.
>> >>>>>
>> >>>>>
>> >>>>> If I understand this correctly, then in (a) there is one control
>> >>>>> point
>> >>>>> between sample points, and moving it influences the samples before
>> >>>>> and
>> >>>>> after.  In (b) there is a new control point either between the same
>> >>>>> two
>> >>>>> samples or left of the left sample (you probably don't place it
>> >>>>> precisely at
>> >>>>> the sample), and the difference is that moving this new point
>> >>>>> influences the
>> >>>>> sample left of the old control point, but not that to the right.
>> >>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>> If we want non-functional envelope points which don't do anything
>> >>>>>> except let themselves be dragged off vertically, should they "look"
>> >>>>>> different to standard envelope points e.g. red colour? And should
>> >>>>>> they change back to white if removing another envelope point
>> >>>>>> then re-enables them?
>> >>>>>
>> >>>>>
>> >>>>> I do not want to invest effort in that.
>> >>>>>
>> >>>>> Maybe I should not have mentioned the case of more that two control
>> >>>>> points
>> >>>>> between samples!  It is a corner case that I think is unlikely to be
>> >>>>> important to anybody.
>> >>>>>
>> >>>>> However the case of two control points between samples is important.
>> >>>>> That
>> >>>>> is because two control points with exactly the same time coordinate
>> >>>>> can
>> >>>>> create a discontinuity in the envelope, and we do need to support
>> >>>>> discontinuities in a better way to fix
>> >>>>> http://bugzilla.audacityteam.org/show_bug.cgi?id=835 .  (This bug is
>> >>>>> not
>> >>>>> fully addressed yet.)
>> >>>>>
>> >>>>> There were some very old comments by James in Envelope::Paste
>> >>>>> explaining why
>> >>>>> two envelope points should never be given the exact same time
>> >>>>> coordinate by
>> >>>>> Paste.  But I deleted those comments at commit 537ccfb, because I
>> >>>>> make other
>> >>>>> changes in how the envelope is evaluated that meet the objections
>> >>>>> there.
>> >>>>>
>> >>>>> Besides which, it was already possible to make points at the exact
>> >>>>> same t
>> >>>>> anyway by other means -- by dragging them in the editor.
>> >>>>>
>> >>>>> So, in short, it's the case of discontinuities that really needs
>> >>>>> attention.
>> >>>>>
>> >>>>> Finally, even when you don't have multiple control points between
>> >>>>> samples,
>> >>>>> it is still the case that at high levels of zoom, the envelope is
>> >>>>> now drawn
>> >>>>> so that it does not always pass through the control points, as
>> >>>>> previously it
>> >>>>> did.  And I really wanted to know if anybody objects strongly to
>> >>>>> that change
>> >>>>> of appearance.
>> >>>>>
>> >>>>> PRL
>> >>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>> Gale
>> >>>>>>
>> >>>>>>
>> >>>>>> On 26 May 2017 at 20:01, Paul Licameli <[hidden email]>
>> >>>>>> wrote:
>> >>>>>> > As of commit a4cc9a9
>> >>>>>> >
>> >>>>>> > As I explained also in commit comments:  At high zoom that
>> >>>>>> > resolves
>> >>>>>> > individual samples, the envelope curve may pass near but not
>> >>>>>> > through the
>> >>>>>> > envelope control points.
>> >>>>>> >
>> >>>>>> > The evaluation of the envelope really affects rendering of the
>> >>>>>> > sound
>> >>>>>> > only at
>> >>>>>> > exact sample times.  So in between such times, the curve will be
>> >>>>>> > more
>> >>>>>> > simply
>> >>>>>> > interpolated as a line (in dB view) or an exponential (in
>> >>>>>> > Waveform
>> >>>>>> > view).
>> >>>>>> >
>> >>>>>> > So you can see more clearly, I think, how the points you drag
>> >>>>>> > influence
>> >>>>>> > the
>> >>>>>> > rendering.
>> >>>>>> >
>> >>>>>> > In case you draw points so closely that three fall between two
>> >>>>>> > samples,
>> >>>>>> > then
>> >>>>>> > this drawing makes plain that the middle one is not influencing
>> >>>>>> > anything.
>> >>>>>> >
>> >>>>>> > Are there any strong contrary opinions about this change?
>> >>>>>> >
>> >>>>>> > PRL
>> >>>>>
>> >>>
>> >>>
>> >>> ------------------------------------------------------------------------------
>> >>> Check out the vibrant tech community on one of the world's most
>> >>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>> >>> _______________________________________________
>> >>> Audacity-quality mailing list
>> >>> [hidden email]
>> >>> https://lists.sourceforge.net/lists/listinfo/audacity-quality
>> >>>
>>
>>
>> ------------------------------------------------------------------------------
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>> _______________________________________________
>> Audacity-quality mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/audacity-quality
>>
>
>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> Audacity-quality mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/audacity-quality
>

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Audacity-quality mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/audacity-quality


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Audacity-quality mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/audacity-quality
Reply | Threaded
Open this post in threaded view
|

Re: I have changed how wave track envelope displays at high zoom

Paul Licameli


On Tue, May 30, 2017 at 1:03 PM, Paul Licameli <[hidden email]> wrote:


On Tue, May 30, 2017 at 10:59 AM, Steve the Fiddle <[hidden email]> wrote:
On 30 May 2017 at 15:12, Paul Licameli <[hidden email]> wrote:
>
>
> On Tue, May 30, 2017 at 8:25 AM, Steve the Fiddle <[hidden email]>
> wrote:
>>
>> Screenshot from Audacity 2.1.3
>> I think it is much more obvious what is happening here.
>
>
> But is it?
>
> What really happens?
>
> Certain of the control points have no effect on the rendered sound.
>
> The control points define a certain function of a continuous time variable,
> which 2.1.3 displays, but what really matters is only how that function
> affects the samples at discrete times.

That's true, but imagine if you could copy an envelope from one track
and paste it to another track that has a higher sample rate. The
continuous time function would then affect more discrete sample times.
Conceptually that is what I would expect to happen. The fact that the
envelope function applies to discrete time positions at the track
sample rate is an implementation detail.

One could cut and paste a sequence of control points and they would have the expected effect on the function of a continuous variable.  I think that's independent of this display question.
 

>
> This said, I do not feel strongly about this display change and I can easily
> revert it.  I have decided that after all it has the undesirable effect of
> not making it obvious where the cursor will change for purpose of envelope
> editing.

+1 to revert that part.

Done at 2ef243f.
 

>
> What is really more important in my recent work is the more careful
> treatment of envelopes with discontinuities -- pairs of points at exactly
> the same time coordinate.

I fully agree that careful treatment of envelope discontinuities is
the more important issue. There's been problems there for years, so if
you've finally put that to rest then that's fantastic.

Steve

I believe I have done so.  You should try it some and convince yourself.  See also bug 835, now fix-made.

One oddity is this.  When there is a discontinuity in the envelope, and there is a sample left of the discontinuity but "near enough," then the right-side limit of the discontinuity will consistently apply to the sample.

That seems weird but I decided it was a necessity to make things work in a reasonable way.  A sample may be meant to correspond to a discontinuity at the "same" time but "same" isn't exact equality because of the realities of roundoff.

Maybe, more seriously, all such times should be stored in discrete rather than floating-point forms, as integer multiples of a sample interval, but that change seems a more disruptive project than this was.  You can imagine doing this for WaveClip's mOffset.  But class Envelope has no inherent notion of sample interval -- that depends on the context in which Envelope is used, and a WaveClip is only one context.  Envelopes are reused for TimeTrack, and for Equalization curves, where the independent variable is not time.  So I think I must leave Envelope as a general class whose purpose is:  Represent a piecewise linear or piecewise exponential function of a real independent variable.

If you paste one wave clip into another, and the starting envelope value of the insertion is not equal to that at the insertion place, then we need a discontinuity -- which is now a true discontinuity, not a short steep slope as before.  The first pasted sample should have the right-side limit value of this discontinuity in the envelope apply.

Try zooming close, then making one envelope point slightly left of a sample, then make a second point right of that, then drag it as far left as possible -- you will make a discontinuity, and you may observe that the sample pops to a different height in the display.

Now how near is "near enough?"  I made it sample interval divided by two.  But perhaps that is wider than necessary to counteract these roundoff problems.

So if the discontinuity is in the right half of the space between samples, then the sample left of the discontinuity will not pop.

PRL

... And so, at this one sample only, and only when you zoom in close enough, then the display of the envelope (now reverted to do as before) no longer truly displays the multiplier that applies to the sample, though the sample is truly drawn at the level at which it will render.

So the display is not wholly satisfactory, which is why I attempted some change in the display, which we agree we didn't like either.

So this small display anomaly remains as a price of this project to treat discontinuities better.

PRL

 

 

>
> PRL
>
>
>>
>>
>> Steve
>>
>> On 30 May 2017 at 13:23, Steve the Fiddle <[hidden email]>
>> wrote:
>> > Screenshot showing "detached" control point.
>> > I don't think it is at all clear what is happening here.
>> >
>> > Steve
>> >
>> > On 30 May 2017 at 10:30, Steve the Fiddle <[hidden email]>
>> > wrote:
>> >> Hopefully it will be possible in the future to copy and paste
>> >> envelopes. Regardless of whether we can or not, this idea demonstrates
>> >> that the envelope is a different thing to the audio. If we copy and
>> >> paste an envelope from one audio track to another, we should get the
>> >> same shape envelope, not one that is determined by the track sample
>> >> rate.
>> >>
>> >> I'll send some screenshots to illustrate when Audacity runs again.
>> >>
>> >> Steve
>> >>
>> >> On 30 May 2017 at 04:07, Gale Andrews <[hidden email]> wrote:
>> >>> I didn't drag far enough on the blue envelope line in 2.2.0-alpha to
>> >>> see the displacement between control points and blue line.
>> >>>
>> >>> There is also a possible surprise in the curve shape if you open an
>> >>> older project in 2.2.0-alpha.  Attached is an example: (to left) saved
>> >>> as a project in 2.1.3 (I was zoomed in a long way but not deliberately
>> >>> trying to place multiple control points between samples), and (to
>> >>> right)
>> >>> reopened "as is" in 2.2.0-alpha.
>> >>>
>> >>> Which blue curve is the best representation?
>> >>>
>> >>>
>> >>> Gale
>> >>>
>> >>>
>> >>> On 30 May 2017 at 01:32, Steve the Fiddle <[hidden email]>
>> >>> wrote:
>> >>>> I'm not sure that this change is right. It can look very odd when the
>> >>>> control points become detached from the blue line (sorry, can't show
>> >>>> screenshots at the moment as HEAD does not currently launch on my
>> >>>> machine). Also, it is unclear what the blue line now represents.
>> >>>> Previously I had assumed that the blue line represented the zero dB
>> >>>> line that was being mapped to a new level, but now I don't understand
>> >>>> what it represents.
>> >>>>
>> >>>> Steve
>> >>>>
>> >>>> On 27 May 2017 at 07:17, Paul Licameli <[hidden email]>
>> >>>> wrote:
>> >>>>>
>> >>>>>
>> >>>>> On Fri, May 26, 2017 at 8:14 PM, Gale Andrews
>> >>>>> <[hidden email]> wrote:
>> >>>>>>
>> >>>>>> Bearing in mind I am not an expert in Envelopes, it does seem this
>> >>>>>> gives a more realistic curve if you have multiple envelope points
>> >>>>>> between sample dots.
>> >>>>>>
>> >>>>>>
>> >>>>>> I don't think the change could be documented as you have written
>> >>>>>> it (i.e that only the middle envelope point between sample points
>> >>>>>> has no effect) because the rules for which envelope points have
>> >>>>>> no effect seem more complex.
>> >>>>>>
>> >>>>>> If I have three envelope points between samples and the first and
>> >>>>>> last envelope points are functional, then adding a fourth envelope
>> >>>>>> point between the erstwhile first envelope point and the preceding
>> >>>>>> sample point makes the middle two points (including the erstwhile
>> >>>>>> first envelope point) non-functional.  If I have six envelope
>> >>>>>> points
>> >>>>>> between sample points, only the first and the last (as currently
>> >>>>>> viewed) are functional. Does that sound correct?
>> >>>>>
>> >>>>>
>> >>>>> Only the first and last control points between samples should have
>> >>>>> influence.
>> >>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>> Is there any difference between a) dragging a "functional envelope
>> >>>>>> point" that is between samples and b) dragging a new point created
>> >>>>>> by clicking above or below the sample point preceding the
>> >>>>>> "functional
>> >>>>>> envelope point"?  I don't discern the difference.
>> >>>>>
>> >>>>>
>> >>>>> If I understand this correctly, then in (a) there is one control
>> >>>>> point
>> >>>>> between sample points, and moving it influences the samples before
>> >>>>> and
>> >>>>> after.  In (b) there is a new control point either between the same
>> >>>>> two
>> >>>>> samples or left of the left sample (you probably don't place it
>> >>>>> precisely at
>> >>>>> the sample), and the difference is that moving this new point
>> >>>>> influences the
>> >>>>> sample left of the old control point, but not that to the right.
>> >>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>> If we want non-functional envelope points which don't do anything
>> >>>>>> except let themselves be dragged off vertically, should they "look"
>> >>>>>> different to standard envelope points e.g. red colour? And should
>> >>>>>> they change back to white if removing another envelope point
>> >>>>>> then re-enables them?
>> >>>>>
>> >>>>>
>> >>>>> I do not want to invest effort in that.
>> >>>>>
>> >>>>> Maybe I should not have mentioned the case of more that two control
>> >>>>> points
>> >>>>> between samples!  It is a corner case that I think is unlikely to be
>> >>>>> important to anybody.
>> >>>>>
>> >>>>> However the case of two control points between samples is important.
>> >>>>> That
>> >>>>> is because two control points with exactly the same time coordinate
>> >>>>> can
>> >>>>> create a discontinuity in the envelope, and we do need to support
>> >>>>> discontinuities in a better way to fix
>> >>>>> http://bugzilla.audacityteam.org/show_bug.cgi?id=835 .  (This bug is
>> >>>>> not
>> >>>>> fully addressed yet.)
>> >>>>>
>> >>>>> There were some very old comments by James in Envelope::Paste
>> >>>>> explaining why
>> >>>>> two envelope points should never be given the exact same time
>> >>>>> coordinate by
>> >>>>> Paste.  But I deleted those comments at commit 537ccfb, because I
>> >>>>> make other
>> >>>>> changes in how the envelope is evaluated that meet the objections
>> >>>>> there.
>> >>>>>
>> >>>>> Besides which, it was already possible to make points at the exact
>> >>>>> same t
>> >>>>> anyway by other means -- by dragging them in the editor.
>> >>>>>
>> >>>>> So, in short, it's the case of discontinuities that really needs
>> >>>>> attention.
>> >>>>>
>> >>>>> Finally, even when you don't have multiple control points between
>> >>>>> samples,
>> >>>>> it is still the case that at high levels of zoom, the envelope is
>> >>>>> now drawn
>> >>>>> so that it does not always pass through the control points, as
>> >>>>> previously it
>> >>>>> did.  And I really wanted to know if anybody objects strongly to
>> >>>>> that change
>> >>>>> of appearance.
>> >>>>>
>> >>>>> PRL
>> >>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>> Gale
>> >>>>>>
>> >>>>>>
>> >>>>>> On 26 May 2017 at 20:01, Paul Licameli <[hidden email]>
>> >>>>>> wrote:
>> >>>>>> > As of commit a4cc9a9
>> >>>>>> >
>> >>>>>> > As I explained also in commit comments:  At high zoom that
>> >>>>>> > resolves
>> >>>>>> > individual samples, the envelope curve may pass near but not
>> >>>>>> > through the
>> >>>>>> > envelope control points.
>> >>>>>> >
>> >>>>>> > The evaluation of the envelope really affects rendering of the
>> >>>>>> > sound
>> >>>>>> > only at
>> >>>>>> > exact sample times.  So in between such times, the curve will be
>> >>>>>> > more
>> >>>>>> > simply
>> >>>>>> > interpolated as a line (in dB view) or an exponential (in
>> >>>>>> > Waveform
>> >>>>>> > view).
>> >>>>>> >
>> >>>>>> > So you can see more clearly, I think, how the points you drag
>> >>>>>> > influence
>> >>>>>> > the
>> >>>>>> > rendering.
>> >>>>>> >
>> >>>>>> > In case you draw points so closely that three fall between two
>> >>>>>> > samples,
>> >>>>>> > then
>> >>>>>> > this drawing makes plain that the middle one is not influencing
>> >>>>>> > anything.
>> >>>>>> >
>> >>>>>> > Are there any strong contrary opinions about this change?
>> >>>>>> >
>> >>>>>> > PRL
>> >>>>>
>> >>>
>> >>>
>> >>> ------------------------------------------------------------------------------
>> >>> Check out the vibrant tech community on one of the world's most
>> >>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>> >>> _______________________________________________
>> >>> Audacity-quality mailing list
>> >>> [hidden email]
>> >>> https://lists.sourceforge.net/lists/listinfo/audacity-quality
>> >>>
>>
>>
>> ------------------------------------------------------------------------------
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>> _______________________________________________
>> Audacity-quality mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/audacity-quality
>>
>
>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> Audacity-quality mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/audacity-quality
>

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Audacity-quality mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/audacity-quality



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Audacity-quality mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/audacity-quality