Re: Rate Conversion

From: John Lazzaro (lazzaro@CS.Berkeley.EDU)
Date: Mon Apr 03 2000 - 20:13:46 EDT


> The second problem is that at the end of the sound, there is a spike. I
> imagine that this is caused by the 'kline' in the last segment is
> finishing before the note is released, hence the reason for the spike
> snapping back to the same level as the where the segment started. This
> happens in both 'saolc' and 'sfront'.

If I understand the problem correctly, I believe that this functional
form:

 k1*(kline(1, ...., 0) + k2)

should solve the problem for sfront -- by ending kline's envelope with
a 0, there should be no discontinuity if the envelope runs out early,
instead it should flatline at k1/k2. It could be that:

 k1*(k2*kline(1, ...., 0) + k3)

is a more convenient paramaterization for computing the k values quickly.

> The first is when I run this with sfront and saolc, then compare the two
> output files, they are different. How much tolerance should be expected?
> It appears the the sfront output is delayed by several samples.

Roundoff on note triggering may be the cause here, since real numbers
are used for trigger times on SASL commands, and the triggering has
floating-point math involved (to do tempo scaling), note events can
be off by one kcycle due to triggering rounding. Alternatively, it
could be a bug in either sfront or saolc (or both) ...

                                                                --jl



This archive was generated by hypermail 2b29 : Mon Jan 28 2002 - 12:03:53 EST