Re: [linux-audio-dev] gain curves, interpolation, etc.

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: Re: [linux-audio-dev] gain curves, interpolation, etc.
From: Jörn Nettingsmeier (nettings_AT_folkwang.uni-essen.de)
Date: Wed Nov 29 2000 - 14:52:28 EET


Paul Barton-Davis wrote:
>
> i'm looking for ideas on efficient ways of representing a gain curve
> so that it can be applied to audio data and modified.
>
> originally, i thought i could use a break-point style structure, but
> i'm not convinced this makes a lot of sense or is even computationally
> feasible.

how about this:
use a breakpoint approach, and add a feature to "curve" a segment
between two breakpoints by automatically adding a number of new
points in between.

- mark two breakpoints

- open context menu:

  curve o linear
         o exponential
         o other (from file)
                                ^
  number of curve points: [100] |
                                v
   [apply] [cancel]

the "linear" option can be used to delete all breakpoints in
between.

this way, you have linear segments throughout. all the non-linear
math takes place during edit.
i'm assuming here that linear interpolation between breakpoints is
easy enough on the cpu to allow this to be computed real-time during
playback without hogging too much power - i may be wrong.

another cute feature would be:
- mark two breakpoints
- drag one of them, and the spacing of the points in between is
evenly altered, so that you can easily change the duration of a fade
while keeping the same characteristics.

you see, i'm a fan of breakpoints. i wouldn't want to fuss with
bezier curves at 110% load when doing simple edits.

regards,

jörn

-- 
Jörn Nettingsmeier     
home://Kurfürstenstr.49.45138.Essen.Germany      
phone://+49.201.491621
http://www.folkwang.uni-essen.de/~nettings/


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Wed Nov 29 2000 - 16:49:49 EET